diff --git a/docs/gitbook/fonts/fontawesome/FontAwesome.otf b/docs/gitbook/fonts/fontawesome/FontAwesome.otf deleted file mode 100644 index d4de13e832..0000000000 Binary files a/docs/gitbook/fonts/fontawesome/FontAwesome.otf and /dev/null differ diff --git a/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot b/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot deleted file mode 100644 index c7b00d2ba8..0000000000 Binary files a/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot and /dev/null differ diff --git a/docs/gitbook/fonts/fontawesome/fontawesome-webfont.svg b/docs/gitbook/fonts/fontawesome/fontawesome-webfont.svg deleted file mode 100644 index 8b66187fe0..0000000000 --- a/docs/gitbook/fonts/fontawesome/fontawesome-webfont.svg +++ /dev/null @@ -1,685 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf b/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf deleted file mode 100644 index f221e50a2e..0000000000 Binary files a/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf and /dev/null differ diff --git a/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff b/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff deleted file mode 100644 index 6e7483cf61..0000000000 Binary files a/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff and /dev/null differ diff --git a/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 b/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 deleted file mode 100644 index 7eb74fd127..0000000000 Binary files a/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 and /dev/null differ diff --git a/docs/gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.css b/docs/gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.css deleted file mode 100644 index 9f46b97237..0000000000 --- a/docs/gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.css +++ /dev/null @@ -1,29 +0,0 @@ -.book .book-summary .chapter > .articles { - overflow: hidden; - max-height: 0px; -} - -.book .book-summary .chapter.expanded > .articles { - max-height: 9999px; -} - -.book .book-summary .exc-trigger { - position: absolute; - left: 12px; - top: 12px; -} - -.book .book-summary ul.summary li a, -.book .book-summary ul.summary li span { - padding-left: 30px; - cursor: pointer; -} - -.book .book-summary .exc-trigger:before { - content: "\f054"; -} - -.book .book-summary .expanded > a .exc-trigger:before, -.book .book-summary .expanded > span .exc-trigger:before { - content: "\f078"; -} diff --git a/docs/gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.js b/docs/gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.js deleted file mode 100644 index 19c35d3c48..0000000000 --- a/docs/gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.js +++ /dev/null @@ -1,69 +0,0 @@ -require(['gitbook', 'jQuery'], function(gitbook, $) { - var TOGGLE_CLASSNAME = 'expanded', - CHAPTER = '.chapter', - ARTICLES = '.articles', - TRIGGER_TEMPLATE = '', - LS_NAMESPACE = 'expChapters'; - var init = function () { - // adding the trigger element to each ARTICLES parent and binding the event - $(ARTICLES) - .parent(CHAPTER) - .children('a,span') - .append(TRIGGER_TEMPLATE) - .on('click', function(e) { - if (!$(e.target).is('a')) { - e.preventDefault(); - e.stopPropagation(); - toggle($(e.target).closest(CHAPTER)); - } - }); - - expand(lsItem()); - //expand current selected chapter with it's parents - var activeChapter = $(CHAPTER + '.active'); - expand(activeChapter); - expand(activeChapter.parents(CHAPTER)); - - - } - var toggle = function ($chapter) { - if ($chapter.hasClass('expanded')) { - collapse($chapter); - } else { - expand($chapter); - } - } - var collapse = function ($chapter) { - if ($chapter.length && $chapter.hasClass(TOGGLE_CLASSNAME)) { - $chapter.removeClass(TOGGLE_CLASSNAME); - lsItem($chapter); - } - } - var expand = function ($chapter) { - if ($chapter.length && !$chapter.hasClass(TOGGLE_CLASSNAME)) { - $chapter.addClass(TOGGLE_CLASSNAME); - lsItem($chapter); - } - } - var lsItem = function () { - var map = JSON.parse(localStorage.getItem(LS_NAMESPACE)) || {} - if (arguments.length) { - var $chapters = arguments[0]; - $chapters.each(function (index, element) { - var level = $(this).data('level'); - var value = $(this).hasClass(TOGGLE_CLASSNAME); - map[level] = value; - }) - localStorage.setItem(LS_NAMESPACE, JSON.stringify(map)); - } else { - return $(CHAPTER).map(function(index, element){ - if (map[$(this).data('level')]) { - return this; - } - }) - } - } - gitbook.events.bind('page.change', function() { - init() - }); -}); diff --git a/docs/gitbook/gitbook-plugin-fontsettings/fontsettings.js b/docs/gitbook/gitbook-plugin-fontsettings/fontsettings.js deleted file mode 100644 index ff7be71413..0000000000 --- a/docs/gitbook/gitbook-plugin-fontsettings/fontsettings.js +++ /dev/null @@ -1,240 +0,0 @@ -require(['gitbook', 'jquery'], function(gitbook, $) { - // Configuration - var MAX_SIZE = 4, - MIN_SIZE = 0, - BUTTON_ID; - - // Current fontsettings state - var fontState; - - // Default themes - var THEMES = [ - { - config: 'white', - text: 'White', - id: 0 - }, - { - config: 'sepia', - text: 'Sepia', - id: 1 - }, - { - config: 'night', - text: 'Night', - id: 2 - } - ]; - - // Default font families - var FAMILIES = [ - { - config: 'serif', - text: 'Serif', - id: 0 - }, - { - config: 'sans', - text: 'Sans', - id: 1 - } - ]; - - // Return configured themes - function getThemes() { - return THEMES; - } - - // Modify configured themes - function setThemes(themes) { - THEMES = themes; - updateButtons(); - } - - // Return configured font families - function getFamilies() { - return FAMILIES; - } - - // Modify configured font families - function setFamilies(families) { - FAMILIES = families; - updateButtons(); - } - - // Save current font settings - function saveFontSettings() { - gitbook.storage.set('fontState', fontState); - update(); - } - - // Increase font size - function enlargeFontSize(e) { - e.preventDefault(); - if (fontState.size >= MAX_SIZE) return; - - fontState.size++; - saveFontSettings(); - } - - // Decrease font size - function reduceFontSize(e) { - e.preventDefault(); - if (fontState.size <= MIN_SIZE) return; - - fontState.size--; - saveFontSettings(); - } - - // Change font family - function changeFontFamily(configName, e) { - if (e && e instanceof Event) { - e.preventDefault(); - } - - var familyId = getFontFamilyId(configName); - fontState.family = familyId; - saveFontSettings(); - } - - // Change type of color theme - function changeColorTheme(configName, e) { - if (e && e instanceof Event) { - e.preventDefault(); - } - - var $book = gitbook.state.$book; - - // Remove currently applied color theme - if (fontState.theme !== 0) - $book.removeClass('color-theme-'+fontState.theme); - - // Set new color theme - var themeId = getThemeId(configName); - fontState.theme = themeId; - if (fontState.theme !== 0) - $book.addClass('color-theme-'+fontState.theme); - - saveFontSettings(); - } - - // Return the correct id for a font-family config key - // Default to first font-family - function getFontFamilyId(configName) { - // Search for plugin configured font family - var configFamily = $.grep(FAMILIES, function(family) { - return family.config == configName; - })[0]; - // Fallback to default font family - return (!!configFamily)? configFamily.id : 0; - } - - // Return the correct id for a theme config key - // Default to first theme - function getThemeId(configName) { - // Search for plugin configured theme - var configTheme = $.grep(THEMES, function(theme) { - return theme.config == configName; - })[0]; - // Fallback to default theme - return (!!configTheme)? configTheme.id : 0; - } - - function update() { - var $book = gitbook.state.$book; - - $('.font-settings .font-family-list li').removeClass('active'); - $('.font-settings .font-family-list li:nth-child('+(fontState.family+1)+')').addClass('active'); - - $book[0].className = $book[0].className.replace(/\bfont-\S+/g, ''); - $book.addClass('font-size-'+fontState.size); - $book.addClass('font-family-'+fontState.family); - - if(fontState.theme !== 0) { - $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, ''); - $book.addClass('color-theme-'+fontState.theme); - } - } - - function init(config) { - // Search for plugin configured font family - var configFamily = getFontFamilyId(config.family), - configTheme = getThemeId(config.theme); - - // Instantiate font state object - fontState = gitbook.storage.get('fontState', { - size: config.size || 2, - family: configFamily, - theme: configTheme - }); - - update(); - } - - function updateButtons() { - // Remove existing fontsettings buttons - if (!!BUTTON_ID) { - gitbook.toolbar.removeButton(BUTTON_ID); - } - - // Create buttons in toolbar - BUTTON_ID = gitbook.toolbar.createButton({ - icon: 'fa fa-font', - label: 'Font Settings', - className: 'font-settings', - dropdown: [ - [ - { - text: 'A', - className: 'font-reduce', - onClick: reduceFontSize - }, - { - text: 'A', - className: 'font-enlarge', - onClick: enlargeFontSize - } - ], - $.map(FAMILIES, function(family) { - family.onClick = function(e) { - return changeFontFamily(family.config, e); - }; - - return family; - }), - $.map(THEMES, function(theme) { - theme.onClick = function(e) { - return changeColorTheme(theme.config, e); - }; - - return theme; - }) - ] - }); - } - - // Init configuration at start - gitbook.events.bind('start', function(e, config) { - var opts = config.fontsettings; - - // Generate buttons at start - updateButtons(); - - // Init current settings - init(opts); - }); - - // Expose API - gitbook.fontsettings = { - enlargeFontSize: enlargeFontSize, - reduceFontSize: reduceFontSize, - setTheme: changeColorTheme, - setFamily: changeFontFamily, - getThemes: getThemes, - setThemes: setThemes, - getFamilies: getFamilies, - setFamilies: setFamilies - }; -}); - - diff --git a/docs/gitbook/gitbook-plugin-fontsettings/website.css b/docs/gitbook/gitbook-plugin-fontsettings/website.css deleted file mode 100644 index 26591fe811..0000000000 --- a/docs/gitbook/gitbook-plugin-fontsettings/website.css +++ /dev/null @@ -1,291 +0,0 @@ -/* - * Theme 1 - */ -.color-theme-1 .dropdown-menu { - background-color: #111111; - border-color: #7e888b; -} -.color-theme-1 .dropdown-menu .dropdown-caret .caret-inner { - border-bottom: 9px solid #111111; -} -.color-theme-1 .dropdown-menu .buttons { - border-color: #7e888b; -} -.color-theme-1 .dropdown-menu .button { - color: #afa790; -} -.color-theme-1 .dropdown-menu .button:hover { - color: #73553c; -} -/* - * Theme 2 - */ -.color-theme-2 .dropdown-menu { - background-color: #2d3143; - border-color: #272a3a; -} -.color-theme-2 .dropdown-menu .dropdown-caret .caret-inner { - border-bottom: 9px solid #2d3143; -} -.color-theme-2 .dropdown-menu .buttons { - border-color: #272a3a; -} -.color-theme-2 .dropdown-menu .button { - color: #62677f; -} -.color-theme-2 .dropdown-menu .button:hover { - color: #f4f4f5; -} -.book .book-header .font-settings .font-enlarge { - line-height: 30px; - font-size: 1.4em; -} -.book .book-header .font-settings .font-reduce { - line-height: 30px; - font-size: 1em; -} -.book.color-theme-1 .book-body { - color: #704214; - background: #f3eacb; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section { - background: #f3eacb; -} -.book.color-theme-2 .book-body { - color: #bdcadb; - background: #1c1f2b; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section { - background: #1c1f2b; -} -.book.font-size-0 .book-body .page-inner section { - font-size: 1.2rem; -} -.book.font-size-1 .book-body .page-inner section { - font-size: 1.4rem; -} -.book.font-size-2 .book-body .page-inner section { - font-size: 1.6rem; -} -.book.font-size-3 .book-body .page-inner section { - font-size: 2.2rem; -} -.book.font-size-4 .book-body .page-inner section { - font-size: 4rem; -} -.book.font-family-0 { - font-family: Georgia, serif; -} -.book.font-family-1 { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal { - color: #704214; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal a { - color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h3, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h4, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h5, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { - color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2 { - border-color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { - color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal hr { - background-color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal blockquote { - border-color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { - background: #fdf6e3; - color: #657b83; - border-color: #f8df9c; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal .highlight { - background-color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table th, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table td { - border-color: #f5d06c; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr { - color: inherit; - background-color: #fdf6e3; - border-color: #444444; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { - background-color: #fbeecb; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal { - color: #bdcadb; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal a { - color: #3eb1d0; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h3, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h4, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h5, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { - color: #fffffa; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2 { - border-color: #373b4e; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { - color: #373b4e; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal hr { - background-color: #373b4e; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal blockquote { - border-color: #373b4e; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { - color: #9dbed8; - background: #2d3143; - border-color: #2d3143; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal .highlight { - background-color: #282a39; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table th, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table td { - border-color: #3b3f54; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr { - color: #b6c2d2; - background-color: #2d3143; - border-color: #3b3f54; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { - background-color: #35394b; -} -.book.color-theme-1 .book-header { - color: #afa790; - background: transparent; -} -.book.color-theme-1 .book-header .btn { - color: #afa790; -} -.book.color-theme-1 .book-header .btn:hover { - color: #73553c; - background: none; -} -.book.color-theme-1 .book-header h1 { - color: #704214; -} -.book.color-theme-2 .book-header { - color: #7e888b; - background: transparent; -} -.book.color-theme-2 .book-header .btn { - color: #3b3f54; -} -.book.color-theme-2 .book-header .btn:hover { - color: #fffff5; - background: none; -} -.book.color-theme-2 .book-header h1 { - color: #bdcadb; -} -.book.color-theme-1 .book-body .navigation { - color: #afa790; -} -.book.color-theme-1 .book-body .navigation:hover { - color: #73553c; -} -.book.color-theme-2 .book-body .navigation { - color: #383f52; -} -.book.color-theme-2 .book-body .navigation:hover { - color: #fffff5; -} -/* - * Theme 1 - */ -.book.color-theme-1 .book-summary { - color: #afa790; - background: #111111; - border-right: 1px solid rgba(0, 0, 0, 0.07); -} -.book.color-theme-1 .book-summary .book-search { - background: transparent; -} -.book.color-theme-1 .book-summary .book-search input, -.book.color-theme-1 .book-summary .book-search input:focus { - border: 1px solid transparent; -} -.book.color-theme-1 .book-summary ul.summary li.divider { - background: #7e888b; - box-shadow: none; -} -.book.color-theme-1 .book-summary ul.summary li i.fa-check { - color: #33cc33; -} -.book.color-theme-1 .book-summary ul.summary li.done > a { - color: #877f6a; -} -.book.color-theme-1 .book-summary ul.summary li a, -.book.color-theme-1 .book-summary ul.summary li span { - color: #877f6a; - background: transparent; - font-weight: normal; -} -.book.color-theme-1 .book-summary ul.summary li.active > a, -.book.color-theme-1 .book-summary ul.summary li a:hover { - color: #704214; - background: transparent; - font-weight: normal; -} -/* - * Theme 2 - */ -.book.color-theme-2 .book-summary { - color: #bcc1d2; - background: #2d3143; - border-right: none; -} -.book.color-theme-2 .book-summary .book-search { - background: transparent; -} -.book.color-theme-2 .book-summary .book-search input, -.book.color-theme-2 .book-summary .book-search input:focus { - border: 1px solid transparent; -} -.book.color-theme-2 .book-summary ul.summary li.divider { - background: #272a3a; - box-shadow: none; -} -.book.color-theme-2 .book-summary ul.summary li i.fa-check { - color: #33cc33; -} -.book.color-theme-2 .book-summary ul.summary li.done > a { - color: #62687f; -} -.book.color-theme-2 .book-summary ul.summary li a, -.book.color-theme-2 .book-summary ul.summary li span { - color: #c1c6d7; - background: transparent; - font-weight: 600; -} -.book.color-theme-2 .book-summary ul.summary li.active > a, -.book.color-theme-2 .book-summary ul.summary li a:hover { - color: #f4f4f5; - background: #252737; - font-weight: 600; -} diff --git a/docs/gitbook/gitbook-plugin-highlight/ebook.css b/docs/gitbook/gitbook-plugin-highlight/ebook.css deleted file mode 100644 index cecaaab5a6..0000000000 --- a/docs/gitbook/gitbook-plugin-highlight/ebook.css +++ /dev/null @@ -1,135 +0,0 @@ -pre, -code { - /* http://jmblog.github.io/color-themes-for-highlightjs */ - /* Tomorrow Comment */ - /* Tomorrow Red */ - /* Tomorrow Orange */ - /* Tomorrow Yellow */ - /* Tomorrow Green */ - /* Tomorrow Aqua */ - /* Tomorrow Blue */ - /* Tomorrow Purple */ -} -pre .hljs-comment, -code .hljs-comment, -pre .hljs-title, -code .hljs-title { - color: #8e908c; -} -pre .hljs-variable, -code .hljs-variable, -pre .hljs-attribute, -code .hljs-attribute, -pre .hljs-tag, -code .hljs-tag, -pre .hljs-regexp, -code .hljs-regexp, -pre .hljs-deletion, -code .hljs-deletion, -pre .ruby .hljs-constant, -code .ruby .hljs-constant, -pre .xml .hljs-tag .hljs-title, -code .xml .hljs-tag .hljs-title, -pre .xml .hljs-pi, -code .xml .hljs-pi, -pre .xml .hljs-doctype, -code .xml .hljs-doctype, -pre .html .hljs-doctype, -code .html .hljs-doctype, -pre .css .hljs-id, -code .css .hljs-id, -pre .css .hljs-class, -code .css .hljs-class, -pre .css .hljs-pseudo, -code .css .hljs-pseudo { - color: #c82829; -} -pre .hljs-number, -code .hljs-number, -pre .hljs-preprocessor, -code .hljs-preprocessor, -pre .hljs-pragma, -code .hljs-pragma, -pre .hljs-built_in, -code .hljs-built_in, -pre .hljs-literal, -code .hljs-literal, -pre .hljs-params, -code .hljs-params, -pre .hljs-constant, -code .hljs-constant { - color: #f5871f; -} -pre .ruby .hljs-class .hljs-title, -code .ruby .hljs-class .hljs-title, -pre .css .hljs-rules .hljs-attribute, -code .css .hljs-rules .hljs-attribute { - color: #eab700; -} -pre .hljs-string, -code .hljs-string, -pre .hljs-value, -code .hljs-value, -pre .hljs-inheritance, -code .hljs-inheritance, -pre .hljs-header, -code .hljs-header, -pre .hljs-addition, -code .hljs-addition, -pre .ruby .hljs-symbol, -code .ruby .hljs-symbol, -pre .xml .hljs-cdata, -code .xml .hljs-cdata { - color: #718c00; -} -pre .css .hljs-hexcolor, -code .css .hljs-hexcolor { - color: #3e999f; -} -pre .hljs-function, -code .hljs-function, -pre .python .hljs-decorator, -code .python .hljs-decorator, -pre .python .hljs-title, -code .python .hljs-title, -pre .ruby .hljs-function .hljs-title, -code .ruby .hljs-function .hljs-title, -pre .ruby .hljs-title .hljs-keyword, -code .ruby .hljs-title .hljs-keyword, -pre .perl .hljs-sub, -code .perl .hljs-sub, -pre .javascript .hljs-title, -code .javascript .hljs-title, -pre .coffeescript .hljs-title, -code .coffeescript .hljs-title { - color: #4271ae; -} -pre .hljs-keyword, -code .hljs-keyword, -pre .javascript .hljs-function, -code .javascript .hljs-function { - color: #8959a8; -} -pre .hljs, -code .hljs { - display: block; - background: white; - color: #4d4d4c; - padding: 0.5em; -} -pre .coffeescript .javascript, -code .coffeescript .javascript, -pre .javascript .xml, -code .javascript .xml, -pre .tex .hljs-formula, -code .tex .hljs-formula, -pre .xml .javascript, -code .xml .javascript, -pre .xml .vbscript, -code .xml .vbscript, -pre .xml .css, -code .xml .css, -pre .xml .hljs-cdata, -code .xml .hljs-cdata { - opacity: 0.5; -} diff --git a/docs/gitbook/gitbook-plugin-highlight/website.css b/docs/gitbook/gitbook-plugin-highlight/website.css deleted file mode 100644 index 6674448f7c..0000000000 --- a/docs/gitbook/gitbook-plugin-highlight/website.css +++ /dev/null @@ -1,434 +0,0 @@ -.book .book-body .page-wrapper .page-inner section.normal pre, -.book .book-body .page-wrapper .page-inner section.normal code { - /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ - /* Tomorrow Comment */ - /* Tomorrow Red */ - /* Tomorrow Orange */ - /* Tomorrow Yellow */ - /* Tomorrow Green */ - /* Tomorrow Aqua */ - /* Tomorrow Blue */ - /* Tomorrow Purple */ -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-comment, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-title { - color: #8e908c; -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-variable, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-tag, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, -.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, -.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, -.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, -.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, -.book .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, -.book .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, -.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, -.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, -.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, -.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, -.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, -.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { - color: #c82829; -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-number, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-number, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-literal, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-params, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-params, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-constant { - color: #f5871f; -} -.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, -.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { - color: #eab700; -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-string, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-string, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-value, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-value, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-header, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-header, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-addition, -.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, -.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, -.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { - color: #718c00; -} -.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, -.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { - color: #3e999f; -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-function, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-function, -.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, -.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, -.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, -.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, -.book .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, -.book .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, -.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { - color: #4271ae; -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, -.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, -.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { - color: #8959a8; -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs, -.book .book-body .page-wrapper .page-inner section.normal code .hljs { - display: block; - background: white; - color: #4d4d4c; - padding: 0.5em; -} -.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, -.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, -.book .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, -.book .book-body .page-wrapper .page-inner section.normal code .javascript .xml, -.book .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, -.book .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, -.book .book-body .page-wrapper .page-inner section.normal code .xml .javascript, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, -.book .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .css, -.book .book-body .page-wrapper .page-inner section.normal code .xml .css, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, -.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { - opacity: 0.5; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { - /* - -Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull - -*/ - /* Solarized Green */ - /* Solarized Cyan */ - /* Solarized Blue */ - /* Solarized Yellow */ - /* Solarized Orange */ - /* Solarized Red */ - /* Solarized Violet */ -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs { - display: block; - padding: 0.5em; - background: #fdf6e3; - color: #657b83; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-template_comment, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-template_comment, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-header, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-header, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-doctype, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-doctype, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pi, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pi, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-string, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-string, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-javadoc, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-javadoc { - color: #93a1a1; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-winutils, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-winutils, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .method, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .method, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-addition, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-tag, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-tag, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-request, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-request, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-status, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-status, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .nginx .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .nginx .hljs-title { - color: #859900; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-number, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-command, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-command, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-string, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag .hljs-value, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-tag .hljs-value, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-rules .hljs-value, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-rules .hljs-value, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-phpdoc, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-phpdoc, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-hexcolor, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-hexcolor, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_url, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_url { - color: #2aa198; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-localvars, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-localvars, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-chunk, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-chunk, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-decorator, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-decorator, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-identifier, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-identifier, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .vhdl .hljs-literal, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .vhdl .hljs-literal, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-id, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-id, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-function, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-function { - color: #268bd2; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-body, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-body, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .smalltalk .hljs-number, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .smalltalk .hljs-number, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-constant, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-class .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-class .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-parent, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-parent, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .haskell .hljs-type, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .haskell .hljs-type, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_reference, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_reference { - color: #b58900; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor .hljs-keyword, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor .hljs-keyword, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-shebang, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-shebang, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol .hljs-string, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol .hljs-string, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-change, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-change, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-special, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-special, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attr_selector, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attr_selector, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-subst, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-subst, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-cdata, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-cdata, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .clojure .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .clojure .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-header { - color: #cb4b16; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-important, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-important { - color: #dc322f; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_label, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_label { - color: #6c71c4; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula { - background: #eee8d5; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { - /* Tomorrow Night Bright Theme */ - /* Original theme - https://github.com/chriskempson/tomorrow-theme */ - /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ - /* Tomorrow Comment */ - /* Tomorrow Red */ - /* Tomorrow Orange */ - /* Tomorrow Yellow */ - /* Tomorrow Green */ - /* Tomorrow Aqua */ - /* Tomorrow Blue */ - /* Tomorrow Purple */ -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-title { - color: #969896; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-tag, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { - color: #d54e53; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-number, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-literal, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-params, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-params, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-constant { - color: #e78c45; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { - color: #e7c547; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-string, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-value, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-value, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-header, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-addition, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { - color: #b9ca4a; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { - color: #70c0b1; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-function, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-function, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { - color: #7aa6da; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { - color: #c397d8; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs { - display: block; - background: black; - color: #eaeaea; - padding: 0.5em; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .xml, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .javascript, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .css, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .css, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { - opacity: 0.5; -} diff --git a/docs/gitbook/gitbook-plugin-insert-logo-link/plugin.css b/docs/gitbook/gitbook-plugin-insert-logo-link/plugin.css deleted file mode 100644 index 8ec1c4880b..0000000000 --- a/docs/gitbook/gitbook-plugin-insert-logo-link/plugin.css +++ /dev/null @@ -1,5 +0,0 @@ -.book .book-summary .book-logo { - display: block; - text-align: center; - padding: 20px; -} diff --git a/docs/gitbook/gitbook-plugin-insert-logo-link/plugin.js b/docs/gitbook/gitbook-plugin-insert-logo-link/plugin.js deleted file mode 100644 index 2527ea5fbf..0000000000 --- a/docs/gitbook/gitbook-plugin-insert-logo-link/plugin.js +++ /dev/null @@ -1,16 +0,0 @@ -require(['gitbook', 'jQuery'], function (gitbook, $) { - var url = '' - var src = '' - - var insertLogo = function (src, url) { - $('.book-summary').children().eq(0).before('
  • ', { - 'href': gitbook.state.basePath + '/' + res.url, - 'text': res.title - }); - - var content = res.body.trim(); - if (content.length > MAX_DESCRIPTION_SIZE) { - content = content.slice(0, MAX_DESCRIPTION_SIZE).trim()+'...'; - } - var $content = $('

    ').html(content); - - $link.appendTo($title); - $title.appendTo($li); - $content.appendTo($li); - $li.appendTo($searchList); - }); - } - - function launchSearch(q) { - // Add class for loading - $body.addClass('with-search'); - $body.addClass('search-loading'); - - // Launch search query - throttle(gitbook.search.query(q, 0, MAX_RESULTS) - .then(function(results) { - displayResults(results); - }) - .always(function() { - $body.removeClass('search-loading'); - }), 1000); - } - - function closeSearch() { - $body.removeClass('with-search'); - $bookSearchResults.removeClass('open'); - } - - function launchSearchFromQueryString() { - var q = getParameterByName('q'); - if (q && q.length > 0) { - // Update search input - $searchInput.val(q); - - // Launch search - launchSearch(q); - } - } - - function bindSearch() { - // Bind DOM - $searchInput = $('#book-search-input input'); - $bookSearchResults = $('#book-search-results'); - $searchList = $bookSearchResults.find('.search-results-list'); - $searchTitle = $bookSearchResults.find('.search-results-title'); - $searchResultsCount = $searchTitle.find('.search-results-count'); - $searchQuery = $searchTitle.find('.search-query'); - - // Launch query based on input content - function handleUpdate() { - var q = $searchInput.val(); - - if (q.length == 0) { - closeSearch(); - } - else { - launchSearch(q); - } - } - - // Detect true content change in search input - // Workaround for IE < 9 - var propertyChangeUnbound = false; - $searchInput.on('propertychange', function(e) { - if (e.originalEvent.propertyName == 'value') { - handleUpdate(); - } - }); - - // HTML5 (IE9 & others) - $searchInput.on('input', function(e) { - // Unbind propertychange event for IE9+ - if (!propertyChangeUnbound) { - $(this).unbind('propertychange'); - propertyChangeUnbound = true; - } - - handleUpdate(); - }); - - // Push to history on blur - $searchInput.on('blur', function(e) { - // Update history state - if (usePushState) { - var uri = updateQueryString('q', $(this).val()); - history.pushState({ path: uri }, null, uri); - } - }); - } - - gitbook.events.on('page.change', function() { - bindSearch(); - closeSearch(); - - // Launch search based on query parameter - if (gitbook.search.isInitialized()) { - launchSearchFromQueryString(); - } - }); - - gitbook.events.on('search.ready', function() { - bindSearch(); - - // Launch search from query param at start - launchSearchFromQueryString(); - }); - - function getParameterByName(name) { - var url = window.location.href; - name = name.replace(/[\[\]]/g, '\\$&'); - var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)', 'i'), - results = regex.exec(url); - if (!results) return null; - if (!results[2]) return ''; - return decodeURIComponent(results[2].replace(/\+/g, ' ')); - } - - function updateQueryString(key, value) { - value = encodeURIComponent(value); - - var url = window.location.href; - var re = new RegExp('([?&])' + key + '=.*?(&|#|$)(.*)', 'gi'), - hash; - - if (re.test(url)) { - if (typeof value !== 'undefined' && value !== null) - return url.replace(re, '$1' + key + '=' + value + '$2$3'); - else { - hash = url.split('#'); - url = hash[0].replace(re, '$1$3').replace(/(&|\?)$/, ''); - if (typeof hash[1] !== 'undefined' && hash[1] !== null) - url += '#' + hash[1]; - return url; - } - } - else { - if (typeof value !== 'undefined' && value !== null) { - var separator = url.indexOf('?') !== -1 ? '&' : '?'; - hash = url.split('#'); - url = hash[0] + separator + key + '=' + value; - if (typeof hash[1] !== 'undefined' && hash[1] !== null) - url += '#' + hash[1]; - return url; - } - else - return url; - } - } -}); diff --git a/docs/gitbook/gitbook-plugin-sharing/buttons.js b/docs/gitbook/gitbook-plugin-sharing/buttons.js deleted file mode 100644 index 709a4e4c02..0000000000 --- a/docs/gitbook/gitbook-plugin-sharing/buttons.js +++ /dev/null @@ -1,90 +0,0 @@ -require(['gitbook', 'jquery'], function(gitbook, $) { - var SITES = { - 'facebook': { - 'label': 'Facebook', - 'icon': 'fa fa-facebook', - 'onClick': function(e) { - e.preventDefault(); - window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href)); - } - }, - 'twitter': { - 'label': 'Twitter', - 'icon': 'fa fa-twitter', - 'onClick': function(e) { - e.preventDefault(); - window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href)); - } - }, - 'google': { - 'label': 'Google+', - 'icon': 'fa fa-google-plus', - 'onClick': function(e) { - e.preventDefault(); - window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href)); - } - }, - 'weibo': { - 'label': 'Weibo', - 'icon': 'fa fa-weibo', - 'onClick': function(e) { - e.preventDefault(); - window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)); - } - }, - 'instapaper': { - 'label': 'Instapaper', - 'icon': 'fa fa-instapaper', - 'onClick': function(e) { - e.preventDefault(); - window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href)); - } - }, - 'vk': { - 'label': 'VK', - 'icon': 'fa fa-vk', - 'onClick': function(e) { - e.preventDefault(); - window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href)); - } - } - }; - - - - gitbook.events.bind('start', function(e, config) { - var opts = config.sharing; - - // Create dropdown menu - var menu = $.map(opts.all, function(id) { - var site = SITES[id]; - - return { - text: site.label, - onClick: site.onClick - }; - }); - - // Create main button with dropdown - if (menu.length > 0) { - gitbook.toolbar.createButton({ - icon: 'fa fa-share-alt', - label: 'Share', - position: 'right', - dropdown: [menu] - }); - } - - // Direct actions to share - $.each(SITES, function(sideId, site) { - if (!opts[sideId]) return; - - gitbook.toolbar.createButton({ - icon: site.icon, - label: site.text, - position: 'right', - onClick: site.onClick - }); - }); - }); -}); diff --git a/docs/gitbook/gitbook.js b/docs/gitbook/gitbook.js deleted file mode 100644 index 13077b45ca..0000000000 --- a/docs/gitbook/gitbook.js +++ /dev/null @@ -1,4 +0,0 @@ -!function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[s]={exports:{}};t[s][0].call(l.exports,function(e){var n=t[s][1][e];return o(n?n:e)},l,l.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s0&&t-1 in e)}function o(e,t,n){return de.isFunction(t)?de.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?de.grep(e,function(e){return e===t!==n}):"string"!=typeof t?de.grep(e,function(e){return se.call(t,e)>-1!==n}):je.test(t)?de.filter(t,e,n):(t=de.filter(t,e),de.grep(e,function(e){return se.call(t,e)>-1!==n&&1===e.nodeType}))}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t={};return de.each(e.match(qe)||[],function(e,n){t[n]=!0}),t}function a(e){return e}function u(e){throw e}function c(e,t,n){var r;try{e&&de.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&de.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function l(){te.removeEventListener("DOMContentLoaded",l),e.removeEventListener("load",l),de.ready()}function f(){this.expando=de.expando+f.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Ie.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Pe,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=p(n)}catch(e){}Re.set(e,t,n)}else n=void 0;return n}function d(e,t,n,r){var o,i=1,s=20,a=r?function(){return r.cur()}:function(){return de.css(e,t,"")},u=a(),c=n&&n[3]||(de.cssNumber[t]?"":"px"),l=(de.cssNumber[t]||"px"!==c&&+u)&&$e.exec(de.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do i=i||".5",l/=i,de.style(e,t,l+c);while(i!==(i=a()/u)&&1!==i&&--s)}return n&&(l=+l||+u||0,o=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=o)),o}function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Ue[r];return o?o:(t=n.body.appendChild(n.createElement(r)),o=de.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),Ue[r]=o,o)}function m(e,t){for(var n,r,o=[],i=0,s=e.length;i-1)o&&o.push(i);else if(c=de.contains(i.ownerDocument,i),s=v(f.appendChild(i),"script"),c&&y(s),n)for(l=0;i=s[l++];)Ve.test(i.type||"")&&n.push(i);return f}function b(){return!0}function w(){return!1}function T(){try{return te.activeElement}catch(e){}}function C(e,t,n,r,o,i){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(a in t)C(e,a,n,r,t[a],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),o===!1)o=w;else if(!o)return e;return 1===i&&(s=o,o=function(e){return de().off(e),s.apply(this,arguments)},o.guid=s.guid||(s.guid=de.guid++)),e.each(function(){de.event.add(this,t,o,r,n)})}function j(e,t){return de.nodeName(e,"table")&&de.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function E(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function S(e,t){var n,r,o,i,s,a,u,c;if(1===t.nodeType){if(Fe.hasData(e)&&(i=Fe.access(e),s=Fe.set(t,i),c=i.events)){delete s.handle,s.events={};for(o in c)for(n=0,r=c[o].length;n1&&"string"==typeof d&&!pe.checkClone&&nt.test(d))return e.each(function(n){var i=e.eq(n);g&&(t[0]=d.call(this,n,i.html())),A(i,t,r,o)});if(p&&(i=x(t,e[0].ownerDocument,!1,e,o),s=i.firstChild,1===i.childNodes.length&&(i=s),s||o)){for(a=de.map(v(i,"script"),k),u=a.length;f=0&&nC.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[$]=!0,e}function o(e){var t=L.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),r=n.length;r--;)C.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&je(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var o,i=e([],n.length,t),s=i.length;s--;)n[o=i[s]]&&(n[o]=!(r[o]=n[o]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function h(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var o=0,i=n.length;o-1&&(r[c]=!(s[c]=f))}}else x=v(x===s?x.splice(d,x.length):x),i?i(null,s,x,u):K.apply(s,x)})}function x(e){for(var t,n,r,o=e.length,i=C.relative[e[0].type],s=i||C.relative[" "],a=i?1:0,u=d(function(e){return e===t},s,!0),c=d(function(e){return ee(t,e)>-1},s,!0),l=[function(e,n,r){var o=!i&&(r||n!==A)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,o}];a1&&g(l),a>1&&h(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ae,"$1"),n,a0,i=e.length>0,s=function(r,s,a,u,c){var l,f,p,h=0,d="0",g=r&&[],m=[],y=A,x=r||i&&C.find.TAG("*",c),b=B+=null==y?1:Math.random()||.1,w=x.length;for(c&&(A=s===L||s||c);d!==w&&null!=(l=x[d]);d++){if(i&&l){for(f=0,s||l.ownerDocument===L||(O(l),a=!F);p=e[f++];)if(p(l,s||L,a)){u.push(l);break}c&&(B=b)}o&&((l=!p&&l)&&h--,r&&g.push(l))}if(h+=d,o&&d!==h){for(f=0;p=n[f++];)p(g,m,s,a);if(r){if(h>0)for(;d--;)g[d]||m[d]||(m[d]=Q.call(u));m=v(m)}K.apply(u,m),c&&!r&&m.length>0&&h+n.length>1&&t.uniqueSort(u)}return c&&(B=b,A=y),g};return o?r(s):s}var w,T,C,j,k,E,S,N,A,q,D,O,L,H,F,R,I,P,M,$="sizzle"+1*new Date,W=e.document,B=0,_=0,U=n(),z=n(),X=n(),V=function(e,t){return e===t&&(D=!0),0},G={}.hasOwnProperty,Y=[],Q=Y.pop,J=Y.push,K=Y.push,Z=Y.slice,ee=function(e,t){for(var n=0,r=e.length;n+~]|"+ne+")"+ne+"*"),le=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(ie),pe=new RegExp("^"+re+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,xe=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),be=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},we=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Te=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Ce=function(){O()},je=d(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{K.apply(Y=Z.call(W.childNodes),W.childNodes),Y[W.childNodes.length].nodeType}catch(e){K={apply:Y.length?function(e,t){J.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}T=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},O=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:W;return r!==L&&9===r.nodeType&&r.documentElement?(L=r,H=L.documentElement,F=!k(L),W!==L&&(n=L.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Ce,!1):n.attachEvent&&n.attachEvent("onunload",Ce)),T.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),T.getElementsByTagName=o(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),T.getElementsByClassName=me.test(L.getElementsByClassName),T.getById=o(function(e){return H.appendChild(e).id=$,!L.getElementsByName||!L.getElementsByName($).length}),T.getById?(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){return e.getAttribute("id")===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n=t.getElementById(e);return n?[n]:[]}}):(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n,r,o,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),C.find.TAG=T.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):T.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},C.find.CLASS=T.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&F)return t.getElementsByClassName(e)},I=[],R=[],(T.qsa=me.test(L.querySelectorAll))&&(o(function(e){H.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&R.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||R.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+$+"-]").length||R.push("~="),e.querySelectorAll(":checked").length||R.push(":checked"),e.querySelectorAll("a#"+$+"+*").length||R.push(".#.+[+~]")}),o(function(e){e.innerHTML="";var t=L.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&R.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&R.push(":enabled",":disabled"),H.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&R.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),R.push(",.*:")})),(T.matchesSelector=me.test(P=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&o(function(e){T.disconnectedMatch=P.call(e,"*"),P.call(e,"[s!='']:x"),I.push("!=",ie)}),R=R.length&&new RegExp(R.join("|")),I=I.length&&new RegExp(I.join("|")),t=me.test(H.compareDocumentPosition),M=t||me.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},V=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!T.sortDetached&&t.compareDocumentPosition(e)===n?e===L||e.ownerDocument===W&&M(W,e)?-1:t===L||t.ownerDocument===W&&M(W,t)?1:q?ee(q,e)-ee(q,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,a=[e],u=[t];if(!o||!i)return e===L?-1:t===L?1:o?-1:i?1:q?ee(q,e)-ee(q,t):0;if(o===i)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===W?-1:u[r]===W?1:0},L):L},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==L&&O(e),n=n.replace(le,"='$1']"),T.matchesSelector&&F&&!X[n+" "]&&(!I||!I.test(n))&&(!R||!R.test(n)))try{var r=P.call(e,n);if(r||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,L,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==L&&O(e),M(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==L&&O(e);var n=C.attrHandle[t.toLowerCase()],r=n&&G.call(C.attrHandle,t.toLowerCase())?n(e,t,!F):void 0;return void 0!==r?r:T.attributes||!F?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(we,Te)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,o=0;if(D=!T.detectDuplicates,q=!T.sortStable&&e.slice(0),e.sort(V),D){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return q=null,e},j=t.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=j(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=j(t);return n},C=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xe,be),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,be),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(xe,be).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(o){var i=t.attr(o,e);return null==i?"!="===n:!n||(i+="","="===n?i===r:"!="===n?i!==r:"^="===n?r&&0===i.indexOf(r):"*="===n?r&&i.indexOf(r)>-1:"$="===n?r&&i.slice(-r.length)===r:"~="===n?(" "+i.replace(se," ")+" ").indexOf(r)>-1:"|="===n&&(i===r||i.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,p,h,d,g=i!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a,x=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&y){for(p=m,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h&&c[2],p=h&&m.childNodes[h];p=++h&&p&&p[g]||(x=h=0)||d.pop();)if(1===p.nodeType&&++x&&p===t){l[e]=[B,h,x];break}}else if(y&&(p=t,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h),x===!1)for(;(p=++h&&p&&p[g]||(x=h=0)||d.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++x||(y&&(f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),l[e]=[B,x]),p!==t)););return x-=o,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var o,i=C.pseudos[e]||C.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[$]?i(n):i.length>1?(o=[e,e,"",n],C.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,o=i(e,n),s=o.length;s--;)r=ee(e,o[s]),e[r]=!(t[r]=o[s])}):function(e){return i(e,0,o)}):i}},pseudos:{not:r(function(e){var t=[],n=[],o=S(e.replace(ae,"$1"));return o[$]?r(function(e,t,n,r){for(var i,s=o(e,null,r,[]),a=e.length;a--;)(i=s[a])&&(e[a]=!(t[a]=i))}):function(e,r,i){return t[0]=e,o(t,null,i,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){ -return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(xe,be),function(t){return(t.textContent||t.innerText||j(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(xe,be).toLowerCase(),function(t){var n;do if(n=F?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:c(!1),disabled:c(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!C.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(s=i[0]).type&&9===t.nodeType&&F&&C.relative[i[1].type]){if(t=(C.find.ID(s.matches[0].replace(xe,be),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=he.needsContext.test(e)?0:i.length;o--&&(s=i[o],!C.relative[a=s.type]);)if((u=C.find[a])&&(r=u(s.matches[0].replace(xe,be),ye.test(i[0].type)&&f(t.parentNode)||t))){if(i.splice(o,1),e=r.length&&h(i),!e)return K.apply(n,r),n;break}}return(c||S(e,l))(r,t,!F,n,!t||ye.test(e)&&f(t.parentNode)||t),n},T.sortStable=$.split("").sort(V).join("")===$,T.detectDuplicates=!!D,O(),T.sortDetached=o(function(e){return 1&e.compareDocumentPosition(L.createElement("fieldset"))}),o(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),T.attributes&&o(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||i(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);de.find=xe,de.expr=xe.selectors,de.expr[":"]=de.expr.pseudos,de.uniqueSort=de.unique=xe.uniqueSort,de.text=xe.getText,de.isXMLDoc=xe.isXML,de.contains=xe.contains,de.escapeSelector=xe.escape;var be=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&de(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Te=de.expr.match.needsContext,Ce=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,je=/^.[^:#\[\.,]*$/;de.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?de.find.matchesSelector(r,e)?[r]:[]:de.find.matches(e,de.grep(t,function(e){return 1===e.nodeType}))},de.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(de(e).filter(function(){for(t=0;t1?de.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Te.test(e)?de(e):e||[],!1).length}});var ke,Ee=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Se=de.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||ke,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Ee.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof de?t[0]:t,de.merge(this,de.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Ce.test(r[1])&&de.isPlainObject(t))for(r in t)de.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=te.getElementById(r[2]),o&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):de.isFunction(e)?void 0!==n.ready?n.ready(e):e(de):de.makeArray(e,this)};Se.prototype=de.fn,ke=de(te);var Ne=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};de.fn.extend({has:function(e){var t=de(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&de.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?de.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?se.call(de(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(de.uniqueSort(de.merge(this.get(),de(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),de.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return be(e,"parentNode")},parentsUntil:function(e,t,n){return be(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return be(e,"nextSibling")},prevAll:function(e){return be(e,"previousSibling")},nextUntil:function(e,t,n){return be(e,"nextSibling",n)},prevUntil:function(e,t,n){return be(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return e.contentDocument||de.merge([],e.childNodes)}},function(e,t){de.fn[e]=function(n,r){var o=de.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=de.filter(r,o)),this.length>1&&(Ae[e]||de.uniqueSort(o),Ne.test(e)&&o.reverse()),this.pushStack(o)}});var qe=/[^\x20\t\r\n\f]+/g;de.Callbacks=function(e){e="string"==typeof e?s(e):de.extend({},e);var t,n,r,o,i=[],a=[],u=-1,c=function(){for(o=e.once,r=t=!0;a.length;u=-1)for(n=a.shift();++u-1;)i.splice(n,1),n<=u&&u--}),this},has:function(e){return e?de.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=a=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=a=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},de.extend({Deferred:function(t){var n=[["notify","progress",de.Callbacks("memory"),de.Callbacks("memory"),2],["resolve","done",de.Callbacks("once memory"),de.Callbacks("once memory"),0,"resolved"],["reject","fail",de.Callbacks("once memory"),de.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return de.Deferred(function(t){de.each(n,function(n,r){var o=de.isFunction(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&de.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){function i(t,n,r,o){return function(){var c=this,l=arguments,f=function(){var e,f;if(!(t=s&&(r!==u&&(c=void 0,l=[e]),n.rejectWith(c,l))}};t?p():(de.Deferred.getStackHook&&(p.stackTrace=de.Deferred.getStackHook()),e.setTimeout(p))}}var s=0;return de.Deferred(function(e){n[0][3].add(i(0,e,de.isFunction(o)?o:a,e.notifyWith)),n[1][3].add(i(0,e,de.isFunction(t)?t:a)),n[2][3].add(i(0,e,de.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?de.extend(e,o):o}},i={};return de.each(n,function(e,t){var s=t[2],a=t[5];o[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[0][2].lock),s.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=s.fireWith}),o.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=re.call(arguments),i=de.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?re.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(c(e,i.done(s(n)).resolve,i.reject),"pending"===i.state()||de.isFunction(o[n]&&o[n].then)))return i.then();for(;n--;)c(o[n],s(n),i.reject);return i.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;de.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},de.readyException=function(t){e.setTimeout(function(){throw t})};var Oe=de.Deferred();de.fn.ready=function(e){return Oe.then(e).catch(function(e){de.readyException(e)}),this},de.extend({isReady:!1,readyWait:1,holdReady:function(e){e?de.readyWait++:de.ready(!0)},ready:function(e){(e===!0?--de.readyWait:de.isReady)||(de.isReady=!0,e!==!0&&--de.readyWait>0||Oe.resolveWith(te,[de]))}}),de.ready.then=Oe.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(de.ready):(te.addEventListener("DOMContentLoaded",l),e.addEventListener("load",l));var Le=function(e,t,n,r,o,i,s){var a=0,u=e.length,c=null==n;if("object"===de.type(n)){o=!0;for(a in n)Le(e,t,a,n[a],!0,i,s)}else if(void 0!==r&&(o=!0,de.isFunction(r)||(s=!0),c&&(s?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(de(e),n)})),t))for(;a1,null,!0)},removeData:function(e){return this.each(function(){Re.remove(this,e)})}}),de.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||de.isArray(n)?r=Fe.access(e,t,de.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=de.queue(e,t),r=n.length,o=n.shift(),i=de._queueHooks(e,t),s=function(){de.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,s,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:de.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),de.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,Ve=/^$|\/(?:java|ecma)script/i,Ge={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};Ge.optgroup=Ge.option,Ge.tbody=Ge.tfoot=Ge.colgroup=Ge.caption=Ge.thead,Ge.th=Ge.td;var Ye=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Qe=te.documentElement,Je=/^key/,Ke=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;de.event={global:{},add:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.get(e);if(m)for(n.handler&&(i=n,n=i.handler,o=i.selector),o&&de.find.matchesSelector(Qe,o),n.guid||(n.guid=de.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return"undefined"!=typeof de&&de.event.triggered!==t.type?de.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(qe)||[""],c=t.length;c--;)a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h&&(f=de.event.special[h]||{},h=(o?f.delegateType:f.bindType)||h,f=de.event.special[h]||{},l=de.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&de.expr.match.needsContext.test(o),namespace:d.join(".")},i),(p=u[h])||(p=u[h]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,d,s)!==!1||e.addEventListener&&e.addEventListener(h,s)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,l):p.push(l),de.event.global[h]=!0)},remove:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.hasData(e)&&Fe.get(e);if(m&&(u=m.events)){for(t=(t||"").match(qe)||[""],c=t.length;c--;)if(a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){for(f=de.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,p=u[h]||[],a=a[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=i=p.length;i--;)l=p[i],!o&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(i,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(e,l));s&&!p.length&&(f.teardown&&f.teardown.call(e,d,m.handle)!==!1||de.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)de.event.remove(e,h+t[c],n,r,!0);de.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,s,a=de.event.fix(e),u=new Array(arguments.length),c=(Fe.get(this,"events")||{})[a.type]||[],l=de.event.special[a.type]||{};for(u[0]=a,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||c.disabled!==!0)){for(i=[],s={},n=0;n-1:de.find(o,this,null,[c]).length),s[o]&&i.push(r);i.length&&a.push({elem:c,handlers:i})}return c=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/\s*$/g;de.extend({htmlPrefilter:function(e){return e.replace(et,"<$1>")},clone:function(e,t,n){var r,o,i,s,a=e.cloneNode(!0),u=de.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||de.isXMLDoc(e)))for(s=v(a),i=v(e),r=0,o=i.length;r0&&y(s,!u&&v(e,"script")),a},cleanData:function(e){for(var t,n,r,o=de.event.special,i=0;void 0!==(n=e[i]);i++)if(He(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)o[r]?de.event.remove(n,r):de.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[Re.expando]&&(n[Re.expando]=void 0)}}}),de.fn.extend({detach:function(e){return q(this,e,!0)},remove:function(e){return q(this,e)},text:function(e){return Le(this,function(e){return void 0===e?de.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.appendChild(e)}})},prepend:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(de.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return de.clone(this,e,t)})},html:function(e){return Le(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Ge[(Xe.exec(e)||["",""])[1].toLowerCase()]){e=de.htmlPrefilter(e);try{for(;n1)}}),de.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||de.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(de.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=de.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=de.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){de.fx.step[e.prop]?de.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[de.cssProps[e.prop]]&&!de.cssHooks[e.prop]?e.elem[e.prop]=e.now:de.style(e.elem,e.prop,e.now+e.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},de.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},de.fx=I.prototype.init,de.fx.step={};var ht,dt,gt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;de.Animation=de.extend(U,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,$e.exec(t),n),n}]},tweener:function(e,t){de.isFunction(e)?(t=e,e=["*"]):e=e.match(qe);for(var n,r=0,o=e.length;r1)},removeAttr:function(e){return this.each(function(){de.removeAttr(this,e)})}}),de.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return"undefined"==typeof e.getAttribute?de.prop(e,t,n):(1===i&&de.isXMLDoc(e)||(o=de.attrHooks[t.toLowerCase()]||(de.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void de.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=de.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&de.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(qe);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return t===!1?de.removeAttr(e,n):e.setAttribute(n,n),n}},de.each(de.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||de.find.attr;yt[t]=function(e,t,r){var o,i,s=t.toLowerCase();return r||(i=yt[s],yt[s]=o,o=null!=n(e,t,r)?s:null,yt[s]=i),o}});var xt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;de.fn.extend({prop:function(e,t){return Le(this,de.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[de.propFix[e]||e]})}}),de.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&de.isXMLDoc(e)||(t=de.propFix[t]||t,o=de.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=de.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(de.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),de.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){de.propFix[this.toLowerCase()]=this}),de.fn.extend({addClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).addClass(e.call(this,t,X(this)))});if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).removeClass(e.call(this,t,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):de.isFunction(e)?this.each(function(n){de(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,r,o,i;if("string"===n)for(r=0,o=de(this),i=e.match(qe)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=X(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(X(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;de.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=de.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,de(this).val()):e,null==o?o="":"number"==typeof o?o+="":de.isArray(o)&&(o=de.map(o,function(e){return null==e?"":e+""})),t=de.valHooks[this.type]||de.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return t=de.valHooks[o.type]||de.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(wt,""):null==n?"":n)}}}),de.extend({valHooks:{option:{get:function(e){var t=de.find.attr(e,"value");return null!=t?t:z(de.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,s="select-one"===e.type,a=s?null:[],u=s?i+1:o.length;for(r=i<0?u:s?i:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),de.each(["radio","checkbox"],function(){de.valHooks[this]={set:function(e,t){if(de.isArray(t))return e.checked=de.inArray(de(e).val(),t)>-1}},pe.checkOn||(de.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Tt=/^(?:focusinfocus|focusoutblur)$/;de.extend(de.event,{trigger:function(t,n,r,o){var i,s,a,u,c,l,f,p=[r||te],h=ce.call(t,"type")?t.type:t,d=ce.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!Tt.test(h+de.event.triggered)&&(h.indexOf(".")>-1&&(d=h.split("."),h=d.shift(),d.sort()),c=h.indexOf(":")<0&&"on"+h,t=t[de.expando]?t:new de.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:de.makeArray(n,[t]),f=de.event.special[h]||{},o||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!o&&!f.noBubble&&!de.isWindow(r)){for(u=f.delegateType||h,Tt.test(u+h)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(r.ownerDocument||te)&&p.push(a.defaultView||a.parentWindow||e)}for(i=0;(s=p[i++])&&!t.isPropagationStopped();)t.type=i>1?u:f.bindType||h,l=(Fe.get(s,"events")||{})[t.type]&&Fe.get(s,"handle"),l&&l.apply(s,n),l=c&&s[c],l&&l.apply&&He(s)&&(t.result=l.apply(s,n),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!He(r)||c&&de.isFunction(r[h])&&!de.isWindow(r)&&(a=r[c],a&&(r[c]=null),de.event.triggered=h,r[h](),de.event.triggered=void 0,a&&(r[c]=a)),t.result}},simulate:function(e,t,n){var r=de.extend(new de.Event,n,{type:e,isSimulated:!0});de.event.trigger(r,null,t)}}),de.fn.extend({trigger:function(e,t){return this.each(function(){de.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return de.event.trigger(e,t,n,!0)}}),de.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){de.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),de.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||de.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){de.event.simulate(t,e.target,de.event.fix(e))};de.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=Fe.access(r,t);o||r.addEventListener(e,n,!0),Fe.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=Fe.access(r,t)-1;o?Fe.access(r,t,o):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Ct=e.location,jt=de.now(),kt=/\?/;de.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||de.error("Invalid XML: "+t),n};var Et=/\[\]$/,St=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;de.param=function(e,t){var n,r=[],o=function(e,t){var n=de.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(de.isArray(e)||e.jquery&&!de.isPlainObject(e))de.each(e,function(){o(this.name,this.value)});else for(n in e)V(n,e[n],t,o);return r.join("&")},de.fn.extend({serialize:function(){return de.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=de.prop(this,"elements");return e?de.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!de(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=de(this).val();return null==n?null:de.isArray(n)?de.map(n,function(e){return{name:t.name,value:e.replace(St,"\r\n")}}):{name:t.name,value:n.replace(St,"\r\n")}}).get()}});var qt=/%20/g,Dt=/#.*$/,Ot=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ft=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Pt={},Mt="*/".concat("*"),$t=te.createElement("a");$t.href=Ct.href,de.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Ht.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":de.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Q(Q(e,de.ajaxSettings),t):Q(de.ajaxSettings,e)},ajaxPrefilter:G(It),ajaxTransport:G(Pt),ajax:function(t,n){function r(t,n,r,a){var c,p,h,b,w,T=n;l||(l=!0,u&&e.clearTimeout(u),o=void 0,s=a||"",C.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(b=J(d,C,r)),b=K(d,b,C,c),c?(d.ifModified&&(w=C.getResponseHeader("Last-Modified"),w&&(de.lastModified[i]=w),w=C.getResponseHeader("etag"),w&&(de.etag[i]=w)),204===t||"HEAD"===d.type?T="nocontent":304===t?T="notmodified":(T=b.state,p=b.data,h=b.error,c=!h)):(h=T,!t&&T||(T="error",t<0&&(t=0))),C.status=t,C.statusText=(n||T)+"",c?v.resolveWith(g,[p,T,C]):v.rejectWith(g,[C,T,h]),C.statusCode(x),x=void 0,f&&m.trigger(c?"ajaxSuccess":"ajaxError",[C,d,c?p:h]),y.fireWith(g,[C,T]),f&&(m.trigger("ajaxComplete",[C,d]),--de.active||de.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,i,s,a,u,c,l,f,p,h,d=de.ajaxSetup({},n),g=d.context||d,m=d.context&&(g.nodeType||g.jquery)?de(g):de.event,v=de.Deferred(),y=de.Callbacks("once memory"),x=d.statusCode||{},b={},w={},T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return l?s:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)C.always(e[C.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return o&&o.abort(t),r(0,t),this}};if(v.promise(C),d.url=((t||d.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(qe)||[""],null==d.crossDomain){c=te.createElement("a");try{c.href=d.url,c.href=c.href,d.crossDomain=$t.protocol+"//"+$t.host!=c.protocol+"//"+c.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=de.param(d.data,d.traditional)),Y(It,d,n,C),l)return C;f=de.event&&d.global,f&&0===de.active++&&de.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Ft.test(d.type),i=d.url.replace(Dt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(qt,"+")):(h=d.url.slice(i.length),d.data&&(i+=(kt.test(i)?"&":"?")+d.data,delete d.data),d.cache===!1&&(i=i.replace(Ot,"$1"),h=(kt.test(i)?"&":"?")+"_="+jt++ +h),d.url=i+h),d.ifModified&&(de.lastModified[i]&&C.setRequestHeader("If-Modified-Since",de.lastModified[i]),de.etag[i]&&C.setRequestHeader("If-None-Match",de.etag[i])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",d.contentType),C.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Mt+"; q=0.01":""):d.accepts["*"]);for(p in d.headers)C.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(d.beforeSend.call(g,C,d)===!1||l))return C.abort();if(T="abort",y.add(d.complete),C.done(d.success),C.fail(d.error),o=Y(Pt,d,n,C)){if(C.readyState=1,f&&m.trigger("ajaxSend",[C,d]),l)return C;d.async&&d.timeout>0&&(u=e.setTimeout(function(){C.abort("timeout")},d.timeout));try{l=!1,o.send(b,r)}catch(e){if(l)throw e;r(-1,e)}}else r(-1,"No Transport");return C},getJSON:function(e,t,n){return de.get(e,t,n,"json")},getScript:function(e,t){return de.get(e,void 0,t,"script")}}),de.each(["get","post"],function(e,t){de[t]=function(e,n,r,o){return de.isFunction(n)&&(o=o||r,r=n,n=void 0),de.ajax(de.extend({url:e,type:t,dataType:o,data:n,success:r},de.isPlainObject(e)&&e))}}),de._evalUrl=function(e){return de.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},de.fn.extend({wrapAll:function(e){var t;return this[0]&&(de.isFunction(e)&&(e=e.call(this[0])),t=de(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return de.isFunction(e)?this.each(function(t){de(this).wrapInner(e.call(this,t))}):this.each(function(){var t=de(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=de.isFunction(e);return this.each(function(n){de(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){de(this).replaceWith(this.childNodes)}),this}}),de.expr.pseudos.hidden=function(e){return!de.expr.pseudos.visible(e)},de.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},de.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Bt=de.ajaxSettings.xhr();pe.cors=!!Bt&&"withCredentials"in Bt,pe.ajax=Bt=!!Bt,de.ajaxTransport(function(t){var n,r;if(pe.cors||Bt&&!t.crossDomain)return{send:function(o,i){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(s in o)a.setRequestHeader(s,o[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?i(0,"error"):i(a.status,a.statusText):i(Wt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),de.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),de.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return de.globalEval(e),e}}}),de.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),de.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=de(" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/pages/background-1.md b/docs/pages/background-1.md deleted file mode 100644 index 985ac580a4..0000000000 --- a/docs/pages/background-1.md +++ /dev/null @@ -1 +0,0 @@ -# 1.md \ No newline at end of file diff --git a/docs/pages/background-2.html b/docs/pages/background-2.html deleted file mode 100644 index c87bbed8bc..0000000000 --- a/docs/pages/background-2.html +++ /dev/null @@ -1,882 +0,0 @@ - - - - - - - 后端说明2 · 调度系统-EasyScheduler - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    -
    - - - - - - - - -
    - -
    - -
    - - - - - - - - -
    -
    - -
    -
    - -
    - -

    trailingEnd

    - - -
    - -
    -
    -
    - -

    results matching ""

    -
      - -
      -
      - -

      No results matching ""

      - -
      -
      -
      - -
      -
      - -
      - - - - - - -
      - - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/pages/deploy-background.html b/docs/pages/deploy-background.html deleted file mode 100644 index 8dcb7cf419..0000000000 --- a/docs/pages/deploy-background.html +++ /dev/null @@ -1,1548 +0,0 @@ - - - - - - - 后端部署 · 调度系统-EasyScheduler - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      -
      - - - - - - - - -
      - -
      - -
      - - - - - - - - -
      -
      - -
      -
      - -
      - -

      -

      部署文档

      -

      软件要求

      -
        -
      • Mysql (5.5+) : 必装
      • -
      • JDK (1.8+) :必装
      • -
      • Zookeeper (3.4.6) :必装
      • -
      • Hadoop (2.7+) :选装, 如果需要使用到EasyScheduler的资源上传,MapReduce任务在线提交则需要安装(上传的资源文件目前保存在Hdfs上)
      • -
      • Hive (1.2.1+) : 选装,如果跑Hive任务需要安装(
      • -
      • Reids安装 (2.7.0+) : 选装, 任务队列选择Redis时需要安装
      • -
      • Spark(1.x,2.x) : 选装,Spark任务提交需要安装
      • -
      • PostgreSQL(8.2.15+) : 选装,PostgreSQL存储过程需要安装

        -
        -

        注意:EasyScheduler本身不依赖Hadoop、Hive、Spark、PostgreSQL、Redis,仅是用到了他们的Client jar,用于对应任务的运行。

        -
        -
      • -
      -

      项目编译

      -
        -
      • 执行编译命令:
      • -
      -
      -

      mvn -U clean package assembly:assembly -Dmaven.test.skip=true

      -
      -
        -
      • 查看目录
      • -
      -

      正常编译完后,会在当前目录生成 target/escheduler-{version}-SNAPSHOT/

      -
          bin
      -    conf
      -    lib
      -    script
      -    sql
      -
        -
      • 说明

        -
        bin  : 工程服务启动脚本
        -conf : 工程配置文件
        -lib  : 工程依赖jar包,包括各个模块jar和第三方jar
        -script : 工程自动化部署、启动脚本
        -sql  : 工程依赖sql文件
        -
      • -
      -

      数据库初始化

      -
        -
      • 创建database和账号
      • -
      -
      mysql -h {host} -u {user} -p{password}
      -mysql> CREATE DATABASE escheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
      -mysql> GRANT ALL PRIVILEGES ON escheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
      -mysql> GRANT ALL PRIVILEGES ON escheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
      -mysql> flush privileges;
      -
        -
      • 创建表
      • -
      -
      说明:在target/escheduler-{version}-SNAPSHOT/sql/有两个sql创建表文件:escheduler.sql和quartz.sql
      -执行:
      -mysql -h {host} -u {user} -p{password} -D {db} < escheduler.sql
      -mysql -h {host} -u {user} -p{password} -D {db} < quartz.sql
      -

      创建部署用户

      -

      因为easyscheduler worker都是以 sudo -u {linux-user} 方式来执行作业,所以部署用户需要有 sudo 权限,而且是免密的。

      -
      部署账号
      -vi /etc/sudoers
      -
      -# 部署用户是 escheduler 账号
      -escheduler  ALL=(ALL)       NOPASSWD: NOPASSWD: ALL
      -
      -# 并且需要注释掉 Default requiretty 一行
      -#Default requiretty
      -

      配置文件

      -

      说明:配置文件位于 target/escheduler-{version}-SNAPSHOT/conf 下面

      -

      escheduler-alert

      -

      配置邮件告警信息

      -
        -
      • alert.properties
      • -
      -
      #以qq邮箱为例,如果是别的邮箱,请更改对应配置
      -#alert type is EMAIL/SMS
      -alert.type=EMAIL
      -
      -# mail server configuration
      -mail.protocol=SMTP
      -mail.server.host=smtp.exmail.qq.com
      -mail.server.port=25
      -mail.sender=xxxxxx@qq.com
      -mail.passwd=xxxxxxx
      -
      -# xls file path, need manually create it before use if not exist
      -xls.file.path=/opt/xls
      -

      配置告警数据源信息

      -
        -
      • alert/data_source.properties
      • -
      -
      #注意:请替换${xxx}里的内容
      -
      -# common configuration
      -spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
      -spring.datasource.driver-class-name=com.mysql.jdbc.Driver
      -spring.datasource.url=jdbc:mysql://${ip}:3306/escheduler?characterEncoding=UTF-8
      -spring.datasource.username=${username}
      -spring.datasource.password=${password}
      -
      -# supplement configuration
      -spring.datasource.initialSize=5
      -# min connection number
      -spring.datasource.minIdle=5
      -# max connection number
      -spring.datasource.maxActive=20
      -
      -# max wait time for get connection
      -spring.datasource.maxWait=60000
      -
      -# idle connections closed,unit milliseconds
      -spring.datasource.timeBetweenEvictionRunsMillis=60000
      -
      -# connection minimum survival time,unit milliseconds
      -spring.datasource.minEvictableIdleTimeMillis=300000
      -spring.datasource.validationQuery=SELECT 1
      -spring.datasource.validationQueryTimeout=3
      -spring.datasource.testWhileIdle=true
      -spring.datasource.testOnBorrow=true
      -spring.datasource.testOnReturn=false
      -spring.datasource.defaultAutoCommit=true
      -
      -# open PSCache,set PSCache size
      -spring.datasource.poolPreparedStatements=false
      -spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
      -

      日志配置文件

      -
        -
      • alert_logback.xml
      • -
      -
      <!-- Logback configuration. See http://logback.qos.ch/manual/index.html -->
      -<configuration scan="true" scanPeriod="120 seconds"> <!--debug="true" -->
      -    <property name="log.base" value="logs" />
      -    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
      -        <encoder>
      -            <pattern>
      -                [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n
      -            </pattern>
      -            <charset>UTF-8</charset>
      -        </encoder>
      -    </appender>
      -
      -    <appender name="ALERTLOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
      -        <file>${log.base}/escheduler-alert.log</file>
      -        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      -            <fileNamePattern>${log.base}/escheduler-alert.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
      -            <maxHistory>20</maxHistory>
      -            <maxFileSize>64MB</maxFileSize>
      -        </rollingPolicy>
      -        <encoder>
      -            <pattern>
      -                [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n
      -            </pattern>
      -            <charset>UTF-8</charset>
      -        </encoder>
      -    </appender>
      -
      -    <root level="INFO">
      -        <appender-ref ref="ALERTLOGFILE"/>
      -    </root>
      -</configuration>
      -

      escheduler-common

      -

      通用配置文件配置,队列选择及地址配置,通用文件目录配置。

      -
        -
      • common/common.properties
      • -
      -
      #task queue implementation, can choose "redis" or "zookeeper", default "zookeeper"
      -escheduler.queue.impl=zookeeper
      -
      -#if escheduler.queue.impl=redis, you need to configuration relevant information with redis. redis configuration start
      -spring.redis.host=${redis_ip}
      -spring.redis.port=6379
      -spring.redis.maxIdle=1000
      -spring.redis.maxTotal=10000
      -#redis configuration end
      -
      -# user data directory path, self configuration, please make sure the directory exists and have read write permissions
      -data.basedir.path=/xxx/xxx
      -
      -# directory path for user data download. self configuration, please make sure the directory exists and have read write permissions
      -data.download.basedir.path=/xxx/xxx 
      -
      -# process execute directory. self configuration, please make sure the directory exists and have read write permissions
      -process.exec.basepath=/xxx/xxx
      -
      -# data base dir, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have read write permissions。"/escheduler" is recommended
      -data.store2hdfs.basepath=/escheduler
      -
      -# system env path. self configuration, please make sure the directory and file exists and have read write execute permissions
      -escheduler.env.path=/xxx/xxx/.escheduler_env.sh
      -escheduler.env.py=/xxx/xxx/escheduler_env.py
      -
      -#resource.view.suffixs
      -resource.view.suffixs=txt,log,sh,conf,cfg,py,java,sql,hql,xml
      -
      -# is development state? default "false"
      -development.state=false
      -

      SHELL任务 环境变量配置

      -

      .escheduler_env.sh

      -
      #self configuration, please make sure the directory exists and have read write permissions
      -export HADOOP_HOME=/opt/soft/hadoop
      -export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop
      -export SPARK_HOME1=/opt/soft/spark1
      -export SPARK_HOME2=/opt/soft/spark2
      -export PYTHON_HOME=/opt/soft/python
      -export JAVA_HOME=/opt/soft/java
      -export HIVE_HOME=/opt/soft/hive
      -
      -export PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH
      -

      -

      Python任务 环境变量配置

      -

      escheduler_env.py

      -
      #self configuration, please make sure the directory exists and have read write execute permissions
      -
      -import os
      -
      -HADOOP_HOME="/opt/soft/hadoop"
      -PYTHON_HOME="/opt/soft/python"
      -JAVA_HOME="/opt/soft/java"
      -PATH=os.environ['PATH']
      -PATH="%s/bin:%s/bin:%s/bin:%s"%(HADOOP_HOME,JAVA_HOME,PYTHON_HOME,PATH)
      -
      -os.putenv('PATH','%s'%PATH)
      -

      hadoop 配置文件

      -
        -
      • common/hadoop/hadoop.properties
      • -
      -
      #please replace the content in ${xxx}
      -# ha or single namenode
      -fs.defaultFS=hdfs://${cluster_ipOrName}:8020
      -
      -#resourcemanager ha note this need ips , eg. 192.168.220.188,192.168.220.189
      -yarn.resourcemanager.ha.rm.ids=${ip1},${ip2}
      -
      -# reousrcemanager path 
      -yarn.application.status.address=http://${ip1}:8088/ws/v1/cluster/apps/%s
      -

      定时器配置文件

      -
        -
      • quartz.properties
      • -
      -
      #please replace the content in ${xxx}
      -#============================================================================
      -# Configure Main Scheduler Properties
      -#============================================================================
      -org.quartz.scheduler.instanceName = EasyScheduler
      -org.quartz.scheduler.instanceId = AUTO
      -org.quartz.scheduler.makeSchedulerThreadDaemon = true
      -org.quartz.jobStore.useProperties = false
      -
      -#============================================================================
      -# Configure ThreadPool
      -#============================================================================
      -
      -org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
      -org.quartz.threadPool.makeThreadsDaemons = true
      -org.quartz.threadPool.threadCount = 25
      -org.quartz.threadPool.threadPriority = 5
      -
      -#============================================================================
      -# Configure JobStore
      -#============================================================================
      -
      -org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
      -org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
      -org.quartz.jobStore.tablePrefix = QRTZ_
      -org.quartz.jobStore.isClustered = true
      -org.quartz.jobStore.misfireThreshold = 60000
      -org.quartz.jobStore.clusterCheckinInterval = 5000
      -org.quartz.jobStore.dataSource = myDs
      -
      -#============================================================================
      -# Configure Datasources  
      -#============================================================================
      -
      -org.quartz.dataSource.myDs.driver = com.mysql.jdbc.Driver
      -org.quartz.dataSource.myDs.URL = jdbc:mysql://${ip}:3306/escheduler?characterEncoding=utf8&useSSL=false
      -org.quartz.dataSource.myDs.user = ${username}
      -org.quartz.dataSource.myDs.password = ${password}
      -org.quartz.dataSource.myDs.maxConnections = 10
      -org.quartz.dataSource.myDs.validationQuery = select 1
      -

      zookeeper 配置文件

      -
        -
      • zookeeper.properties
      • -
      -
      #zookeeper cluster. eg. 192.168.220.188:2181,192.168.220.189:2181,192.168.220.190:2181
      -zookeeper.quorum=${ip1}:2181,${ip2}:2181,${ip3}:2181
      -
      -#zookeeper server dirctory
      -zookeeper.escheduler.master=/escheduler/masters
      -zookeeper.escheduler.worker=/escheduler/workers
      -
      -#zookeeper lock dirctory
      -zookeeper.escheduler.lock.master=/escheduler/lock/master
      -zookeeper.escheduler.lock.worker=/escheduler/lock/worker
      -
      -#escheduler root directory
      -zookeeper.escheduler.root=/escheduler
      -
      -#escheduler failover directory
      -zookeeper.escheduler.lock.master.failover=/escheduler/lock/failover/master
      -zookeeper.escheduler.lock.worker.failover=/escheduler/lock/failover/worker
      -
      -#escheduler failover directory
      -zookeeper.session.timeout=300
      -zookeeper.connection.timeout=300
      -zookeeper.retry.sleep=1000
      -zookeeper.retry.maxtime=5
      -

      escheduler-dao

      -

      dao数据源配置

      -
        -
      • dao/data_source.properties
      • -
      -
      #please replace the content in ${xxx}
      -
      -# base spring data source configuration
      -spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
      -spring.datasource.driver-class-name=com.mysql.jdbc.Driver
      -spring.datasource.url=jdbc:mysql://${ip}:3306/escheduler?characterEncoding=UTF-8
      -spring.datasource.username=${username}
      -spring.datasource.password=${password}
      -
      -# connection configuration
      -spring.datasource.initialSize=5
      -spring.datasource.minIdle=5
      -spring.datasource.maxActive=20
      -
      -# max seconds wait connection timeout
      -spring.datasource.maxWait=60000
      -
      -# milliseconds for check to close free connections
      -spring.datasource.timeBetweenEvictionRunsMillis=60000
      -
      -#  connection minimum survival time(milliseconds)
      -spring.datasource.minEvictableIdleTimeMillis=300000
      -spring.datasource.validationQuery=SELECT 1
      -spring.datasource.validationQueryTimeout=3
      -spring.datasource.testWhileIdle=true
      -spring.datasource.testOnBorrow=true
      -spring.datasource.testOnReturn=false
      -spring.datasource.defaultAutoCommit=true
      -
      -# open PSCache, specify count PSCache for every connection
      -spring.datasource.poolPreparedStatements=true
      -spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
      -
      -
      -# data quality analysis is not currently in use. please ignore the following configuration
      -# task record flag
      -task.record.flag=false
      -task.record.datasource.url=jdbc:mysql://${ip}:3306/etl?characterEncoding=UTF-8
      -task.record.datasource.username=etl
      -task.record.datasource.password=xxxxx
      -

      escheduler-server

      -

      master配置文件

      -
        -
      • master.properties
      • -
      -
      # master execute thread num
      -master.exec.threads=100
      -
      -# master execute task number in parallel
      -master.exec.task.number=20
      -
      -# master heartbeat interval
      -master.heartbeat.interval=8
      -
      -# master commit task retry times
      -master.task.commit.retryTimes=5
      -
      -# master commit task interval
      -master.task.commit.interval=100
      -
      -
      -# only less than cpu avg load, master server can work. default value : the number of cpu cores * 2
      -master.max.cpuload.avg=10
      -
      -# only larger than reserved memory, master server can work. default value : physical memory * 1/10, unit is G.
      -master.reserved.memory=1
      -

      master日志文件

      -

      注意:对MASTERLOGFILE,自定义了MasterLogFilter

      -
        -
      • master_logback.xml
      • -
      -
      <!-- Logback configuration. See http://logback.qos.ch/manual/index.html -->
      -<configuration scan="true" scanPeriod="120 seconds"> <!--debug="true" -->
      -   <property name="log.base" value="logs" />
      -   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
      -      <encoder>
      -         <pattern>
      -            [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n
      -         </pattern>
      -         <charset>UTF-8</charset>
      -      </encoder>
      -   </appender>
      -
      -   <appender name="MASTERLOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
      -      <file>${log.base}/escheduler-master.log</file>
      -      <filter class="cn.escheduler.server.master.log.MasterLogFilter">
      -         <level>INFO</level>
      -      </filter>
      -      <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      -         <fileNamePattern>${log.base}/escheduler-master.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
      -         <maxHistory>20</maxHistory>
      -         <maxFileSize>200MB</maxFileSize>
      -      </rollingPolicy>
      -      <encoder>
      -         <pattern>
      -            [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n
      -         </pattern>
      -         <charset>UTF-8</charset>
      -      </encoder>
      -   </appender>
      -
      -   <root level="INFO">
      -      <appender-ref ref="MASTERLOGFILE"/>
      -   </root>
      -</configuration>
      -

      worker配置文件

      -
        -
      • worker.properties
      • -
      -
      # worker execute thread num
      -worker.exec.threads=100
      -
      -# worker heartbeat interval
      -worker.heartbeat.interval=8
      -
      -# submit the number of tasks at a time
      -worker.fetch.task.num = 10
      -
      -# only less than cpu avg load, worker server can work. default value : the number of cpu cores * 2
      -worker.max.cpuload.avg=10
      -
      -# only larger than reserved memory, worker server can work. default value : physical memory * 1/6, unit is G.
      -worker.reserved.memory=1
      -

      worker日志文件

      -

      注意:对WORKERLOGFILE,自定义了WorkerLogFilter

      -

      对于 TASKLOGFILE , 自定义了TaskLogAppender和TaskLogFilter

      -
        -
      • worker_logback.xml
      • -
      -
      <!-- Logback configuration. See http://logback.qos.ch/manual/index.html -->
      -<configuration scan="true" scanPeriod="120 seconds">
      -    <property name="log.base" value="logs"/>
      -    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
      -        <encoder>
      -            <pattern>
      -                [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n
      -            </pattern>
      -            <charset>UTF-8</charset>
      -        </encoder>
      -    </appender>
      -    <appender name="TASKLOGFILE" class="cn.escheduler.server.worker.log.TaskLogAppender">
      -        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      -            <level>INFO</level>
      -        </filter>
      -        <filter class="cn.escheduler.server.worker.log.TaskLogFilter"></filter>
      -        <file>${log.base}/{processDefinitionId}/{processInstanceId}/{taskInstanceId}.log</file>
      -        <encoder>
      -            <pattern>
      -                [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n
      -            </pattern>
      -            <charset>UTF-8</charset>
      -        </encoder>
      -        <append>true</append>
      -    </appender>
      -
      -    <appender name="WORKERLOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
      -        <file>${log.base}/escheduler-worker.log</file>
      -        <filter class="cn.escheduler.server.worker.log.WorkerLogFilter">
      -            <level>INFO</level>
      -        </filter>
      -
      -        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      -            <fileNamePattern>${log.base}/escheduler-worker.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
      -            <maxHistory>20</maxHistory>
      -            <maxFileSize>200MB</maxFileSize>
      -        </rollingPolicy>
      -             
      -        <encoder>
      -            <pattern>
      -                [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n
      -            </pattern>
      -            <charset>UTF-8</charset>
      -        </encoder>
      -          
      -    </appender>
      -
      -
      -    <root level="INFO">
      -        <appender-ref ref="TASKLOGFILE"/>
      -        <appender-ref ref="WORKERLOGFILE"/>
      -    </root>
      -</configuration>
      -

      escheduler-web

      -

      web配置文件

      -
        -
      • application.properties
      • -
      -
      # server port
      -server.port=12345
      -
      -# session config
      -server.session.timeout=7200
      -
      -
      -server.context-path=/escheduler/
      -
      -# file size limit for upload
      -spring.http.multipart.max-file-size=1024MB
      -spring.http.multipart.max-request-size=1024MB
      -
      -#post content
      -server.max-http-post-size=5000000
      -

      web日志文件

      -
        -
      • webserver_logback.xml
      • -
      -
          <!-- Logback configuration. See http://logback.qos.ch/manual/index.html -->
      -    <configuration scan="true" scanPeriod="120 seconds">
      -       <logger name="org.apache.zookeeper" level="WARN"/>
      -       <logger name="org.apache.hbase" level="WARN"/>
      -       <logger name="org.apache.hadoop" level="WARN"/>
      -
      -       <property name="log.base" value="logs" />
      -
      -       <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
      -          <encoder>
      -             <pattern>
      -                [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n
      -             </pattern>
      -             <charset>UTF-8</charset>
      -          </encoder>
      -       </appender>
      -
      -       <appender name="WEBSERVERLOGFILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">
      -          <!-- Log level filter -->
      -          <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      -             <level>INFO</level>
      -          </filter>
      -            <file>${log.base}/escheduler-web-server.log</file>
      -          <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      -             <fileNamePattern>${log.base}/escheduler-web-server.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
      -             <maxHistory>20</maxHistory>
      -             <maxFileSize>64MB</maxFileSize>
      -          </rollingPolicy>
      -
      -          <encoder>
      -             <pattern>
      -                [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n
      -             </pattern>
      -             <charset>UTF-8</charset>
      -          </encoder>
      -
      -       </appender>
      -
      -       <root level="INFO">
      -          <appender-ref ref="WEBSERVERLOGFILE" />
      -       </root>
      -    </configuration>
      -

      启动停止命令

      -
        -
      • 启停Master
      • -
      -
      sh ./bin/arklifter-daemon.sh start master-server
      -sh ./bin/arklifter-daemon.sh stop master-server
      -
        -
      • 启停Worker
      • -
      -
      sh ./bin/arklifter-daemon.sh start worker-server
      -sh ./bin/arklifter-daemon.sh stop worker-server
      -
        -
      • 启停Web
      • -
      -
      sh ./bin/arklifter-daemon.sh start web-server
      -sh ./bin/arklifter-daemon.sh stop web-server
      -
        -
      • 启停Logger
        sh ./bin/arklifter-daemon.sh start logger-server
        -sh ./bin/arklifter-daemon.sh stop logger-server
        -
      • -
      • 启停Alert
        sh ./bin/arklifter-daemon.sh start alert-server
        -sh ./bin/arklifter-daemon.sh stop alert-server
        -
      • -
      -

      一键启停脚本

      -
        -
      • 部署用户配置

        -
          -
        1. 创建部署用户

          -

          target/escheduler-{version}-SNAPSHOT/script/init_deploy_user.sh

          -
        2. -
        3. 配置

          -

          因为escheduler worker 都是以 sudo -u {linux-user} 方式来执行作业,所以部署用户需要有 sudo 权限,而且是免密的

          -
        4. -
        -
      • -
      -
          vi /etc/sudoers
      -
      -    # 部署用户是 escheduler 账号
      -    escheduler  ALL=(ALL)       NOPASSWD: NOPASSWD: ALL
      -
      -    # 并且需要注释掉 Default requiretty 一行
      -    #Default requiretty
      -
        -
      • 初始化 hdfs
      • -
      -

      ​ target/escheduler-{version}-SNAPSHOT/script/init_hdfs.sh

      -
        -
      • 安装配置文件 install_config
      • -
      -
          # 项目所在目录
      -    BASE_PATH=/opt/soft/program
      -    # 部署的机器
      -    IPS=ark0,ark1,ark2,ark3,ark4
      -
        -
      • 运行配置文件 run_config

        -
         # master服务所在机器,>=1个
        - MASTERS=ark0,ark1
        - # worker服务所在机器,>=1个
        - WORKERS=ark2,ark3,ark4
        - # alert服务所在机器,1个
        - ALERTS=ark3
        - # web服务所在机器,1个
        - WEBSERVER=ark1
        -
      • -
      • 初始化安装目录

        -

        target/escheduler-{version}-SNAPSHOT/script/init_install_path.sh

        -
      • -
      • 将 target/escheduler-{version}-SNAPSHOT 下配置好的conf文件夹和编译好的escheduler-{version}-SNAPSHOT.tar.gz 复制到 主机器的 BASE_PATH 目录下

        -

        说明:主机器需要能免密ssh登录到其它机器上

        -
      • -
      • 启动所有服务

        -
      • -
      -
      sh ./deploy/start_all.sh
      -
      -
        -
      • 关闭所有服务
      • -
      -
      sh ./deploy/stop_all.sh
      -
      -

      监控服务

      -

      monitor_server.py 脚本是监听,master和worker服务挂掉重启的脚本

      -

      注意:在全部服务都启动之后启动

      -

      nohup python -u monitor_server.py > nohup.out 2>&1 &

      -

      日志查看

      -

      日志统一存放于指定文件夹内

      -
       logs/
      -    ├── escheduler-alert-server.log
      -    ├── escheduler-master-server.log
      -    |—— escheduler-worker-server.log
      -    |—— escheduler-web-server.log
      -    |—— escheduler-logger-server.log
      -
      - - -
      - -
      -
      -
      - -

      results matching ""

      -
        - -
        -
        - -

        No results matching ""

        - -
        -
        -
        - -
        -
        - -
        - - - - - - - - - - - - - - -
        - - -
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/pages/deploy-foreground.html b/docs/pages/deploy-foreground.html deleted file mode 100644 index dd3e5b8f6b..0000000000 --- a/docs/pages/deploy-foreground.html +++ /dev/null @@ -1,1091 +0,0 @@ - - - - - - - 前端部署 · 调度系统-EasyScheduler - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        -
        - - - - - - - - -
        - -
        - -
        - - - - - - - - -
        -
        - -
        -
        - -
        - -

        前端部署文档

        -

        前端项目环境构建及编译

        -

        Escheduler项目前端技术栈

        -
        Vue + es6 + Ans-ui + d3 + jsplumb + lodash
        -

        开发环境

        -
        Node
        -
          -
        • node安装

          -

          Node包下载 (注意版本 8.9.4) https://nodejs.org/download/release/v8.9.4/

          -
        • -
        • 拉取前端项目到本地

          -

          项目git仓库地址 git@git.analysys.cn:analysys_changsha/escheduler.git

          -
        • -
        • 前端项目构建

          -

          用命令行模式 cd 进入 escheduler项目目录并执行 npm install 拉取项目依赖包

          -
        • -
        -
        -

        如果 npm install 速度非常慢

        -

        可以转淘宝镜像命令行输入 npm install -g cnpm --registry=https://registry.npm.taobao.org

        -

        运行 cnpm install

        -
        !!!这里特别注意 项目如果在拉取依赖包的过程中报 " node-sass error " 错误,请在执行完后再次执行以下命令
        -
        npm install node-sass --unsafe-perm //单独安装node-sass依赖
        -
        -

        项目根目录创建.env为后缀名的文件并输入

        -
        # 前端代理的接口地址
        -API_BASE = http://192.168.220.204:12345
        -
        -# 如果您需要用ip访问项目可以把 "#" 号去掉
        -#DEV_HOST = 192.168.6.132
        -

        运行

        -
          -
        • npm start 项目开发环境 (启动后访问地址 http://localhost:8888/#/)

          -
        • -
        • npm run build 项目打包 (打包后根目录会创建一个名为dist文件夹,用于发布线上Nginx)

          -
        • -
        -

        安装及配置

        -

        (1-1) Nginx安装

        -

        安装 wget http://nginx.org/download/nginx-1.10.1.tar.gz

        -

        Nginx的配置及运行需要pcre、zlib等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保Nginx的安装顺利完成。

        -
        [root@nginx ~]# service iptables stop
        -[root@nginx ~]# setenforce 0
        -[root@nginx ~]# mount /dev/cdrom /mnt/
        -[root@nginx ~]# vim /etc/yum.repos.d/yum.repo
        -[base]
        -name=RedHat Enterprise Linux Server
        -baseurl=file:///mnt/Packages
        -gpgcheck=0
        -[root@nginx ~]# yum -y install pcre-devel zilb-devel openssl-devel
        -

        (1-2) 创建运行用户、组

        -

        Nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限,增加灵活性、降低安全风险。如:创建一个名为nginx的用户,不建立宿主目录,也禁止登录到shell环境。

        -
        [root@nginx ~]# useradd -M -s /sbin/nologin escheduler
        -

        (1-3) 编译安装nginx

        -

        释放nginx源码包

        -
        [root@nginx ~]# tar xf nginx-1.6.2.tar.gz -C /usr/src/
        -

        编译前配置

        -
        [root@nginx ~]# cd /usr/src/nginx-1.6.2/
        -[root@nginx nginx-1.6.2]# ./configure --prefix=/usr/local/nginx --user=escheduler --group=escheduler --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module
        -

        注:配置前可以参考 ./configure --help给出说明

        -
        --prefix        设定Nginx的安装目录
        ---user和—group    指定Nginx运行用户和组
        ---with-http_stub_status_module    启用http_stub_status_module模块以支持状态统计
        ---with-http_ssl_module     启用SSL模块
        -
        -

        错误

        -
        [root@centos nginx-1.6.2]# ./configure --prefix=/usr/local/nginx --user=escheduler --group=escheduler --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module
        -checking for OS
        -+ Linux 2.6.32-431.el6.i686 i686
        -checking for C compiler ... not found
        -./configure: error: C compiler cc is not found
        -

        解决方法

        -
        yum -y install gcc gcc-c++
        -
        -

        编译 安装

        -
        [root@nginx nginx-1.6.2]# make && make install
        -

        为了使Nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行nginx命令就可以调用Nginx的主程序。

        -
        [root@nginx nginx-1.6.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/
        -[root@nginx nginx-1.6.2]# ll /usr/local/bin/nginx 
        -lrwxrwxrwx 1 root root 27 12-29 07:24 /usr/local/bin/nginx -> /usr/local/nginx/sbin/nginx
        -

        Nginx的运行控制 -与Apache的主程序httpd类似,Nginx的主程序也提供了"-t"选项用来对配置文件进行检查,以便找出不当或错误的配置。配置文件nginx.conf默认位于安装目录/usr/local/nginx/conf/目录中。若要检查位于其他位置的配置文件,可使用"-c"选项来指定路径。

        -
        root@nginx conf]# nginx -t
        -nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
        -nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
        -

        启动、停止Nginx -直接运行nginx即可启动Nginx服务器,这种方式将使用默认的配置文件,若要改用其他配置文件,需添加"-c 配置文件路径"选项来指定路径。需要注意的是,若服务器中已安装有httpd等其他WEB服务软件,应采取措施(修改端口,停用或卸载)避免部突。

        -
        [root@nginx conf]# chown -R escheduler:escheduler /usr/local/nginx
        -
        -/usr/local/nginx/conf/nginx.conf
        -
        -[root@nginx conf]# netstat -anpt |grep :80
        -[root@nginx conf]# nginx
        -[root@nginx conf]# netstat -anpt |grep :80
        -tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      6810/nginx: master
        -

        通过检查 Nginx程序的监听状态,或者在浏览器中访问此WEB服务(默认页面将显示"Welcome to nginx!"),可以确认Nginx服务是否正常运行。

        -
        [root@nginx ~]# yum -y install elinks
        -[root@nginx ~]# elinks --dump http://localhost
        -                               Welcome to nginx!
        -

        主程序Nginx支持标准的进程信号,通过kill或者killall命令传送

        -
        HUP        重载配置    等同于-1
        -QUIT    退出进程    等同于-3
        -KILL    杀死进程                
        -[root@nginx ~]# killall -s HUP nginx
        -[root@nginx ~]# killall -s QUIT nginx
        -[root@nginx ~]# netstat -anpt |grep :80
        -

        当Nginx进程运行时,PID号默认存放在logs/目录下的nginx.pid文件中,因此若改用kill命令,也可以根据nginx.pid文件中的PID号来进行控制。 -为了使Nginx服务的启动、停止、重载等操作更加方便,可以编写Nginx服务脚本,并使用chkconfig和service工具来进行管理,也更加符合RHEL系统的管理习惯。

        -
        [root@nginx ~]# vim /etc/init.d/nginx
        -

        脚本一

        -
        #!/bin/bash
        -# chkconfig: 2345 99 20
        -# description: Nginx Server Control Script
        -PROG="/usr/local/nginx/sbin/nginx"
        -PIDF="/usr/local/nginx/logs/nginx.pid"
        -case "$1" in
        -start)
        -    $PROG
        -;;
        -stop)
        -    kill -s QUIT $(cat $PIDF)
        -;;
        -restart)
        -    $0 stop
        -    $0 start
        -;;
        -reload)
        -    kill -s HUP $(cat $PIDF)
        -;;
        -*)
        -    echo "Usage: $0 (start|stop|restart|reload)"
        -    exit 1
        -esac
        -exit 0
        -
        -[root@nginx ~]# chmod +x /etc/init.d/nginx
        -[root@nginx ~]# chkconfig --add nginx
        -[root@nginx ~]# chkconfig nginx on
        -[root@nginx ~]# chkconfig --list nginx 
        -nginx              0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
        -

        报错的话: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

        -

        这样就可以通过nginx脚本来启动、停止、重启、重载Nginx服务器了。

        -

        (2-1) root安装

        -

        安装epel源 yum install epel-release -y

        -

        安装Nginx yum install nginx -y

        -

        命令

        -
          -
        • 启用 systemctl enable nginx

          -
        • -
        • 重启 systemctl restart nginx

          -
        • -
        • 状态 systemctl status nginx

          -
        • -
        -

        项目生产环境配置

        -
        -

        创建静态页面存放目录

        -
        mkdir /data2_4T/escheduler_front/escheduler/server
        -

        配置文件地址

        -
        /etc/nginx/conf.d/default.conf
        -

        配置信息

        -
        server {
        -    listen       8888;# 访问端口
        -    server_name  localhost;
        -    #charset koi8-r;
        -    #access_log  /var/log/nginx/host.access.log  main;
        -    location / {
        -        root   /data2_4T/escheduler_front/escheduler/server; # 静态文件目录
        -        index  index.html index.html;
        -    }
        -    location /escheduler {
        -        proxy_pass http://192.168.220.181:12345; # 接口地址
        -        proxy_set_header Host $host;
        -        proxy_set_header X-Real-IP $remote_addr;
        -        proxy_set_header x_real_ipP $remote_addr;
        -        proxy_set_header remote_addr $remote_addr;
        -        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        -        proxy_http_version 1.1;
        -        proxy_connect_timeout 4s;
        -        proxy_read_timeout 30s;
        -        proxy_send_timeout 12s;
        -        proxy_set_header Upgrade $http_upgrade;
        -        proxy_set_header Connection "upgrade";
        -    }
        -    #error_page  404              /404.html;
        -    # redirect server error pages to the static page /50x.html
        -    #
        -    error_page   500 502 503 504  /50x.html;
        -    location = /50x.html {
        -        root   /usr/share/nginx/html;
        -    }
        -}
        -

        重启Nginx服务

        -
        systemctl restart nginx
        -
        -

        前端项目发布

        -

        前端在开发环境(dev)中运行 npm run build 命令,生成打包文件(dist)包

        -

        再拷贝到服务器 /data2_4T/escheduler_front/escheduler/server(服务器静态页面存放目录)

        -

        访问地址 http://localhost:8888/#/

        -

        问题

        -

        1. 上传文件大小限制

        -

        编辑配置文件 vi /etc/nginx/nginx.conf

        -
        # 更改上传大小
        -client_max_body_size 1024m
        -
        - -
        - -
        -
        -
        - -

        results matching ""

        -
          - -
          -
          - -

          No results matching ""

          - -
          -
          -
          - -
          -
          - -
          - - - - - - - - - - -
          - - -
          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/pages/foreground-1.md b/docs/pages/foreground-1.md deleted file mode 100644 index 985ac580a4..0000000000 --- a/docs/pages/foreground-1.md +++ /dev/null @@ -1 +0,0 @@ -# 1.md \ No newline at end of file diff --git a/docs/pages/foreground-2.html b/docs/pages/foreground-2.html deleted file mode 100644 index 11b0d7232b..0000000000 --- a/docs/pages/foreground-2.html +++ /dev/null @@ -1,882 +0,0 @@ - - - - - - - 安装 · 调度系统-EasyScheduler - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          -
          - - - - - - - - -
          - -
          - -
          - - - - - - - - -
          -
          - -
          -
          - -
          - -

          frontEnd

          - - -
          - -
          -
          -
          - -

          results matching ""

          -
            - -
            -
            - -

            No results matching ""

            - -
            -
            -
            - -
            -
            - -
            - - - - - - -
            - - -
            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/pages/guide-architecture.html b/docs/pages/guide-architecture.html deleted file mode 100644 index 8150dc3ed8..0000000000 --- a/docs/pages/guide-architecture.html +++ /dev/null @@ -1,1038 +0,0 @@ - - - - - - - 系统架构分析 · 调度系统-EasyScheduler - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            -
            - - - - - - - - -
            - -
            - -
            - - - - - - - - -
            -
            - -
            -
            - -
            - -

            EasyScheduler大数据调度系统架构分析

            -

            架构设计

            -

            PNG

            -
            -

            EasyScheduler设计围绕四个服务展开,UI、Web、Server和Alert。

            -
              -
            • UI : 使用易观封装的Vue及jsplumb组件开发
              -
            • -
            • Web:使用SpringBoot提供Rest Api和UI分离交互
              -
            • -
            • Server : Scheduler调度及分布式任务执行引擎
              -
            • -
            • Alert:告警微服务
              -
            • -
            -
            -

            以下将详细介绍Server的设计思想和遇到的问题

            -

            去中心化vs中心化

            -
            - -

            1. 中心化思想

            -
            -

                   中心化的设计理念比较简单,分布式集群中的节点按照角色分工,大体上分为两种角色:

            -

            PNG

            -

                   Master的角色主要负责任务分发并监督Slave的健康状态,可以动态的将任务均衡到Slave上,以致Slave节点不至于“忙死”或”闲死”的状态。

            -

                   Worker的角色主要负责任务的执行工作并维护和Master的心跳,以便Master可以分配任务给Slave。

            -
            -

            2. 中心化思想设计存在的问题:

            -
            -

                   一旦Master出现了问题,则群龙无首,整个集群就崩溃。为了解决这个问题,大多数Master/Slave架构模式都采用了主备Master的设计方案,可以是热备或者冷备,也可以是自动切换或手动切换,而且越来越多的新系统都开始具备自动选举切换Master的能力,以提升系统的可用性。

            -

                   另外一个问题是如果Scheduler在Master上,虽然可以支持一个DAG中不同的任务运行在不同的机器上,但是会产生Master的过负载。如果Scheduler在Slave上,则一个DAG中所有的任务都只能在某一台机器上进行作业提交,则并行任务比较多的时候,Slave的压力可能会比较大。

            -
            -

            3. 去中心化

            -
            -

            PNG

            -

                   去中心化设计里,通常没有Master/Slave的概念,所有的角色都是一样的,地位是平等的,全球互联网就是一个典型的去中心化的分布式系统,联网的任意节点设备down机,都只会影响很小范围的功能。

            -

                   去中心化设计的核心设计在于整个分布式系统中不存在一个区别于其他节点的”管理者”,因此不存在单点故障问题。但由于不存在” 管理者”节点所以每个节点都需要跟其他节点通信才得到必须要的机器信息,而分布式系统通信的不可靠行,则大大增加了上述功能的实现难度。

            -

                   实际上,真正去中心化的分布式系统并不多见。反而动态中心化分布式系统正在不断涌出。在这种架构下,集群中的管理者是被动态选择出来的,而不是预置的,并且集群在发生故障的时候,集群的节点会自发的举行"会议"选举新的"管理者"主持工作。最典型的案例就是ZooKeeper及Go语言实现的Etcd。

            -
            -

            -
            -

            EasyScheduler的去中心化是Master/Worker注册到Zookeeper中,实现Master集群和Worker集群无中心,并使用Zookeeper分布式锁来选举其中的一台Master或Worker为“管理者”来执行任务。

            -
            -

            分布式锁实践

            -

            EasyScheduler使用Zookeeper分布式锁来实现同一时刻只有一台Master执行Scheduler,或者只有一台Worker执行任务的提交。

            -

            1. 获取分布式锁的核心流程算法如下:

            -
            -

            PNG

            -
            -

            2. EasyScheduler中Scheduler线程分布式锁实现流程图:

            -
            -

            PNG

            -
            -

            线程不足循环等待问题

            -
              -
            • 如果一个DAG中没有子流程,则如果Command中的数据条数大于线程池设置的阈值,则直接流程等待或失败。

              -
            • -
            • 如果一个大的DAG中嵌套了很多子流程,如下图:

              -
              -

              PNG

              -

                     则会产生“死等”状态。MainFlowThread等待SubFlowThread1结束,SubFlowThread1等待SubFlowThread2结束,SubFlowThread2等待SubFlowThread3结束,而SubFlowThread3等待线程池有新线程,则整个DAG流程不能结束,从而其中的线程也不能释放。

              -

                     这样就形成的子父流程循环等待的状态。此时除非启动新的Master来增加线程来打破这样的”僵局”,否则调度集群将不能再使用。

              -
              -
            • -
            -
              -
            • 对于启动新Master来打破僵局,似乎有点差强人意,于是我们提出了以下三种方案来降低这种风险:

              -
              -
                -
              • 计算所有Master的线程总和,然后对每一个DAG需要计算其需要的线程数,也就是在DAG流程执行之前做预计算。因为是多Master线程池,所以总线程数不太可能实时获取。

                -
              • -
              • 对单Master线程池进行判断,如果线程池已经满了,则让线程直接失败。

                -
              • -
              • 增加一种资源不足的Command类型,如果线程池不足,则将主流程挂起。这样线程池就有了新的线程,可以让资源不足挂起的流程重新唤醒执行。

                -
              • -
              -
              -
            • -
            • 注意:Master Scheduler线程在获取Command的时候是FIFO的方式执行的。

              -
            • -
            • 于是我们选择了第三种方式来解决线程不足的问题。

              -
            • -
            -

            容错设计

            -
              -
            • EasyScheduler容错设计依赖于Zookeeper的Watcher机制,实现原理如图:

              -
              -

              PNG

              -

                     Master监控其他Master和Worker的目录,如果监听到remove事件,则会根据具体的业务逻辑进行流程实例容错或者任务实例容错。

              -
              -
            • -
            • Master容错流程图:

              -
              -

              PNG

              -

                     ZooKeeper Master容错完成之后则重新由EasyScheduler中Scheduler线程调度,遍历 DAG 找到”正在运行”和“提交成功”的任务,对”正在运行”的任务监控其任务实例的状态,对”提交成功”的任务需要判断Task Queue中是否已经存在,如果存在则同样监控任务实例的状态,如果不存在则重新提交任务实例。

              -
              -
            • -
            -
              -
            • Worker容错流程图:

              -
              -

              PNG

              -

                     Master Scheduler线程一旦发现任务实例为” 需要容错”状态,则接管任务并进行重新提交。

              -
              -
            • -
            -
              -
            • 注意:由于” 网络抖动”可能会使得节点短时间内失去和zk的心跳,从而发生节点的remove事件。对于这种情况,我们使用最简单的方式,那就是节点一旦和zk发生超时连接,则直接将Master或Worker服务停掉。

              -
            • -
            -

            Logback和gRPC实现日志访问

            -
            - -
              -
            • 由于Web和Worker不一定在同一台机器上,所以查看日志不能像查询本地文件那样。有两种方案:

              -
                -
              • 将日志放到ES搜索引擎上

                -
              • -
              • 通过gRPC通信获取远程日志信息

                -
              • -
              -
            • -
            • 介于考虑到尽可能的EasyScheduler的轻量级性,所以选择了gRPC实现远程访问日志信息。

              -
              -

              PNG

              -
              -
            • -
            -
              -
            • 我们使用自定义Logback的FileAppender和Filter功能,实现每个任务实例生成一个日志文件。

              -
            • -
            -
              -
            • FileAppender实现如下:

              -
              -

              PNG

              -

              以…/流程定义id/流程实例id/任务实例id.log的形式生成日志。

              -
              -
            • -
            -
              -
            • 过滤匹配以TaskLogInfo开始的线程名称:

              -
              -

              PNG

              -
              -
            • -
            -

            总结

            -
            -

            本文从调度出发,介绍了易观研发的大数据分布式工作流调度系统。EasyScheduler在易观数据平台起着中流砥柱的作用。本章着重介绍了EasyScheduler的架构原理及实现思路。

            -
            - - -
            - -
            -
            -
            - -

            results matching ""

            -
              - -
              -
              - -

              No results matching ""

              - -
              -
              -
              - -
              -
              - -
              - - - - - - - - - - -
              - - -
              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/pages/guide-manual.html b/docs/pages/guide-manual.html deleted file mode 100644 index fe0c048e7f..0000000000 --- a/docs/pages/guide-manual.html +++ /dev/null @@ -1,1639 +0,0 @@ - - - - - - - 使用手册 · 调度系统-EasyScheduler - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
              -
              - - - - - - - - -
              - -
              - -
              - - - - - - - - -
              -
              - -
              -
              - -
              - -

              使用手册

              -

              登录

              -

              1.输入http://192.168.220.204:8888/view/login/index.html 网址,输入用户名,密码登录 EasyScheduler

              -

              PNG

              -

              2.登录之后每个页面的右上角都有用户的身份标识。点击下拉箭头包含用户信息和退出两个按钮

              -

              PNG

              -
                -
              • 点击“用户信息”按钮,如下图:

                -PNG
              • -
              -
                -
              • 点击”修改”按钮,修改用户信息

                -

                PNG

                -
              • -
              • 点击退出按钮则退出系统,返回登录页面

                -
              • -
              -

              安全中心

              -
              -
              只有管理员才有安全中心,安全中心的主要功能是给管理员提供管理普通用户的功能。
              -管理员可以有多个,管理员是功能上的管理,不参与具体的业务。也就是说管理员是不能执行具体任务的。
              -
              -

              租户管理

              -

              租户是Linux上的用户,用于作业的提交。

              -
                -
              • 创建、编辑租户

                -
                -

                PNG

                -
                租户编码:租户编码是Linux上的用户,唯一,不能重复
                -
                租户名称:租户的名称
                -
                队列:租户对应的YARN上的队列,在数据库 t_escheduler_queue 中设置
                -
                描述:租户的描述信息
                -
                -
              • -
              -

              用户管理

              -

              用户是EasyScheduler上的用户,用于EasyScheduler上的功能操作。

              -
                -
              • 创建、编辑用户

                -
                -

                PNG

                -
                用户名称:用户的名称,唯一,不能重复
                -
                租户:设置该用户所属的租户
                -
                邮箱:输入用户的邮箱,用来邮件发送和任务告警
                -
                手机:输入用户的手机号
                -

                注意:如果该用户切换了租户,则该用户所在租户下所有资源将复制到切换的新租户下

                -
                -
              • -
              -
                -
              • 授权

                -
              • -
              -
              管理员可以对普通用户进行非其创建的项目、资源、数据源和UDF函数进行授权。因为项目、资源、数据源和UDF函数授权方式都是一样的,所以以项目授权为例介绍。
              -

              1.点击指定人的授权按钮,如下图:

              -

              PNG

              -

              2.选中项目按钮,进行项目授权

              -
              -

              PNG

              -

              项目列表:是该用户未授权的项目

              -

              已选项目:是该用户已授权的项目。

              -

              特别注意:对于用户自己创建的项目,该用户拥有所有的权限。则项目列表和已选项目列表中不会体现。

              -
              -

              告警组管理

              -

              告警组是告警用户抽象出来的组,使用告警组来管理用户。

              -
                -
              • 新建、编辑邮件组

                -
                -

                PNG

                -

                组名称:输入组的名称

                -

                组类型:支持邮件/短信两种

                -

                备注:输入告警组的备注信息

                -
                -
              • -
              -
                -
              • 管理用户

                -
                -

                PNG

                -

                管理用户列表:是未添加到该组的用户列表

                -

                已选管理用户:是已添加到该组的用户列表

                -
                -
              • -
              -

              服务管理

              -

              服务管理是对EasyScheduler的Master、Worker的任务监控

              -
                -
              • Master

                -PNG
              • -
              -
                -
              • Worker

                -PNG
              • -
              -

              资源中心

              -
              -
              资源中心主要分为文件管理和UDF函数管理。
              -文件管理:主要是用户的程序,脚本和配置文件需要上传到HDFS进行统一管理
              -UDF函数管理:对用户创建的UDF进行管理
              -
              -

              文件管理

              -
                -
              • 创建文件

                -
                -

                PNG

                -

                文件格式支持以下几种类型:txt、log、sh、conf、cfg、py、java、sql、xml、hql

                -
                -
              • -
              -
                -
              • 上传文件

                -
                -

                PNG

                -

                文件名:输入文件的名称

                -

                描述:输入文件的描述信息

                -

                上传文件:点击上传按钮进行上传,将文件拖拽到上传区域,文件名会自动以上传的文件名称补全

                -
                -
              • -
              -
                -
              • 文件查看

                -
                -

                对可查看的文件类型,点击 文件名称 可以查看文件详情

                -

                PNG

                -
                -
              • -
              -
                -
              • 下载文件

                -
                -

                可以在 文件详情 中点击右上角下载按钮下载文件,或者在文件列表后的下载按钮下载文件

                -
                -
              • -
              -
                -
              • 文件重命名

                -
                -

                PNG

                -
                -
              • -
              -
                -
              • 删除

                -
                -

                文件列表,点击 删除 按钮,删除文件

                -
                -
              • -
              -

              UDF管理

              -

              资源管理

              -

              资源管理和文件管理功能类似,不同之处是资源管理是上传的UDF函数,文件管理上传的是用户程序,脚本及配置文件

              -

              函数管理

              -
                -
              • 创建、编辑UDF函数

                -
                -

                PNG

                -

                目前只支持HIVE的临时UDF函数

                -

                UDF函数名称:输入UDF函数时的名称

                -

                包名类名:输入UDF函数的全路径

                -

                参数:用来标注函数的输入参数

                -

                数据库名:预留字段,用于创建永久UDF函数

                -

                UDF资源:设置创建的UDF对应的资源文件

                -

                使用说明:输入描述UDF函数的使用

                -
                -
              • -
              -

              数据源中心

              -
              -
              数据源中心支持MySQL、POSTGRESQL、HIVE及Spark数据源
              -
              -
                -
              • 创建、编辑MySQL数据源

                -
                -

                PNG

                -

                数据源:选择MYSQL

                -

                数据源名称:输入数据源的名称

                -

                描述:输入数据源的描述

                -

                IP/主机名:输入连接MySQL的IP

                -

                端口:输入连接MySQL的端口

                -

                用户名:设置连接MySQL的用户名

                -

                密码:设置连接MySQL的密码

                -

                数据库名:输入连接MySQL的数据库名称

                -

                Jdbc连接参数:用于MySQL连接的参数设置,以JSON形式填写

                -
                -
              • -
              -
                -
              • 创建、编辑POSTGRESQL数据源

                -
                -

                PNG

                -

                数据源:选择POSTGRESQL

                -

                数据源名称:输入数据源的名称

                -

                描述:输入数据源的描述

                -

                IP/主机名:输入连接POSTGRESQL的IP

                -

                端口:输入连接POSTGRESQL的端口

                -

                用户名:设置连接POSTGRESQL的用户名

                -

                密码:设置连接POSTGRESQL的密码

                -

                数据库名:输入连接POSTGRESQL的数据库名称

                -

                Jdbc连接参数:用于POSTGRESQL连接的参数设置,以JSON形式填写

                -
                -
              • -
              -
                -
              • 创建、编辑HIVE数据源

                -

                1.使用HiveServer2方式连接

                -
                -

                PNG

                -

                数据源:选择HIVE

                -

                数据源名称:输入数据源的名称

                -

                描述:输入数据源的描述

                -

                IP/主机名:输入连接HIVE的IP

                -

                端口:输入连接HIVE的端口

                -

                用户名:设置连接HIVE的用户名

                -

                密码:设置连接HIVE的密码

                -

                数据库名:输入连接HIVE的数据库名称

                -

                Jdbc连接参数:用于HIVE连接的参数设置,以JSON形式填写

                -
                -
              • -
              -

              2.使用HiveServer2 HA Zookeeper方式连接

              -
              -

              PNG

              -

              数据源:选择HIVE

              -

              数据源名称:输入数据源的名称

              -

              描述:输入数据源的描述

              -

              IP/主机名:输入连接Zookeeper的集群

              -

              端口:输入连接Zookeeper的端口

              -

              用户名:设置连接HIVE的用户名

              -

              密码:设置连接HIVE的密码

              -

              数据库名:输入连接HIVE的数据库名称

              -

              Jdbc连接参数:用于Zookeeper连接的参数设置,以JSON形式填写

              -
              -
                -
              • 创建、编辑Spark数据源

                -
                -

                PNG

                -

                数据源:选择Spark

                -

                数据源名称:输入数据源的名称

                -

                描述:输入数据源的描述

                -

                IP/主机名:输入连接Spark的IP

                -

                端口:输入连接Spark的端口

                -

                用户名:设置连接Spark的用户名

                -

                密码:设置连接Spark的密码

                -

                数据库名:输入连接Spark的数据库名称

                -

                Jdbc连接参数:用于Spark连接的参数设置,以JSON形式填写

                -
                -
              • -
              -

              项目管理

              -
              -
              项目是调度对用户流程定义DAG分组的一个抽象
              -
              -
                -
              • 创建、编辑项目

                -
                -

                PNG

                -

                项目名称:输入项目的名称

                -

                描述:输入项目的描述

                -
                -
              • -
              -

              项目首页

              -

              点击项目列表中的项目名称,可以跳转到指定的项目首页,如下图:

              -
              -

              PNG

              -

              项目首页其中包含四个部分,任务状态统计,流程状态统计、流程定义统计及统计的时间范围

              -

              任务状态统计:是指在指定时间范围内,统计任务实例中的待运行、失败、运行中、完成、成功的个数

              -

              流程状态统计:是指在指定时间范围内,统计流程实例中的待运行、失败、运行中、完成、成功的个数

              -

              流程定义统计:是统计该用户创建的流程定义及管理员授予该用户的流程定义

              -

              注意:可以点击图,或者数量跳转到相应的任务实例,流程实例和流程定义列表

              -
              -

              工作流

              -
              -
              工作流下分为流程定义、流程实例和任务实例三个功能模块
              -流程定义:是可视化拖拽成的DAG的统称,它是静态的,没有状态
              -流程实例:对流程定义的每次实例化会生成一个流程实例,是动态的,是有状态的
              -任务实例:流程实例DAG中每个Task称为任务实例,是动态的,是有状态的
              -
              -

              流程定义

              -
                -
              • 创建工作流

                -
                -

                PNG

                -

                左侧工具栏 => 是目前调度支持的任务类型,当前调度支持SHELL、子流程、存储过程、SQL、MR、Spark和Python七种任务类型

                -

                右上角图标 => 分别是拖动节点和选中项、选择线条连线、删除选中的线或节点、全屏和流程定义保持,其主要功能是DAG的绘制所用

                -
                -
              • -
              -
                -
              • 1.创建 SHELL节点

                -
                -

                拖动工具栏中的PNG任务节点到画板中,双击任务节点,如下图:

                -

                PNG

                -

                节点名称:一个流程定义中的节点名称是唯一的

                -

                运行标志:标识这个节点是否能正常调度

                -

                描述信息:描述该节点的功能

                -

                失败重试次数:任务失败重新提交的次数,支持下拉和手填

                -

                失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填

                -

                脚本:用户开发的SHELL程序

                -

                资源:是指脚本中需要调用的资源文件列表

                -

                自定义参数:是SHELL局部的用户自定义参数,会替换脚本中以${变量}的内容

                -

                任务依赖:请参考任务依赖讲解

                -
                -
              • -
              -
                -
              • 2.创建 子流程 节点

                -
                -

                拖动工具栏中的PNG任务节点到画板中,双击任务节点,如下图:

                -

                PNG

                -

                节点名称:一个流程定义中的节点名称是唯一的

                -

                运行标志:标识这个节点是否能正常调度

                -

                描述信息:描述该节点的功能

                -

                子节点:是选择子流程的流程定义,右上角进入该子节点可以跳转到所选子流程的流程定义

                -

                任务依赖:请参考任务依赖讲解

                -
                -
              • -
              -
                -
              • 3.创建 存储过程 节点

                -
                -

                拖动工具栏中的PNG任务节点到画板中,双击任务节点,如下图:

                -

                PNG

                -

                节点名称:一个流程定义中的节点名称是唯一的

                -

                运行标志:标识这个节点是否能正常调度

                -

                描述信息:描述该节点的功能

                -

                失败重试次数:任务失败重新提交的次数,支持下拉和手填

                -

                失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填

                -

                数据源:存储过程的数据源类型支持MySQL和POSTGRESQL两种,选择对应的数据源

                -

                方法:是存储过程的方法名称

                -

                自定义参数:存储过程的自定义参数类型支持IN、OUT两种,数据类型支持VARCHAR、INTEGER、LONG、FLOAT、DOUBLE、DATE、TIME、TIMESTAMP、BOOLEAN九种数据类型

                -

                任务依赖:请参考任务依赖讲解

                -
                -
              • -
              -
                -
              • 4.创建 SQL 节点

                -
                -

                拖动工具栏中的PNG任务节点到画板中,双击任务节点,如下图:

                -

                PNG

                -

                节点名称:一个流程定义中的节点名称是唯一的

                -

                运行标志:标识这个节点是否能正常调度

                -

                描述信息:描述该节点的功能

                -

                失败重试次数:任务失败重新提交的次数,支持下拉和手填

                -

                失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填

                -

                数据源:SQL数据源支持MySQL、POSTGRESQL、HIVE和Spark四中数据源类型,选择对应的数据源

                -

                sql类型:支持查询和非查询两种,查询是select类型的查询,是有结果集返回的,可以指定邮件通知为表格、附件或表格附件三种模板。非查询是没有结果集返回的,是针对update、delete、insert三种类型的操作

                -

                sql参数:输入参数格式为key1=value1;key2=value2…

                -

                sql语句:SQL语句

                -

                UDF函数:对于HIVE类型的数据源,可以引用资源中心中创建的UDF函数,其他类型的数据源暂不支持UDF函数

                -

                自定义参数:SQL任务类型自定义参数类型和数据类型同存储过程任务类型一样。区别在于SQL任务类型自定义参数会替换sql语句中${变量},而存储过程是自定义参数顺序的给方法设置值

                -

                任务依赖:请参考任务依赖讲解

                -
                -
              • -
              -
                -
              • 4.创建 MR 节点

                -
                -

                拖动工具栏中的PNG任务节点到画板中,双击任务节点,如下图:

                -

                (1) JAVA程序

                -

                PNG

                -

                节点名称:一个流程定义中的节点名称是唯一的

                -

                运行标志:标识这个节点是否能正常调度

                -

                描述信息:描述该节点的功能

                -

                失败重试次数:任务失败重新提交的次数,支持下拉和手填

                -

                失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填

                -

                主函数的class:是MR程序的入口Main Class的全路径

                -

                程序类型:选择JAVA语言

                -

                主jar包:是MR的jar包

                -

                命令行参数:是设置MR程序的输入参数,支持自定义参数变量的替换

                -

                其他参数:支持 –D、-files、-libjars、-archives格式

                -

                资源: 如果其他参数中引用了资源文件,需要在资源中选择指定

                -

                自定义参数:是MR局部的用户自定义参数,会替换脚本中以${变量}的内容

                -

                任务依赖:请参考任务依赖讲解

                -

                (2) Python程序

                -

                PNG

                -

                节点名称:一个流程定义中的节点名称是唯一的

                -

                运行标志:标识这个节点是否能正常调度

                -

                描述信息:描述该节点的功能

                -

                失败重试次数:任务失败重新提交的次数,支持下拉和手填

                -

                失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填

                -

                程序类型:选择Python语言

                -

                主jar包:是运行MR的Python jar包

                -

                其他参数:支持 –D、-mapper、-reducer、-input -output格式,这里可以设置用户自定义参数的输入,比如:

                -

                -mapper "mapper.py 1" -file mapper.py -reducer reducer.py -file reducer.py –input /journey/words.txt -output /journey/out/mr/${currentTimeMillis}

                -

                其中 -mapper 后的 mapper.py 1是两个参数,第一个参数是mapper.py,第二个参数是1

                -

                资源: 如果其他参数中引用了资源文件,需要在资源中选择指定

                -

                自定义参数:是MR局部的用户自定义参数,会替换脚本中以${变量}的内容

                -

                任务依赖:请参考任务依赖讲解

                -
                -
              • -
              -
                -
              • 4.创建 Spark 节点

                -
                -

                拖动工具栏中的PNG任务节点到画板中,双击任务节点,如下图:

                -

                PNG

                -

                节点名称:一个流程定义中的节点名称是唯一的

                -

                运行标志:标识这个节点是否能正常调度

                -

                描述信息:描述该节点的功能

                -

                失败重试次数:任务失败重新提交的次数,支持下拉和手填

                -

                失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填

                -

                程序类型:支持JAVA、Scala和Python三种语言

                -

                主函数的class:是Spark程序的入口Main Class的全路径

                -

                主jar包:是Spark的jar包

                -

                部署方式:支持yarn-cluster、yarn-client、和local三种模式

                -

                Driver内核数:可以设置Driver内核数及内存数

                -

                Executor数量:可以设置Executor数量、Executor内存数和Executor内核数

                -

                命令行参数:是设置Spark程序的输入参数,支持自定义参数变量的替换。

                -

                其他参数:支持 --jars、--files、--archives、--conf格式

                -

                资源:如果其他参数中引用了资源文件,需要在资源中选择指定

                -

                自定义参数:是MR局部的用户自定义参数,会替换脚本中以${变量}的内容

                -

                任务依赖:请参考任务依赖讲解

                -

                注意:JAVA和Scala只是用来标识,没有区别,如果是Python开发的Spark则没有主函数的class,其他都是一样

                -
                -
              • -
              -
                -
              • 4.创建 Python 节点

                -
                -

                拖动工具栏中的PNG任务节点到画板中,双击任务节点,如下图:

                -

                PNG

                -

                节点名称:一个流程定义中的节点名称是唯一的

                -

                运行标志:标识这个节点是否能正常调度

                -

                描述信息:描述该节点的功能

                -

                失败重试次数:任务失败重新提交的次数,支持下拉和手填

                -

                失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填

                -

                脚本:用户开发的Python程序

                -

                资源:是指脚本中需要调用的资源文件列表

                -

                自定义参数:是Python局部的用户自定义参数,会替换脚本中以${变量}的内容

                -

                任务依赖:请参考任务依赖讲解

                -
                -
              • -
              -
                -
              • 流程定义操作

                -

                流程定义列表

                -

                PNG

                -
              • -
              • 1.编辑/保存

                -
                -

                对下线状态的流程定义,用户可对DAG进行编辑

                -

                PNG

                -

                在保存流程定义的时候可以设置全局参数,局部参数可以使用${变量}的方式引用全局参数

                -
                -
              • -
              -
                -
              • 2.启动

                -
                -

                PNG

                -

                失败策略:继续是如果有失败的任务节点,其他并行的任务节点将继续执行。结束是如果有失的败节点,其他并行任的务节点将被Kill掉

                -

                通知策略:都不发、成功发、失败发、成功或失败都发四种策略

                -

                通知组:是通知用户所属的组

                -

                收件人:邮件收件人列表

                -

                抄送人:邮件抄送人列表

                -

                补数:是对流程进行历史的补数,支持区间补数和某一天的补数,如下图:

                -

                PNG

                -

                执行方式:补数可以以串行执行或并行执行,串行执行是流程实例列表以队列的形式逐个提交执行,并行执行是流程实例列表并发形式的提交执行

                -

                时间:选择指定的补数时间区间,此时业务时间为补数时间,如果起始时间和结束时间相等,则为某一天的补数,否则为区间补数。关于系统参数,请参考系统参数的讲解

                -
                -
              • -
              -
                -
              • 3.定时

                -
                -

                流程定义可以设置定时,周期性的跑作业。如下图:

                -

                PNG

                -

                起止时间:选择该定时的有效时间范围

                -

                定时:可视化定时,设置相应的定时

                -

                PNG

                -

                失败策略:继续是如果有失败的任务节点,其他并行的任务节点将继续执行。结束是如果有失的败节点,其他并行任的务节点将被Kill掉

                -

                通知策略:都不发、成功发、失败发、成功或失败都发四种策略

                -

                通知组:是通知用户所属的组

                -

                收件人:邮件收件人列表

                -

                抄送人:邮件抄送人列表

                -
                -
              • -
              -
                -
              • 4.上线/下线

                -
                -

                流程定义有两个状态:上线和下线。只有上线的流程才能启动或调度,下线的流程用来编辑

                -
                -
              • -
              -
                -
              • 5.定时管理

                -
                -

                一个流程定义可以添加1个定时,定时管理是对一个流程定义上的定时的修改,只有上线的定时才是有效的定时

                -
                -
              • -
              -
                -
              • 6.指定节点启动

                -
                -

                对流程定义可以选择节点右击 指定节点启动,如下图:

                -

                PNG

                -

                启动前可以设置若干参数,如下图:

                -

                PNG

                -

                失败策略:继续是如果有失败的任务节点,其他并行的任务节点将继续执行。结束是如果有失的败节点,其他并行任的务节点将被Kill掉

                -

                节点执行:节点执行模式有三种,分别为向后执行、向前执行和仅执行当前节点

                -

                向后执行是从指定节点向后执行,一直到后续节点不能继续执行为止。向前执行是从开始节点到指定的节点区间执行。仅执行当前节点是只执行指定的节点

                -

                通知策略:都不发、成功发、失败发、成功或失败都发四种策略

                -

                通知组:是通知用户所属的组

                -

                收件人:邮件收件人列表

                -

                抄送人:邮件抄送人列表

                -

                补数:见流程定义 启动

                -
                -
              • -
              -
                -
              • 7.TreeView

                -
                -

                用来显示某个流程定义跑过的流程实例及任务实例的状态

                -

                PNG

                -

                左侧是流程定义 DAG Tree的展示,非叶子节点有展开和收缩的功能。右边是流程实例的集合,每一列都是流程定义的一次调度,圆点表示的是流程实例的状态,方块表示的是任务实例的状态。如果是子流程,可以通过任务实例跳转到相应的子流程

                -
                -
              • -
              -

              流程实例

              -

              流程实例是流程定义的实例化

              -
                -
              • 1.流程实例列表

                -
                -

                PNG

                -
                -
              • -
              • 工作流名称:是根据流程定义名称外加一个随机数

                -
              • -
              • 运行类型:包括启动工作流、从当前节点开始执行、恢复被容错的工作流、恢复暂停流程、从失败节点开始执行、补数、调度执行、重跑、暂停、停止、恢复等待线程的流程

                -
              • -
              • 开始时间:流程实例运行的开始时间

                -
              • -
              • 结束时间:流程实例运行的结束时间

                -
              • -
              • 运行时长(秒):结束时间减去开始时间

                -
              • -
              • 运行次数:流程实例运行的次数 ,对于重跑流程实例的记录

                -
              • -
              • host:标识流程实例调度的机器ip

                -
              • -
              • 容错:流程实例是否被容错过

                -
              • -
              • 状态:流程实例最终运行的状态

                -
              • -
              -
                -
              • 2.编辑/保存

                -
                -

                对于终态的流程实例,可以进行编辑保存。终态是流程实例最终的状态为成功、失败、暂停或停止四个状态。

                -

                PNG

                -

                是否更新流程定义: 如果checkbox勾选,表示流程实例的修改会更新流程定义

                -

                如果不勾选,表示只编辑本次流程实例

                -
                -
              • -
              -
                -
              • 3.重跑

                -
                -

                重跑是在不生成新的流程实例情况下,重新跑任务实例

                -

                特别注意:重跑时系统参数已经固化了,系统参数不会随着时间改变而改变

                -
                -
              • -
              -
                -
              • 4.恢复失败

                -
                -

                点击 恢复失败 可以让流程实例从失败节点开始重新执行

                -
                -
              • -
              -
                -
              • 5.停止

                -
                -

                点击 停止 将Kill掉正在运行的任务节点

                -

                特别注意:如果任务运行周期比较短或者正好在Kill任务的时候,任务已经结束了,此时将Kill不掉正在运行的任务,继而会把下一个任务设置为Kill状态

                -
                -
              • -
              -
                -
              • 6.暂停

                -
                -

                对 正在运行 的流程实例,点击 暂停 可以让 正在运行任务的后继节点 设置为暂停

                -
                -
              • -
              -
                -
              • 7.恢复暂停

                -
                -

                对于 暂停 的流程实例,点击 恢复暂停 可以让流程实例从暂停位置继续执行

                -
                -
              • -
              -
                -
              • 8.删除

                -
                -

                删除流程实例及流程实例下的任务实例

                -
                -
              • -
              -
                -
              • 9.Gantt

                -
                -

                Gantt图纵轴是某个流程实例下的任务实例的拓扑排序,横轴是任务实例的运行时间

                -

                PNG

                -
                -
              • -
              -
                -
              • 10.查看流程实例运行变量

                -
                -

                PNG

                -

                点击隐藏按钮,查看流程实例运行变量。如下图:

                -

                PNG

                -

                点击变量是对变量的复制

                -
                -
              • -
              -
                -
              • 11.查看历史任务实例

                -
                -

                PNG

                -

                点击任务实例节点,点击 查看历史,可以查看该流程实例运行的该任务实例列表

                -
                -
              • -
              -
                -
              • 12.查看日志

                -
                -

                PNG

                -

                点击任务实例节点,点击 查看日志,可以查看该任务实例运行的日志,如下图:

                -

                PNG

                -

                右上角是下载日志、刷新日志和放大/缩小按钮

                -

                注意:日志查看是分片的查看,上下滚动查看

                -
                -
              • -
              -

              任务实例

              -

              任务实例是流程实例任务节点的列表

              -
              -

              PNG

              -
              -

              两种方式查看任务实例:

              -
                -
              • 第一种是通过流程实例任务节点 查看历史,这时查看的是此流程实例的任务实例 重跑的列表
                -
              • -
              • 第二种是通过点击 流程实例 导航栏,调转到流程实例列表,这时查看的是所有流程实例的任务实例列表
                -
              • -
              -
              -

              查看日志:点击 查看日志 按钮,可下载和查看日志

              -
              -

              任务记录

              -

              任务记录是千帆的数据稽核

              -
              -

              PNG

              -

              可以按照任务名称、日期、状态、原表、目标表、日期区间查询

              -
              -

              首页

              -

              PNG

              -

              首页是对所有项目在指定时间范围内的任务状态、流程状态和流程定义的统计。

              -

              首页和项目首页的主要区别在于:

              -
                -
              • 首页中的图表是没有链接的,项目首页中图表是有链接的
                -
              • -
              • 首页统计的是所有的项目,项目首页统计的是某一个项目
                -
              • -
              -

              任务依赖

              -

              任务依赖分为水平依赖和垂直依赖

              -
                -
              • 水平依赖就是指DAG图的有向依赖,是同一个流程实例任务节点的前驱,后继之间的依赖关系
                -
              • -
              • 垂直依赖是流程实例之间的任务依赖,基于定时的依赖。垂直依赖又分为自依赖和外部依赖。
                -

                自依赖:是同一个流程实例的上一周期的 任务 依赖,如图:

                -PNG

                外部依赖:是对多个外部流程流程实例的任务实例的依赖

                -

                外部依赖策略存在依赖策略,分别有自定义、全部成功、全部失败、任一成功、任一失败

                -

                注意:自定义是可以自定义外部流程任务是成功或失败

                -

                依赖任务:

                -
              • -
              -

              PNG

              -
              -

              定时依赖图解: A流程定义某任务依赖B流程定义某任务,TA 为流程定义A的定时器,TB为流程定义B的定时器,TBStart到TBEnd为TB的周期,周期分别支持小时、天、月

              -

              PNG

              -

              只有在TB到TBEnd区间范围内符合任务实例依赖条件的,才能依赖成功。否则依赖失败

              -

              PNG

              -

              只有在 TB 到 TA区间范围内符合任务实例依赖条件的,才能依赖成功。否则依赖失败

              -
              -

              系统参数

              -
                -
              • 系统参数

                - - - - - - - - - - - - - - -
                变量含义
                ${system.biz.date}日常调度实例定时的定时时间前一天,格式为 yyyyMMdd,补数据时,该日期 +1
                ${system.biz.curdate}日常调度实例定时的定时时间,格式为 yyyyMMdd,补数据时,该日期 +1
                ${system.datetime}日常调度实例定时的定时时间,格式为 yyyyMMddHHmmss,补数据时,该日期 +1
                - - - -
              • -
              -
                -
              • 时间自定义参数

                -
                -

                支持代码中自定义变量名,声明方式:${变量名}。可以是引用 "系统参数" 或指定 "常量"。

                -

                注意,我们定义这种基准变量为 $[...] 格式的,$[yyyyMMddHHmmss] 是可以任意分解组合的,比如:$[yyyyMMdd], $[HHmmss], $[yyyy-MM-dd], $[HH:mm:ss] 等

                -

                也可以这样:

                -

                后 N 年:$[add_months(yyyyMMdd,12*N)]

                -

                前 N 年:$[add_months(yyyyMMdd,-12*N)]

                -

                后 N 月:$[add_months(yyyyMMdd,N)]

                -

                前 N 月:$[add_months(yyyyMMdd,-N)]

                -

                后 N 周:$[yyyyMMdd+7*N]

                -

                前 N 周:$[yyyyMMdd-7*N]

                -

                后 N 天:$[yyyyMMdd+N]

                -

                前 N 天:$[yyyyMMdd-N]

                -

                后 N 小时:$[HHmmss+N/24]

                -

                前 N 小时:$[HHmmss-N/24]

                -

                后 N 分钟:$[HHmmss+N/24/60]

                -

                前 N 分钟:$[HHmmss-N/24/60]

                -
                -
              • -
              -
                -
              • 用户自定义参数

                -

                用户自定义参数分为全局参数和局部参数。全局参数是保存流程定义和流程实例的时候传递的全局参数,全局参数可以在整个流程中的任何一个任务节点的局部参数引用。

                -

                例如:

                -
                -

                PNG

                -

                ds为全局参数,引用的是系统参数。

                -

                PNG

                -

                任务中partition通过${ds}来引用全局参数,对于脚本可以通过${partition}来引用变量partition的值,或通过JDBC直接将partition的值set进去

                -
                -
              • -
              - - -
              - -
              -
              -
              - -

              results matching ""

              -
                - -
                -
                - -

                No results matching ""

                - -
                -
                -
                - -
                -
                - -
                - - - - - - - - - - - - - - -
                - - -
                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/search_index.json b/docs/search_index.json deleted file mode 100644 index aaee43edc9..0000000000 --- a/docs/search_index.json +++ /dev/null @@ -1 +0,0 @@ -{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["easyscheduler是易观研发的大数据分布式工作流调度系统。主要解决数据研发etl错综复杂的依赖关系,而不能直观监控任务健康状态等问题。easyscheduler通过可视化拖拽任务节点的方式形成dag(有向无环图)流程图,在运行过程中可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及kill任务、任务运行历史查看等等操作。","easyscheduler由在工作流调度方面工作多年的几位小伙伴研发而成,致力于成为大数据平台的中流砥柱,使调度变得更加容易,更可以从其中文名“易调度”看出我们的初衷,如果你对目前市面上的调度不够满意,非常欢迎试用易调度,欢迎大家加入进来,提出需求,也欢迎贡献代码,","easyscheduler简介","导语","工作流调度系统在大数据平台中是一个核心的基础设施,是大数据开发必不可少的重要组成部分。由于数据处理流程常常具有很长的依赖链条,因此依赖单机的crontab等单纯依赖时间调度的方式,往往存在很大的弊端,如依赖不清晰,出错难以查找等问题。因此,我们调研了市面上流行的调度系统。","并和azkaban、airflow做了一些对比:","感兴趣的伙伴们可以加我们微信:510570367,一起加入easyscheduler吧,多多交流!","简介","系统部分截图:","背景","鉴于易观日处理数据30tb,复杂的etl依赖关系,我们开发了easyscheduler。"],"pages/guide-architecture.html":["1.","2.","3.",":","alert:告警微服务","api和ui分离交互","dag","easyscheduler中scheduler线程分布式锁实现流程图:","easyscheduler使用zookeeper分布式锁来实现同一时刻只有一台master执行scheduler,或者只有一台worker执行任务的提交。","easyscheduler大数据调度系统架构分析","easyscheduler容错设计依赖于zookeeper的watcher机制,实现原理如图:","easyscheduler的去中心化是master/worker注册到zookeeper中,实现master集群和worker集群无中心,并使用zookeeper分布式锁来选举其中的一台master或worker为“管理者”来执行任务。","easyscheduler设计围绕四个服务展开,ui、web、server和alert。","fileappender实现如下:","logback和grpc实现日志访问","master","master容错完成之后则重新由easyscheduler中scheduler线程调度,遍历","master容错流程图:","master的角色主要负责任务分发并监督slave的健康状态,可以动态的将任务均衡到slave上,以致slave节点不至于“忙死”或”闲死”的状态。","master监控其他master和worker的目录,如果监听到remove事件,则会根据具体的业务逻辑进行流程实例容错或者任务实例容错。","queue中是否已经存在,如果存在则同样监控任务实例的状态,如果不存在则重新提交任务实例。","scheduler线程一旦发现任务实例为”","scheduler线程在获取command的时候是fifo的方式执行的。","scheduler调度及分布式任务执行引擎","server","ui","web:使用springboot提供rest","worker容错流程图:","worker的角色主要负责任务的执行工作并维护和master的心跳,以便master可以分配任务给slave。","zookeep","一旦master出现了问题,则群龙无首,整个集群就崩溃。为了解决这个问题,大多数master/slave架构模式都采用了主备master的设计方案,可以是热备或者冷备,也可以是自动切换或手动切换,而且越来越多的新系统都开始具备自动选举切换master的能力,以提升系统的可用性。","中心化思想","中心化思想设计存在的问题:","中心化的设计理念比较简单,分布式集群中的节点按照角色分工,大体上分为两种角色:","于是我们选择了第三种方式来解决线程不足的问题。","介于考虑到尽可能的easyscheduler的轻量级性,所以选择了grpc实现远程访问日志信息。","以…/流程定义id/流程实例id/任务实例id.log的形式生成日志。","以下将详细介绍server的设计思想和遇到的问题","使用易观封装的vue及jsplumb组件开发","分布式锁实践","则会产生“死等”状态。mainflowthread等待subflowthread1结束,subflowthread1等待subflowthread2结束,subflowthread2等待subflowthread3结束,而subflowthread3等待线程池有新线程,则整个dag流程不能结束,从而其中的线程也不能释放。","去中心化","去中心化vs中心化","去中心化设计的核心设计在于整个分布式系统中不存在一个区别于其他节点的”管理者”,因此不存在单点故障问题。但由于不存在”","去中心化设计里,通常没有master/slave的概念,所有的角色都是一样的,地位是平等的,全球互联网就是一个典型的去中心化的分布式系统,联网的任意节点设备down机,都只会影响很小范围的功能。","另外一个问题是如果scheduler在master上,虽然可以支持一个dag中不同的任务运行在不同的机器上,但是会产生master的过负载。如果scheduler在slave上,则一个dag中所有的任务都只能在某一台机器上进行作业提交,则并行任务比较多的时候,slave的压力可能会比较大。","增加一种资源不足的command类型,如果线程池不足,则将主流程挂起。这样线程池就有了新的线程,可以让资源不足挂起的流程重新唤醒执行。","如果一个dag中没有子流程,则如果command中的数据条数大于线程池设置的阈值,则直接流程等待或失败。","如果一个大的dag中嵌套了很多子流程,如下图:","实际上,真正去中心化的分布式系统并不多见。反而动态中心化分布式系统正在不断涌出。在这种架构下,集群中的管理者是被动态选择出来的,而不是预置的,并且集群在发生故障的时候,集群的节点会自发的举行\"会议\"选举新的\"管理者\"主持工作。最典型的案例就是zookeeper及go语言实现的etcd。","容错设计","对于启动新master来打破僵局,似乎有点差强人意,于是我们提出了以下三种方案来降低这种风险:","对单master线程池进行判断,如果线程池已经满了,则让线程直接失败。","将日志放到es搜索引擎上","总结","我们使用自定义logback的fileappender和filter功能,实现每个任务实例生成一个日志文件。","找到”正在运行”和“提交成功”的任务,对”正在运行”的任务监控其任务实例的状态,对”提交成功”的任务需要判断task","本文从调度出发,介绍了易观研发的大数据分布式工作流调度系统。easyscheduler在易观数据平台起着中流砥柱的作用。本章着重介绍了easyscheduler的架构原理及实现思路。","架构设计","注意:master","注意:由于”","由于web和worker不一定在同一台机器上,所以查看日志不能像查询本地文件那样。有两种方案:","管理者”节点所以每个节点都需要跟其他节点通信才得到必须要的机器信息,而分布式系统通信的不可靠行,则大大增加了上述功能的实现难度。","系统架构分析","线程不足循环等待问题","网络抖动”可能会使得节点短时间内失去和zk的心跳,从而发生节点的remove事件。对于这种情况,我们使用最简单的方式,那就是节点一旦和zk发生超时连接,则直接将master或worker服务停掉。","获取分布式锁的核心流程算法如下:","计算所有master的线程总和,然后对每一个dag需要计算其需要的线程数,也就是在dag流程执行之前做预计算。因为是多master线程池,所以总线程数不太可能实时获取。","过滤匹配以taskloginfo开始的线程名称:","这样就形成的子父流程循环等待的状态。此时除非启动新的master来增加线程来打破这样的”僵局”,否则调度集群将不能再使用。","通过grpc通信获取远程日志信息","需要容错”状态,则接管任务并进行重新提交。"],"pages/guide-manual.html":["\"mapper.pi","\"常量\"。","\"系统参数\"","$[...]","$[hh:mm:ss]","$[hhmmss],","$[yyyi","${system.biz.curdate}","${system.biz.date}","${system.datetime}","(1)","(2)","+1","/journey/out/mr/${currenttimemillis}","/journey/words.txt","1\"","1.使用hiveserver2方式连接","1.创建","1.流程实例列表","1.点击指定人的授权按钮,如下图:","1.编辑/保存","1.输入http://192.168.220.204:8888/view/login/index.html","10.查看流程实例运行变量","11.查看历史任务实例","12*n)]","12.查看日志","1是两个参数,第一个参数是mapper.py,第二个参数是1","2.使用hiveserver2","2.创建","2.启动","2.登录之后每个页面的右上角都有用户的身份标识。点击下拉箭头包含用户信息和退出两个按钮","2.编辑/保存","2.选中项目按钮,进行项目授权","3.创建","3.定时","3.重跑","4.上线/下线","4.创建","4.恢复失败","5.停止","5.定时管理","6.指定节点启动","6.暂停","7*n]","7.treeview","7.恢复暂停","8.删除","9.gantt","=>","archives、","archives格式","a流程定义某任务依赖b流程定义某任务,ta","class的全路径","client、和local三种模式","cluster、yarn","conf格式","dag","dd],","driver内核数:可以设置driver内核数及内存数","ds为全局参数,引用的是系统参数。","easyschedul","executor数量:可以设置executor数量、executor内存数和executor内核数","file","files、","gantt图纵轴是某个流程实例下的任务实例的拓扑排序,横轴是任务实例的运行时间","ha","host:标识流程实例调度的机器ip","input","ip/主机名:输入连接hive的ip","ip/主机名:输入连接mysql的ip","ip/主机名:输入连接postgresql的ip","ip/主机名:输入连接spark的ip","ip/主机名:输入连接zookeeper的集群","jars、","jar包","java程序","jdbc连接参数:用于hive连接的参数设置,以json形式填写","jdbc连接参数:用于mysql连接的参数设置,以json形式填写","jdbc连接参数:用于postgresql连接的参数设置,以json形式填写","jdbc连接参数:用于spark连接的参数设置,以json形式填写","jdbc连接参数:用于zookeeper连接的参数设置,以json形式填写","libjars、","mapper","mapper.pi","mapper、","master","mm","mr","n","n)]","n/24/60]","n/24]","n]","output","output格式,这里可以设置用户自定义参数的输入,比如:","python","python程序","reduc","reducer.pi","reducer、","shell节点","spark","sql","sql参数:输入参数格式为key1=value1;key2=value2…","sql类型:支持查询和非查询两种,查询是select类型的查询,是有结果集返回的,可以指定邮件通知为表格、附件或表格附件三种模板。非查询是没有结果集返回的,是针对update、delete、insert三种类型的操作","sql语句:sql语句","t_escheduler_queu","ta区间范围内符合任务实例依赖条件的,才能依赖成功。否则依赖失败","tb","tree的展示,非叶子节点有展开和收缩的功能。右边是流程实例的集合,每一列都是流程定义的一次调度,圆点表示的是流程实例的状态,方块表示的是任务实例的状态。如果是子流程,可以通过任务实例跳转到相应的子流程","udf函数名称:输入udf函数时的名称","udf函数管理:对用户创建的udf进行管理","udf函数:对于hive类型的数据源,可以引用资源中心中创建的udf函数,其他类型的数据源暂不支持udf函数","udf管理","udf资源:设置创建的udf对应的资源文件","worker","yyyymmddhhmmss,补数据时,该日期","yyyymmdd,补数据时,该日期","zookeeper方式连接","–d、","–input","一个流程定义可以添加1个定时,定时管理是对一个流程定义上的定时的修改,只有上线的定时才是有效的定时","上传文件","上传文件:点击上传按钮进行上传,将文件拖拽到上传区域,文件名会自动以上传的文件名称补全","下载文件","两种方式查看任务实例:","中点击右上角下载按钮下载文件,或者在文件列表后的下载按钮下载文件","中设置","为流程定义a的定时器,tb为流程定义b的定时器,tbstart到tbend为tb的周期,周期分别支持小时、天、月","主jar包:是mr的jar包","主jar包:是spark的jar包","主jar包:是运行mr的python","主函数的class:是mr程序的入口main","主函数的class:是spark程序的入口main","也可以这样:","任务","任务中partition通过${ds}来引用全局参数,对于脚本可以通过${partition}来引用变量partition的值,或通过jdbc直接将partition的值set进去","任务依赖","任务依赖分为水平依赖和垂直依赖","任务依赖:请参考任务依赖讲解","任务实例","任务实例是流程实例任务节点的列表","任务实例:流程实例dag中每个task称为任务实例,是动态的,是有状态的","任务状态统计:是指在指定时间范围内,统计任务实例中的待运行、失败、运行中、完成、成功的个数","任务记录","任务记录是千帆的数据稽核","使用手册","使用说明:输入描述udf函数的使用","例如:","依赖任务:","依赖,如图:","停止","其中","其他参数:支持","函数管理","分别是拖动节点和选中项、选择线条连线、删除选中的线或节点、全屏和流程定义保持,其主要功能是dag的绘制所用","分钟:$[hhmmss","分钟:$[hhmmss+n/24/60]","创建、编辑hive数据源","创建、编辑mysql数据源","创建、编辑postgresql数据源","创建、编辑spark数据源","创建、编辑udf函数","创建、编辑用户","创建、编辑租户","创建、编辑项目","创建工作流","创建文件","删除","删除流程实例及流程实例下的任务实例","到","前","包名类名:输入udf函数的全路径","参数:用来标注函数的输入参数","变量含义","只有在","只有在tb到tbend区间范围内符合任务实例依赖条件的,才能依赖成功。否则依赖失败","只有管理员才有安全中心,安全中心的主要功能是给管理员提供管理普通用户的功能。","可以在","可以按照任务名称、日期、状态、原表、目标表、日期区间查询","可以查看文件详情","可以让","可以让流程实例从失败节点开始重新执行","可以让流程实例从暂停位置继续执行","右上角图标","右上角是下载日志、刷新日志和放大/缩小按钮","后","后的","向后执行是从指定节点向后执行,一直到后续节点不能继续执行为止。向前执行是从开始节点到指定的节点区间执行。仅执行当前节点是只执行指定的节点","启动","启动前可以设置若干参数,如下图:","告警组是告警用户抽象出来的组,使用告警组来管理用户。","告警组管理","周:$[yyyymmdd","周:$[yyyymmdd+7*n]","命令行参数:是设置mr程序的输入参数,支持自定义参数变量的替换","命令行参数:是设置spark程序的输入参数,支持自定义参数变量的替换。","在保存流程定义的时候可以设置全局参数,局部参数可以使用${变量}的方式引用全局参数","垂直依赖是流程实例之间的任务依赖,基于定时的依赖。垂直依赖又分为自依赖和外部依赖。","备注:输入告警组的备注信息","外部依赖策略存在依赖策略,分别有自定义、全部成功、全部失败、任一成功、任一失败","外部依赖:是对多个外部流程流程实例的任务实例的依赖","天:$[yyyymmdd","天:$[yyyymmdd+n]","失败策略:继续是如果有失败的任务节点,其他并行的任务节点将继续执行。结束是如果有失的败节点,其他并行任的务节点将被kill掉","失败重试次数:任务失败重新提交的次数,支持下拉和手填","失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填","如果checkbox勾选,表示流程实例的修改会更新流程定义","如果不勾选,表示只编辑本次流程实例","如果其他参数中引用了资源文件,需要在资源中选择指定","子流程","子节点:是选择子流程的流程定义,右上角进入该子节点可以跳转到所选子流程的流程定义","存储过程","安全中心","定时依赖图解:","定时:可视化定时,设置相应的定时","容错:流程实例是否被容错过","密码:设置连接hive的密码","密码:设置连接mysql的密码","密码:设置连接postgresql的密码","密码:设置连接spark的密码","对","对下线状态的流程定义,用户可对dag进行编辑","对于","对于终态的流程实例,可以进行编辑保存。终态是流程实例最终的状态为成功、失败、暂停或停止四个状态。","对可查看的文件类型,点击","对流程定义可以选择节点右击","导航栏,调转到流程实例列表,这时查看的是所有流程实例的任务实例列表","将kill掉正在运行的任务节点","小时:$[hhmmss","小时:$[hhmmss+n/24]","工作流","工作流下分为流程定义、流程实例和任务实例三个功能模块","工作流名称:是根据流程定义名称外加一个随机数","左侧工具栏","左侧是流程定义","已选管理用户:是已添加到该组的用户列表","已选项目:是该用户已授权的项目。","年:$[add_months(yyyymmdd,","年:$[add_months(yyyymmdd,12*n)]","开始时间:流程实例运行的开始时间","恢复失败","恢复暂停","或指定","手机:输入用户的手机号","执行方式:补数可以以串行执行或并行执行,串行执行是流程实例列表以队列的形式逐个提交执行,并行执行是流程实例列表并发形式的提交执行","抄送人:邮件抄送人列表","拖动工具栏中的任务节点到画板中,双击任务节点,如下图:","指定节点启动,如下图:","按钮,删除文件","按钮,可下载和查看日志","授权","描述信息:描述该节点的功能","描述:租户的描述信息","描述:输入数据源的描述","描述:输入文件的描述信息","描述:输入项目的描述","支持代码中自定义变量名,声明方式:${变量名}。可以是引用","收件人:邮件收件人列表","数据库名:输入连接hive的数据库名称","数据库名:输入连接mysql的数据库名称","数据库名:输入连接postgresql的数据库名称","数据库名:输入连接spark的数据库名称","数据库名:预留字段,用于创建永久udf函数","数据源中心","数据源中心支持mysql、postgresql、hive及spark数据源","数据源名称:输入数据源的名称","数据源:sql数据源支持mysql、postgresql、hive和spark四中数据源类型,选择对应的数据源","数据源:存储过程的数据源类型支持mysql和postgresql两种,选择对应的数据源","数据源:选择hive","数据源:选择mysql","数据源:选择postgresql","数据源:选择spark","文件列表,点击","文件名称","文件名:输入文件的名称","文件查看","文件格式支持以下几种类型:txt、log、sh、conf、cfg、py、java、sql、xml、hql","文件管理","文件管理:主要是用户的程序,脚本和配置文件需要上传到hdfs进行统一管理","文件详情","文件重命名","新建、编辑邮件组","方法:是存储过程的方法名称","日常调度实例定时的定时时间前一天,格式为","日常调度实例定时的定时时间,格式为","时间自定义参数","时间:选择指定的补数时间区间,此时业务时间为补数时间,如果起始时间和结束时间相等,则为某一天的补数,否则为区间补数。关于系统参数,请参考系统参数的讲解","是可以任意分解组合的,比如:$[yyyymmdd],","是否更新流程定义:","是目前调度支持的任务类型,当前调度支持shell、子流程、存储过程、sql、mr、spark和python七种任务类型","暂停","月:$[add_months(yyyymmdd,","月:$[add_months(yyyymmdd,n)]","服务管理","服务管理是对easyscheduler的master、worker的任务监控","查看历史,可以查看该流程实例运行的该任务实例列表","查看历史,这时查看的是此流程实例的任务实例","查看日志","查看日志,可以查看该任务实例运行的日志,如下图:","查看日志:点击","格式的,$[yyyymmddhhmmss]","正在运行","正在运行任务的后继节点","水平依赖就是指dag图的有向依赖,是同一个流程实例任务节点的前驱,后继之间的依赖关系","注意,我们定义这种基准变量为","注意:java和scala只是用来标识,没有区别,如果是python开发的spark则没有主函数的class,其他都是一样","注意:可以点击图,或者数量跳转到相应的任务实例,流程实例和流程定义列表","注意:如果该用户切换了租户,则该用户所在租户下所有资源将复制到切换的新租户下","注意:日志查看是分片的查看,上下滚动查看","注意:自定义是可以自定义外部流程任务是成功或失败","流程定义","流程定义列表","流程定义可以设置定时,周期性的跑作业。如下图:","流程定义操作","流程定义有两个状态:上线和下线。只有上线的流程才能启动或调度,下线的流程用来编辑","流程定义统计:是统计该用户创建的流程定义及管理员授予该用户的流程定义","流程定义:是可视化拖拽成的dag的统称,它是静态的,没有状态","流程实例","流程实例是流程定义的实例化","流程实例:对流程定义的每次实例化会生成一个流程实例,是动态的,是有状态的","流程状态统计:是指在指定时间范围内,统计流程实例中的待运行、失败、运行中、完成、成功的个数","点击","点击“用户信息”按钮,如下图:","点击”修改”按钮,修改用户信息","点击任务实例节点,点击","点击变量是对变量的复制","点击退出按钮则退出系统,返回登录页面","点击隐藏按钮,查看流程实例运行变量。如下图:","点击项目列表中的项目名称,可以跳转到指定的项目首页,如下图:","特别注意:如果任务运行周期比较短或者正好在kill任务的时候,任务已经结束了,此时将kill不掉正在运行的任务,继而会把下一个任务设置为kill状态","特别注意:对于用户自己创建的项目,该用户拥有所有的权限。则项目列表和已选项目列表中不会体现。","特别注意:重跑时系统参数已经固化了,系统参数不会随着时间改变而改变","状态:流程实例最终运行的状态","用户名称:用户的名称,唯一,不能重复","用户名:设置连接hive的用户名","用户名:设置连接mysql的用户名","用户名:设置连接postgresql的用户名","用户名:设置连接spark的用户名","用户是easyscheduler上的用户,用于easyscheduler上的功能操作。","用户管理","用户自定义参数","用户自定义参数分为全局参数和局部参数。全局参数是保存流程定义和流程实例的时候传递的全局参数,全局参数可以在整个流程中的任何一个任务节点的局部参数引用。","用来显示某个流程定义跑过的流程实例及任务实例的状态","登录","的流程实例,点击","目前只支持hive的临时udf函数","租户名称:租户的名称","租户是linux上的用户,用于作业的提交。","租户管理","租户编码:租户编码是linux上的用户,唯一,不能重复","租户:设置该用户所属的租户","程序类型:支持java、scala和python三种语言","程序类型:选择java语言","程序类型:选择python语言","端口:输入连接hive的端口","端口:输入连接mysql的端口","端口:输入连接postgresql的端口","端口:输入连接spark的端口","端口:输入连接zookeeper的端口","第一种是通过流程实例任务节点","第二种是通过点击","等","管理员可以对普通用户进行非其创建的项目、资源、数据源和udf函数进行授权。因为项目、资源、数据源和udf函数授权方式都是一样的,所以以项目授权为例介绍。","管理员可以有多个,管理员是功能上的管理,不参与具体的业务。也就是说管理员是不能执行具体任务的。","管理用户","管理用户列表:是未添加到该组的用户列表","系统参数","组名称:输入组的名称","组类型:支持邮件/短信两种","结束时间:流程实例运行的结束时间","网址,输入用户名,密码登录","脚本:用户开发的python程序","脚本:用户开发的shell程序","自依赖:是同一个流程实例的上一周期的","自定义参数:sql任务类型自定义参数类型和数据类型同存储过程任务类型一样。区别在于sql任务类型自定义参数会替换sql语句中${变量},而存储过程是自定义参数顺序的给方法设置值","自定义参数:存储过程的自定义参数类型支持in、out两种,数据类型支持varchar、integer、long、float、double、date、time、timestamp、boolean九种数据类型","自定义参数:是mr局部的用户自定义参数,会替换脚本中以${变量}的内容","自定义参数:是python局部的用户自定义参数,会替换脚本中以${变量}的内容","自定义参数:是shell局部的用户自定义参数,会替换脚本中以${变量}的内容","节点","节点名称:一个流程定义中的节点名称是唯一的","节点执行:节点执行模式有三种,分别为向后执行、向前执行和仅执行当前节点","补数:是对流程进行历史的补数,支持区间补数和某一天的补数,如下图:","补数:见流程定义","设置为暂停","资源中心","资源中心主要分为文件管理和udf函数管理。","资源管理","资源管理和文件管理功能类似,不同之处是资源管理是上传的udf函数,文件管理上传的是用户程序,脚本及配置文件","资源:","资源:如果其他参数中引用了资源文件,需要在资源中选择指定","资源:是指脚本中需要调用的资源文件列表","起止时间:选择该定时的有效时间范围","运行时长(秒):结束时间减去开始时间","运行标志:标识这个节点是否能正常调度","运行次数:流程实例运行的次数","运行类型:包括启动工作流、从当前节点开始执行、恢复被容错的工作流、恢复暂停流程、从失败节点开始执行、补数、调度执行、重跑、暂停、停止、恢复等待线程的流程","通知策略:都不发、成功发、失败发、成功或失败都发四种策略","通知组:是通知用户所属的组","邮箱:输入用户的邮箱,用来邮件发送和任务告警","部署方式:支持yarn","重跑是在不生成新的流程实例情况下,重新跑任务实例","重跑的列表","队列:租户对应的yarn上的队列,在数据库","项目列表:是该用户未授权的项目","项目名称:输入项目的名称","项目是调度对用户流程定义dag分组的一个抽象","项目管理","项目首页","项目首页其中包含四个部分,任务状态统计,流程状态统计、流程定义统计及统计的时间范围","首页","首页中的图表是没有链接的,项目首页中图表是有链接的","首页和项目首页的主要区别在于:","首页是对所有项目在指定时间范围内的任务状态、流程状态和流程定义的统计。","首页统计的是所有的项目,项目首页统计的是某一个项目",",对于重跑流程实例的记录"],"pages/deploy-foreground.html":["\"","\"#\"","\"$1\"","\"upgrade\";","\"usage:","#","#!/bin/bash","#access_log","#charset","#dev_host","#error_pag","$(cat","$0","$host;","$http_upgrade;","$pidf)","$prog","$proxy_add_x_forwarded_for;","$remote_addr;","&&","(1","(2","(start|stop|restart|reload)\"","(启动后访问地址","(打包后根目录会创建一个名为dist文件夹,用于发布线上nginx)","(注意版本","*)","+","+x","...","./configur","./configure:","/","//单独安装node","/404.html;","/50x.html","/50x.html;","/data2_4t/escheduler_front/escheduler/serv","/data2_4t/escheduler_front/escheduler/server;","/data2_4t/escheduler_front/escheduler/server(服务器静态页面存放目录)","/dev/cdrom","/eschedul","/etc/init.d/nginx","/etc/nginx/conf.d/default.conf","/etc/nginx/nginx.conf","/etc/yum.repos.d/yum.repo","/mnt/","/sbin/nologin","/usr/local/bin/","/usr/local/bin/nginx","/usr/local/nginx","/usr/local/nginx/conf/nginx.conf","/usr/local/nginx/sbin/nginx","/usr/share/nginx/html;","/usr/src/","/usr/src/nginx","/var/log/nginx/host.access.log","0","0.0.0.0:*","0.0.0.0:80","07:24","0:关闭","1","1)","1.","1.10.1.tar.gz","1.1;","1.6.2.tar.gz","1.6.2/","1.6.2]#","1024m","12","12s;","192.168.6.132","1:关闭","2)","2.6.32","20","2345","27","29","2:启用","3","3)","30s;","3:启用","404","431.el6.i686","4:启用","4s;","500","502","503","504","5:启用","6810/nginx:","6:关闭","8.9.4)","8888;#","99",":80",";;","=",">","[base]","[root@cento","[root@nginx","add","an","anpt","api_bas","baseurl=file:///mnt/packag","build","c","c\"选项来指定路径。","c++","case","cc","cd","check","chkconfig","chkconfig:","chmod","chown","client_max_body_s","cnpm","compil","conf]#","configur","connect","control","d3","description:","devel","dump","echo","elink","enabl","enterpris","epel","error","error:","error_pag","es6","esac","eschedul","escheduler:eschedul","escheduler项目前端技术栈","escheduler项目目录并执行","exit","file","forward","found","g","gcc","git@git.analysys.cn:analysys_changsha/escheduler.git","gpgcheck=0","group=eschedul","help给出说明","host","http://192.168.220.181:12345;","http://192.168.220.204:12345","http://localhost","http://localhost:8888/#/","http://localhost:8888/#/)","http://nginx.org/download/nginx","http_flv_modul","http_gzip_static_modul","http_ssl_modul","http_stub_status_modul","https://nodejs.org/download/release/v8.9.4/","hup","i686","index","index.html","index.html;","instal","ip","iptabl","jsplumb","kill","killal","koi8","linux","list","listen","ll","ln","localhost;","locat","lodash","lrwxrwxrwx","m","main;","make","master","mkdir","mount","name=redhat","netstat","nginx","nginx!","nginx!\"),可以确认nginx服务是否正常运行。","nginx:","nginx安装","nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限,增加灵活性、降低安全风险。如:创建一个名为nginx的用户,不建立宿主目录,也禁止登录到shell环境。","nginx的运行控制","nginx的配置及运行需要pcre、zlib等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保nginx的安装顺利完成。","nginx程序的监听状态,或者在浏览器中访问此web服务(默认页面将显示\"welcom","node","node包下载","node安装","npm","ok","openssl","os","page","pcre","perm","pidf=\"/usr/local/nginx/logs/nginx.pid\"","prefix","prefix=/usr/local/nginx","prog=\"/usr/local/nginx/sbin/nginx\"","proxy_connect_timeout","proxy_http_vers","proxy_pass","proxy_read_timeout","proxy_send_timeout","proxy_set_head","quit","r","r;","real","redirect","registry=https://registry.npm.taobao.org","releas","reload)","remote_addr","restart","restart)","root","root@nginx","root安装","run","s","sass","sass依赖","script","server","server_nam","servic","setenforc","start","start)","static","statu","stop","stop)","success","syntax","systemctl","t","t\"选项用来对配置文件进行检查,以便找出不当或错误的配置。配置文件nginx.conf默认位于安装目录/usr/local/nginx/conf/目录中。若要检查位于其他位置的配置文件,可使用\"","tar","tcp","test","ui","unsaf","upgrad","user=eschedul","useradd","user和—group","vi","vim","vue","welcom","wget","x","x_real_ipp","xf","y","yum","zilb","{","|grep","}","~]#","上传文件大小限制","与apache的主程序httpd类似,nginx的主程序也提供了\"","为了使nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行nginx命令就可以调用nginx的主程序。","为了使nginx服务的启动、停止、重载等操作更加方便,可以编写nginx服务脚本,并使用chkconfig和service工具来进行管理,也更加符合rhel系统的管理习惯。","主程序nginx支持标准的进程信号,通过kill或者killall命令传送","再拷贝到服务器","创建运行用户、组","创建静态页面存放目录","前端代理的接口地址","前端在开发环境(dev)中运行","前端部署","前端部署文档","前端项目发布","前端项目构建","前端项目环境构建及编译","可以转淘宝镜像命令行输入","号去掉","启动、停止nginx","启用","启用http_stub_status_module模块以支持状态统计","启用ssl模块","命令","命令,生成打包文件(dist)包","如果","如果您需要用ip访问项目可以把","安装","安装epel源","安装nginx","安装及配置","开发环境","当nginx进程运行时,pid号默认存放在logs/目录下的nginx.pid文件中,因此若改用kill命令,也可以根据nginx.pid文件中的pid号来进行控制。","报错的话:","拉取前端项目到本地","拉取项目依赖包","指定nginx运行用户和组","接口地址","更改上传大小","杀死进程","注:配置前可以参考","状态","用命令行模式","直接运行nginx即可启动nginx服务器,这种方式将使用默认的配置文件,若要改用其他配置文件,需添加\"","等同于","编译","编译前配置","编译安装nginx","编辑配置文件","脚本一","解决方法","设定nginx的安装目录","访问地址","访问端口","运行","这样就可以通过nginx脚本来启动、停止、重启、重载nginx服务器了。","进入","退出进程","通过检查","速度非常慢","配置信息","配置文件地址","配置文件路径\"选项来指定路径。需要注意的是,若服务器中已安装有httpd等其他web服务软件,应采取措施(修改端口,停用或卸载)避免部突。","释放nginx源码包","重启","重启nginx服务","重载配置","错误","错误,请在执行完后再次执行以下命令","问题","静态文件目录","项目git仓库地址","项目如果在拉取依赖包的过程中报","项目开发环境","项目打包","项目根目录创建.env为后缀名的文件并输入","项目生产环境配置","!!!这里特别注意"],"pages/deploy-background.html":["\"false\"","\"redis\"","\"zookeeper\"","\"zookeeper\",","#","#============================================================================","#alert","#default","#eschedul","#if","#pleas","#post","#redi","#resource.view.suffix","#resourcemanag","#self","#task","#zookeep","#以qq邮箱为例,如果是别的邮箱,请更改对应配置","#注意:请替换${xxx}里的内容","${log.base}/eschedul","${log.base}/{processdefinitionid}/{processinstanceid}/{taskinstanceid}.log","${password}","${username}","${xxx}","%date{yyyi","%logger{96}:[%line]","%msg%n","&","'{password}';","'{user}'@'%'","'{user}'@'localhost'","(1.2.1+)","(1.8+)","(2.7+)","(2.7.0+)","(3.4.6)","(5.5+)","*",",","./bin/arklift","./deploy/start_all.sh","./deploy/stop_all.sh",".escheduler_env.sh","/etc/sudo","1","1/10,","1/6,","10","192.168.220.188,192.168.220.189","192.168.220.188:2181,192.168.220.189:2181,192.168.220.190:2181","2","20","200mb","25","2>&1","5","5000","60000","64mb","8",":","=",">","[%level]","alert","alert.%d{yyyi","alert.log","alert.properti","alert.type=email","alert/data_source.properti","alert_logback.xml","alerts=ark3","alert服务所在机器,1个","all=(all)","analysi","application.properti","assembly:assembl","auto","avg","base","base_path","base_path=/opt/soft/program","befor","bin","charact","check","choos","class","clean","close","closed,unit","cluster.","collat","com.mysql.jdbc.driv","commit","common","common/common.properti","common/hadoop/hadoop.properti","conf","config","configur","configuration,","connect","content","core","count","cpu","creat","current","d","daemon.sh","dao","dao/data_source.properti","dao数据源配置","data","data.basedir.path=/xxx/xxx","data.download.basedir.path=/xxx/xxx","data.store2hdfs.basepath=/eschedul","databas","datasourc","dd","dd_hh}.%i.log","default","develop","development.state=fals","dir,","dirctori","directori","directory.","dmaven.test.skip=tru","download.","easyschedul","eg.","email/sm","end","env","eschedul","escheduler.*","escheduler.env.path=/xxx/xxx/.escheduler_env.sh","escheduler.env.py=/xxx/xxx/escheduler_env.pi","escheduler.queue.impl=redis,","escheduler.queue.impl=zookeep","escheduler_env.pi","execut","exist","export","failov","fals","file","flag","flush","follow","free","fs.defaultfs=hdfs://${cluster_iporname}:8020","g.","grant","h","ha","hadoop","hadoop_conf_dir=/opt/soft/hadoop/etc/hadoop","hadoop_home=\"/opt/soft/hadoop\"","hadoop_home=/opt/soft/hadoop","hdf","heartbeat","hh:mm:ss.sss}","hive","hive_home=/opt/soft/h","http","identifi","idl","ignor","implementation,","import","info","inform","install_config","interv","ip","ips=ark0,ark1,ark2,ark3,ark4","jar,用于对应任务的运行。","java_home=\"/opt/soft/java\"","java_home=/opt/soft/java","jdbc:mysql://${ip}:3306/escheduler?characterencoding=utf8&usessl=fals","jdk","jobstor","larger","less","lib","limit","load,","lock","logger","logs/","mail","mail.passwd=xxxxxxx","mail.protocol=smtp","mail.sender=xxxxxx@qq.com","mail.server.host=smtp.exmail.qq.com","mail.server.port=25","main","make","manual","master","master.%d{yyyi","master.exec.task.number=20","master.exec.threads=100","master.heartbeat.interval=8","master.log","master.max.cpuload.avg=10","master.properti","master.reserved.memory=1","master.task.commit.interval=100","master.task.commit.retrytimes=5","master_logback.xml","masters=ark0,ark1","master日志文件","master服务所在机器,>=1个","master配置文件","max","memori","memory,","millisecond","min","minimum","mm","monitor_server.pi","mvn","myd","mysql","mysql>","name=com.mysql.jdbc.driv","namenod","need","nohup","nohup.out","nopasswd:","note","num","number","open","org.quartz.datasource.myds.driv","org.quartz.datasource.myds.maxconnect","org.quartz.datasource.myds.password","org.quartz.datasource.myds.url","org.quartz.datasource.myds.us","org.quartz.datasource.myds.validationqueri","org.quartz.impl.jdbcjobstore.jobstoretx","org.quartz.impl.jdbcjobstore.stdjdbcdeleg","org.quartz.jobstore.class","org.quartz.jobstore.clustercheckininterv","org.quartz.jobstore.datasourc","org.quartz.jobstore.driverdelegateclass","org.quartz.jobstore.isclust","org.quartz.jobstore.misfirethreshold","org.quartz.jobstore.tableprefix","org.quartz.jobstore.useproperti","org.quartz.scheduler.instanceid","org.quartz.scheduler.instancenam","org.quartz.scheduler.makeschedulerthreaddaemon","org.quartz.simpl.simplethreadpool","org.quartz.threadpool.class","org.quartz.threadpool.makethreadsdaemon","org.quartz.threadpool.threadcount","org.quartz.threadpool.threadprior","os","os.putenv('path','%s'%path)","packag","parallel","path","path,","path.","path=\"%s/bin:%s/bin:%s/bin:%s\"%(hadoop_home,java_home,python_home,path)","path=$hadoop_home/bin:$spark_home1/bin:$spark_home2/bin:$python_home/bin:$java_home/bin:$hive_home/bin:$path","path=/escheduler/","path=os.environ['path']","permiss","permissions。\"/escheduler\"","physic","pleas","port","post","postgresql(8.2.15+)","privileg","privileges;","process","process.exec.basepath=/xxx/xxx","properti","pscach","pscache,","pscache,set","python","python_home=\"/opt/soft/python\"","python_home=/opt/soft/python","python任务","p{password}","qrtz_","qualiti","quartz.properti","queue","read","recommend","record","redi","redis.","reids安装","relev","reousrcemanag","replac","request","requiretti","reserv","resourc","resource.view.suffixs=txt,log,sh,conf,cfg,py,java,sql,hql,xml","retri","root","run_config","schedul","script","second","select","self","server","server.%d{yyyi","server.context","server.log","server.max","server.port=12345","server.session.timeout=7200","session","set","sh","shell任务","singl","size","size=1024mb","size=5000000","snapshot","snapshot.tar.gz","snapshot/","snapshot/conf","snapshot/script/init_deploy_user.sh","snapshot/script/init_hdfs.sh","snapshot/script/init_install_path.sh","snapshot/sql/有两个sql创建表文件:escheduler.sql和quartz.sql","sourc","spark(1.x,2.x)","spark_home1=/opt/soft/spark1","spark_home2=/opt/soft/spark2","specifi","spring","spring.datasource.defaultautocommit=tru","spring.datasource.driv","spring.datasource.initialsize=5","spring.datasource.maxactive=20","spring.datasource.maxpoolpreparedstatementperconnectionsize=20","spring.datasource.maxwait=60000","spring.datasource.minevictableidletimemillis=300000","spring.datasource.minidle=5","spring.datasource.password=${password}","spring.datasource.poolpreparedstatements=fals","spring.datasource.poolpreparedstatements=tru","spring.datasource.testonborrow=tru","spring.datasource.testonreturn=fals","spring.datasource.testwhileidle=tru","spring.datasource.timebetweenevictionrunsmillis=60000","spring.datasource.type=com.alibaba.druid.pool.druiddatasourc","spring.datasource.url=jdbc:mysql://${ip}:3306/escheduler?characterencoding=utf","spring.datasource.username=${username}","spring.datasource.validationquery=select","spring.datasource.validationquerytimeout=3","spring.http.multipart.max","spring.redis.host=${redis_ip}","spring.redis.maxidle=1000","spring.redis.maxtotal=10000","spring.redis.port=6379","sql","start","state?","stop","store","submit","sudo","supplement","sure","surviv","system","target/eschedul","task","task.record.datasource.password=xxxxx","task.record.datasource.url=jdbc:mysql://${ip}:3306/etl?characterencoding=utf","task.record.datasource.username=etl","task.record.flag=fals","tasklogfil","thread","threadpool","time","time(milliseconds)","timeout","time,unit","true","type","u","unit","upload","us","use.","user","user}","utf","utf8","utf8_general_ci;","valu","vi","wait","web","webserver=ark1","webserver_logback.xml","web日志文件","web服务所在机器,1个","web配置文件","work.","worker","worker.%d{yyyi","worker.exec.threads=100","worker.fetch.task.num","worker.heartbeat.interval=8","worker.log","worker.max.cpuload.avg=10","worker.properti","worker.reserved.memory=1","worker_logback.xml","workers=ark2,ark3,ark4","worker日志文件","worker服务所在机器,>=1个","worker都是以","worker配置文件","write","xl","xls.file.path=/opt/xl","yarn.application.status.address=http://${ip1}:8088/ws/v1/cluster/apps/%","yarn.resourcemanager.ha.rm.ids=${ip1},${ip2}","zookeep","zookeeper.connection.timeout=300","zookeeper.escheduler.lock.master.failover=/escheduler/lock/failover/mast","zookeeper.escheduler.lock.master=/escheduler/lock/mast","zookeeper.escheduler.lock.worker.failover=/escheduler/lock/failover/work","zookeeper.escheduler.lock.worker=/escheduler/lock/work","zookeeper.escheduler.master=/escheduler/mast","zookeeper.escheduler.root=/eschedul","zookeeper.escheduler.worker=/escheduler/work","zookeeper.properti","zookeeper.quorum=${ip1}:2181,${ip2}:2181,${ip3}:2181","zookeeper.retry.maxtime=5","zookeeper.retry.sleep=1000","zookeeper.session.timeout=300","{db}","{host}","{linux","{user}","{version}","|——","​","├──","一行","一键启停脚本","下配置好的conf文件夹和编译好的eschedul","下面","主机器的","任务队列选择redis时需要安装","关闭所有服务","创建database和账号","创建表","创建部署用户","初始化","初始化安装目录","后端部署","启停alertsh","启停loggersh","启停master","启停web","启停worker","启动停止命令","启动所有服务","因为easyschedul","因为eschedul","复制到","如果需要使用到easyscheduler的资源上传,mapreduce任务在线提交则需要安装(上传的资源文件目前保存在hdfs上)","安装配置文件","定时器配置文件","对于","将","工程依赖jar包,包括各个模块jar和第三方jar","工程依赖sql文件","工程服务启动脚本","工程自动化部署、启动脚本","工程配置文件","并且需要注释掉","必装","执行编译命令:","执行:","数据库初始化","方式来执行作业,所以部署用户需要有","日志查看","日志统一存放于指定文件夹内","日志配置文件","权限,而且是免密的","权限,而且是免密的。","查看目录","正常编译完后,会在当前目录生成","注意:easyscheduler本身不依赖hadoop、hive、spark、postgresql、redis,仅是用到了他们的cli","注意:在全部服务都启动之后启动","注意:对masterlogfile,自定义了masterlogfilt","注意:对workerlogfile,自定义了workerlogfilt","环境变量配置","监控服务","目录下","脚本是监听,master和worker服务挂掉重启的脚本","自定义了tasklogappender和tasklogfilt","说明","说明:主机器需要能免密ssh登录到其它机器上","说明:在target/eschedul","说明:配置文件位于","账号","软件要求","运行配置文件","选装,","选装,postgresql存储过程需要安装","选装,spark任务提交需要安装","选装,如果跑hive任务需要安装(","通用配置文件配置,队列选择及地址配置,通用文件目录配置。","部署文档","部署用户是","部署用户配置","部署的机器","部署账号","都是以","配置","配置告警数据源信息","配置文件","配置邮件告警信息","项目所在目录","项目编译",",",":必装",":选装,"],"pages/foreground-2.html":["frontend","安装"],"pages/background-2.html":["trailingend","后端说明2"]},"length":7},"tokenStore":{"root":{"0":{"7":{"docs":{},":":{"2":{"4":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}}},"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0068143100511073255}},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},":":{"8":{"0":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{},"*":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"docs":{}}},"docs":{}}},"docs":{}},":":{"docs":{},"关":{"docs":{},"闭":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"1":{"0":{"2":{"4":{"docs":{},"m":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"docs":{}},"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},".":{"docs":{},"查":{"docs":{},"看":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"运":{"docs":{},"行":{"docs":{},"变":{"docs":{},"量":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}},"1":{"docs":{},".":{"docs":{},"查":{"docs":{},"看":{"docs":{},"历":{"docs":{},"史":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}},"2":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"*":{"docs":{},"n":{"docs":{},")":{"docs":{},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}},".":{"docs":{},"查":{"docs":{},"看":{"docs":{},"日":{"docs":{},"志":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"s":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"2":{"2":{"0":{"docs":{},".":{"1":{"8":{"8":{"docs":{},",":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"2":{"2":{"0":{"docs":{},".":{"1":{"8":{"9":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},":":{"2":{"1":{"8":{"1":{"docs":{},",":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"2":{"2":{"0":{"docs":{},".":{"1":{"8":{"9":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{},",":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"2":{"2":{"0":{"docs":{},".":{"1":{"9":{"0":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"6":{"docs":{},".":{"1":{"3":{"2":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}},".":{"1":{"0":{"docs":{},".":{"1":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"z":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}},"docs":{}}},"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"6":{"docs":{},".":{"2":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"z":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},"/":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"]":{"docs":{},"#":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.008517887563884156}}}}},"docs":{}}},"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.02702702702702703},"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"2":{"docs":{},"方":{"docs":{},"式":{"docs":{},"连":{"docs":{},"接":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"docs":{}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"列":{"docs":{},"表":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}},"点":{"docs":{},"击":{"docs":{},"指":{"docs":{},"定":{"docs":{},"人":{"docs":{},"的":{"docs":{},"授":{"docs":{},"权":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"编":{"docs":{},"辑":{"docs":{},"/":{"docs":{},"保":{"docs":{},"存":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"输":{"docs":{},"入":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"2":{"2":{"0":{"docs":{},".":{"2":{"0":{"4":{"docs":{},":":{"8":{"8":{"8":{"8":{"docs":{},"/":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}},"\"":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},"是":{"docs":{},"两":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"y":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"1":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}},":":{"docs":{},"关":{"docs":{},"闭":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"/":{"1":{"0":{"docs":{},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"docs":{}},"6":{"docs":{},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"docs":{}}},"2":{"0":{"0":{"docs":{},"m":{"docs":{},"b":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}},"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}}},"3":{"4":{"5":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}},"5":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"7":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"9":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},".":{"6":{"docs":{},".":{"3":{"2":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}}},"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.02702702702702703}},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"2":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},"docs":{}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"启":{"docs":{},"动":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"登":{"docs":{},"录":{"docs":{},"之":{"docs":{},"后":{"docs":{},"每":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"的":{"docs":{},"右":{"docs":{},"上":{"docs":{},"角":{"docs":{},"都":{"docs":{},"有":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"身":{"docs":{},"份":{"docs":{},"标":{"docs":{},"识":{"docs":{},"。":{"docs":{},"点":{"docs":{},"击":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"箭":{"docs":{},"头":{"docs":{},"包":{"docs":{},"含":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{},"和":{"docs":{},"退":{"docs":{},"出":{"docs":{},"两":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"辑":{"docs":{},"/":{"docs":{},"保":{"docs":{},"存":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"选":{"docs":{},"中":{"docs":{},"项":{"docs":{},"目":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"项":{"docs":{},"目":{"docs":{},"授":{"docs":{},"权":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},")":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},":":{"docs":{},"启":{"docs":{},"用":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},">":{"docs":{},"&":{"1":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}},"3":{"0":{"docs":{},"s":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},".":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}},"创":{"docs":{},"建":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"定":{"docs":{},"时":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"重":{"docs":{},"跑":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}},")":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},":":{"docs":{},"启":{"docs":{},"用":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"4":{"0":{"4":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{}},"3":{"1":{"docs":{},".":{"docs":{},"e":{"docs":{},"l":{"6":{"docs":{},".":{"docs":{},"i":{"6":{"8":{"6":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}}},"docs":{}},"docs":{},".":{"docs":{},"上":{"docs":{},"线":{"docs":{},"/":{"docs":{},"下":{"docs":{},"线":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"创":{"docs":{},"建":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.007407407407407408}}}},"恢":{"docs":{},"复":{"docs":{},"失":{"docs":{},"败":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},":":{"docs":{},"启":{"docs":{},"用":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"s":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"5":{"0":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"2":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"3":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"4":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},".":{"docs":{},"停":{"docs":{},"止":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"定":{"docs":{},"时":{"docs":{},"管":{"docs":{},"理":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},":":{"docs":{},"启":{"docs":{},"用":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"6":{"0":{"0":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}},"4":{"docs":{},"m":{"docs":{},"b":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}},"8":{"1":{"0":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},":":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}},"docs":{}},"docs":{}},"docs":{},".":{"docs":{},"指":{"docs":{},"定":{"docs":{},"节":{"docs":{},"点":{"docs":{},"启":{"docs":{},"动":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}},"暂":{"docs":{},"停":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}},":":{"docs":{},"关":{"docs":{},"闭":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"7":{"docs":{},"*":{"docs":{},"n":{"docs":{},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}},".":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"恢":{"docs":{},"复":{"docs":{},"暂":{"docs":{},"停":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}},"8":{"8":{"8":{"8":{"docs":{},";":{"docs":{},"#":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"docs":{}},"docs":{}},"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.01064773735581189}},".":{"9":{"docs":{},".":{"4":{"docs":{},")":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"docs":{}}},"docs":{},"删":{"docs":{},"除":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}},"9":{"9":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{},".":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}},"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"e":{"docs":{},"r":{"docs":{},"简":{"docs":{},"介":{"docs":{"./":{"ref":"./","tf":10}}}},"中":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"线":{"docs":{},"程":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"锁":{"docs":{},"实":{"docs":{},"现":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"锁":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"同":{"docs":{},"一":{"docs":{},"时":{"docs":{},"刻":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"台":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"执":{"docs":{},"行":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"台":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"调":{"docs":{},"度":{"docs":{},"系":{"docs":{},"统":{"docs":{},"架":{"docs":{},"构":{"docs":{},"分":{"docs":{},"析":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}},"容":{"docs":{},"错":{"docs":{},"设":{"docs":{},"计":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"机":{"docs":{},"制":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"原":{"docs":{},"理":{"docs":{},"如":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"去":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"是":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"集":{"docs":{},"群":{"docs":{},"和":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"集":{"docs":{},"群":{"docs":{},"无":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"锁":{"docs":{},"来":{"docs":{},"选":{"docs":{},"举":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"一":{"docs":{},"台":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"或":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"“":{"docs":{},"管":{"docs":{},"理":{"docs":{},"者":{"docs":{},"”":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"围":{"docs":{},"绕":{"docs":{},"四":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"展":{"docs":{},"开":{"docs":{},",":{"docs":{},"u":{"docs":{},"i":{"docs":{},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"、":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"易":{"docs":{},"观":{"docs":{},"研":{"docs":{},"发":{"docs":{},"的":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"调":{"docs":{},"度":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{},"主":{"docs":{},"要":{"docs":{},"解":{"docs":{},"决":{"docs":{},"数":{"docs":{},"据":{"docs":{},"研":{"docs":{},"发":{"docs":{},"e":{"docs":{},"t":{"docs":{},"l":{"docs":{},"错":{"docs":{},"综":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"能":{"docs":{},"直":{"docs":{},"观":{"docs":{},"监":{"docs":{},"控":{"docs":{},"任":{"docs":{},"务":{"docs":{},"健":{"docs":{},"康":{"docs":{},"状":{"docs":{},"态":{"docs":{},"等":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"通":{"docs":{},"过":{"docs":{},"可":{"docs":{},"视":{"docs":{},"化":{"docs":{},"拖":{"docs":{},"拽":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"形":{"docs":{},"成":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"(":{"docs":{},"有":{"docs":{},"向":{"docs":{},"无":{"docs":{},"环":{"docs":{},"图":{"docs":{},")":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},",":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"可":{"docs":{},"实":{"docs":{},"时":{"docs":{},"监":{"docs":{},"控":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"支":{"docs":{},"持":{"docs":{},"重":{"docs":{},"试":{"docs":{},"、":{"docs":{},"从":{"docs":{},"指":{"docs":{},"定":{"docs":{},"节":{"docs":{},"点":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"失":{"docs":{},"败":{"docs":{},"、":{"docs":{},"暂":{"docs":{},"停":{"docs":{},"及":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"任":{"docs":{},"务":{"docs":{},"、":{"docs":{},"任":{"docs":{},"务":{"docs":{},"运":{"docs":{},"行":{"docs":{},"历":{"docs":{},"史":{"docs":{},"查":{"docs":{},"看":{"docs":{},"等":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"在":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"调":{"docs":{},"度":{"docs":{},"方":{"docs":{},"面":{"docs":{},"工":{"docs":{},"作":{"docs":{},"多":{"docs":{},"年":{"docs":{},"的":{"docs":{},"几":{"docs":{},"位":{"docs":{},"小":{"docs":{},"伙":{"docs":{},"伴":{"docs":{},"研":{"docs":{},"发":{"docs":{},"而":{"docs":{},"成":{"docs":{},",":{"docs":{},"致":{"docs":{},"力":{"docs":{},"于":{"docs":{},"成":{"docs":{},"为":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"平":{"docs":{},"台":{"docs":{},"的":{"docs":{},"中":{"docs":{},"流":{"docs":{},"砥":{"docs":{},"柱":{"docs":{},",":{"docs":{},"使":{"docs":{},"调":{"docs":{},"度":{"docs":{},"变":{"docs":{},"得":{"docs":{},"更":{"docs":{},"加":{"docs":{},"容":{"docs":{},"易":{"docs":{},",":{"docs":{},"更":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"其":{"docs":{},"中":{"docs":{},"文":{"docs":{},"名":{"docs":{},"“":{"docs":{},"易":{"docs":{},"调":{"docs":{},"度":{"docs":{},"”":{"docs":{},"看":{"docs":{},"出":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"初":{"docs":{},"衷":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"对":{"docs":{},"目":{"docs":{},"前":{"docs":{},"市":{"docs":{},"面":{"docs":{},"上":{"docs":{},"的":{"docs":{},"调":{"docs":{},"度":{"docs":{},"不":{"docs":{},"够":{"docs":{},"满":{"docs":{},"意":{"docs":{},",":{"docs":{},"非":{"docs":{},"常":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"试":{"docs":{},"用":{"docs":{},"易":{"docs":{},"调":{"docs":{},"度":{"docs":{},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"大":{"docs":{},"家":{"docs":{},"加":{"docs":{},"入":{"docs":{},"进":{"docs":{},"来":{"docs":{},",":{"docs":{},"提":{"docs":{},"出":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"也":{"docs":{},"欢":{"docs":{},"迎":{"docs":{},"贡":{"docs":{},"献":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.005323868677905945}},"o":{"docs":{},"r":{"docs":{},"数":{"docs":{},"量":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"数":{"docs":{},"量":{"docs":{},"、":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"内":{"docs":{},"存":{"docs":{},"数":{"docs":{},"和":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"内":{"docs":{},"核":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}},"s":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00709849157054126}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00709849157054126}}}}}}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}}},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"s":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"v":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}},":":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}},"s":{"6":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{},"a":{"docs":{},"c":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.013309671694764862}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"前":{"docs":{},"端":{"docs":{},"技":{"docs":{},"术":{"docs":{},"栈":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"目":{"docs":{},"录":{"docs":{},"并":{"docs":{},"执":{"docs":{},"行":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},".":{"docs":{},"*":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"/":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"/":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"/":{"docs":{},".":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"=":{"docs":{},"/":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"/":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"=":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}},"g":{"docs":{},".":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"/":{"docs":{},"s":{"docs":{},"m":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{"./":{"ref":"./","tf":0.5}},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"产":{"docs":{},"品":{"docs":{},"介":{"docs":{},"绍":{"docs":{"./":{"ref":"./","tf":0.5}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"8":{"0":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}}},"docs":{}},"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.02702702702702703},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.012422360248447204}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}},":":{"docs":{},"告":{"docs":{},"警":{"docs":{},"微":{"docs":{},"服":{"docs":{},"务":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}},".":{"docs":{},"%":{"docs":{},"d":{"docs":{},"{":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"=":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}},"s":{"docs":{},"=":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"3":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}}}},"服":{"docs":{},"务":{"docs":{},"所":{"docs":{},"在":{"docs":{},"机":{"docs":{},"器":{"docs":{},",":{"1":{"docs":{},"个":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"docs":{}}}}}}}}}}},"l":{"docs":{},"=":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},")":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"和":{"docs":{},"u":{"docs":{},"i":{"docs":{},"分":{"docs":{},"离":{"docs":{},"交":{"docs":{},"互":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"、":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},"格":{"docs":{},"式":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"某":{"docs":{},"任":{"docs":{},"务":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"b":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"某":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"t":{"docs":{},"a":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"d":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"n":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"p":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}}}},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{},"y":{"docs":{},":":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"v":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}},"d":{"3":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"a":{"docs":{},"g":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514},"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.008873114463176575}}}}}}}}},"o":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"配":{"docs":{},"置":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"t":{"docs":{},"a":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0044365572315882874}},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"/":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"/":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"/":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"/":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"2":{"docs":{},"h":{"docs":{},"d":{"docs":{},"f":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.007985803016858917}},"]":{"docs":{},",":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"_":{"docs":{},"h":{"docs":{},"h":{"docs":{},"}":{"docs":{},".":{"docs":{},"%":{"docs":{},"i":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"核":{"docs":{},"数":{"docs":{},":":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"内":{"docs":{},"核":{"docs":{},"数":{"docs":{},"及":{"docs":{},"内":{"docs":{},"存":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"为":{"docs":{},"全":{"docs":{},"局":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"系":{"docs":{},"统":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}},"o":{"docs":{},"p":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.008873114463176575}}}}}}}},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"i":{"docs":{},"r":{"docs":{},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.01064773735581189}}},"y":{"docs":{},".":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"p":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704},"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0044365572315882874}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}},"s":{"docs":{},"、":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}}}},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}},"l":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"pages/foreground-2.html":{"ref":"pages/foreground-2.html","tf":1}}}}}}}}},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"f":{"docs":{},"s":{"docs":{},"=":{"docs":{},"h":{"docs":{},"d":{"docs":{},"f":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{},":":{"8":{"0":{"2":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"和":{"docs":{},"g":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"实":{"docs":{},"现":{"docs":{},"日":{"docs":{},"志":{"docs":{},"访":{"docs":{},"问":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}}}},"s":{"docs":{},"/":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}}}},"k":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"a":{"docs":{},"d":{"docs":{},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}},"i":{"docs":{},"b":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"、":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}},"n":{"docs":{},"u":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}},"s":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"e":{"docs":{},"n":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"n":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"r":{"docs":{},"w":{"docs":{},"x":{"docs":{},"r":{"docs":{},"w":{"docs":{},"x":{"docs":{},"r":{"docs":{},"w":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}},"m":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514},"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852},"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.008873114463176575}},"容":{"docs":{},"错":{"docs":{},"完":{"docs":{},"成":{"docs":{},"之":{"docs":{},"后":{"docs":{},"则":{"docs":{},"重":{"docs":{},"新":{"docs":{},"由":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"线":{"docs":{},"程":{"docs":{},"调":{"docs":{},"度":{"docs":{},",":{"docs":{},"遍":{"docs":{},"历":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}},"的":{"docs":{},"角":{"docs":{},"色":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"任":{"docs":{},"务":{"docs":{},"分":{"docs":{},"发":{"docs":{},"并":{"docs":{},"监":{"docs":{},"督":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},"健":{"docs":{},"康":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"动":{"docs":{},"态":{"docs":{},"的":{"docs":{},"将":{"docs":{},"任":{"docs":{},"务":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"到":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"上":{"docs":{},",":{"docs":{},"以":{"docs":{},"致":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"节":{"docs":{},"点":{"docs":{},"不":{"docs":{},"至":{"docs":{},"于":{"docs":{},"“":{"docs":{},"忙":{"docs":{},"死":{"docs":{},"”":{"docs":{},"或":{"docs":{},"”":{"docs":{},"闲":{"docs":{},"死":{"docs":{},"”":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"控":{"docs":{},"其":{"docs":{},"他":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"监":{"docs":{},"听":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"根":{"docs":{},"据":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"进":{"docs":{},"行":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"容":{"docs":{},"错":{"docs":{},"或":{"docs":{},"者":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"容":{"docs":{},"错":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"%":{"docs":{},"d":{"docs":{},"{":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},".":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"2":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}}}}}}}}}}}},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"=":{"1":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"=":{"8":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},".":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"a":{"docs":{},"v":{"docs":{},"g":{"docs":{},"=":{"1":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"1":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"=":{"1":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"=":{"5":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}},"s":{"docs":{},"=":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"0":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"1":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}}}},"docs":{}}}}}},"日":{"docs":{},"志":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"服":{"docs":{},"务":{"docs":{},"所":{"docs":{},"在":{"docs":{},"机":{"docs":{},"器":{"docs":{},",":{"docs":{},">":{"docs":{},"=":{"1":{"docs":{},"个":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"docs":{}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}},"、":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"i":{"docs":{},"n":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"d":{"docs":{},"=":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"=":{"docs":{},"s":{"docs":{},"m":{"docs":{},"t":{"docs":{},"p":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"@":{"docs":{},"q":{"docs":{},"q":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"=":{"docs":{},"s":{"docs":{},"m":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"q":{"docs":{},"q":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"2":{"5":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.006211180124223602}}}},"n":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"x":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}}},"m":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.011535048802129548}}},"r":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},"k":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}},"y":{"docs":{},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}}}}}}}}}},"n":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"i":{"docs":{},"m":{"docs":{},"u":{"docs":{},"m":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}},"v":{"docs":{},"n":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"y":{"docs":{},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}},">":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"中":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"经":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"存":{"docs":{},"在":{"docs":{},"则":{"docs":{},"同":{"docs":{},"样":{"docs":{},"监":{"docs":{},"控":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"则":{"docs":{},"重":{"docs":{},"新":{"docs":{},"提":{"docs":{},"交":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},"_":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}},"s":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.010221465076660987}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"e":{"docs":{},"r":{"docs":{},"线":{"docs":{},"程":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"发":{"docs":{},"现":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"为":{"docs":{},"”":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}},"在":{"docs":{},"获":{"docs":{},"取":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"是":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"o":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"度":{"docs":{},"及":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"任":{"docs":{},"务":{"docs":{},"执":{"docs":{},"行":{"docs":{},"引":{"docs":{},"擎":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514},"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0068143100511073255},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.015971606033717833}},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},".":{"docs":{},"%":{"docs":{},"d":{"docs":{},"{":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.005323868677905945}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"1":{"2":{"3":{"4":{"5":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"7":{"2":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"f":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0044365572315882874}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.008873114463176575}},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"节":{"docs":{},"点":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"任":{"docs":{},"务":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"(":{"1":{"docs":{},".":{"docs":{},"x":{"docs":{},",":{"2":{"docs":{},".":{"docs":{},"x":{"docs":{},")":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"docs":{}}}}},"docs":{}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"1":{"docs":{},"=":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"1":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}}}}}}}}}}}}}}}},"2":{"docs":{},"=":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"2":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"=":{"5":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}},"docs":{}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"=":{"2":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}},"docs":{}},"docs":{}}}}}}}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"=":{"2":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"=":{"6":{"0":{"0":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"=":{"3":{"0":{"0":{"0":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"5":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}},"docs":{}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"=":{"docs":{},"$":{"docs":{},"{":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"b":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"=":{"6":{"0":{"0":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"=":{"docs":{},"j":{"docs":{},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},":":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"docs":{},"p":{"docs":{},"}":{"docs":{},":":{"3":{"3":{"0":{"6":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"?":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"=":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"$":{"docs":{},"{":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"3":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"=":{"docs":{},"$":{"docs":{},"{":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"p":{"docs":{},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"1":{"0":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"=":{"1":{"0":{"0":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"6":{"3":{"7":{"9":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"q":{"docs":{},"l":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"参":{"docs":{},"数":{"docs":{},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"1":{"docs":{},"=":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"1":{"docs":{},";":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"2":{"docs":{},"=":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"2":{"docs":{},"…":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"docs":{}}}}}}}},"docs":{}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},":":{"docs":{},"支":{"docs":{},"持":{"docs":{},"查":{"docs":{},"询":{"docs":{},"和":{"docs":{},"非":{"docs":{},"查":{"docs":{},"询":{"docs":{},"两":{"docs":{},"种":{"docs":{},",":{"docs":{},"查":{"docs":{},"询":{"docs":{},"是":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"查":{"docs":{},"询":{"docs":{},",":{"docs":{},"是":{"docs":{},"有":{"docs":{},"结":{"docs":{},"果":{"docs":{},"集":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},"为":{"docs":{},"表":{"docs":{},"格":{"docs":{},"、":{"docs":{},"附":{"docs":{},"件":{"docs":{},"或":{"docs":{},"表":{"docs":{},"格":{"docs":{},"附":{"docs":{},"件":{"docs":{},"三":{"docs":{},"种":{"docs":{},"模":{"docs":{},"板":{"docs":{},"。":{"docs":{},"非":{"docs":{},"查":{"docs":{},"询":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"结":{"docs":{},"果":{"docs":{},"集":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},",":{"docs":{},"是":{"docs":{},"针":{"docs":{},"对":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"、":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"、":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"三":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"操":{"docs":{},"作":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{},"句":{"docs":{},":":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"语":{"docs":{},"句":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}},"依":{"docs":{},"赖":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.005323868677905945}},")":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"u":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"e":{"docs":{},"?":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"o":{"docs":{},"p":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0044365572315882874}},")":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"r":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"b":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"d":{"docs":{},"o":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.006211180124223602}}},"v":{"docs":{},"i":{"docs":{},"v":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}},"y":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0068143100511073255}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"z":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"=":{"1":{"0":{"2":{"4":{"docs":{},"m":{"docs":{},"b":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}},"docs":{}},"docs":{}},"docs":{}},"5":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"z":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"/":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{},"_":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}},"h":{"docs":{},"d":{"docs":{},"f":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"l":{"docs":{},"/":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"创":{"docs":{},"建":{"docs":{},"表":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"和":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},".":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}},"u":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.005323868677905945}},"i":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514},"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"d":{"docs":{},"f":{"docs":{},"函":{"docs":{},"数":{"docs":{},"名":{"docs":{},"称":{"docs":{},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"函":{"docs":{},"数":{"docs":{},"时":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},":":{"docs":{},"对":{"docs":{},"用":{"docs":{},"户":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"进":{"docs":{},"行":{"docs":{},"管":{"docs":{},"理":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},":":{"docs":{},"对":{"docs":{},"于":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"引":{"docs":{},"用":{"docs":{},"资":{"docs":{},"源":{"docs":{},"中":{"docs":{},"心":{"docs":{},"中":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"暂":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"函":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"资":{"docs":{},"源":{"docs":{},":":{"docs":{},"设":{"docs":{},"置":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"i":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}},"p":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"e":{"docs":{},"r":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"=":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"和":{"docs":{},"—":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}},".":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"t":{"docs":{},"f":{"8":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"_":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"c":{"docs":{},"i":{"docs":{},";":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}},"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.007985803016858917}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.005323868677905945}},":":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"提":{"docs":{},"供":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"1":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}}},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"志":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"服":{"docs":{},"务":{"docs":{},"所":{"docs":{},"在":{"docs":{},"机":{"docs":{},"器":{"docs":{},",":{"1":{"docs":{},"个":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"docs":{}}}}}}}},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00709849157054126}},"容":{"docs":{},"错":{"docs":{},"流":{"docs":{},"程":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}},"的":{"docs":{},"角":{"docs":{},"色":{"docs":{},"主":{"docs":{},"要":{"docs":{},"负":{"docs":{},"责":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"工":{"docs":{},"作":{"docs":{},"并":{"docs":{},"维":{"docs":{},"护":{"docs":{},"和":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"心":{"docs":{},"跳":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"配":{"docs":{},"任":{"docs":{},"务":{"docs":{},"给":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"%":{"docs":{},"d":{"docs":{},"{":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"=":{"1":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},".":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"=":{"8":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},".":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"a":{"docs":{},"v":{"docs":{},"g":{"docs":{},"=":{"1":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"1":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}}}}}}}}}}}}}}}},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}},"s":{"docs":{},"=":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"2":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"3":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"4":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}}}},"docs":{}}}}}},"docs":{}}}}}},"日":{"docs":{},"志":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"服":{"docs":{},"务":{"docs":{},"所":{"docs":{},"在":{"docs":{},"机":{"docs":{},"器":{"docs":{},",":{"docs":{},">":{"docs":{},"=":{"1":{"docs":{},"个":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"docs":{}}}}}}}}}},"都":{"docs":{},"是":{"docs":{},"以":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},".":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.006211180124223602}}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"e":{"docs":{},"r":{"docs":{},"方":{"docs":{},"式":{"docs":{},"连":{"docs":{},"接":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"3":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"/":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"/":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"/":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"o":{"docs":{},"r":{"docs":{},"u":{"docs":{},"m":{"docs":{},"=":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"docs":{},"p":{"1":{"docs":{},"}":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{},",":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"docs":{},"p":{"2":{"docs":{},"}":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{},",":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"docs":{},"p":{"3":{"docs":{},"}":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"5":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"=":{"1":{"0":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"3":{"0":{"0":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"b":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"一":{"docs":{},"旦":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"出":{"docs":{},"现":{"docs":{},"了":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"则":{"docs":{},"群":{"docs":{},"龙":{"docs":{},"无":{"docs":{},"首":{"docs":{},",":{"docs":{},"整":{"docs":{},"个":{"docs":{},"集":{"docs":{},"群":{"docs":{},"就":{"docs":{},"崩":{"docs":{},"溃":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"大":{"docs":{},"多":{"docs":{},"数":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"架":{"docs":{},"构":{"docs":{},"模":{"docs":{},"式":{"docs":{},"都":{"docs":{},"采":{"docs":{},"用":{"docs":{},"了":{"docs":{},"主":{"docs":{},"备":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"热":{"docs":{},"备":{"docs":{},"或":{"docs":{},"者":{"docs":{},"冷":{"docs":{},"备":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"自":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},"或":{"docs":{},"手":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"多":{"docs":{},"的":{"docs":{},"新":{"docs":{},"系":{"docs":{},"统":{"docs":{},"都":{"docs":{},"开":{"docs":{},"始":{"docs":{},"具":{"docs":{},"备":{"docs":{},"自":{"docs":{},"动":{"docs":{},"选":{"docs":{},"举":{"docs":{},"切":{"docs":{},"换":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"以":{"docs":{},"提":{"docs":{},"升":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"可":{"docs":{},"用":{"docs":{},"性":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"可":{"docs":{},"以":{"docs":{},"添":{"docs":{},"加":{"1":{"docs":{},"个":{"docs":{},"定":{"docs":{},"时":{"docs":{},",":{"docs":{},"定":{"docs":{},"时":{"docs":{},"管":{"docs":{},"理":{"docs":{},"是":{"docs":{},"对":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"上":{"docs":{},"的":{"docs":{},"定":{"docs":{},"时":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"上":{"docs":{},"线":{"docs":{},"的":{"docs":{},"定":{"docs":{},"时":{"docs":{},"才":{"docs":{},"是":{"docs":{},"有":{"docs":{},"效":{"docs":{},"的":{"docs":{},"定":{"docs":{},"时":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"行":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}},"键":{"docs":{},"启":{"docs":{},"停":{"docs":{},"脚":{"docs":{},"本":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"思":{"docs":{},"想":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}},"设":{"docs":{},"计":{"docs":{},"存":{"docs":{},"在":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"理":{"docs":{},"念":{"docs":{},"比":{"docs":{},"较":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"集":{"docs":{},"群":{"docs":{},"中":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"按":{"docs":{},"照":{"docs":{},"角":{"docs":{},"色":{"docs":{},"分":{"docs":{},"工":{"docs":{},",":{"docs":{},"大":{"docs":{},"体":{"docs":{},"上":{"docs":{},"分":{"docs":{},"为":{"docs":{},"两":{"docs":{},"种":{"docs":{},"角":{"docs":{},"色":{"docs":{},":":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"右":{"docs":{},"上":{"docs":{},"角":{"docs":{},"下":{"docs":{},"载":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"下":{"docs":{},"载":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"在":{"docs":{},"文":{"docs":{},"件":{"docs":{},"列":{"docs":{},"表":{"docs":{},"后":{"docs":{},"的":{"docs":{},"下":{"docs":{},"载":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"下":{"docs":{},"载":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}},"于":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"第":{"docs":{},"三":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"来":{"docs":{},"解":{"docs":{},"决":{"docs":{},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"足":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}},"介":{"docs":{},"于":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"的":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"性":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"选":{"docs":{},"择":{"docs":{},"了":{"docs":{},"g":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"实":{"docs":{},"现":{"docs":{},"远":{"docs":{},"程":{"docs":{},"访":{"docs":{},"问":{"docs":{},"日":{"docs":{},"志":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"…":{"docs":{},"/":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"i":{"docs":{},"d":{"docs":{},"/":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"i":{"docs":{},"d":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"生":{"docs":{},"成":{"docs":{},"日":{"docs":{},"志":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"将":{"docs":{},"详":{"docs":{},"细":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{},"和":{"docs":{},"遇":{"docs":{},"到":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"易":{"docs":{},"观":{"docs":{},"封":{"docs":{},"装":{"docs":{},"的":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"及":{"docs":{},"j":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"组":{"docs":{},"件":{"docs":{},"开":{"docs":{},"发":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}},"手":{"docs":{},"册":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":10.001851851851852}}}},"说":{"docs":{},"明":{"docs":{},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"描":{"docs":{},"述":{"docs":{},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"锁":{"docs":{},"实":{"docs":{},"践":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}},"别":{"docs":{},"是":{"docs":{},"拖":{"docs":{},"动":{"docs":{},"节":{"docs":{},"点":{"docs":{},"和":{"docs":{},"选":{"docs":{},"中":{"docs":{},"项":{"docs":{},"、":{"docs":{},"选":{"docs":{},"择":{"docs":{},"线":{"docs":{},"条":{"docs":{},"连":{"docs":{},"线":{"docs":{},"、":{"docs":{},"删":{"docs":{},"除":{"docs":{},"选":{"docs":{},"中":{"docs":{},"的":{"docs":{},"线":{"docs":{},"或":{"docs":{},"节":{"docs":{},"点":{"docs":{},"、":{"docs":{},"全":{"docs":{},"屏":{"docs":{},"和":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"保":{"docs":{},"持":{"docs":{},",":{"docs":{},"其":{"docs":{},"主":{"docs":{},"要":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"的":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"所":{"docs":{},"用":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"钟":{"docs":{},":":{"docs":{},"$":{"docs":{},"[":{"docs":{},"h":{"docs":{},"h":{"docs":{},"m":{"docs":{},"m":{"docs":{},"s":{"docs":{},"s":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"+":{"docs":{},"n":{"docs":{},"/":{"2":{"4":{"docs":{},"/":{"6":{"0":{"docs":{},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"则":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"“":{"docs":{},"死":{"docs":{},"等":{"docs":{},"”":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"等":{"docs":{},"待":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"1":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"1":{"docs":{},"等":{"docs":{},"待":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"2":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"2":{"docs":{},"等":{"docs":{},"待":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"3":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"而":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"3":{"docs":{},"等":{"docs":{},"待":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"有":{"docs":{},"新":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"则":{"docs":{},"整":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"流":{"docs":{},"程":{"docs":{},"不":{"docs":{},"能":{"docs":{},"结":{"docs":{},"束":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"也":{"docs":{},"不":{"docs":{},"能":{"docs":{},"释":{"docs":{},"放":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"去":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}},"v":{"docs":{},"s":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"设":{"docs":{},"计":{"docs":{},"在":{"docs":{},"于":{"docs":{},"整":{"docs":{},"个":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"中":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"区":{"docs":{},"别":{"docs":{},"于":{"docs":{},"其":{"docs":{},"他":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"”":{"docs":{},"管":{"docs":{},"理":{"docs":{},"者":{"docs":{},"”":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"单":{"docs":{},"点":{"docs":{},"故":{"docs":{},"障":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"但":{"docs":{},"由":{"docs":{},"于":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"”":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"里":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"没":{"docs":{},"有":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"角":{"docs":{},"色":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"地":{"docs":{},"位":{"docs":{},"是":{"docs":{},"平":{"docs":{},"等":{"docs":{},"的":{"docs":{},",":{"docs":{},"全":{"docs":{},"球":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"去":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"的":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"联":{"docs":{},"网":{"docs":{},"的":{"docs":{},"任":{"docs":{},"意":{"docs":{},"节":{"docs":{},"点":{"docs":{},"设":{"docs":{},"备":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"机":{"docs":{},",":{"docs":{},"都":{"docs":{},"只":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"很":{"docs":{},"小":{"docs":{},"范":{"docs":{},"围":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"另":{"docs":{},"外":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},",":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"支":{"docs":{},"持":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"中":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"运":{"docs":{},"行":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"过":{"docs":{},"负":{"docs":{},"载":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"上":{"docs":{},",":{"docs":{},"则":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"都":{"docs":{},"只":{"docs":{},"能":{"docs":{},"在":{"docs":{},"某":{"docs":{},"一":{"docs":{},"台":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},"进":{"docs":{},"行":{"docs":{},"作":{"docs":{},"业":{"docs":{},"提":{"docs":{},"交":{"docs":{},",":{"docs":{},"则":{"docs":{},"并":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"s":{"docs":{},"l":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},"压":{"docs":{},"力":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"比":{"docs":{},"较":{"docs":{},"大":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"种":{"docs":{},"资":{"docs":{},"源":{"docs":{},"不":{"docs":{},"足":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"不":{"docs":{},"足":{"docs":{},",":{"docs":{},"则":{"docs":{},"将":{"docs":{},"主":{"docs":{},"流":{"docs":{},"程":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"就":{"docs":{},"有":{"docs":{},"了":{"docs":{},"新":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"让":{"docs":{},"资":{"docs":{},"源":{"docs":{},"不":{"docs":{},"足":{"docs":{},"挂":{"docs":{},"起":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"重":{"docs":{},"新":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"子":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"则":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"中":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"条":{"docs":{},"数":{"docs":{},"大":{"docs":{},"于":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"阈":{"docs":{},"值":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"流":{"docs":{},"程":{"docs":{},"等":{"docs":{},"待":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"中":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"子":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"勾":{"docs":{},"选":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"修":{"docs":{},"改":{"docs":{},"会":{"docs":{},"更":{"docs":{},"新":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"勾":{"docs":{},"选":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"只":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"本":{"docs":{},"次":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"参":{"docs":{},"数":{"docs":{},"中":{"docs":{},"引":{"docs":{},"用":{"docs":{},"了":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"资":{"docs":{},"源":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{},"指":{"docs":{},"定":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}}}}}}}}}}}}}}}}}}}}}},"您":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"i":{"docs":{},"p":{"docs":{},"访":{"docs":{},"问":{"docs":{},"项":{"docs":{},"目":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"到":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"上":{"docs":{},"传":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"e":{"docs":{},"任":{"docs":{},"务":{"docs":{},"在":{"docs":{},"线":{"docs":{},"提":{"docs":{},"交":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"(":{"docs":{},"上":{"docs":{},"传":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"目":{"docs":{},"前":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"h":{"docs":{},"d":{"docs":{},"f":{"docs":{},"s":{"docs":{},"上":{"docs":{},")":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},",":{"docs":{},"真":{"docs":{},"正":{"docs":{},"去":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"的":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"并":{"docs":{},"不":{"docs":{},"多":{"docs":{},"见":{"docs":{},"。":{"docs":{},"反":{"docs":{},"而":{"docs":{},"动":{"docs":{},"态":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"正":{"docs":{},"在":{"docs":{},"不":{"docs":{},"断":{"docs":{},"涌":{"docs":{},"出":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"种":{"docs":{},"架":{"docs":{},"构":{"docs":{},"下":{"docs":{},",":{"docs":{},"集":{"docs":{},"群":{"docs":{},"中":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"者":{"docs":{},"是":{"docs":{},"被":{"docs":{},"动":{"docs":{},"态":{"docs":{},"选":{"docs":{},"择":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"预":{"docs":{},"置":{"docs":{},"的":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"集":{"docs":{},"群":{"docs":{},"在":{"docs":{},"发":{"docs":{},"生":{"docs":{},"故":{"docs":{},"障":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"集":{"docs":{},"群":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"会":{"docs":{},"自":{"docs":{},"发":{"docs":{},"的":{"docs":{},"举":{"docs":{},"行":{"docs":{},"\"":{"docs":{},"会":{"docs":{},"议":{"docs":{},"\"":{"docs":{},"选":{"docs":{},"举":{"docs":{},"新":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"管":{"docs":{},"理":{"docs":{},"者":{"docs":{},"\"":{"docs":{},"主":{"docs":{},"持":{"docs":{},"工":{"docs":{},"作":{"docs":{},"。":{"docs":{},"最":{"docs":{},"典":{"docs":{},"型":{"docs":{},"的":{"docs":{},"案":{"docs":{},"例":{"docs":{},"就":{"docs":{},"是":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"及":{"docs":{},"g":{"docs":{},"o":{"docs":{},"语":{"docs":{},"言":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"d":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"容":{"docs":{},"错":{"docs":{},"设":{"docs":{},"计":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}},":":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"是":{"docs":{},"否":{"docs":{},"被":{"docs":{},"容":{"docs":{},"错":{"docs":{},"过":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"对":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"于":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"启":{"docs":{},"动":{"docs":{},"新":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"打":{"docs":{},"破":{"docs":{},"僵":{"docs":{},"局":{"docs":{},",":{"docs":{},"似":{"docs":{},"乎":{"docs":{},"有":{"docs":{},"点":{"docs":{},"差":{"docs":{},"强":{"docs":{},"人":{"docs":{},"意":{"docs":{},",":{"docs":{},"于":{"docs":{},"是":{"docs":{},"我":{"docs":{},"们":{"docs":{},"提":{"docs":{},"出":{"docs":{},"了":{"docs":{},"以":{"docs":{},"下":{"docs":{},"三":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},"来":{"docs":{},"降":{"docs":{},"低":{"docs":{},"这":{"docs":{},"种":{"docs":{},"风":{"docs":{},"险":{"docs":{},":":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"终":{"docs":{},"态":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"保":{"docs":{},"存":{"docs":{},"。":{"docs":{},"终":{"docs":{},"态":{"docs":{},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"最":{"docs":{},"终":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"为":{"docs":{},"成":{"docs":{},"功":{"docs":{},"、":{"docs":{},"失":{"docs":{},"败":{"docs":{},"、":{"docs":{},"暂":{"docs":{},"停":{"docs":{},"或":{"docs":{},"停":{"docs":{},"止":{"docs":{},"四":{"docs":{},"个":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"进":{"docs":{},"行":{"docs":{},"判":{"docs":{},"断":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"已":{"docs":{},"经":{"docs":{},"满":{"docs":{},"了":{"docs":{},",":{"docs":{},"则":{"docs":{},"让":{"docs":{},"线":{"docs":{},"程":{"docs":{},"直":{"docs":{},"接":{"docs":{},"失":{"docs":{},"败":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"线":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"对":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"进":{"docs":{},"行":{"docs":{},"编":{"docs":{},"辑":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"查":{"docs":{},"看":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"可":{"docs":{},"以":{"docs":{},"选":{"docs":{},"择":{"docs":{},"节":{"docs":{},"点":{"docs":{},"右":{"docs":{},"击":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"将":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"日":{"docs":{},"志":{"docs":{},"放":{"docs":{},"到":{"docs":{},"e":{"docs":{},"s":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"上":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"掉":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"总":{"docs":{},"结":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"每":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"日":{"docs":{},"志":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"找":{"docs":{},"到":{"docs":{},"”":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"”":{"docs":{},"和":{"docs":{},"“":{"docs":{},"提":{"docs":{},"交":{"docs":{},"成":{"docs":{},"功":{"docs":{},"”":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"对":{"docs":{},"”":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"”":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"监":{"docs":{},"控":{"docs":{},"其":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"对":{"docs":{},"”":{"docs":{},"提":{"docs":{},"交":{"docs":{},"成":{"docs":{},"功":{"docs":{},"”":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"需":{"docs":{},"要":{"docs":{},"判":{"docs":{},"断":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"文":{"docs":{},"从":{"docs":{},"调":{"docs":{},"度":{"docs":{},"出":{"docs":{},"发":{"docs":{},",":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"易":{"docs":{},"观":{"docs":{},"研":{"docs":{},"发":{"docs":{},"的":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"调":{"docs":{},"度":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"易":{"docs":{},"观":{"docs":{},"数":{"docs":{},"据":{"docs":{},"平":{"docs":{},"台":{"docs":{},"起":{"docs":{},"着":{"docs":{},"中":{"docs":{},"流":{"docs":{},"砥":{"docs":{},"柱":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"。":{"docs":{},"本":{"docs":{},"章":{"docs":{},"着":{"docs":{},"重":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"原":{"docs":{},"理":{"docs":{},"及":{"docs":{},"实":{"docs":{},"现":{"docs":{},"思":{"docs":{},"路":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"架":{"docs":{},"构":{"docs":{},"设":{"docs":{},"计":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}},"由":{"docs":{},"于":{"docs":{},"”":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"和":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"只":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"标":{"docs":{},"识":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"区":{"docs":{},"别":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"则":{"docs":{},"没":{"docs":{},"有":{"docs":{},"主":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"点":{"docs":{},"击":{"docs":{},"图":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"数":{"docs":{},"量":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"和":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"列":{"docs":{},"表":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"切":{"docs":{},"换":{"docs":{},"了":{"docs":{},"租":{"docs":{},"户":{"docs":{},",":{"docs":{},"则":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"所":{"docs":{},"在":{"docs":{},"租":{"docs":{},"户":{"docs":{},"下":{"docs":{},"所":{"docs":{},"有":{"docs":{},"资":{"docs":{},"源":{"docs":{},"将":{"docs":{},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{},"切":{"docs":{},"换":{"docs":{},"的":{"docs":{},"新":{"docs":{},"租":{"docs":{},"户":{"docs":{},"下":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"志":{"docs":{},"查":{"docs":{},"看":{"docs":{},"是":{"docs":{},"分":{"docs":{},"片":{"docs":{},"的":{"docs":{},"查":{"docs":{},"看":{"docs":{},",":{"docs":{},"上":{"docs":{},"下":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"查":{"docs":{},"看":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"外":{"docs":{},"部":{"docs":{},"流":{"docs":{},"程":{"docs":{},"任":{"docs":{},"务":{"docs":{},"是":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"身":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"、":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"、":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"、":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"、":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},",":{"docs":{},"仅":{"docs":{},"是":{"docs":{},"用":{"docs":{},"到":{"docs":{},"了":{"docs":{},"他":{"docs":{},"们":{"docs":{},"的":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"全":{"docs":{},"部":{"docs":{},"服":{"docs":{},"务":{"docs":{},"都":{"docs":{},"启":{"docs":{},"动":{"docs":{},"之":{"docs":{},"后":{"docs":{},"启":{"docs":{},"动":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}},"对":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"了":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"定":{"docs":{},"义":{"docs":{},"这":{"docs":{},"种":{"docs":{},"基":{"docs":{},"准":{"docs":{},"变":{"docs":{},"量":{"docs":{},"为":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"前":{"docs":{},"可":{"docs":{},"以":{"docs":{},"参":{"docs":{},"考":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"和":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"台":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"日":{"docs":{},"志":{"docs":{},"不":{"docs":{},"能":{"docs":{},"像":{"docs":{},"查":{"docs":{},"询":{"docs":{},"本":{"docs":{},"地":{"docs":{},"文":{"docs":{},"件":{"docs":{},"那":{"docs":{},"样":{"docs":{},"。":{"docs":{},"有":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},":":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"者":{"docs":{},"”":{"docs":{},"节":{"docs":{},"点":{"docs":{},"所":{"docs":{},"以":{"docs":{},"每":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"跟":{"docs":{},"其":{"docs":{},"他":{"docs":{},"节":{"docs":{},"点":{"docs":{},"通":{"docs":{},"信":{"docs":{},"才":{"docs":{},"得":{"docs":{},"到":{"docs":{},"必":{"docs":{},"须":{"docs":{},"要":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"而":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"系":{"docs":{},"统":{"docs":{},"通":{"docs":{},"信":{"docs":{},"的":{"docs":{},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"行":{"docs":{},",":{"docs":{},"则":{"docs":{},"大":{"docs":{},"大":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"上":{"docs":{},"述":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"难":{"docs":{},"度":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"员":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"普":{"docs":{},"通":{"docs":{},"用":{"docs":{},"户":{"docs":{},"进":{"docs":{},"行":{"docs":{},"非":{"docs":{},"其":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"、":{"docs":{},"资":{"docs":{},"源":{"docs":{},"、":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"和":{"docs":{},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"函":{"docs":{},"数":{"docs":{},"进":{"docs":{},"行":{"docs":{},"授":{"docs":{},"权":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"项":{"docs":{},"目":{"docs":{},"、":{"docs":{},"资":{"docs":{},"源":{"docs":{},"、":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"和":{"docs":{},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"函":{"docs":{},"数":{"docs":{},"授":{"docs":{},"权":{"docs":{},"方":{"docs":{},"式":{"docs":{},"都":{"docs":{},"是":{"docs":{},"一":{"docs":{},"样":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"以":{"docs":{},"项":{"docs":{},"目":{"docs":{},"授":{"docs":{},"权":{"docs":{},"为":{"docs":{},"例":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},",":{"docs":{},"管":{"docs":{},"理":{"docs":{},"员":{"docs":{},"是":{"docs":{},"功":{"docs":{},"能":{"docs":{},"上":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"不":{"docs":{},"参":{"docs":{},"与":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},"管":{"docs":{},"理":{"docs":{},"员":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"执":{"docs":{},"行":{"docs":{},"具":{"docs":{},"体":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"列":{"docs":{},"表":{"docs":{},":":{"docs":{},"是":{"docs":{},"未":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"该":{"docs":{},"组":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"列":{"docs":{},"表":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"架":{"docs":{},"构":{"docs":{},"分":{"docs":{},"析":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":10}}}}}},"参":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}},"部":{"docs":{},"分":{"docs":{},"截":{"docs":{},"图":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.1}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"不":{"docs":{},"足":{"docs":{},"循":{"docs":{},"环":{"docs":{},"等":{"docs":{},"待":{"docs":{},"问":{"docs":{},"题":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"抖":{"docs":{},"动":{"docs":{},"”":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"使":{"docs":{},"得":{"docs":{},"节":{"docs":{},"点":{"docs":{},"短":{"docs":{},"时":{"docs":{},"间":{"docs":{},"内":{"docs":{},"失":{"docs":{},"去":{"docs":{},"和":{"docs":{},"z":{"docs":{},"k":{"docs":{},"的":{"docs":{},"心":{"docs":{},"跳":{"docs":{},",":{"docs":{},"从":{"docs":{},"而":{"docs":{},"发":{"docs":{},"生":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"这":{"docs":{},"种":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"是":{"docs":{},"节":{"docs":{},"点":{"docs":{},"一":{"docs":{},"旦":{"docs":{},"和":{"docs":{},"z":{"docs":{},"k":{"docs":{},"发":{"docs":{},"生":{"docs":{},"超":{"docs":{},"时":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"或":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"服":{"docs":{},"务":{"docs":{},"停":{"docs":{},"掉":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"址":{"docs":{},",":{"docs":{},"输":{"docs":{},"入":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},",":{"docs":{},"密":{"docs":{},"码":{"docs":{},"登":{"docs":{},"录":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"锁":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"流":{"docs":{},"程":{"docs":{},"算":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}},"计":{"docs":{},"算":{"docs":{},"所":{"docs":{},"有":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"总":{"docs":{},"和":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"对":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"需":{"docs":{},"要":{"docs":{},"计":{"docs":{},"算":{"docs":{},"其":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"流":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"之":{"docs":{},"前":{"docs":{},"做":{"docs":{},"预":{"docs":{},"计":{"docs":{},"算":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"是":{"docs":{},"多":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"总":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"不":{"docs":{},"太":{"docs":{},"可":{"docs":{},"能":{"docs":{},"实":{"docs":{},"时":{"docs":{},"获":{"docs":{},"取":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"滤":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"以":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"开":{"docs":{},"始":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"名":{"docs":{},"称":{"docs":{},":":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"形":{"docs":{},"成":{"docs":{},"的":{"docs":{},"子":{"docs":{},"父":{"docs":{},"流":{"docs":{},"程":{"docs":{},"循":{"docs":{},"环":{"docs":{},"等":{"docs":{},"待":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"除":{"docs":{},"非":{"docs":{},"启":{"docs":{},"动":{"docs":{},"新":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"增":{"docs":{},"加":{"docs":{},"线":{"docs":{},"程":{"docs":{},"来":{"docs":{},"打":{"docs":{},"破":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"”":{"docs":{},"僵":{"docs":{},"局":{"docs":{},"”":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"调":{"docs":{},"度":{"docs":{},"集":{"docs":{},"群":{"docs":{},"将":{"docs":{},"不":{"docs":{},"能":{"docs":{},"再":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"来":{"docs":{},"启":{"docs":{},"动":{"docs":{},"、":{"docs":{},"停":{"docs":{},"止":{"docs":{},"、":{"docs":{},"重":{"docs":{},"启":{"docs":{},"、":{"docs":{},"重":{"docs":{},"载":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"了":{"docs":{},"。":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"通":{"docs":{},"信":{"docs":{},"获":{"docs":{},"取":{"docs":{},"远":{"docs":{},"程":{"docs":{},"日":{"docs":{},"志":{"docs":{},"信":{"docs":{},"息":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}},"检":{"docs":{},"查":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"知":{"docs":{},"策":{"docs":{},"略":{"docs":{},":":{"docs":{},"都":{"docs":{},"不":{"docs":{},"发":{"docs":{},"、":{"docs":{},"成":{"docs":{},"功":{"docs":{},"发":{"docs":{},"、":{"docs":{},"失":{"docs":{},"败":{"docs":{},"发":{"docs":{},"、":{"docs":{},"成":{"docs":{},"功":{"docs":{},"或":{"docs":{},"失":{"docs":{},"败":{"docs":{},"都":{"docs":{},"发":{"docs":{},"四":{"docs":{},"种":{"docs":{},"策":{"docs":{},"略":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.005555555555555556}}}}}}}}}}}}}}}}}}}}}}}}}}}},"组":{"docs":{},":":{"docs":{},"是":{"docs":{},"通":{"docs":{},"知":{"docs":{},"用":{"docs":{},"户":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"组":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.005555555555555556}}}}}}}}}}}}}},"用":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"队":{"docs":{},"列":{"docs":{},"选":{"docs":{},"择":{"docs":{},"及":{"docs":{},"地":{"docs":{},"址":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"通":{"docs":{},"用":{"docs":{},"文":{"docs":{},"件":{"docs":{},"目":{"docs":{},"录":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"容":{"docs":{},"错":{"docs":{},"”":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"则":{"docs":{},"接":{"docs":{},"管":{"docs":{},"任":{"docs":{},"务":{"docs":{},"并":{"docs":{},"进":{"docs":{},"行":{"docs":{},"重":{"docs":{},"新":{"docs":{},"提":{"docs":{},"交":{"docs":{},"。":{"docs":{"pages/guide-architecture.html":{"ref":"pages/guide-architecture.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}},"常":{"docs":{},"量":{"docs":{},"\"":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}},"系":{"docs":{},"统":{"docs":{},"参":{"docs":{},"数":{"docs":{},"\"":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"#":{"docs":{},"\"":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"$":{"1":{"docs":{},"\"":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"docs":{}},"u":{"docs":{},"p":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"\"":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},":":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"\"":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}},"$":{"0":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}}},"docs":{},"[":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}},"h":{"docs":{},"h":{"docs":{},":":{"docs":{},"m":{"docs":{},"m":{"docs":{},":":{"docs":{},"s":{"docs":{},"s":{"docs":{},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}},"m":{"docs":{},"m":{"docs":{},"s":{"docs":{},"s":{"docs":{},"]":{"docs":{},",":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"{":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},".":{"docs":{},"b":{"docs":{},"i":{"docs":{},"z":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"}":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"}":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"}":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00709849157054126}}}}}}}}}},"{":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{},"}":{"docs":{},"/":{"docs":{},"{":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"d":{"docs":{},"}":{"docs":{},"/":{"docs":{},"{":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"d":{"docs":{},"}":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}}}}}},"(":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"u":{"docs":{},"p":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"f":{"docs":{},")":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}}},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"x":{"docs":{},"y":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"_":{"docs":{},"x":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}}}}}}}}}}}}}}},"(":{"1":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}},")":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},".":{"2":{"docs":{},".":{"1":{"docs":{},"+":{"docs":{},")":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"docs":{}}},"8":{"docs":{},"+":{"docs":{},")":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"docs":{}}},"2":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},")":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},".":{"7":{"docs":{},"+":{"docs":{},")":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},".":{"0":{"docs":{},"+":{"docs":{},")":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"docs":{}}},"docs":{}}},"3":{"docs":{},".":{"4":{"docs":{},".":{"6":{"docs":{},")":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"docs":{}}},"docs":{}}},"5":{"docs":{},".":{"5":{"docs":{},"+":{"docs":{},")":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"docs":{}}},"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"|":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"|":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"|":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},")":{"docs":{},"\"":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"后":{"docs":{},"访":{"docs":{},"问":{"docs":{},"地":{"docs":{},"址":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},"打":{"docs":{},"包":{"docs":{},"后":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"会":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"发":{"docs":{},"布":{"docs":{},"线":{"docs":{},"上":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},")":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},"版":{"docs":{},"本":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"+":{"1":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.005555555555555556}}},"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.010221465076660987}},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"/":{"4":{"0":{"4":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},"docs":{}},"docs":{}},"5":{"0":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}},"docs":{}},"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"j":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"e":{"docs":{},"y":{"docs":{},"/":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"/":{"docs":{},"m":{"docs":{},"r":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"}":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"单":{"docs":{},"独":{"docs":{},"安":{"docs":{},"装":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"2":{"docs":{},"_":{"4":{"docs":{},"t":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"(":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"静":{"docs":{},"态":{"docs":{},"页":{"docs":{},"面":{"docs":{},"存":{"docs":{},"放":{"docs":{},"目":{"docs":{},"录":{"docs":{},")":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}},"e":{"docs":{},"v":{"docs":{},"/":{"docs":{},"c":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},".":{"docs":{},"d":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}},"y":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"/":{"docs":{},"y":{"docs":{},"u":{"docs":{},"m":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"d":{"docs":{},"o":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0068143100511073255}}}}}}}}}}}}}}}}},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.019520851818988466}},">":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}},"c":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.008517887563884156}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"的":{"docs":{},"全":{"docs":{},"路":{"docs":{},"径":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"、":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"三":{"docs":{},"种":{"docs":{},"模":{"docs":{},"式":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"_":{"docs":{},"s":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"y":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},".":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"d":{"docs":{},",":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"格":{"docs":{},"式":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"]":{"docs":{},"#":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.008517887563884156}}}},"i":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"u":{"docs":{},"r":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.011535048802129548}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.006211180124223602}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.008873114463176575}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}}}}}}},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}},".":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}},"o":{"docs":{},"n":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"/":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"r":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"\"":{"docs":{},"选":{"docs":{},"项":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"路":{"docs":{},"径":{"docs":{},"。":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}},"+":{"docs":{},"+":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"c":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"d":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}},":":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"o":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}},"p":{"docs":{},"u":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"g":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"图":{"docs":{},"纵":{"docs":{},"轴":{"docs":{},"是":{"docs":{},"某":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"下":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"拓":{"docs":{},"扑":{"docs":{},"排":{"docs":{},"序":{"docs":{},",":{"docs":{},"横":{"docs":{},"轴":{"docs":{},"是":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"间":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"c":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}},"i":{"docs":{},"t":{"docs":{},"@":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},":":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"y":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"g":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"0":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"=":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}},".":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"a":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"_":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"=":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"/":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"/":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"\"":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},":":{"docs":{},"标":{"docs":{},"识":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"i":{"docs":{},"p":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{},"给":{"docs":{},"出":{"docs":{},"说":{"docs":{},"明":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},":":{"docs":{},"/":{"docs":{},"/":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"2":{"2":{"0":{"docs":{},".":{"1":{"8":{"1":{"docs":{},":":{"1":{"2":{"3":{"4":{"5":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"2":{"0":{"4":{"docs":{},":":{"1":{"2":{"3":{"4":{"5":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},":":{"8":{"8":{"8":{"8":{"docs":{},"/":{"docs":{},"#":{"docs":{},"/":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},")":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"f":{"docs":{},"l":{"docs":{},"v":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}}}}}}}},"g":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"j":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"/":{"docs":{},"v":{"8":{"docs":{},".":{"9":{"docs":{},".":{"4":{"docs":{},"/":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}}}},"d":{"docs":{},"f":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}}},"h":{"docs":{},":":{"docs":{},"m":{"docs":{},"m":{"docs":{},":":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"s":{"docs":{},"s":{"docs":{},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.007985803016858917}}}}}}}}}}}}}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}},"i":{"6":{"8":{"6":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{}},"docs":{}},"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.018739352640545145}},"l":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}},"r":{"docs":{},"m":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}}}}}},"p":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"/":{"docs":{},"主":{"docs":{},"机":{"docs":{},"名":{"docs":{},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"连":{"docs":{},"接":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},"i":{"docs":{},"p":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"的":{"docs":{},"i":{"docs":{},"p":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"的":{"docs":{},"i":{"docs":{},"p":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"i":{"docs":{},"p":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"集":{"docs":{},"群":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"s":{"docs":{},"=":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"0":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"1":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"2":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"3":{"docs":{},",":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"4":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"docs":{}}}}}},"docs":{}}}}}},"docs":{}}}}}},"docs":{}}}}}},"docs":{}}}}}}},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"、":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"包":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"对":{"docs":{},"应":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"程":{"docs":{},"序":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"\"":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},"连":{"docs":{},"接":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"以":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"形":{"docs":{},"式":{"docs":{},"填":{"docs":{},"写":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"以":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"形":{"docs":{},"式":{"docs":{},"填":{"docs":{},"写":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"以":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"形":{"docs":{},"式":{"docs":{},"填":{"docs":{},"写":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"以":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"形":{"docs":{},"式":{"docs":{},"填":{"docs":{},"写":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"以":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"形":{"docs":{},"式":{"docs":{},"填":{"docs":{},"写":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"docs":{},"p":{"docs":{},"}":{"docs":{},":":{"3":{"3":{"0":{"6":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"?":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"=":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"8":{"docs":{},"&":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"k":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"n":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.022222222222222223}},")":{"docs":{},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"/":{"2":{"4":{"docs":{},"/":{"6":{"0":{"docs":{},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"docs":{}},"docs":{}},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"docs":{}},"docs":{}},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}}}}}}},"e":{"docs":{},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.034071550255536626}},"!":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"\"":{"docs":{},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"确":{"docs":{},"认":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"服":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"常":{"docs":{},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}},"安":{"docs":{},"装":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"服":{"docs":{},"务":{"docs":{},"程":{"docs":{},"序":{"docs":{},"默":{"docs":{},"认":{"docs":{},"以":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"身":{"docs":{},"份":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"为":{"docs":{},"其":{"docs":{},"创":{"docs":{},"建":{"docs":{},"专":{"docs":{},"门":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"账":{"docs":{},"号":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"更":{"docs":{},"准":{"docs":{},"确":{"docs":{},"地":{"docs":{},"控":{"docs":{},"制":{"docs":{},"其":{"docs":{},"访":{"docs":{},"问":{"docs":{},"权":{"docs":{},"限":{"docs":{},",":{"docs":{},"增":{"docs":{},"加":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"性":{"docs":{},"、":{"docs":{},"降":{"docs":{},"低":{"docs":{},"安":{"docs":{},"全":{"docs":{},"风":{"docs":{},"险":{"docs":{},"。":{"docs":{},"如":{"docs":{},":":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},",":{"docs":{},"不":{"docs":{},"建":{"docs":{},"立":{"docs":{},"宿":{"docs":{},"主":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"也":{"docs":{},"禁":{"docs":{},"止":{"docs":{},"登":{"docs":{},"录":{"docs":{},"到":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"环":{"docs":{},"境":{"docs":{},"。":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"控":{"docs":{},"制":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"配":{"docs":{},"置":{"docs":{},"及":{"docs":{},"运":{"docs":{},"行":{"docs":{},"需":{"docs":{},"要":{"docs":{},"p":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"、":{"docs":{},"z":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"等":{"docs":{},"软":{"docs":{},"件":{"docs":{},"包":{"docs":{},"的":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"应":{"docs":{},"预":{"docs":{},"先":{"docs":{},"安":{"docs":{},"装":{"docs":{},"这":{"docs":{},"些":{"docs":{},"软":{"docs":{},"件":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"包":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},")":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"提":{"docs":{},"供":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"库":{"docs":{},"和":{"docs":{},"头":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"确":{"docs":{},"保":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"的":{"docs":{},"安":{"docs":{},"装":{"docs":{},"顺":{"docs":{},"利":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"监":{"docs":{},"听":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"在":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"中":{"docs":{},"访":{"docs":{},"问":{"docs":{},"此":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"服":{"docs":{},"务":{"docs":{},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},"页":{"docs":{},"面":{"docs":{},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}},"包":{"docs":{},"下":{"docs":{},"载":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"安":{"docs":{},"装":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"h":{"docs":{},"u":{"docs":{},"p":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},".":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"d":{"docs":{},":":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}}}}}}}}},"t":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"p":{"docs":{},"m":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.01192504258943782}}}},"u":{"docs":{},"m":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.005323868677905945}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"用":{"docs":{},"户":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"s":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"(":{"docs":{},"'":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},",":{"docs":{},"'":{"docs":{},"%":{"docs":{},"s":{"docs":{},"'":{"docs":{},"%":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},".":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"z":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"y":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},"j":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"x":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"j":{"docs":{},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"a":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"程":{"docs":{},"序":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"t":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}},".":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"=":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"%":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"%":{"docs":{},"s":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"%":{"docs":{},"s":{"docs":{},"\"":{"docs":{},"%":{"docs":{},"(":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},")":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"$":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"1":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"2":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"$":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"[":{"docs":{},"'":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"'":{"docs":{},"]":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.005323868677905945}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"。":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"f":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"=":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"s":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"\"":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"y":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.01192504258943782}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"/":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"/":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"i":{"docs":{},"v":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"e":{"docs":{},"s":{"docs":{},";":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}},"h":{"docs":{},"y":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00709849157054126}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"s":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"(":{"8":{"docs":{},".":{"2":{"docs":{},".":{"1":{"5":{"docs":{},"+":{"docs":{},")":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"e":{"docs":{},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}},"{":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}}},"r":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}},"、":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"s":{"docs":{},".":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"a":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.006211180124223602}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"o":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"v":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},")":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}},")":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"s":{"docs":{},"=":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},",":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},",":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{},",":{"docs":{},"p":{"docs":{},"y":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},",":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},",":{"docs":{},"h":{"docs":{},"q":{"docs":{},"l":{"docs":{},",":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}},"r":{"docs":{},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"i":{"docs":{},"d":{"docs":{},"s":{"docs":{},"安":{"docs":{},"装":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0068143100511073255},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"@":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"安":{"docs":{},"装":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"u":{"docs":{},"n":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"_":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"a":{"docs":{},"区":{"docs":{},"间":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},"符":{"docs":{},"合":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"条":{"docs":{},"件":{"docs":{},"的":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"成":{"docs":{},"功":{"docs":{},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"失":{"docs":{},"败":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.005323868677905945}}}}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0044365572315882874}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"=":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"=":{"docs":{},"j":{"docs":{},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},":":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"docs":{},"p":{"docs":{},"}":{"docs":{},":":{"3":{"3":{"0":{"6":{"docs":{},"/":{"docs":{},"e":{"docs":{},"t":{"docs":{},"l":{"docs":{},"?":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"=":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"e":{"docs":{},"t":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}},"b":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"的":{"docs":{},"展":{"docs":{},"示":{"docs":{},",":{"docs":{},"非":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"有":{"docs":{},"展":{"docs":{},"开":{"docs":{},"和":{"docs":{},"收":{"docs":{},"缩":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{},"右":{"docs":{},"边":{"docs":{},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"集":{"docs":{},"合":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"列":{"docs":{},"都":{"docs":{},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"一":{"docs":{},"次":{"docs":{},"调":{"docs":{},"度":{"docs":{},",":{"docs":{},"圆":{"docs":{},"点":{"docs":{},"表":{"docs":{},"示":{"docs":{},"的":{"docs":{},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"方":{"docs":{},"块":{"docs":{},"表":{"docs":{},"示":{"docs":{},"的":{"docs":{},"是":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"子":{"docs":{},"流":{"docs":{},"程":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"子":{"docs":{},"流":{"docs":{},"程":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"pages/background-2.html":{"ref":"pages/background-2.html","tf":1}}}}}}}}}}}},"\"":{"docs":{},"选":{"docs":{},"项":{"docs":{},"用":{"docs":{},"来":{"docs":{},"对":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"找":{"docs":{},"出":{"docs":{},"不":{"docs":{},"当":{"docs":{},"或":{"docs":{},"错":{"docs":{},"误":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"默":{"docs":{},"认":{"docs":{},"位":{"docs":{},"于":{"docs":{},"安":{"docs":{},"装":{"docs":{},"目":{"docs":{},"录":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"r":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},"。":{"docs":{},"若":{"docs":{},"要":{"docs":{},"检":{"docs":{},"查":{"docs":{},"位":{"docs":{},"于":{"docs":{},"其":{"docs":{},"他":{"docs":{},"位":{"docs":{},"置":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"使":{"docs":{},"用":{"docs":{},"\"":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"p":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}},"(":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},")":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},",":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"y":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.008517887563884156}},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"m":{"docs":{},"m":{"docs":{},"d":{"docs":{},"d":{"docs":{},"h":{"docs":{},"h":{"docs":{},"m":{"docs":{},"m":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{},"补":{"docs":{},"数":{"docs":{},"据":{"docs":{},"时":{"docs":{},",":{"docs":{},"该":{"docs":{},"日":{"docs":{},"期":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},",":{"docs":{},"补":{"docs":{},"数":{"docs":{},"据":{"docs":{},"时":{"docs":{},",":{"docs":{},"该":{"docs":{},"日":{"docs":{},"期":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.008517887563884156}}}},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"=":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"docs":{},"p":{"1":{"docs":{},"}":{"docs":{},":":{"8":{"0":{"8":{"8":{"docs":{},"/":{"docs":{},"w":{"docs":{},"s":{"docs":{},"/":{"docs":{},"v":{"1":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"/":{"docs":{},"%":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},".":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"s":{"docs":{},"=":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"docs":{},"p":{"1":{"docs":{},"}":{"docs":{},",":{"docs":{},"$":{"docs":{},"{":{"docs":{},"i":{"docs":{},"p":{"2":{"docs":{},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"docs":{}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"–":{"docs":{},"d":{"docs":{},"、":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}},"上":{"docs":{},"传":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},":":{"docs":{},"点":{"docs":{},"击":{"docs":{},"上":{"docs":{},"传":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"进":{"docs":{},"行":{"docs":{},"上":{"docs":{},"传":{"docs":{},",":{"docs":{},"将":{"docs":{},"文":{"docs":{},"件":{"docs":{},"拖":{"docs":{},"拽":{"docs":{},"到":{"docs":{},"上":{"docs":{},"传":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"以":{"docs":{},"上":{"docs":{},"传":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"名":{"docs":{},"称":{"docs":{},"补":{"docs":{},"全":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"小":{"docs":{},"限":{"docs":{},"制":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}},"下":{"docs":{},"载":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}},"配":{"docs":{},"置":{"docs":{},"好":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"和":{"docs":{},"编":{"docs":{},"译":{"docs":{},"好":{"docs":{},"的":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}},"面":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"查":{"docs":{},"看":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}},"为":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"a":{"docs":{},"的":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},",":{"docs":{},"t":{"docs":{},"b":{"docs":{},"为":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"b":{"docs":{},"的":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},",":{"docs":{},"t":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"到":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"为":{"docs":{},"t":{"docs":{},"b":{"docs":{},"的":{"docs":{},"周":{"docs":{},"期":{"docs":{},",":{"docs":{},"周":{"docs":{},"期":{"docs":{},"分":{"docs":{},"别":{"docs":{},"支":{"docs":{},"持":{"docs":{},"小":{"docs":{},"时":{"docs":{},"、":{"docs":{},"天":{"docs":{},"、":{"docs":{},"月":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"使":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"更":{"docs":{},"加":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"为":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"创":{"docs":{},"建":{"docs":{},"链":{"docs":{},"接":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"管":{"docs":{},"理":{"docs":{},"员":{"docs":{},"直":{"docs":{},"接":{"docs":{},"执":{"docs":{},"行":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"命":{"docs":{},"令":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"调":{"docs":{},"用":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"的":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"。":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"、":{"docs":{},"停":{"docs":{},"止":{"docs":{},"、":{"docs":{},"重":{"docs":{},"载":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},"更":{"docs":{},"加":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"编":{"docs":{},"写":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"服":{"docs":{},"务":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"h":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"工":{"docs":{},"具":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"也":{"docs":{},"更":{"docs":{},"加":{"docs":{},"符":{"docs":{},"合":{"docs":{},"r":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"系":{"docs":{},"统":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"习":{"docs":{},"惯":{"docs":{},"。":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},":":{"docs":{},"是":{"docs":{},"m":{"docs":{},"r":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"m":{"docs":{},"r":{"docs":{},"的":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},":":{"docs":{},"是":{"docs":{},"m":{"docs":{},"r":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"入":{"docs":{},"口":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"支":{"docs":{},"持":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"进":{"docs":{},"程":{"docs":{},"信":{"docs":{},"号":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"或":{"docs":{},"者":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"命":{"docs":{},"令":{"docs":{},"传":{"docs":{},"送":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"器":{"docs":{},"的":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"这":{"docs":{},"样":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}},"任":{"docs":{},"务":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"中":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"通":{"docs":{},"过":{"docs":{},"$":{"docs":{},"{":{"docs":{},"d":{"docs":{},"s":{"docs":{},"}":{"docs":{},"来":{"docs":{},"引":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"$":{"docs":{},"{":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},"来":{"docs":{},"引":{"docs":{},"用":{"docs":{},"变":{"docs":{},"量":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"或":{"docs":{},"通":{"docs":{},"过":{"docs":{},"j":{"docs":{},"d":{"docs":{},"b":{"docs":{},"c":{"docs":{},"直":{"docs":{},"接":{"docs":{},"将":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"值":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"进":{"docs":{},"去":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"分":{"docs":{},"为":{"docs":{},"水":{"docs":{},"平":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"依":{"docs":{},"赖":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}},":":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"任":{"docs":{},"务":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"讲":{"docs":{},"解":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.014814814814814815}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}},":":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"中":{"docs":{},"每":{"docs":{},"个":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"称":{"docs":{},"为":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"的":{"docs":{},",":{"docs":{},"是":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"统":{"docs":{},"计":{"docs":{},":":{"docs":{},"是":{"docs":{},"指":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"时":{"docs":{},"间":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},",":{"docs":{},"统":{"docs":{},"计":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"待":{"docs":{},"运":{"docs":{},"行":{"docs":{},"、":{"docs":{},"失":{"docs":{},"败":{"docs":{},"、":{"docs":{},"运":{"docs":{},"行":{"docs":{},"中":{"docs":{},"、":{"docs":{},"完":{"docs":{},"成":{"docs":{},"、":{"docs":{},"成":{"docs":{},"功":{"docs":{},"的":{"docs":{},"个":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"记":{"docs":{},"录":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"是":{"docs":{},"千":{"docs":{},"帆":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"稽":{"docs":{},"核":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{},"选":{"docs":{},"择":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}},"例":{"docs":{},"如":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}},"依":{"docs":{},"赖":{"docs":{},"任":{"docs":{},"务":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}},",":{"docs":{},"如":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}},"停":{"docs":{},"止":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"其":{"docs":{},"中":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},"他":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{},"支":{"docs":{},"持":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.005555555555555556}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"管":{"docs":{},"理":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}},"创":{"docs":{},"建":{"docs":{},"、":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"函":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"用":{"docs":{},"户":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"租":{"docs":{},"户":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"项":{"docs":{},"目":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}},"文":{"docs":{},"件":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"运":{"docs":{},"行":{"docs":{},"用":{"docs":{},"户":{"docs":{},"、":{"docs":{},"组":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"静":{"docs":{},"态":{"docs":{},"页":{"docs":{},"面":{"docs":{},"存":{"docs":{},"放":{"docs":{},"目":{"docs":{},"录":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"和":{"docs":{},"账":{"docs":{},"号":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}},"表":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"部":{"docs":{},"署":{"docs":{},"用":{"docs":{},"户":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}},"删":{"docs":{},"除":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"及":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"下":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"到":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},"前":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.011111111111111112}},"端":{"docs":{},"代":{"docs":{},"理":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"地":{"docs":{},"址":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},")":{"docs":{},"中":{"docs":{},"运":{"docs":{},"行":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}},"部":{"docs":{},"署":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":10}},"文":{"docs":{},"档":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"项":{"docs":{},"目":{"docs":{},"发":{"docs":{},"布":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"构":{"docs":{},"建":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"环":{"docs":{},"境":{"docs":{},"构":{"docs":{},"建":{"docs":{},"及":{"docs":{},"编":{"docs":{},"译":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}},"包":{"docs":{},"名":{"docs":{},"类":{"docs":{},"名":{"docs":{},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"全":{"docs":{},"路":{"docs":{},"径":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},":":{"docs":{},"用":{"docs":{},"来":{"docs":{},"标":{"docs":{},"注":{"docs":{},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"变":{"docs":{},"量":{"docs":{},"含":{"docs":{},"义":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}},"只":{"docs":{},"有":{"docs":{},"在":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"t":{"docs":{},"b":{"docs":{},"到":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"区":{"docs":{},"间":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},"符":{"docs":{},"合":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"条":{"docs":{},"件":{"docs":{},"的":{"docs":{},",":{"docs":{},"才":{"docs":{},"能":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"成":{"docs":{},"功":{"docs":{},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"失":{"docs":{},"败":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"员":{"docs":{},"才":{"docs":{},"有":{"docs":{},"安":{"docs":{},"全":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"安":{"docs":{},"全":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"给":{"docs":{},"管":{"docs":{},"理":{"docs":{},"员":{"docs":{},"提":{"docs":{},"供":{"docs":{},"管":{"docs":{},"理":{"docs":{},"普":{"docs":{},"通":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},"按":{"docs":{},"照":{"docs":{},"任":{"docs":{},"务":{"docs":{},"名":{"docs":{},"称":{"docs":{},"、":{"docs":{},"日":{"docs":{},"期":{"docs":{},"、":{"docs":{},"状":{"docs":{},"态":{"docs":{},"、":{"docs":{},"原":{"docs":{},"表":{"docs":{},"、":{"docs":{},"目":{"docs":{},"标":{"docs":{},"表":{"docs":{},"、":{"docs":{},"日":{"docs":{},"期":{"docs":{},"区":{"docs":{},"间":{"docs":{},"查":{"docs":{},"询":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"文":{"docs":{},"件":{"docs":{},"详":{"docs":{},"情":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}},"让":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"从":{"docs":{},"失":{"docs":{},"败":{"docs":{},"节":{"docs":{},"点":{"docs":{},"开":{"docs":{},"始":{"docs":{},"重":{"docs":{},"新":{"docs":{},"执":{"docs":{},"行":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}},"暂":{"docs":{},"停":{"docs":{},"位":{"docs":{},"置":{"docs":{},"继":{"docs":{},"续":{"docs":{},"执":{"docs":{},"行":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"转":{"docs":{},"淘":{"docs":{},"宝":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"输":{"docs":{},"入":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}},"右":{"docs":{},"上":{"docs":{},"角":{"docs":{},"图":{"docs":{},"标":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"是":{"docs":{},"下":{"docs":{},"载":{"docs":{},"日":{"docs":{},"志":{"docs":{},"、":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"日":{"docs":{},"志":{"docs":{},"和":{"docs":{},"放":{"docs":{},"大":{"docs":{},"/":{"docs":{},"缩":{"docs":{},"小":{"docs":{},"按":{"docs":{},"钮":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.011111111111111112}},"的":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},"端":{"docs":{},"部":{"docs":{},"署":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":10}}}},"说":{"docs":{},"明":{"2":{"docs":{"pages/background-2.html":{"ref":"pages/background-2.html","tf":10}}},"docs":{}}}}},"向":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},"是":{"docs":{},"从":{"docs":{},"指":{"docs":{},"定":{"docs":{},"节":{"docs":{},"点":{"docs":{},"向":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"到":{"docs":{},"后":{"docs":{},"续":{"docs":{},"节":{"docs":{},"点":{"docs":{},"不":{"docs":{},"能":{"docs":{},"继":{"docs":{},"续":{"docs":{},"执":{"docs":{},"行":{"docs":{},"为":{"docs":{},"止":{"docs":{},"。":{"docs":{},"向":{"docs":{},"前":{"docs":{},"执":{"docs":{},"行":{"docs":{},"是":{"docs":{},"从":{"docs":{},"开":{"docs":{},"始":{"docs":{},"节":{"docs":{},"点":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"区":{"docs":{},"间":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"仅":{"docs":{},"执":{"docs":{},"行":{"docs":{},"当":{"docs":{},"前":{"docs":{},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"只":{"docs":{},"执":{"docs":{},"行":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"前":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"若":{"docs":{},"干":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"、":{"docs":{},"停":{"docs":{},"止":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}},"停":{"docs":{},"止":{"docs":{},"命":{"docs":{},"令":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"所":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}},"用":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"模":{"docs":{},"块":{"docs":{},"以":{"docs":{},"支":{"docs":{},"持":{"docs":{},"状":{"docs":{},"态":{"docs":{},"统":{"docs":{},"计":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"模":{"docs":{},"块":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"停":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"告":{"docs":{},"警":{"docs":{},"组":{"docs":{},"是":{"docs":{},"告":{"docs":{},"警":{"docs":{},"用":{"docs":{},"户":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"组":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"告":{"docs":{},"警":{"docs":{},"组":{"docs":{},"来":{"docs":{},"管":{"docs":{},"理":{"docs":{},"用":{"docs":{},"户":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"周":{"docs":{},":":{"docs":{},"$":{"docs":{},"[":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"m":{"docs":{},"m":{"docs":{},"d":{"docs":{},"d":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"+":{"7":{"docs":{},"*":{"docs":{},"n":{"docs":{},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}},"docs":{}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"行":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{},"是":{"docs":{},"设":{"docs":{},"置":{"docs":{},"m":{"docs":{},"r":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"替":{"docs":{},"换":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"程":{"docs":{},"序":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"替":{"docs":{},"换":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"打":{"docs":{},"包":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{},"包":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}},"在":{"docs":{},"保":{"docs":{},"存":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"全":{"docs":{},"局":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"局":{"docs":{},"部":{"docs":{},"参":{"docs":{},"数":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"$":{"docs":{},"{":{"docs":{},"变":{"docs":{},"量":{"docs":{},"}":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"引":{"docs":{},"用":{"docs":{},"全":{"docs":{},"局":{"docs":{},"参":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"垂":{"docs":{},"直":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"基":{"docs":{},"于":{"docs":{},"定":{"docs":{},"时":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"。":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"又":{"docs":{},"分":{"docs":{},"为":{"docs":{},"自":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"和":{"docs":{},"外":{"docs":{},"部":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"备":{"docs":{},"注":{"docs":{},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"告":{"docs":{},"警":{"docs":{},"组":{"docs":{},"的":{"docs":{},"备":{"docs":{},"注":{"docs":{},"信":{"docs":{},"息":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"外":{"docs":{},"部":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"策":{"docs":{},"略":{"docs":{},"存":{"docs":{},"在":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"有":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"、":{"docs":{},"全":{"docs":{},"部":{"docs":{},"成":{"docs":{},"功":{"docs":{},"、":{"docs":{},"全":{"docs":{},"部":{"docs":{},"失":{"docs":{},"败":{"docs":{},"、":{"docs":{},"任":{"docs":{},"一":{"docs":{},"成":{"docs":{},"功":{"docs":{},"、":{"docs":{},"任":{"docs":{},"一":{"docs":{},"失":{"docs":{},"败":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"是":{"docs":{},"对":{"docs":{},"多":{"docs":{},"个":{"docs":{},"外":{"docs":{},"部":{"docs":{},"流":{"docs":{},"程":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}},"天":{"docs":{},":":{"docs":{},"$":{"docs":{},"[":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"m":{"docs":{},"m":{"docs":{},"d":{"docs":{},"d":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"+":{"docs":{},"n":{"docs":{},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"失":{"docs":{},"败":{"docs":{},"策":{"docs":{},"略":{"docs":{},":":{"docs":{},"继":{"docs":{},"续":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"并":{"docs":{},"行":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},"将":{"docs":{},"继":{"docs":{},"续":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"结":{"docs":{},"束":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"失":{"docs":{},"的":{"docs":{},"败":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"其":{"docs":{},"他":{"docs":{},"并":{"docs":{},"行":{"docs":{},"任":{"docs":{},"的":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},"将":{"docs":{},"被":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"掉":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.005555555555555556}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"试":{"docs":{},"次":{"docs":{},"数":{"docs":{},":":{"docs":{},"任":{"docs":{},"务":{"docs":{},"失":{"docs":{},"败":{"docs":{},"重":{"docs":{},"新":{"docs":{},"提":{"docs":{},"交":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"和":{"docs":{},"手":{"docs":{},"填":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.012962962962962963}}}}}}}}}}}}}}}}}}}}}}}},"间":{"docs":{},"隔":{"docs":{},":":{"docs":{},"任":{"docs":{},"务":{"docs":{},"失":{"docs":{},"败":{"docs":{},"重":{"docs":{},"新":{"docs":{},"提":{"docs":{},"交":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"间":{"docs":{},"隔":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"和":{"docs":{},"手":{"docs":{},"填":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.012962962962962963}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"流":{"docs":{},"程":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"节":{"docs":{},"点":{"docs":{},":":{"docs":{},"是":{"docs":{},"选":{"docs":{},"择":{"docs":{},"子":{"docs":{},"流":{"docs":{},"程":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},",":{"docs":{},"右":{"docs":{},"上":{"docs":{},"角":{"docs":{},"进":{"docs":{},"入":{"docs":{},"该":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"所":{"docs":{},"选":{"docs":{},"子":{"docs":{},"流":{"docs":{},"程":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"过":{"docs":{},"程":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}},"安":{"docs":{},"全":{"docs":{},"中":{"docs":{},"心":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}},"装":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627},"pages/foreground-2.html":{"ref":"pages/foreground-2.html","tf":10}},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{},"源":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"及":{"docs":{},"配":{"docs":{},"置":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"定":{"docs":{},"时":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"图":{"docs":{},"解":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},":":{"docs":{},"可":{"docs":{},"视":{"docs":{},"化":{"docs":{},"定":{"docs":{},"时":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"定":{"docs":{},"时":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"器":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"密":{"docs":{},"码":{"docs":{},":":{"docs":{},"设":{"docs":{},"置":{"docs":{},"连":{"docs":{},"接":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},"密":{"docs":{},"码":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"的":{"docs":{},"密":{"docs":{},"码":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"的":{"docs":{},"密":{"docs":{},"码":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"密":{"docs":{},"码":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{},",":{"docs":{},"调":{"docs":{},"转":{"docs":{},"到":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"查":{"docs":{},"看":{"docs":{},"的":{"docs":{},"是":{"docs":{},"所":{"docs":{},"有":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"列":{"docs":{},"表":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"语":{"docs":{"./":{"ref":"./","tf":0.1}}}},"小":{"docs":{},"时":{"docs":{},":":{"docs":{},"$":{"docs":{},"[":{"docs":{},"h":{"docs":{},"h":{"docs":{},"m":{"docs":{},"m":{"docs":{},"s":{"docs":{},"s":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"+":{"docs":{},"n":{"docs":{},"/":{"2":{"4":{"docs":{},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"下":{"docs":{},"分":{"docs":{},"为":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"、":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"和":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"三":{"docs":{},"个":{"docs":{},"功":{"docs":{},"能":{"docs":{},"模":{"docs":{},"块":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{},"称":{"docs":{},":":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"名":{"docs":{},"称":{"docs":{},"外":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"随":{"docs":{},"机":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"度":{"docs":{},"系":{"docs":{},"统":{"docs":{},"在":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"平":{"docs":{},"台":{"docs":{},"中":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"核":{"docs":{},"心":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"设":{"docs":{},"施":{"docs":{},",":{"docs":{},"是":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"开":{"docs":{},"发":{"docs":{},"必":{"docs":{},"不":{"docs":{},"可":{"docs":{},"少":{"docs":{},"的":{"docs":{},"重":{"docs":{},"要":{"docs":{},"组":{"docs":{},"成":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{},"由":{"docs":{},"于":{"docs":{},"数":{"docs":{},"据":{"docs":{},"处":{"docs":{},"理":{"docs":{},"流":{"docs":{},"程":{"docs":{},"常":{"docs":{},"常":{"docs":{},"具":{"docs":{},"有":{"docs":{},"很":{"docs":{},"长":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"链":{"docs":{},"条":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"单":{"docs":{},"机":{"docs":{},"的":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"等":{"docs":{},"单":{"docs":{},"纯":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"时":{"docs":{},"间":{"docs":{},"调":{"docs":{},"度":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"往":{"docs":{},"往":{"docs":{},"存":{"docs":{},"在":{"docs":{},"很":{"docs":{},"大":{"docs":{},"的":{"docs":{},"弊":{"docs":{},"端":{"docs":{},",":{"docs":{},"如":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"不":{"docs":{},"清":{"docs":{},"晰":{"docs":{},",":{"docs":{},"出":{"docs":{},"错":{"docs":{},"难":{"docs":{},"以":{"docs":{},"查":{"docs":{},"找":{"docs":{},"等":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{},"因":{"docs":{},"此":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"调":{"docs":{},"研":{"docs":{},"了":{"docs":{},"市":{"docs":{},"面":{"docs":{},"上":{"docs":{},"流":{"docs":{},"行":{"docs":{},"的":{"docs":{},"调":{"docs":{},"度":{"docs":{},"系":{"docs":{},"统":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"程":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"各":{"docs":{},"个":{"docs":{},"模":{"docs":{},"块":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"和":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"启":{"docs":{},"动":{"docs":{},"脚":{"docs":{},"本":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"自":{"docs":{},"动":{"docs":{},"化":{"docs":{},"部":{"docs":{},"署":{"docs":{},"、":{"docs":{},"启":{"docs":{},"动":{"docs":{},"脚":{"docs":{},"本":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"左":{"docs":{},"侧":{"docs":{},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}},"已":{"docs":{},"选":{"docs":{},"管":{"docs":{},"理":{"docs":{},"用":{"docs":{},"户":{"docs":{},":":{"docs":{},"是":{"docs":{},"已":{"docs":{},"添":{"docs":{},"加":{"docs":{},"到":{"docs":{},"该":{"docs":{},"组":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"列":{"docs":{},"表":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},":":{"docs":{},"是":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"已":{"docs":{},"授":{"docs":{},"权":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"年":{"docs":{},":":{"docs":{},"$":{"docs":{},"[":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"(":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"m":{"docs":{},"m":{"docs":{},"d":{"docs":{},"d":{"docs":{},",":{"1":{"2":{"docs":{},"*":{"docs":{},"n":{"docs":{},")":{"docs":{},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"docs":{}},"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},"时":{"docs":{},"间":{"docs":{},":":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"开":{"docs":{},"始":{"docs":{},"时":{"docs":{},"间":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"恢":{"docs":{},"复":{"docs":{},"失":{"docs":{},"败":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"暂":{"docs":{},"停":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}},"或":{"docs":{},"指":{"docs":{},"定":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}},"手":{"docs":{},"机":{"docs":{},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"手":{"docs":{},"机":{"docs":{},"号":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{},"补":{"docs":{},"数":{"docs":{},"可":{"docs":{},"以":{"docs":{},"以":{"docs":{},"串":{"docs":{},"行":{"docs":{},"执":{"docs":{},"行":{"docs":{},"或":{"docs":{},"并":{"docs":{},"行":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"串":{"docs":{},"行":{"docs":{},"执":{"docs":{},"行":{"docs":{},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"列":{"docs":{},"表":{"docs":{},"以":{"docs":{},"队":{"docs":{},"列":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"逐":{"docs":{},"个":{"docs":{},"提":{"docs":{},"交":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"并":{"docs":{},"行":{"docs":{},"执":{"docs":{},"行":{"docs":{},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"列":{"docs":{},"表":{"docs":{},"并":{"docs":{},"发":{"docs":{},"形":{"docs":{},"式":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"执":{"docs":{},"行":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"命":{"docs":{},"令":{"docs":{},":":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}},":":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"抄":{"docs":{},"送":{"docs":{},"人":{"docs":{},":":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"抄":{"docs":{},"送":{"docs":{},"人":{"docs":{},"列":{"docs":{},"表":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.005555555555555556}}}}}}}}}}}}},"拖":{"docs":{},"动":{"docs":{},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},"到":{"docs":{},"画":{"docs":{},"板":{"docs":{},"中":{"docs":{},",":{"docs":{},"双":{"docs":{},"击":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.012962962962962963}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"节":{"docs":{},"点":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"运":{"docs":{},"行":{"docs":{},"用":{"docs":{},"户":{"docs":{},"和":{"docs":{},"组":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"删":{"docs":{},"除":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}},"可":{"docs":{},"下":{"docs":{},"载":{"docs":{},"和":{"docs":{},"查":{"docs":{},"看":{"docs":{},"日":{"docs":{},"志":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}},"授":{"docs":{},"权":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"描":{"docs":{},"述":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{},"描":{"docs":{},"述":{"docs":{},"该":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.014814814814814815}}}}}}}}}}}}},":":{"docs":{},"租":{"docs":{},"户":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"信":{"docs":{},"息":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.009259259259259259}}}}}}}},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"信":{"docs":{},"息":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"代":{"docs":{},"码":{"docs":{},"中":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"变":{"docs":{},"量":{"docs":{},"名":{"docs":{},",":{"docs":{},"声":{"docs":{},"明":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{},"$":{"docs":{},"{":{"docs":{},"变":{"docs":{},"量":{"docs":{},"名":{"docs":{},"}":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"引":{"docs":{},"用":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"件":{"docs":{},"人":{"docs":{},":":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"收":{"docs":{},"件":{"docs":{},"人":{"docs":{},"列":{"docs":{},"表":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.005555555555555556}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"名":{"docs":{},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"连":{"docs":{},"接":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"名":{"docs":{},"称":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"名":{"docs":{},"称":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"名":{"docs":{},"称":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"名":{"docs":{},"称":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"预":{"docs":{},"留":{"docs":{},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"创":{"docs":{},"建":{"docs":{},"永":{"docs":{},"久":{"docs":{},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"函":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"源":{"docs":{},"中":{"docs":{},"心":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"支":{"docs":{},"持":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"、":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"、":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"及":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{},"称":{"docs":{},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.009259259259259259}}}}}}}}}}}}},":":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"支":{"docs":{},"持":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"、":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"、":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"和":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"四":{"docs":{},"中":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"过":{"docs":{},"程":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"类":{"docs":{},"型":{"docs":{},"支":{"docs":{},"持":{"docs":{},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"两":{"docs":{},"种":{"docs":{},",":{"docs":{},"选":{"docs":{},"择":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}}},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"名":{"docs":{},"称":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"格":{"docs":{},"式":{"docs":{},"支":{"docs":{},"持":{"docs":{},"以":{"docs":{},"下":{"docs":{},"几":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},":":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"、":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"、":{"docs":{},"s":{"docs":{},"h":{"docs":{},"、":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"、":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{},"、":{"docs":{},"p":{"docs":{},"y":{"docs":{},"、":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"、":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"、":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"、":{"docs":{},"h":{"docs":{},"q":{"docs":{},"l":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},":":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"和":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"需":{"docs":{},"要":{"docs":{},"上":{"docs":{},"传":{"docs":{},"到":{"docs":{},"h":{"docs":{},"d":{"docs":{},"f":{"docs":{},"s":{"docs":{},"进":{"docs":{},"行":{"docs":{},"统":{"docs":{},"一":{"docs":{},"管":{"docs":{},"理":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"详":{"docs":{},"情":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"重":{"docs":{},"命":{"docs":{},"名":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"新":{"docs":{},"建":{"docs":{},"、":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"组":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},":":{"docs":{},"是":{"docs":{},"存":{"docs":{},"储":{"docs":{},"过":{"docs":{},"程":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"称":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}},"式":{"docs":{},"来":{"docs":{},"执":{"docs":{},"行":{"docs":{},"作":{"docs":{},"业":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"部":{"docs":{},"署":{"docs":{},"用":{"docs":{},"户":{"docs":{},"需":{"docs":{},"要":{"docs":{},"有":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"常":{"docs":{},"调":{"docs":{},"度":{"docs":{},"实":{"docs":{},"例":{"docs":{},"定":{"docs":{},"时":{"docs":{},"的":{"docs":{},"定":{"docs":{},"时":{"docs":{},"时":{"docs":{},"间":{"docs":{},"前":{"docs":{},"一":{"docs":{},"天":{"docs":{},",":{"docs":{},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}},",":{"docs":{},"格":{"docs":{},"式":{"docs":{},"为":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}}}}}}}}}}}}}}},"志":{"docs":{},"查":{"docs":{},"看":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"统":{"docs":{},"一":{"docs":{},"存":{"docs":{},"放":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"文":{"docs":{},"件":{"docs":{},"夹":{"docs":{},"内":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"时":{"docs":{},"间":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},":":{"docs":{},"选":{"docs":{},"择":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"补":{"docs":{},"数":{"docs":{},"时":{"docs":{},"间":{"docs":{},"区":{"docs":{},"间":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"业":{"docs":{},"务":{"docs":{},"时":{"docs":{},"间":{"docs":{},"为":{"docs":{},"补":{"docs":{},"数":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"起":{"docs":{},"始":{"docs":{},"时":{"docs":{},"间":{"docs":{},"和":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"间":{"docs":{},"相":{"docs":{},"等":{"docs":{},",":{"docs":{},"则":{"docs":{},"为":{"docs":{},"某":{"docs":{},"一":{"docs":{},"天":{"docs":{},"的":{"docs":{},"补":{"docs":{},"数":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"为":{"docs":{},"区":{"docs":{},"间":{"docs":{},"补":{"docs":{},"数":{"docs":{},"。":{"docs":{},"关":{"docs":{},"于":{"docs":{},"系":{"docs":{},"统":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{},"系":{"docs":{},"统":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"讲":{"docs":{},"解":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"任":{"docs":{},"意":{"docs":{},"分":{"docs":{},"解":{"docs":{},"组":{"docs":{},"合":{"docs":{},"的":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"$":{"docs":{},"[":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"m":{"docs":{},"m":{"docs":{},"d":{"docs":{},"d":{"docs":{},"]":{"docs":{},",":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}},"否":{"docs":{},"更":{"docs":{},"新":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"调":{"docs":{},"度":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"当":{"docs":{},"前":{"docs":{},"调":{"docs":{},"度":{"docs":{},"支":{"docs":{},"持":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"、":{"docs":{},"子":{"docs":{},"流":{"docs":{},"程":{"docs":{},"、":{"docs":{},"存":{"docs":{},"储":{"docs":{},"过":{"docs":{},"程":{"docs":{},"、":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"、":{"docs":{},"m":{"docs":{},"r":{"docs":{},"、":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"和":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"七":{"docs":{},"种":{"docs":{},"任":{"docs":{},"务":{"docs":{},"类":{"docs":{},"型":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"暂":{"docs":{},"停":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}},"月":{"docs":{},":":{"docs":{},"$":{"docs":{},"[":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"(":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"m":{"docs":{},"m":{"docs":{},"d":{"docs":{},"d":{"docs":{},",":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"n":{"docs":{},")":{"docs":{},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"管":{"docs":{},"理":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"是":{"docs":{},"对":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"监":{"docs":{},"控":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"历":{"docs":{},"史":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"该":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"该":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"列":{"docs":{},"表":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"时":{"docs":{},"查":{"docs":{},"看":{"docs":{},"的":{"docs":{},"是":{"docs":{},"此":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"志":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"查":{"docs":{},"看":{"docs":{},"该":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"日":{"docs":{},"志":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"点":{"docs":{},"击":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}},"目":{"docs":{},"录":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"格":{"docs":{},"式":{"docs":{},"的":{"docs":{},",":{"docs":{},"$":{"docs":{},"[":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"m":{"docs":{},"m":{"docs":{},"d":{"docs":{},"d":{"docs":{},"h":{"docs":{},"h":{"docs":{},"m":{"docs":{},"m":{"docs":{},"s":{"docs":{},"s":{"docs":{},"]":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"后":{"docs":{},"继":{"docs":{},"节":{"docs":{},"点":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}},"常":{"docs":{},"编":{"docs":{},"译":{"docs":{},"完":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"目":{"docs":{},"录":{"docs":{},"生":{"docs":{},"成":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}},"水":{"docs":{},"平":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"就":{"docs":{},"是":{"docs":{},"指":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"图":{"docs":{},"的":{"docs":{},"有":{"docs":{},"向":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"前":{"docs":{},"驱":{"docs":{},",":{"docs":{},"后":{"docs":{},"继":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"列":{"docs":{},"表":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"定":{"docs":{},"时":{"docs":{},",":{"docs":{},"周":{"docs":{},"期":{"docs":{},"性":{"docs":{},"的":{"docs":{},"跑":{"docs":{},"作":{"docs":{},"业":{"docs":{},"。":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"操":{"docs":{},"作":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"状":{"docs":{},"态":{"docs":{},":":{"docs":{},"上":{"docs":{},"线":{"docs":{},"和":{"docs":{},"下":{"docs":{},"线":{"docs":{},"。":{"docs":{},"只":{"docs":{},"有":{"docs":{},"上":{"docs":{},"线":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"才":{"docs":{},"能":{"docs":{},"启":{"docs":{},"动":{"docs":{},"或":{"docs":{},"调":{"docs":{},"度":{"docs":{},",":{"docs":{},"下":{"docs":{},"线":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"用":{"docs":{},"来":{"docs":{},"编":{"docs":{},"辑":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"统":{"docs":{},"计":{"docs":{},":":{"docs":{},"是":{"docs":{},"统":{"docs":{},"计":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"及":{"docs":{},"管":{"docs":{},"理":{"docs":{},"员":{"docs":{},"授":{"docs":{},"予":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"是":{"docs":{},"可":{"docs":{},"视":{"docs":{},"化":{"docs":{},"拖":{"docs":{},"拽":{"docs":{},"成":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"的":{"docs":{},"统":{"docs":{},"称":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"静":{"docs":{},"态":{"docs":{},"的":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}},"是":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}},":":{"docs":{},"对":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"每":{"docs":{},"次":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"会":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"的":{"docs":{},",":{"docs":{},"是":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"统":{"docs":{},"计":{"docs":{},":":{"docs":{},"是":{"docs":{},"指":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"时":{"docs":{},"间":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},",":{"docs":{},"统":{"docs":{},"计":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"中":{"docs":{},"的":{"docs":{},"待":{"docs":{},"运":{"docs":{},"行":{"docs":{},"、":{"docs":{},"失":{"docs":{},"败":{"docs":{},"、":{"docs":{},"运":{"docs":{},"行":{"docs":{},"中":{"docs":{},"、":{"docs":{},"完":{"docs":{},"成":{"docs":{},"、":{"docs":{},"成":{"docs":{},"功":{"docs":{},"的":{"docs":{},"个":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}},"“":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"”":{"docs":{},"修":{"docs":{},"改":{"docs":{},"”":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"修":{"docs":{},"改":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}}}}}}}},"变":{"docs":{},"量":{"docs":{},"是":{"docs":{},"对":{"docs":{},"变":{"docs":{},"量":{"docs":{},"的":{"docs":{},"复":{"docs":{},"制":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}},"退":{"docs":{},"出":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"则":{"docs":{},"退":{"docs":{},"出":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"返":{"docs":{},"回":{"docs":{},"登":{"docs":{},"录":{"docs":{},"页":{"docs":{},"面":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"隐":{"docs":{},"藏":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"查":{"docs":{},"看":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"运":{"docs":{},"行":{"docs":{},"变":{"docs":{},"量":{"docs":{},"。":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"名":{"docs":{},"称":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"首":{"docs":{},"页":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"别":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"任":{"docs":{},"务":{"docs":{},"运":{"docs":{},"行":{"docs":{},"周":{"docs":{},"期":{"docs":{},"比":{"docs":{},"较":{"docs":{},"短":{"docs":{},"或":{"docs":{},"者":{"docs":{},"正":{"docs":{},"好":{"docs":{},"在":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"任":{"docs":{},"务":{"docs":{},"已":{"docs":{},"经":{"docs":{},"结":{"docs":{},"束":{"docs":{},"了":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"将":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"不":{"docs":{},"掉":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},",":{"docs":{},"继":{"docs":{},"而":{"docs":{},"会":{"docs":{},"把":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"状":{"docs":{},"态":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"用":{"docs":{},"户":{"docs":{},"自":{"docs":{},"己":{"docs":{},"创":{"docs":{},"建":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"权":{"docs":{},"限":{"docs":{},"。":{"docs":{},"则":{"docs":{},"项":{"docs":{},"目":{"docs":{},"列":{"docs":{},"表":{"docs":{},"和":{"docs":{},"已":{"docs":{},"选":{"docs":{},"项":{"docs":{},"目":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"不":{"docs":{},"会":{"docs":{},"体":{"docs":{},"现":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"跑":{"docs":{},"时":{"docs":{},"系":{"docs":{},"统":{"docs":{},"参":{"docs":{},"数":{"docs":{},"已":{"docs":{},"经":{"docs":{},"固":{"docs":{},"化":{"docs":{},"了":{"docs":{},",":{"docs":{},"系":{"docs":{},"统":{"docs":{},"参":{"docs":{},"数":{"docs":{},"不":{"docs":{},"会":{"docs":{},"随":{"docs":{},"着":{"docs":{},"时":{"docs":{},"间":{"docs":{},"改":{"docs":{},"变":{"docs":{},"而":{"docs":{},"改":{"docs":{},"变":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},":":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"最":{"docs":{},"终":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"称":{"docs":{},":":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{},",":{"docs":{},"唯":{"docs":{},"一":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"重":{"docs":{},"复":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},":":{"docs":{},"设":{"docs":{},"置":{"docs":{},"连":{"docs":{},"接":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"是":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"分":{"docs":{},"为":{"docs":{},"全":{"docs":{},"局":{"docs":{},"参":{"docs":{},"数":{"docs":{},"和":{"docs":{},"局":{"docs":{},"部":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{},"全":{"docs":{},"局":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"保":{"docs":{},"存":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"和":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"传":{"docs":{},"递":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"全":{"docs":{},"局":{"docs":{},"参":{"docs":{},"数":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"整":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"局":{"docs":{},"部":{"docs":{},"参":{"docs":{},"数":{"docs":{},"引":{"docs":{},"用":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"显":{"docs":{},"示":{"docs":{},"某":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"跑":{"docs":{},"过":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"及":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"模":{"docs":{},"式":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"登":{"docs":{},"录":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"点":{"docs":{},"击":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}}}}}}},"目":{"docs":{},"前":{"docs":{},"只":{"docs":{},"支":{"docs":{},"持":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},"临":{"docs":{},"时":{"docs":{},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"函":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"录":{"docs":{},"下":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"租":{"docs":{},"户":{"docs":{},"名":{"docs":{},"称":{"docs":{},":":{"docs":{},"租":{"docs":{},"户":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"是":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"x":{"docs":{},"上":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"作":{"docs":{},"业":{"docs":{},"的":{"docs":{},"提":{"docs":{},"交":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"编":{"docs":{},"码":{"docs":{},":":{"docs":{},"租":{"docs":{},"户":{"docs":{},"编":{"docs":{},"码":{"docs":{},"是":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"x":{"docs":{},"上":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},",":{"docs":{},"唯":{"docs":{},"一":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"重":{"docs":{},"复":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"设":{"docs":{},"置":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"所":{"docs":{},"属":{"docs":{},"的":{"docs":{},"租":{"docs":{},"户":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"程":{"docs":{},"序":{"docs":{},"类":{"docs":{},"型":{"docs":{},":":{"docs":{},"支":{"docs":{},"持":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"、":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"和":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"三":{"docs":{},"种":{"docs":{},"语":{"docs":{},"言":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"择":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"语":{"docs":{},"言":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"语":{"docs":{},"言":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}},"端":{"docs":{},"口":{"docs":{},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"连":{"docs":{},"接":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}},"m":{"docs":{},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"种":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"任":{"docs":{},"务":{"docs":{},"节":{"docs":{},"点":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"二":{"docs":{},"种":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"点":{"docs":{},"击":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"等":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"同":{"docs":{},"于":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}},"组":{"docs":{},"名":{"docs":{},"称":{"docs":{},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"组":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},":":{"docs":{},"支":{"docs":{},"持":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"/":{"docs":{},"短":{"docs":{},"信":{"docs":{},"两":{"docs":{},"种":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"间":{"docs":{},":":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"间":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"脚":{"docs":{},"本":{"docs":{},":":{"docs":{},"用":{"docs":{},"户":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"程":{"docs":{},"序":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"程":{"docs":{},"序":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"一":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"是":{"docs":{},"监":{"docs":{},"听":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"服":{"docs":{},"务":{"docs":{},"挂":{"docs":{},"掉":{"docs":{},"重":{"docs":{},"启":{"docs":{},"的":{"docs":{},"脚":{"docs":{},"本":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"依":{"docs":{},"赖":{"docs":{},":":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"上":{"docs":{},"一":{"docs":{},"周":{"docs":{},"期":{"docs":{},"的":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"任":{"docs":{},"务":{"docs":{},"类":{"docs":{},"型":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"同":{"docs":{},"存":{"docs":{},"储":{"docs":{},"过":{"docs":{},"程":{"docs":{},"任":{"docs":{},"务":{"docs":{},"类":{"docs":{},"型":{"docs":{},"一":{"docs":{},"样":{"docs":{},"。":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"任":{"docs":{},"务":{"docs":{},"类":{"docs":{},"型":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},"会":{"docs":{},"替":{"docs":{},"换":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"语":{"docs":{},"句":{"docs":{},"中":{"docs":{},"$":{"docs":{},"{":{"docs":{},"变":{"docs":{},"量":{"docs":{},"}":{"docs":{},",":{"docs":{},"而":{"docs":{},"存":{"docs":{},"储":{"docs":{},"过":{"docs":{},"程":{"docs":{},"是":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},"顺":{"docs":{},"序":{"docs":{},"的":{"docs":{},"给":{"docs":{},"方":{"docs":{},"法":{"docs":{},"设":{"docs":{},"置":{"docs":{},"值":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"储":{"docs":{},"过":{"docs":{},"程":{"docs":{},"的":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},"支":{"docs":{},"持":{"docs":{},"i":{"docs":{},"n":{"docs":{},"、":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"两":{"docs":{},"种":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"支":{"docs":{},"持":{"docs":{},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"、":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"、":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"、":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"、":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"、":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"、":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"、":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"九":{"docs":{},"种":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"m":{"docs":{},"r":{"docs":{},"局":{"docs":{},"部":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"会":{"docs":{},"替":{"docs":{},"换":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"中":{"docs":{},"以":{"docs":{},"$":{"docs":{},"{":{"docs":{},"变":{"docs":{},"量":{"docs":{},"}":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.005555555555555556}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"局":{"docs":{},"部":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"会":{"docs":{},"替":{"docs":{},"换":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"中":{"docs":{},"以":{"docs":{},"$":{"docs":{},"{":{"docs":{},"变":{"docs":{},"量":{"docs":{},"}":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"局":{"docs":{},"部":{"docs":{},"的":{"docs":{},"用":{"docs":{},"户":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"会":{"docs":{},"替":{"docs":{},"换":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"中":{"docs":{},"以":{"docs":{},"$":{"docs":{},"{":{"docs":{},"变":{"docs":{},"量":{"docs":{},"}":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.011111111111111112}},"名":{"docs":{},"称":{"docs":{},":":{"docs":{},"一":{"docs":{},"个":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"中":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"名":{"docs":{},"称":{"docs":{},"是":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"的":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.014814814814814815}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},":":{"docs":{},"节":{"docs":{},"点":{"docs":{},"执":{"docs":{},"行":{"docs":{},"模":{"docs":{},"式":{"docs":{},"有":{"docs":{},"三":{"docs":{},"种":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"为":{"docs":{},"向":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},"、":{"docs":{},"向":{"docs":{},"前":{"docs":{},"执":{"docs":{},"行":{"docs":{},"和":{"docs":{},"仅":{"docs":{},"执":{"docs":{},"行":{"docs":{},"当":{"docs":{},"前":{"docs":{},"节":{"docs":{},"点":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"补":{"docs":{},"数":{"docs":{},":":{"docs":{},"是":{"docs":{},"对":{"docs":{},"流":{"docs":{},"程":{"docs":{},"进":{"docs":{},"行":{"docs":{},"历":{"docs":{},"史":{"docs":{},"的":{"docs":{},"补":{"docs":{},"数":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"区":{"docs":{},"间":{"docs":{},"补":{"docs":{},"数":{"docs":{},"和":{"docs":{},"某":{"docs":{},"一":{"docs":{},"天":{"docs":{},"的":{"docs":{},"补":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"见":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"暂":{"docs":{},"停":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}},"定":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"的":{"docs":{},"安":{"docs":{},"装":{"docs":{},"目":{"docs":{},"录":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}},"资":{"docs":{},"源":{"docs":{},"中":{"docs":{},"心":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"主":{"docs":{},"要":{"docs":{},"分":{"docs":{},"为":{"docs":{},"文":{"docs":{},"件":{"docs":{},"管":{"docs":{},"理":{"docs":{},"和":{"docs":{},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"函":{"docs":{},"数":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"和":{"docs":{},"文":{"docs":{},"件":{"docs":{},"管":{"docs":{},"理":{"docs":{},"功":{"docs":{},"能":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"之":{"docs":{},"处":{"docs":{},"是":{"docs":{},"资":{"docs":{},"源":{"docs":{},"管":{"docs":{},"理":{"docs":{},"是":{"docs":{},"上":{"docs":{},"传":{"docs":{},"的":{"docs":{},"u":{"docs":{},"d":{"docs":{},"f":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"文":{"docs":{},"件":{"docs":{},"管":{"docs":{},"理":{"docs":{},"上":{"docs":{},"传":{"docs":{},"的":{"docs":{},"是":{"docs":{},"用":{"docs":{},"户":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"及":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}},"如":{"docs":{},"果":{"docs":{},"其":{"docs":{},"他":{"docs":{},"参":{"docs":{},"数":{"docs":{},"中":{"docs":{},"引":{"docs":{},"用":{"docs":{},"了":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"资":{"docs":{},"源":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{},"指":{"docs":{},"定":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"指":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"文":{"docs":{},"件":{"docs":{},"列":{"docs":{},"表":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.003703703703703704}}}}}}}}}}}}}}}}}}}}},"起":{"docs":{},"止":{"docs":{},"时":{"docs":{},"间":{"docs":{},":":{"docs":{},"选":{"docs":{},"择":{"docs":{},"该":{"docs":{},"定":{"docs":{},"时":{"docs":{},"的":{"docs":{},"有":{"docs":{},"效":{"docs":{},"时":{"docs":{},"间":{"docs":{},"范":{"docs":{},"围":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}},"时":{"docs":{},"长":{"docs":{},"(":{"docs":{},"秒":{"docs":{},")":{"docs":{},":":{"docs":{},"结":{"docs":{},"束":{"docs":{},"时":{"docs":{},"间":{"docs":{},"减":{"docs":{},"去":{"docs":{},"开":{"docs":{},"始":{"docs":{},"时":{"docs":{},"间":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}},"标":{"docs":{},"志":{"docs":{},":":{"docs":{},"标":{"docs":{},"识":{"docs":{},"这":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"正":{"docs":{},"常":{"docs":{},"调":{"docs":{},"度":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.014814814814814815}}}}}}}}}}}}}}}}}},"次":{"docs":{},"数":{"docs":{},":":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},":":{"docs":{},"包":{"docs":{},"括":{"docs":{},"启":{"docs":{},"动":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"、":{"docs":{},"从":{"docs":{},"当":{"docs":{},"前":{"docs":{},"节":{"docs":{},"点":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"、":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"被":{"docs":{},"容":{"docs":{},"错":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"流":{"docs":{},"、":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"暂":{"docs":{},"停":{"docs":{},"流":{"docs":{},"程":{"docs":{},"、":{"docs":{},"从":{"docs":{},"失":{"docs":{},"败":{"docs":{},"节":{"docs":{},"点":{"docs":{},"开":{"docs":{},"始":{"docs":{},"执":{"docs":{},"行":{"docs":{},"、":{"docs":{},"补":{"docs":{},"数":{"docs":{},"、":{"docs":{},"调":{"docs":{},"度":{"docs":{},"执":{"docs":{},"行":{"docs":{},"、":{"docs":{},"重":{"docs":{},"跑":{"docs":{},"、":{"docs":{},"暂":{"docs":{},"停":{"docs":{},"、":{"docs":{},"停":{"docs":{},"止":{"docs":{},"、":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"等":{"docs":{},"待":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"邮":{"docs":{},"箱":{"docs":{},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},",":{"docs":{},"用":{"docs":{},"来":{"docs":{},"邮":{"docs":{},"件":{"docs":{},"发":{"docs":{},"送":{"docs":{},"和":{"docs":{},"任":{"docs":{},"务":{"docs":{},"告":{"docs":{},"警":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"署":{"docs":{},"方":{"docs":{},"式":{"docs":{},":":{"docs":{},"支":{"docs":{},"持":{"docs":{},"y":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}},"文":{"docs":{},"档":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"用":{"docs":{},"户":{"docs":{},"是":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}},"配":{"docs":{},"置":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"账":{"docs":{},"号":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"重":{"docs":{},"跑":{"docs":{},"是":{"docs":{},"在":{"docs":{},"不":{"docs":{},"生":{"docs":{},"成":{"docs":{},"新":{"docs":{},"的":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"跑":{"docs":{},"任":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}},"启":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"服":{"docs":{},"务":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}},"载":{"docs":{},"配":{"docs":{},"置":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"队":{"docs":{},"列":{"docs":{},":":{"docs":{},"租":{"docs":{},"户":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"y":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"上":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"在":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"列":{"docs":{},"表":{"docs":{},":":{"docs":{},"是":{"docs":{},"该":{"docs":{},"用":{"docs":{},"户":{"docs":{},"未":{"docs":{},"授":{"docs":{},"权":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"名":{"docs":{},"称":{"docs":{},":":{"docs":{},"输":{"docs":{},"入":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}},"是":{"docs":{},"调":{"docs":{},"度":{"docs":{},"对":{"docs":{},"用":{"docs":{},"户":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"d":{"docs":{},"a":{"docs":{},"g":{"docs":{},"分":{"docs":{},"组":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"抽":{"docs":{},"象":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}},"首":{"docs":{},"页":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"其":{"docs":{},"中":{"docs":{},"包":{"docs":{},"含":{"docs":{},"四":{"docs":{},"个":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"任":{"docs":{},"务":{"docs":{},"状":{"docs":{},"态":{"docs":{},"统":{"docs":{},"计":{"docs":{},",":{"docs":{},"流":{"docs":{},"程":{"docs":{},"状":{"docs":{},"态":{"docs":{},"统":{"docs":{},"计":{"docs":{},"、":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"统":{"docs":{},"计":{"docs":{},"及":{"docs":{},"统":{"docs":{},"计":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"范":{"docs":{},"围":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"仓":{"docs":{},"库":{"docs":{},"地":{"docs":{},"址":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"拉":{"docs":{},"取":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"报":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"打":{"docs":{},"包":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"创":{"docs":{},"建":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"为":{"docs":{},"后":{"docs":{},"缀":{"docs":{},"名":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"并":{"docs":{},"输":{"docs":{},"入":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"产":{"docs":{},"环":{"docs":{},"境":{"docs":{},"配":{"docs":{},"置":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"所":{"docs":{},"在":{"docs":{},"目":{"docs":{},"录":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"编":{"docs":{},"译":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"首":{"docs":{},"页":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}},"中":{"docs":{},"的":{"docs":{},"图":{"docs":{},"表":{"docs":{},"是":{"docs":{},"没":{"docs":{},"有":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{},",":{"docs":{},"项":{"docs":{},"目":{"docs":{},"首":{"docs":{},"页":{"docs":{},"中":{"docs":{},"图":{"docs":{},"表":{"docs":{},"是":{"docs":{},"有":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"项":{"docs":{},"目":{"docs":{},"首":{"docs":{},"页":{"docs":{},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},":":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}},"是":{"docs":{},"对":{"docs":{},"所":{"docs":{},"有":{"docs":{},"项":{"docs":{},"目":{"docs":{},"在":{"docs":{},"指":{"docs":{},"定":{"docs":{},"时":{"docs":{},"间":{"docs":{},"范":{"docs":{},"围":{"docs":{},"内":{"docs":{},"的":{"docs":{},"任":{"docs":{},"务":{"docs":{},"状":{"docs":{},"态":{"docs":{},"、":{"docs":{},"流":{"docs":{},"程":{"docs":{},"状":{"docs":{},"态":{"docs":{},"和":{"docs":{},"流":{"docs":{},"程":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"统":{"docs":{},"计":{"docs":{},"。":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"统":{"docs":{},"计":{"docs":{},"的":{"docs":{},"是":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"项":{"docs":{},"目":{"docs":{},"首":{"docs":{},"页":{"docs":{},"统":{"docs":{},"计":{"docs":{},"的":{"docs":{},"是":{"docs":{},"某":{"docs":{},"一":{"docs":{},"个":{"docs":{},"项":{"docs":{},"目":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"对":{"docs":{},"于":{"docs":{},"重":{"docs":{},"跑":{"docs":{},"流":{"docs":{},"程":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"记":{"docs":{},"录":{"docs":{"pages/guide-manual.html":{"ref":"pages/guide-manual.html","tf":0.001851851851851852}}}}}}}}}}}}}},"#":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.015332197614991482},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.048802129547471165}},"!":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}}}}}}}}},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{},"=":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00709849157054126}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}}}}}}}},"以":{"docs":{},"q":{"docs":{},"q":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"别":{"docs":{},"的":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},",":{"docs":{},"请":{"docs":{},"更":{"docs":{},"改":{"docs":{},"对":{"docs":{},"应":{"docs":{},"配":{"docs":{},"置":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"请":{"docs":{},"替":{"docs":{},"换":{"docs":{},"$":{"docs":{},"{":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"}":{"docs":{},"里":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}},"&":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"&":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"*":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}},")":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}},"e":{"docs":{},":":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"l":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.008873114463176575}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}},";":{"docs":{},";":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0068143100511073255}}}},">":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"[":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"]":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"@":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.044293015332197615}}}}}}}}}}}},"%":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"]":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.007985803016858917}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"=":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"/":{"docs":{},"m":{"docs":{},"n":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"=":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"o":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}}},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"i":{"docs":{},"n":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}},"a":{"docs":{},"l":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}}}}},"o":{"docs":{},"i":{"8":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"docs":{}}}},"v":{"docs":{},"i":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314},"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}},"m":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}}}},"u":{"docs":{},"e":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00354924578527063}}}}}},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0034071550255536627}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}},"f":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"=":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"/":{"docs":{},"x":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}}},"{":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0068143100511073255}},"d":{"docs":{},"b":{"docs":{},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"x":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.00709849157054126}}}}}}}}}}},"|":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.005110732538330494}}}}}},"—":{"docs":{},"—":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}}}},"}":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0068143100511073255}}},"~":{"docs":{},"]":{"docs":{},"#":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.030664395229982964}}}}},"与":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"的":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"类":{"docs":{},"似":{"docs":{},",":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"的":{"docs":{},"主":{"docs":{},"程":{"docs":{},"序":{"docs":{},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"\"":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},"号":{"docs":{},"去":{"docs":{},"掉":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"当":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"进":{"docs":{},"程":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},",":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"号":{"docs":{},"默":{"docs":{},"认":{"docs":{},"存":{"docs":{},"放":{"docs":{},"在":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"若":{"docs":{},"改":{"docs":{},"用":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"命":{"docs":{},"令":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"的":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"号":{"docs":{},"来":{"docs":{},"进":{"docs":{},"行":{"docs":{},"控":{"docs":{},"制":{"docs":{},"。":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"报":{"docs":{},"错":{"docs":{},"的":{"docs":{},"话":{"docs":{},":":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"拉":{"docs":{},"取":{"docs":{},"前":{"docs":{},"端":{"docs":{},"项":{"docs":{},"目":{"docs":{},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"地":{"docs":{},"址":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"更":{"docs":{},"改":{"docs":{},"上":{"docs":{},"传":{"docs":{},"大":{"docs":{},"小":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"杀":{"docs":{},"死":{"docs":{},"进":{"docs":{},"程":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"直":{"docs":{},"接":{"docs":{},"运":{"docs":{},"行":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"即":{"docs":{},"可":{"docs":{},"启":{"docs":{},"动":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"将":{"docs":{},"使":{"docs":{},"用":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"若":{"docs":{},"要":{"docs":{},"改":{"docs":{},"用":{"docs":{},"其":{"docs":{},"他":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"需":{"docs":{},"添":{"docs":{},"加":{"docs":{},"\"":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},"前":{"docs":{},"配":{"docs":{},"置":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}},"安":{"docs":{},"装":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}},"辑":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"法":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"访":{"docs":{},"问":{"docs":{},"地":{"docs":{},"址":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"端":{"docs":{},"口":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"进":{"docs":{},"入":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"退":{"docs":{},"出":{"docs":{},"进":{"docs":{},"程":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}},"速":{"docs":{},"度":{"docs":{},"非":{"docs":{},"常":{"docs":{},"慢":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}},"配":{"docs":{},"置":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"信":{"docs":{},"息":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"文":{"docs":{},"件":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}},"地":{"docs":{},"址":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"路":{"docs":{},"径":{"docs":{},"\"":{"docs":{},"选":{"docs":{},"项":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"路":{"docs":{},"径":{"docs":{},"。":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"若":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"中":{"docs":{},"已":{"docs":{},"安":{"docs":{},"装":{"docs":{},"有":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"d":{"docs":{},"等":{"docs":{},"其":{"docs":{},"他":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"服":{"docs":{},"务":{"docs":{},"软":{"docs":{},"件":{"docs":{},",":{"docs":{},"应":{"docs":{},"采":{"docs":{},"取":{"docs":{},"措":{"docs":{},"施":{"docs":{},"(":{"docs":{},"修":{"docs":{},"改":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"停":{"docs":{},"用":{"docs":{},"或":{"docs":{},"卸":{"docs":{},"载":{"docs":{},")":{"docs":{},"避":{"docs":{},"免":{"docs":{},"部":{"docs":{},"突":{"docs":{},"。":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"告":{"docs":{},"警":{"docs":{},"数":{"docs":{},"据":{"docs":{},"源":{"docs":{},"信":{"docs":{},"息":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"邮":{"docs":{},"件":{"docs":{},"告":{"docs":{},"警":{"docs":{},"信":{"docs":{},"息":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}},"释":{"docs":{},"放":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{},"源":{"docs":{},"码":{"docs":{},"包":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}},"错":{"docs":{},"误":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}},",":{"docs":{},"请":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"后":{"docs":{},"再":{"docs":{},"次":{"docs":{},"执":{"docs":{},"行":{"docs":{},"以":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}},"静":{"docs":{},"态":{"docs":{},"文":{"docs":{},"件":{"docs":{},"目":{"docs":{},"录":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}},"!":{"docs":{},"!":{"docs":{},"!":{"docs":{},"这":{"docs":{},"里":{"docs":{},"特":{"docs":{},"别":{"docs":{},"注":{"docs":{},"意":{"docs":{"pages/deploy-foreground.html":{"ref":"pages/deploy-foreground.html","tf":0.0017035775127768314}}}}}}}}}}},"%":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"{":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.007985803016858917}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"{":{"9":{"6":{"docs":{},"}":{"docs":{},":":{"docs":{},"[":{"docs":{},"%":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"]":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.007985803016858917}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"%":{"docs":{},"n":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.007985803016858917}}}}}}}},"'":{"docs":{},"{":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"}":{"docs":{},"'":{"docs":{},";":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"}":{"docs":{},"'":{"docs":{},"@":{"docs":{},"'":{"docs":{},"%":{"docs":{},"'":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}},"​":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0026619343389529724}}},"├":{"docs":{},"─":{"docs":{},"─":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}},"关":{"docs":{},"闭":{"docs":{},"所":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"安":{"docs":{},"装":{"docs":{},"目":{"docs":{},"录":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}},"因":{"docs":{},"为":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}},"复":{"docs":{},"制":{"docs":{},"到":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},"并":{"docs":{},"且":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"释":{"docs":{},"掉":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}},"和":{"docs":{},"a":{"docs":{},"z":{"docs":{},"k":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"n":{"docs":{},"、":{"docs":{},"a":{"docs":{},"i":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"做":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"对":{"docs":{},"比":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"装":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}},"权":{"docs":{},"限":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"是":{"docs":{},"免":{"docs":{},"密":{"docs":{},"的":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"。":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"配":{"docs":{},"置":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}}}}}},"监":{"docs":{},"控":{"docs":{},"服":{"docs":{},"务":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"说":{"docs":{},"明":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},":":{"docs":{},"主":{"docs":{},"机":{"docs":{},"器":{"docs":{},"需":{"docs":{},"要":{"docs":{},"能":{"docs":{},"免":{"docs":{},"密":{"docs":{},"s":{"docs":{},"s":{"docs":{},"h":{"docs":{},"登":{"docs":{},"录":{"docs":{},"到":{"docs":{},"其":{"docs":{},"它":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"e":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"位":{"docs":{},"于":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}},"账":{"docs":{},"号":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}},"软":{"docs":{},"件":{"docs":{},"要":{"docs":{},"求":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"选":{"docs":{},"装":{"docs":{},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"存":{"docs":{},"储":{"docs":{},"过":{"docs":{},"程":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"任":{"docs":{},"务":{"docs":{},"提":{"docs":{},"交":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"跑":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"任":{"docs":{},"务":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"(":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"是":{"docs":{},"以":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}},":":{"docs":{},"必":{"docs":{},"装":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.001774622892635315}}}},"选":{"docs":{},"装":{"docs":{},",":{"docs":{"pages/deploy-background.html":{"ref":"pages/deploy-background.html","tf":0.0008873114463176575}}}}}},"感":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},"的":{"docs":{},"伙":{"docs":{},"伴":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"加":{"docs":{},"我":{"docs":{},"们":{"docs":{},"微":{"docs":{},"信":{"docs":{},":":{"5":{"1":{"0":{"5":{"7":{"0":{"3":{"6":{"7":{"docs":{},",":{"docs":{},"一":{"docs":{},"起":{"docs":{},"加":{"docs":{},"入":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"吧":{"docs":{},",":{"docs":{},"多":{"docs":{},"多":{"docs":{},"交":{"docs":{},"流":{"docs":{},"!":{"docs":{"./":{"ref":"./","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"简":{"docs":{},"介":{"docs":{"./":{"ref":"./","tf":0.1}}}},"背":{"docs":{},"景":{"docs":{"./":{"ref":"./","tf":0.1}}}},"鉴":{"docs":{},"于":{"docs":{},"易":{"docs":{},"观":{"docs":{},"日":{"docs":{},"处":{"docs":{},"理":{"docs":{},"数":{"docs":{},"据":{"3":{"0":{"docs":{},"t":{"docs":{},"b":{"docs":{},",":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"e":{"docs":{},"t":{"docs":{},"l":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"开":{"docs":{},"发":{"docs":{},"了":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}},"length":5644},"corpusTokens":["\"","\"#\"","\"$1\"","\"false\"","\"mapper.pi","\"redis\"","\"upgrade\";","\"usage:","\"zookeeper\"","\"zookeeper\",","\"常量\"。","\"系统参数\"","#","#!/bin/bash","#============================================================================","#access_log","#alert","#charset","#default","#dev_host","#error_pag","#eschedul","#if","#pleas","#post","#redi","#resource.view.suffix","#resourcemanag","#self","#task","#zookeep","#以qq邮箱为例,如果是别的邮箱,请更改对应配置","#注意:请替换${xxx}里的内容","$(cat","$0","$[...]","$[hh:mm:ss]","$[hhmmss],","$[yyyi","$host;","$http_upgrade;","$pidf)","$prog","$proxy_add_x_forwarded_for;","$remote_addr;","${log.base}/eschedul","${log.base}/{processdefinitionid}/{processinstanceid}/{taskinstanceid}.log","${password}","${system.biz.curdate}","${system.biz.date}","${system.datetime}","${username}","${xxx}","%date{yyyi","%logger{96}:[%line]","%msg%n","&","&&","'{password}';","'{user}'@'%'","'{user}'@'localhost'","(1","(1)","(1.2.1+)","(1.8+)","(2","(2)","(2.7+)","(2.7.0+)","(3.4.6)","(5.5+)","(start|stop|restart|reload)\"","(启动后访问地址","(打包后根目录会创建一个名为dist文件夹,用于发布线上nginx)","(注意版本","*","*)","+","+1","+x",",","...","./bin/arklift","./configur","./configure:","./deploy/start_all.sh","./deploy/stop_all.sh",".escheduler_env.sh","/","//单独安装node","/404.html;","/50x.html","/50x.html;","/data2_4t/escheduler_front/escheduler/serv","/data2_4t/escheduler_front/escheduler/server;","/data2_4t/escheduler_front/escheduler/server(服务器静态页面存放目录)","/dev/cdrom","/eschedul","/etc/init.d/nginx","/etc/nginx/conf.d/default.conf","/etc/nginx/nginx.conf","/etc/sudo","/etc/yum.repos.d/yum.repo","/journey/out/mr/${currenttimemillis}","/journey/words.txt","/mnt/","/sbin/nologin","/usr/local/bin/","/usr/local/bin/nginx","/usr/local/nginx","/usr/local/nginx/conf/nginx.conf","/usr/local/nginx/sbin/nginx","/usr/share/nginx/html;","/usr/src/","/usr/src/nginx","/var/log/nginx/host.access.log","0","0.0.0.0:*","0.0.0.0:80","07:24","0:关闭","1","1\"","1)","1.","1.10.1.tar.gz","1.1;","1.6.2.tar.gz","1.6.2/","1.6.2]#","1.使用hiveserver2方式连接","1.创建","1.流程实例列表","1.点击指定人的授权按钮,如下图:","1.编辑/保存","1.输入http://192.168.220.204:8888/view/login/index.html","1/10,","1/6,","10","10.查看流程实例运行变量","1024m","11.查看历史任务实例","12","12*n)]","12.查看日志","12s;","192.168.220.188,192.168.220.189","192.168.220.188:2181,192.168.220.189:2181,192.168.220.190:2181","192.168.6.132","1:关闭","1是两个参数,第一个参数是mapper.py,第二个参数是1","2","2)","2.","2.6.32","2.使用hiveserver2","2.创建","2.启动","2.登录之后每个页面的右上角都有用户的身份标识。点击下拉箭头包含用户信息和退出两个按钮","2.编辑/保存","2.选中项目按钮,进行项目授权","20","200mb","2345","25","27","29","2:启用","2>&1","3","3)","3.","3.创建","3.定时","3.重跑","30s;","3:启用","4.上线/下线","4.创建","4.恢复失败","404","431.el6.i686","4:启用","4s;","5","5.停止","5.定时管理","500","5000","502","503","504","5:启用","6.指定节点启动","6.暂停","60000","64mb","6810/nginx:","6:关闭","7*n]","7.treeview","7.恢复暂停","8","8.9.4)","8.删除","8888;#","9.gantt","99",":",":80",";;","=","=>",">","[%level]","[base]","[root@cento","[root@nginx","add","alert","alert.%d{yyyi","alert.log","alert.properti","alert.type=email","alert/data_source.properti","alert_logback.xml","alerts=ark3","alert服务所在机器,1个","alert:告警微服务","all=(all)","an","analysi","anpt","api_bas","api和ui分离交互","application.properti","archives、","archives格式","assembly:assembl","auto","avg","a流程定义某任务依赖b流程定义某任务,ta","base","base_path","base_path=/opt/soft/program","baseurl=file:///mnt/packag","befor","bin","build","c","c\"选项来指定路径。","c++","case","cc","cd","charact","check","chkconfig","chkconfig:","chmod","choos","chown","class","class的全路径","clean","client_max_body_s","client、和local三种模式","close","closed,unit","cluster.","cluster、yarn","cnpm","collat","com.mysql.jdbc.driv","commit","common","common/common.properti","common/hadoop/hadoop.properti","compil","conf","conf]#","config","configur","configuration,","conf格式","connect","content","control","core","count","cpu","creat","current","d","d3","daemon.sh","dag","dao","dao/data_source.properti","dao数据源配置","data","data.basedir.path=/xxx/xxx","data.download.basedir.path=/xxx/xxx","data.store2hdfs.basepath=/eschedul","databas","datasourc","dd","dd],","dd_hh}.%i.log","default","description:","devel","develop","development.state=fals","dir,","dirctori","directori","directory.","dmaven.test.skip=tru","download.","driver内核数:可以设置driver内核数及内存数","ds为全局参数,引用的是系统参数。","dump","easyschedul","easyscheduler中scheduler线程分布式锁实现流程图:","easyscheduler使用zookeeper分布式锁来实现同一时刻只有一台master执行scheduler,或者只有一台worker执行任务的提交。","easyscheduler大数据调度系统架构分析","easyscheduler容错设计依赖于zookeeper的watcher机制,实现原理如图:","easyscheduler是易观研发的大数据分布式工作流调度系统。主要解决数据研发etl错综复杂的依赖关系,而不能直观监控任务健康状态等问题。easyscheduler通过可视化拖拽任务节点的方式形成dag(有向无环图)流程图,在运行过程中可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及kill任务、任务运行历史查看等等操作。","easyscheduler由在工作流调度方面工作多年的几位小伙伴研发而成,致力于成为大数据平台的中流砥柱,使调度变得更加容易,更可以从其中文名“易调度”看出我们的初衷,如果你对目前市面上的调度不够满意,非常欢迎试用易调度,欢迎大家加入进来,提出需求,也欢迎贡献代码,","easyscheduler的去中心化是master/worker注册到zookeeper中,实现master集群和worker集群无中心,并使用zookeeper分布式锁来选举其中的一台master或worker为“管理者”来执行任务。","easyscheduler简介","easyscheduler设计围绕四个服务展开,ui、web、server和alert。","echo","eg.","elink","email/sm","enabl","end","enterpris","env","epel","error","error:","error_pag","es6","esac","eschedul","escheduler.*","escheduler.env.path=/xxx/xxx/.escheduler_env.sh","escheduler.env.py=/xxx/xxx/escheduler_env.pi","escheduler.queue.impl=redis,","escheduler.queue.impl=zookeep","escheduler:eschedul","escheduler_env.pi","escheduler项目前端技术栈","escheduler项目目录并执行","execut","executor数量:可以设置executor数量、executor内存数和executor内核数","exist","exit","export","failov","fals","file","fileappender实现如下:","files、","flag","flush","follow","forward","found","free","frontend","fs.defaultfs=hdfs://${cluster_iporname}:8020","g","g.","gantt图纵轴是某个流程实例下的任务实例的拓扑排序,横轴是任务实例的运行时间","gcc","git@git.analysys.cn:analysys_changsha/escheduler.git","gpgcheck=0","grant","group=eschedul","h","ha","hadoop","hadoop_conf_dir=/opt/soft/hadoop/etc/hadoop","hadoop_home=\"/opt/soft/hadoop\"","hadoop_home=/opt/soft/hadoop","hdf","heartbeat","help给出说明","hh:mm:ss.sss}","hive","hive_home=/opt/soft/h","host","host:标识流程实例调度的机器ip","http","http://192.168.220.181:12345;","http://192.168.220.204:12345","http://localhost","http://localhost:8888/#/","http://localhost:8888/#/)","http://nginx.org/download/nginx","http_flv_modul","http_gzip_static_modul","http_ssl_modul","http_stub_status_modul","https://nodejs.org/download/release/v8.9.4/","hup","i686","identifi","idl","ignor","implementation,","import","index","index.html","index.html;","info","inform","input","instal","install_config","interv","ip","ip/主机名:输入连接hive的ip","ip/主机名:输入连接mysql的ip","ip/主机名:输入连接postgresql的ip","ip/主机名:输入连接spark的ip","ip/主机名:输入连接zookeeper的集群","ips=ark0,ark1,ark2,ark3,ark4","iptabl","jars、","jar包","jar,用于对应任务的运行。","java_home=\"/opt/soft/java\"","java_home=/opt/soft/java","java程序","jdbc:mysql://${ip}:3306/escheduler?characterencoding=utf8&usessl=fals","jdbc连接参数:用于hive连接的参数设置,以json形式填写","jdbc连接参数:用于mysql连接的参数设置,以json形式填写","jdbc连接参数:用于postgresql连接的参数设置,以json形式填写","jdbc连接参数:用于spark连接的参数设置,以json形式填写","jdbc连接参数:用于zookeeper连接的参数设置,以json形式填写","jdk","jobstor","jsplumb","kill","killal","koi8","larger","less","lib","libjars、","limit","linux","list","listen","ll","ln","load,","localhost;","locat","lock","lodash","logback和grpc实现日志访问","logger","logs/","lrwxrwxrwx","m","mail","mail.passwd=xxxxxxx","mail.protocol=smtp","mail.sender=xxxxxx@qq.com","mail.server.host=smtp.exmail.qq.com","mail.server.port=25","main","main;","make","manual","mapper","mapper.pi","mapper、","master","master.%d{yyyi","master.exec.task.number=20","master.exec.threads=100","master.heartbeat.interval=8","master.log","master.max.cpuload.avg=10","master.properti","master.reserved.memory=1","master.task.commit.interval=100","master.task.commit.retrytimes=5","master_logback.xml","masters=ark0,ark1","master容错完成之后则重新由easyscheduler中scheduler线程调度,遍历","master容错流程图:","master日志文件","master服务所在机器,>=1个","master的角色主要负责任务分发并监督slave的健康状态,可以动态的将任务均衡到slave上,以致slave节点不至于“忙死”或”闲死”的状态。","master监控其他master和worker的目录,如果监听到remove事件,则会根据具体的业务逻辑进行流程实例容错或者任务实例容错。","master配置文件","max","memori","memory,","millisecond","min","minimum","mkdir","mm","monitor_server.pi","mount","mr","mvn","myd","mysql","mysql>","n","n)]","n/24/60]","n/24]","n]","name=com.mysql.jdbc.driv","name=redhat","namenod","need","netstat","nginx","nginx!","nginx!\"),可以确认nginx服务是否正常运行。","nginx:","nginx安装","nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限,增加灵活性、降低安全风险。如:创建一个名为nginx的用户,不建立宿主目录,也禁止登录到shell环境。","nginx的运行控制","nginx的配置及运行需要pcre、zlib等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保nginx的安装顺利完成。","nginx程序的监听状态,或者在浏览器中访问此web服务(默认页面将显示\"welcom","node","node包下载","node安装","nohup","nohup.out","nopasswd:","note","npm","num","number","ok","open","openssl","org.quartz.datasource.myds.driv","org.quartz.datasource.myds.maxconnect","org.quartz.datasource.myds.password","org.quartz.datasource.myds.url","org.quartz.datasource.myds.us","org.quartz.datasource.myds.validationqueri","org.quartz.impl.jdbcjobstore.jobstoretx","org.quartz.impl.jdbcjobstore.stdjdbcdeleg","org.quartz.jobstore.class","org.quartz.jobstore.clustercheckininterv","org.quartz.jobstore.datasourc","org.quartz.jobstore.driverdelegateclass","org.quartz.jobstore.isclust","org.quartz.jobstore.misfirethreshold","org.quartz.jobstore.tableprefix","org.quartz.jobstore.useproperti","org.quartz.scheduler.instanceid","org.quartz.scheduler.instancenam","org.quartz.scheduler.makeschedulerthreaddaemon","org.quartz.simpl.simplethreadpool","org.quartz.threadpool.class","org.quartz.threadpool.makethreadsdaemon","org.quartz.threadpool.threadcount","org.quartz.threadpool.threadprior","os","os.putenv('path','%s'%path)","output","output格式,这里可以设置用户自定义参数的输入,比如:","packag","page","parallel","path","path,","path.","path=\"%s/bin:%s/bin:%s/bin:%s\"%(hadoop_home,java_home,python_home,path)","path=$hadoop_home/bin:$spark_home1/bin:$spark_home2/bin:$python_home/bin:$java_home/bin:$hive_home/bin:$path","path=/escheduler/","path=os.environ['path']","pcre","perm","permiss","permissions。\"/escheduler\"","physic","pidf=\"/usr/local/nginx/logs/nginx.pid\"","pleas","port","post","postgresql(8.2.15+)","prefix","prefix=/usr/local/nginx","privileg","privileges;","process","process.exec.basepath=/xxx/xxx","prog=\"/usr/local/nginx/sbin/nginx\"","properti","proxy_connect_timeout","proxy_http_vers","proxy_pass","proxy_read_timeout","proxy_send_timeout","proxy_set_head","pscach","pscache,","pscache,set","python","python_home=\"/opt/soft/python\"","python_home=/opt/soft/python","python任务","python程序","p{password}","qrtz_","qualiti","quartz.properti","queue","queue中是否已经存在,如果存在则同样监控任务实例的状态,如果不存在则重新提交任务实例。","quit","r","r;","read","real","recommend","record","redi","redirect","redis.","reduc","reducer.pi","reducer、","registry=https://registry.npm.taobao.org","reids安装","releas","relev","reload)","remote_addr","reousrcemanag","replac","request","requiretti","reserv","resourc","resource.view.suffixs=txt,log,sh,conf,cfg,py,java,sql,hql,xml","restart","restart)","retri","root","root@nginx","root安装","run","run_config","s","sass","sass依赖","schedul","scheduler线程一旦发现任务实例为”","scheduler线程在获取command的时候是fifo的方式执行的。","scheduler调度及分布式任务执行引擎","script","second","select","self","server","server.%d{yyyi","server.context","server.log","server.max","server.port=12345","server.session.timeout=7200","server_nam","servic","session","set","setenforc","sh","shell任务","shell节点","singl","size","size=1024mb","size=5000000","snapshot","snapshot.tar.gz","snapshot/","snapshot/conf","snapshot/script/init_deploy_user.sh","snapshot/script/init_hdfs.sh","snapshot/script/init_install_path.sh","snapshot/sql/有两个sql创建表文件:escheduler.sql和quartz.sql","sourc","spark","spark(1.x,2.x)","spark_home1=/opt/soft/spark1","spark_home2=/opt/soft/spark2","specifi","spring","spring.datasource.defaultautocommit=tru","spring.datasource.driv","spring.datasource.initialsize=5","spring.datasource.maxactive=20","spring.datasource.maxpoolpreparedstatementperconnectionsize=20","spring.datasource.maxwait=60000","spring.datasource.minevictableidletimemillis=300000","spring.datasource.minidle=5","spring.datasource.password=${password}","spring.datasource.poolpreparedstatements=fals","spring.datasource.poolpreparedstatements=tru","spring.datasource.testonborrow=tru","spring.datasource.testonreturn=fals","spring.datasource.testwhileidle=tru","spring.datasource.timebetweenevictionrunsmillis=60000","spring.datasource.type=com.alibaba.druid.pool.druiddatasourc","spring.datasource.url=jdbc:mysql://${ip}:3306/escheduler?characterencoding=utf","spring.datasource.username=${username}","spring.datasource.validationquery=select","spring.datasource.validationquerytimeout=3","spring.http.multipart.max","spring.redis.host=${redis_ip}","spring.redis.maxidle=1000","spring.redis.maxtotal=10000","spring.redis.port=6379","sql","sql参数:输入参数格式为key1=value1;key2=value2…","sql类型:支持查询和非查询两种,查询是select类型的查询,是有结果集返回的,可以指定邮件通知为表格、附件或表格附件三种模板。非查询是没有结果集返回的,是针对update、delete、insert三种类型的操作","sql语句:sql语句","start","start)","state?","static","statu","stop","stop)","store","submit","success","sudo","supplement","sure","surviv","syntax","system","systemctl","t","t\"选项用来对配置文件进行检查,以便找出不当或错误的配置。配置文件nginx.conf默认位于安装目录/usr/local/nginx/conf/目录中。若要检查位于其他位置的配置文件,可使用\"","t_escheduler_queu","tar","target/eschedul","task","task.record.datasource.password=xxxxx","task.record.datasource.url=jdbc:mysql://${ip}:3306/etl?characterencoding=utf","task.record.datasource.username=etl","task.record.flag=fals","tasklogfil","ta区间范围内符合任务实例依赖条件的,才能依赖成功。否则依赖失败","tb","tcp","test","thread","threadpool","time","time(milliseconds)","timeout","time,unit","trailingend","tree的展示,非叶子节点有展开和收缩的功能。右边是流程实例的集合,每一列都是流程定义的一次调度,圆点表示的是流程实例的状态,方块表示的是任务实例的状态。如果是子流程,可以通过任务实例跳转到相应的子流程","true","type","u","udf函数名称:输入udf函数时的名称","udf函数管理:对用户创建的udf进行管理","udf函数:对于hive类型的数据源,可以引用资源中心中创建的udf函数,其他类型的数据源暂不支持udf函数","udf管理","udf资源:设置创建的udf对应的资源文件","ui","unit","unsaf","upgrad","upload","us","use.","user","user=eschedul","useradd","user}","user和—group","utf","utf8","utf8_general_ci;","valu","vi","vim","vue","wait","web","webserver=ark1","webserver_logback.xml","web日志文件","web服务所在机器,1个","web配置文件","web:使用springboot提供rest","welcom","wget","work.","worker","worker.%d{yyyi","worker.exec.threads=100","worker.fetch.task.num","worker.heartbeat.interval=8","worker.log","worker.max.cpuload.avg=10","worker.properti","worker.reserved.memory=1","worker_logback.xml","workers=ark2,ark3,ark4","worker容错流程图:","worker日志文件","worker服务所在机器,>=1个","worker的角色主要负责任务的执行工作并维护和master的心跳,以便master可以分配任务给slave。","worker都是以","worker配置文件","write","x","x_real_ipp","xf","xl","xls.file.path=/opt/xl","y","yarn.application.status.address=http://${ip1}:8088/ws/v1/cluster/apps/%","yarn.resourcemanager.ha.rm.ids=${ip1},${ip2}","yum","yyyymmddhhmmss,补数据时,该日期","yyyymmdd,补数据时,该日期","zilb","zookeep","zookeeper.connection.timeout=300","zookeeper.escheduler.lock.master.failover=/escheduler/lock/failover/mast","zookeeper.escheduler.lock.master=/escheduler/lock/mast","zookeeper.escheduler.lock.worker.failover=/escheduler/lock/failover/work","zookeeper.escheduler.lock.worker=/escheduler/lock/work","zookeeper.escheduler.master=/escheduler/mast","zookeeper.escheduler.root=/eschedul","zookeeper.escheduler.worker=/escheduler/work","zookeeper.properti","zookeeper.quorum=${ip1}:2181,${ip2}:2181,${ip3}:2181","zookeeper.retry.maxtime=5","zookeeper.retry.sleep=1000","zookeeper.session.timeout=300","zookeeper方式连接","{","{db}","{host}","{linux","{user}","{version}","|grep","|——","}","~]#","​","–d、","–input","├──","一个流程定义可以添加1个定时,定时管理是对一个流程定义上的定时的修改,只有上线的定时才是有效的定时","一旦master出现了问题,则群龙无首,整个集群就崩溃。为了解决这个问题,大多数master/slave架构模式都采用了主备master的设计方案,可以是热备或者冷备,也可以是自动切换或手动切换,而且越来越多的新系统都开始具备自动选举切换master的能力,以提升系统的可用性。","一行","一键启停脚本","上传文件","上传文件大小限制","上传文件:点击上传按钮进行上传,将文件拖拽到上传区域,文件名会自动以上传的文件名称补全","下载文件","下配置好的conf文件夹和编译好的eschedul","下面","与apache的主程序httpd类似,nginx的主程序也提供了\"","两种方式查看任务实例:","中心化思想","中心化思想设计存在的问题:","中心化的设计理念比较简单,分布式集群中的节点按照角色分工,大体上分为两种角色:","中点击右上角下载按钮下载文件,或者在文件列表后的下载按钮下载文件","中设置","为了使nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行nginx命令就可以调用nginx的主程序。","为了使nginx服务的启动、停止、重载等操作更加方便,可以编写nginx服务脚本,并使用chkconfig和service工具来进行管理,也更加符合rhel系统的管理习惯。","为流程定义a的定时器,tb为流程定义b的定时器,tbstart到tbend为tb的周期,周期分别支持小时、天、月","主jar包:是mr的jar包","主jar包:是spark的jar包","主jar包:是运行mr的python","主函数的class:是mr程序的入口main","主函数的class:是spark程序的入口main","主机器的","主程序nginx支持标准的进程信号,通过kill或者killall命令传送","也可以这样:","于是我们选择了第三种方式来解决线程不足的问题。","产品介绍","产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍产品介绍","介于考虑到尽可能的easyscheduler的轻量级性,所以选择了grpc实现远程访问日志信息。","以…/流程定义id/流程实例id/任务实例id.log的形式生成日志。","以下将详细介绍server的设计思想和遇到的问题","任务","任务中partition通过${ds}来引用全局参数,对于脚本可以通过${partition}来引用变量partition的值,或通过jdbc直接将partition的值set进去","任务依赖","任务依赖分为水平依赖和垂直依赖","任务依赖:请参考任务依赖讲解","任务实例","任务实例是流程实例任务节点的列表","任务实例:流程实例dag中每个task称为任务实例,是动态的,是有状态的","任务状态统计:是指在指定时间范围内,统计任务实例中的待运行、失败、运行中、完成、成功的个数","任务记录","任务记录是千帆的数据稽核","任务队列选择redis时需要安装","使用手册","使用易观封装的vue及jsplumb组件开发","使用说明:输入描述udf函数的使用","例如:","依赖任务:","依赖,如图:","停止","关闭所有服务","其中","其他参数:支持","再拷贝到服务器","函数管理","分别是拖动节点和选中项、选择线条连线、删除选中的线或节点、全屏和流程定义保持,其主要功能是dag的绘制所用","分布式锁实践","分钟:$[hhmmss","分钟:$[hhmmss+n/24/60]","则会产生“死等”状态。mainflowthread等待subflowthread1结束,subflowthread1等待subflowthread2结束,subflowthread2等待subflowthread3结束,而subflowthread3等待线程池有新线程,则整个dag流程不能结束,从而其中的线程也不能释放。","创建database和账号","创建、编辑hive数据源","创建、编辑mysql数据源","创建、编辑postgresql数据源","创建、编辑spark数据源","创建、编辑udf函数","创建、编辑用户","创建、编辑租户","创建、编辑项目","创建工作流","创建文件","创建表","创建运行用户、组","创建部署用户","创建静态页面存放目录","初始化","初始化安装目录","删除","删除流程实例及流程实例下的任务实例","到","前","前端代理的接口地址","前端在开发环境(dev)中运行","前端部署","前端部署文档","前端项目发布","前端项目构建","前端项目环境构建及编译","包名类名:输入udf函数的全路径","去中心化","去中心化vs中心化","去中心化设计的核心设计在于整个分布式系统中不存在一个区别于其他节点的”管理者”,因此不存在单点故障问题。但由于不存在”","去中心化设计里,通常没有master/slave的概念,所有的角色都是一样的,地位是平等的,全球互联网就是一个典型的去中心化的分布式系统,联网的任意节点设备down机,都只会影响很小范围的功能。","参数:用来标注函数的输入参数","变量含义","另外一个问题是如果scheduler在master上,虽然可以支持一个dag中不同的任务运行在不同的机器上,但是会产生master的过负载。如果scheduler在slave上,则一个dag中所有的任务都只能在某一台机器上进行作业提交,则并行任务比较多的时候,slave的压力可能会比较大。","只有在","只有在tb到tbend区间范围内符合任务实例依赖条件的,才能依赖成功。否则依赖失败","只有管理员才有安全中心,安全中心的主要功能是给管理员提供管理普通用户的功能。","可以在","可以按照任务名称、日期、状态、原表、目标表、日期区间查询","可以查看文件详情","可以让","可以让流程实例从失败节点开始重新执行","可以让流程实例从暂停位置继续执行","可以转淘宝镜像命令行输入","右上角图标","右上角是下载日志、刷新日志和放大/缩小按钮","号去掉","后","后的","后端说明2","后端部署","向后执行是从指定节点向后执行,一直到后续节点不能继续执行为止。向前执行是从开始节点到指定的节点区间执行。仅执行当前节点是只执行指定的节点","启停alertsh","启停loggersh","启停master","启停web","启停worker","启动","启动、停止nginx","启动停止命令","启动前可以设置若干参数,如下图:","启动所有服务","启用","启用http_stub_status_module模块以支持状态统计","启用ssl模块","告警组是告警用户抽象出来的组,使用告警组来管理用户。","告警组管理","周:$[yyyymmdd","周:$[yyyymmdd+7*n]","命令","命令行参数:是设置mr程序的输入参数,支持自定义参数变量的替换","命令行参数:是设置spark程序的输入参数,支持自定义参数变量的替换。","命令,生成打包文件(dist)包","因为easyschedul","因为eschedul","在保存流程定义的时候可以设置全局参数,局部参数可以使用${变量}的方式引用全局参数","垂直依赖是流程实例之间的任务依赖,基于定时的依赖。垂直依赖又分为自依赖和外部依赖。","增加一种资源不足的command类型,如果线程池不足,则将主流程挂起。这样线程池就有了新的线程,可以让资源不足挂起的流程重新唤醒执行。","备注:输入告警组的备注信息","复制到","外部依赖策略存在依赖策略,分别有自定义、全部成功、全部失败、任一成功、任一失败","外部依赖:是对多个外部流程流程实例的任务实例的依赖","天:$[yyyymmdd","天:$[yyyymmdd+n]","失败策略:继续是如果有失败的任务节点,其他并行的任务节点将继续执行。结束是如果有失的败节点,其他并行任的务节点将被kill掉","失败重试次数:任务失败重新提交的次数,支持下拉和手填","失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填","如果","如果checkbox勾选,表示流程实例的修改会更新流程定义","如果一个dag中没有子流程,则如果command中的数据条数大于线程池设置的阈值,则直接流程等待或失败。","如果一个大的dag中嵌套了很多子流程,如下图:","如果不勾选,表示只编辑本次流程实例","如果其他参数中引用了资源文件,需要在资源中选择指定","如果您需要用ip访问项目可以把","如果需要使用到easyscheduler的资源上传,mapreduce任务在线提交则需要安装(上传的资源文件目前保存在hdfs上)","子流程","子节点:是选择子流程的流程定义,右上角进入该子节点可以跳转到所选子流程的流程定义","存储过程","安全中心","安装","安装epel源","安装nginx","安装及配置","安装配置文件","定时依赖图解:","定时器配置文件","定时:可视化定时,设置相应的定时","实际上,真正去中心化的分布式系统并不多见。反而动态中心化分布式系统正在不断涌出。在这种架构下,集群中的管理者是被动态选择出来的,而不是预置的,并且集群在发生故障的时候,集群的节点会自发的举行\"会议\"选举新的\"管理者\"主持工作。最典型的案例就是zookeeper及go语言实现的etcd。","容错设计","容错:流程实例是否被容错过","密码:设置连接hive的密码","密码:设置连接mysql的密码","密码:设置连接postgresql的密码","密码:设置连接spark的密码","对","对下线状态的流程定义,用户可对dag进行编辑","对于","对于启动新master来打破僵局,似乎有点差强人意,于是我们提出了以下三种方案来降低这种风险:","对于终态的流程实例,可以进行编辑保存。终态是流程实例最终的状态为成功、失败、暂停或停止四个状态。","对单master线程池进行判断,如果线程池已经满了,则让线程直接失败。","对可查看的文件类型,点击","对流程定义可以选择节点右击","导航栏,调转到流程实例列表,这时查看的是所有流程实例的任务实例列表","导语","将","将kill掉正在运行的任务节点","将日志放到es搜索引擎上","小时:$[hhmmss","小时:$[hhmmss+n/24]","工作流","工作流下分为流程定义、流程实例和任务实例三个功能模块","工作流名称:是根据流程定义名称外加一个随机数","工作流调度系统在大数据平台中是一个核心的基础设施,是大数据开发必不可少的重要组成部分。由于数据处理流程常常具有很长的依赖链条,因此依赖单机的crontab等单纯依赖时间调度的方式,往往存在很大的弊端,如依赖不清晰,出错难以查找等问题。因此,我们调研了市面上流行的调度系统。","工程依赖jar包,包括各个模块jar和第三方jar","工程依赖sql文件","工程服务启动脚本","工程自动化部署、启动脚本","工程配置文件","左侧工具栏","左侧是流程定义","已选管理用户:是已添加到该组的用户列表","已选项目:是该用户已授权的项目。","年:$[add_months(yyyymmdd,","年:$[add_months(yyyymmdd,12*n)]","并且需要注释掉","并和azkaban、airflow做了一些对比:","开发环境","开始时间:流程实例运行的开始时间","当nginx进程运行时,pid号默认存放在logs/目录下的nginx.pid文件中,因此若改用kill命令,也可以根据nginx.pid文件中的pid号来进行控制。","必装","总结","恢复失败","恢复暂停","感兴趣的伙伴们可以加我们微信:510570367,一起加入easyscheduler吧,多多交流!","我们使用自定义logback的fileappender和filter功能,实现每个任务实例生成一个日志文件。","或指定","手机:输入用户的手机号","执行方式:补数可以以串行执行或并行执行,串行执行是流程实例列表以队列的形式逐个提交执行,并行执行是流程实例列表并发形式的提交执行","执行编译命令:","执行:","找到”正在运行”和“提交成功”的任务,对”正在运行”的任务监控其任务实例的状态,对”提交成功”的任务需要判断task","抄送人:邮件抄送人列表","报错的话:","拉取前端项目到本地","拉取项目依赖包","拖动工具栏中的任务节点到画板中,双击任务节点,如下图:","指定nginx运行用户和组","指定节点启动,如下图:","按钮,删除文件","按钮,可下载和查看日志","授权","接口地址","描述信息:描述该节点的功能","描述:租户的描述信息","描述:输入数据源的描述","描述:输入文件的描述信息","描述:输入项目的描述","支持代码中自定义变量名,声明方式:${变量名}。可以是引用","收件人:邮件收件人列表","数据库初始化","数据库名:输入连接hive的数据库名称","数据库名:输入连接mysql的数据库名称","数据库名:输入连接postgresql的数据库名称","数据库名:输入连接spark的数据库名称","数据库名:预留字段,用于创建永久udf函数","数据源中心","数据源中心支持mysql、postgresql、hive及spark数据源","数据源名称:输入数据源的名称","数据源:sql数据源支持mysql、postgresql、hive和spark四中数据源类型,选择对应的数据源","数据源:存储过程的数据源类型支持mysql和postgresql两种,选择对应的数据源","数据源:选择hive","数据源:选择mysql","数据源:选择postgresql","数据源:选择spark","文件列表,点击","文件名称","文件名:输入文件的名称","文件查看","文件格式支持以下几种类型:txt、log、sh、conf、cfg、py、java、sql、xml、hql","文件管理","文件管理:主要是用户的程序,脚本和配置文件需要上传到hdfs进行统一管理","文件详情","文件重命名","新建、编辑邮件组","方式来执行作业,所以部署用户需要有","方法:是存储过程的方法名称","日常调度实例定时的定时时间前一天,格式为","日常调度实例定时的定时时间,格式为","日志查看","日志统一存放于指定文件夹内","日志配置文件","时间自定义参数","时间:选择指定的补数时间区间,此时业务时间为补数时间,如果起始时间和结束时间相等,则为某一天的补数,否则为区间补数。关于系统参数,请参考系统参数的讲解","是可以任意分解组合的,比如:$[yyyymmdd],","是否更新流程定义:","是目前调度支持的任务类型,当前调度支持shell、子流程、存储过程、sql、mr、spark和python七种任务类型","暂停","更改上传大小","月:$[add_months(yyyymmdd,","月:$[add_months(yyyymmdd,n)]","服务管理","服务管理是对easyscheduler的master、worker的任务监控","本文从调度出发,介绍了易观研发的大数据分布式工作流调度系统。easyscheduler在易观数据平台起着中流砥柱的作用。本章着重介绍了easyscheduler的架构原理及实现思路。","杀死进程","权限,而且是免密的","权限,而且是免密的。","架构设计","查看历史,可以查看该流程实例运行的该任务实例列表","查看历史,这时查看的是此流程实例的任务实例","查看日志","查看日志,可以查看该任务实例运行的日志,如下图:","查看日志:点击","查看目录","格式的,$[yyyymmddhhmmss]","正在运行","正在运行任务的后继节点","正常编译完后,会在当前目录生成","水平依赖就是指dag图的有向依赖,是同一个流程实例任务节点的前驱,后继之间的依赖关系","注意,我们定义这种基准变量为","注意:easyscheduler本身不依赖hadoop、hive、spark、postgresql、redis,仅是用到了他们的cli","注意:java和scala只是用来标识,没有区别,如果是python开发的spark则没有主函数的class,其他都是一样","注意:master","注意:可以点击图,或者数量跳转到相应的任务实例,流程实例和流程定义列表","注意:在全部服务都启动之后启动","注意:如果该用户切换了租户,则该用户所在租户下所有资源将复制到切换的新租户下","注意:对masterlogfile,自定义了masterlogfilt","注意:对workerlogfile,自定义了workerlogfilt","注意:日志查看是分片的查看,上下滚动查看","注意:由于”","注意:自定义是可以自定义外部流程任务是成功或失败","注:配置前可以参考","流程定义","流程定义列表","流程定义可以设置定时,周期性的跑作业。如下图:","流程定义操作","流程定义有两个状态:上线和下线。只有上线的流程才能启动或调度,下线的流程用来编辑","流程定义统计:是统计该用户创建的流程定义及管理员授予该用户的流程定义","流程定义:是可视化拖拽成的dag的统称,它是静态的,没有状态","流程实例","流程实例是流程定义的实例化","流程实例:对流程定义的每次实例化会生成一个流程实例,是动态的,是有状态的","流程状态统计:是指在指定时间范围内,统计流程实例中的待运行、失败、运行中、完成、成功的个数","点击","点击“用户信息”按钮,如下图:","点击”修改”按钮,修改用户信息","点击任务实例节点,点击","点击变量是对变量的复制","点击退出按钮则退出系统,返回登录页面","点击隐藏按钮,查看流程实例运行变量。如下图:","点击项目列表中的项目名称,可以跳转到指定的项目首页,如下图:","特别注意:如果任务运行周期比较短或者正好在kill任务的时候,任务已经结束了,此时将kill不掉正在运行的任务,继而会把下一个任务设置为kill状态","特别注意:对于用户自己创建的项目,该用户拥有所有的权限。则项目列表和已选项目列表中不会体现。","特别注意:重跑时系统参数已经固化了,系统参数不会随着时间改变而改变","状态","状态:流程实例最终运行的状态","环境变量配置","用命令行模式","用户名称:用户的名称,唯一,不能重复","用户名:设置连接hive的用户名","用户名:设置连接mysql的用户名","用户名:设置连接postgresql的用户名","用户名:设置连接spark的用户名","用户是easyscheduler上的用户,用于easyscheduler上的功能操作。","用户管理","用户自定义参数","用户自定义参数分为全局参数和局部参数。全局参数是保存流程定义和流程实例的时候传递的全局参数,全局参数可以在整个流程中的任何一个任务节点的局部参数引用。","用来显示某个流程定义跑过的流程实例及任务实例的状态","由于web和worker不一定在同一台机器上,所以查看日志不能像查询本地文件那样。有两种方案:","登录","的流程实例,点击","监控服务","目前只支持hive的临时udf函数","目录下","直接运行nginx即可启动nginx服务器,这种方式将使用默认的配置文件,若要改用其他配置文件,需添加\"","租户名称:租户的名称","租户是linux上的用户,用于作业的提交。","租户管理","租户编码:租户编码是linux上的用户,唯一,不能重复","租户:设置该用户所属的租户","程序类型:支持java、scala和python三种语言","程序类型:选择java语言","程序类型:选择python语言","端口:输入连接hive的端口","端口:输入连接mysql的端口","端口:输入连接postgresql的端口","端口:输入连接spark的端口","端口:输入连接zookeeper的端口","第一种是通过流程实例任务节点","第二种是通过点击","等","等同于","简介","管理员可以对普通用户进行非其创建的项目、资源、数据源和udf函数进行授权。因为项目、资源、数据源和udf函数授权方式都是一样的,所以以项目授权为例介绍。","管理员可以有多个,管理员是功能上的管理,不参与具体的业务。也就是说管理员是不能执行具体任务的。","管理用户","管理用户列表:是未添加到该组的用户列表","管理者”节点所以每个节点都需要跟其他节点通信才得到必须要的机器信息,而分布式系统通信的不可靠行,则大大增加了上述功能的实现难度。","系统参数","系统架构分析","系统部分截图:","线程不足循环等待问题","组名称:输入组的名称","组类型:支持邮件/短信两种","结束时间:流程实例运行的结束时间","编译","编译前配置","编译安装nginx","编辑配置文件","网址,输入用户名,密码登录","网络抖动”可能会使得节点短时间内失去和zk的心跳,从而发生节点的remove事件。对于这种情况,我们使用最简单的方式,那就是节点一旦和zk发生超时连接,则直接将master或worker服务停掉。","背景","脚本一","脚本是监听,master和worker服务挂掉重启的脚本","脚本:用户开发的python程序","脚本:用户开发的shell程序","自依赖:是同一个流程实例的上一周期的","自定义了tasklogappender和tasklogfilt","自定义参数:sql任务类型自定义参数类型和数据类型同存储过程任务类型一样。区别在于sql任务类型自定义参数会替换sql语句中${变量},而存储过程是自定义参数顺序的给方法设置值","自定义参数:存储过程的自定义参数类型支持in、out两种,数据类型支持varchar、integer、long、float、double、date、time、timestamp、boolean九种数据类型","自定义参数:是mr局部的用户自定义参数,会替换脚本中以${变量}的内容","自定义参数:是python局部的用户自定义参数,会替换脚本中以${变量}的内容","自定义参数:是shell局部的用户自定义参数,会替换脚本中以${变量}的内容","节点","节点名称:一个流程定义中的节点名称是唯一的","节点执行:节点执行模式有三种,分别为向后执行、向前执行和仅执行当前节点","获取分布式锁的核心流程算法如下:","补数:是对流程进行历史的补数,支持区间补数和某一天的补数,如下图:","补数:见流程定义","解决方法","计算所有master的线程总和,然后对每一个dag需要计算其需要的线程数,也就是在dag流程执行之前做预计算。因为是多master线程池,所以总线程数不太可能实时获取。","设定nginx的安装目录","设置为暂停","访问地址","访问端口","说明","说明:主机器需要能免密ssh登录到其它机器上","说明:在target/eschedul","说明:配置文件位于","账号","资源中心","资源中心主要分为文件管理和udf函数管理。","资源管理","资源管理和文件管理功能类似,不同之处是资源管理是上传的udf函数,文件管理上传的是用户程序,脚本及配置文件","资源:","资源:如果其他参数中引用了资源文件,需要在资源中选择指定","资源:是指脚本中需要调用的资源文件列表","起止时间:选择该定时的有效时间范围","软件要求","过滤匹配以taskloginfo开始的线程名称:","运行","运行时长(秒):结束时间减去开始时间","运行标志:标识这个节点是否能正常调度","运行次数:流程实例运行的次数","运行类型:包括启动工作流、从当前节点开始执行、恢复被容错的工作流、恢复暂停流程、从失败节点开始执行、补数、调度执行、重跑、暂停、停止、恢复等待线程的流程","运行配置文件","这样就可以通过nginx脚本来启动、停止、重启、重载nginx服务器了。","这样就形成的子父流程循环等待的状态。此时除非启动新的master来增加线程来打破这样的”僵局”,否则调度集群将不能再使用。","进入","退出进程","选装,","选装,postgresql存储过程需要安装","选装,spark任务提交需要安装","选装,如果跑hive任务需要安装(","通用配置文件配置,队列选择及地址配置,通用文件目录配置。","通知策略:都不发、成功发、失败发、成功或失败都发四种策略","通知组:是通知用户所属的组","通过grpc通信获取远程日志信息","通过检查","速度非常慢","邮箱:输入用户的邮箱,用来邮件发送和任务告警","部署文档","部署方式:支持yarn","部署用户是","部署用户配置","部署的机器","部署账号","都是以","配置","配置信息","配置告警数据源信息","配置文件","配置文件地址","配置文件路径\"选项来指定路径。需要注意的是,若服务器中已安装有httpd等其他web服务软件,应采取措施(修改端口,停用或卸载)避免部突。","配置邮件告警信息","释放nginx源码包","重启","重启nginx服务","重跑是在不生成新的流程实例情况下,重新跑任务实例","重跑的列表","重载配置","鉴于易观日处理数据30tb,复杂的etl依赖关系,我们开发了easyscheduler。","错误","错误,请在执行完后再次执行以下命令","问题","队列:租户对应的yarn上的队列,在数据库","需要容错”状态,则接管任务并进行重新提交。","静态文件目录","项目git仓库地址","项目列表:是该用户未授权的项目","项目名称:输入项目的名称","项目如果在拉取依赖包的过程中报","项目开发环境","项目所在目录","项目打包","项目是调度对用户流程定义dag分组的一个抽象","项目根目录创建.env为后缀名的文件并输入","项目生产环境配置","项目管理","项目编译","项目首页","项目首页其中包含四个部分,任务状态统计,流程状态统计、流程定义统计及统计的时间范围","首页","首页中的图表是没有链接的,项目首页中图表是有链接的","首页和项目首页的主要区别在于:","首页是对所有项目在指定时间范围内的任务状态、流程状态和流程定义的统计。","首页统计的是所有的项目,项目首页统计的是某一个项目","!!!这里特别注意",",",",对于重跑流程实例的记录",":必装",":选装,"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Easyscheduler简介","keywords":"","body":"简介\n导语\n\nEasyScheduler是易观研发的大数据分布式工作流调度系统。主要解决数据研发ETL错综复杂的依赖关系,而不能直观监控任务健康状态等问题。EasyScheduler通过可视化拖拽任务节点的方式形成DAG(有向无环图)流程图,在运行过程中可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及Kill任务、任务运行历史查看等等操作。\n\n背景\n 工作流调度系统在大数据平台中是一个核心的基础设施,是大数据开发必不可少的重要组成部分。由于数据处理流程常常具有很长的依赖链条,因此依赖单机的crontab等单纯依赖时间调度的方式,往往存在很大的弊端,如依赖不清晰,出错难以查找等问题。因此,我们调研了市面上流行的调度系统。\n并和azkaban、airflow做了一些对比:\n\n \n\n \n\n       鉴于易观日处理数据30TB,复杂的ETL依赖关系,我们开发了EasyScheduler。\n\nEasyScheduler由在工作流调度方面工作多年的几位小伙伴研发而成,致力于成为大数据平台的中流砥柱,使调度变得更加容易,更可以从其中文名“易调度”看出我们的初衷,如果你对目前市面上的调度不够满意,非常欢迎试用易调度,欢迎大家加入进来,提出需求,也欢迎贡献代码, 感兴趣的伙伴们可以加我们微信:510570367,一起加入EasyScheduler吧,多多交流!\n系统部分截图:\n\n\n\n\n"},"pages/guide-architecture.html":{"url":"pages/guide-architecture.html","title":"系统架构分析","keywords":"","body":"EasyScheduler大数据调度系统架构分析\n架构设计\n\n\nEasyScheduler设计围绕四个服务展开,UI、Web、Server和Alert。\n\nUI : 使用易观封装的Vue及jsplumb组件开发\n\nWeb:使用SpringBoot提供Rest Api和UI分离交互\n\nServer : Scheduler调度及分布式任务执行引擎\n\nAlert:告警微服务\n\n\n\n以下将详细介绍Server的设计思想和遇到的问题\n去中心化vs中心化\n\n\n1. 中心化思想\n\n       中心化的设计理念比较简单,分布式集群中的节点按照角色分工,大体上分为两种角色:\n\n       Master的角色主要负责任务分发并监督Slave的健康状态,可以动态的将任务均衡到Slave上,以致Slave节点不至于“忙死”或”闲死”的状态。\n       Worker的角色主要负责任务的执行工作并维护和Master的心跳,以便Master可以分配任务给Slave。\n\n2. 中心化思想设计存在的问题:\n\n       一旦Master出现了问题,则群龙无首,整个集群就崩溃。为了解决这个问题,大多数Master/Slave架构模式都采用了主备Master的设计方案,可以是热备或者冷备,也可以是自动切换或手动切换,而且越来越多的新系统都开始具备自动选举切换Master的能力,以提升系统的可用性。\n       另外一个问题是如果Scheduler在Master上,虽然可以支持一个DAG中不同的任务运行在不同的机器上,但是会产生Master的过负载。如果Scheduler在Slave上,则一个DAG中所有的任务都只能在某一台机器上进行作业提交,则并行任务比较多的时候,Slave的压力可能会比较大。\n\n3. 去中心化\n\n\n       去中心化设计里,通常没有Master/Slave的概念,所有的角色都是一样的,地位是平等的,全球互联网就是一个典型的去中心化的分布式系统,联网的任意节点设备down机,都只会影响很小范围的功能。\n       去中心化设计的核心设计在于整个分布式系统中不存在一个区别于其他节点的”管理者”,因此不存在单点故障问题。但由于不存在” 管理者”节点所以每个节点都需要跟其他节点通信才得到必须要的机器信息,而分布式系统通信的不可靠行,则大大增加了上述功能的实现难度。\n       实际上,真正去中心化的分布式系统并不多见。反而动态中心化分布式系统正在不断涌出。在这种架构下,集群中的管理者是被动态选择出来的,而不是预置的,并且集群在发生故障的时候,集群的节点会自发的举行\"会议\"选举新的\"管理者\"主持工作。最典型的案例就是ZooKeeper及Go语言实现的Etcd。\n\n \n\nEasyScheduler的去中心化是Master/Worker注册到Zookeeper中,实现Master集群和Worker集群无中心,并使用Zookeeper分布式锁来选举其中的一台Master或Worker为“管理者”来执行任务。\n\n分布式锁实践\nEasyScheduler使用Zookeeper分布式锁来实现同一时刻只有一台Master执行Scheduler,或者只有一台Worker执行任务的提交。\n1. 获取分布式锁的核心流程算法如下:\n\n\n\n2. EasyScheduler中Scheduler线程分布式锁实现流程图:\n\n\n\n线程不足循环等待问题\n\n如果一个DAG中没有子流程,则如果Command中的数据条数大于线程池设置的阈值,则直接流程等待或失败。\n\n如果一个大的DAG中嵌套了很多子流程,如下图:\n\n\n       则会产生“死等”状态。MainFlowThread等待SubFlowThread1结束,SubFlowThread1等待SubFlowThread2结束,SubFlowThread2等待SubFlowThread3结束,而SubFlowThread3等待线程池有新线程,则整个DAG流程不能结束,从而其中的线程也不能释放。\n       这样就形成的子父流程循环等待的状态。此时除非启动新的Master来增加线程来打破这样的”僵局”,否则调度集群将不能再使用。\n\n\n\n\n对于启动新Master来打破僵局,似乎有点差强人意,于是我们提出了以下三种方案来降低这种风险:\n\n\n计算所有Master的线程总和,然后对每一个DAG需要计算其需要的线程数,也就是在DAG流程执行之前做预计算。因为是多Master线程池,所以总线程数不太可能实时获取。\n\n对单Master线程池进行判断,如果线程池已经满了,则让线程直接失败。\n\n增加一种资源不足的Command类型,如果线程池不足,则将主流程挂起。这样线程池就有了新的线程,可以让资源不足挂起的流程重新唤醒执行。\n\n\n\n\n注意:Master Scheduler线程在获取Command的时候是FIFO的方式执行的。\n\n于是我们选择了第三种方式来解决线程不足的问题。\n\n\n容错设计\n\nEasyScheduler容错设计依赖于Zookeeper的Watcher机制,实现原理如图:\n\n\n       Master监控其他Master和Worker的目录,如果监听到remove事件,则会根据具体的业务逻辑进行流程实例容错或者任务实例容错。\n\n\nMaster容错流程图:\n\n\n       ZooKeeper Master容错完成之后则重新由EasyScheduler中Scheduler线程调度,遍历 DAG 找到”正在运行”和“提交成功”的任务,对”正在运行”的任务监控其任务实例的状态,对”提交成功”的任务需要判断Task Queue中是否已经存在,如果存在则同样监控任务实例的状态,如果不存在则重新提交任务实例。\n\n\n\n\nWorker容错流程图:\n\n\n       Master Scheduler线程一旦发现任务实例为” 需要容错”状态,则接管任务并进行重新提交。\n\n\n\n\n注意:由于” 网络抖动”可能会使得节点短时间内失去和zk的心跳,从而发生节点的remove事件。对于这种情况,我们使用最简单的方式,那就是节点一旦和zk发生超时连接,则直接将Master或Worker服务停掉。\n\n\nLogback和gRPC实现日志访问\n\n\n\n由于Web和Worker不一定在同一台机器上,所以查看日志不能像查询本地文件那样。有两种方案:\n\n将日志放到ES搜索引擎上\n\n通过gRPC通信获取远程日志信息\n\n\n\n介于考虑到尽可能的EasyScheduler的轻量级性,所以选择了gRPC实现远程访问日志信息。\n\n\n\n\n\n\n我们使用自定义Logback的FileAppender和Filter功能,实现每个任务实例生成一个日志文件。\n\n\n\nFileAppender实现如下:\n\n\n以…/流程定义id/流程实例id/任务实例id.log的形式生成日志。\n\n\n\n\n过滤匹配以TaskLogInfo开始的线程名称:\n\n\n\n\n\n总结\n\n本文从调度出发,介绍了易观研发的大数据分布式工作流调度系统。EasyScheduler在易观数据平台起着中流砥柱的作用。本章着重介绍了EasyScheduler的架构原理及实现思路。\n\n"},"pages/guide-manual.html":{"url":"pages/guide-manual.html","title":"使用手册","keywords":"","body":"使用手册\n登录\n1.输入http://192.168.220.204:8888/view/login/index.html 网址,输入用户名,密码登录 EasyScheduler\n\n2.登录之后每个页面的右上角都有用户的身份标识。点击下拉箭头包含用户信息和退出两个按钮\n\n\n点击“用户信息”按钮,如下图:\n\n\n\n点击”修改”按钮,修改用户信息\n\n\n点击退出按钮则退出系统,返回登录页面\n\n\n安全中心\n\n只有管理员才有安全中心,安全中心的主要功能是给管理员提供管理普通用户的功能。\n管理员可以有多个,管理员是功能上的管理,不参与具体的业务。也就是说管理员是不能执行具体任务的。\n\n租户管理\n租户是Linux上的用户,用于作业的提交。\n\n创建、编辑租户\n\n\n租户编码:租户编码是Linux上的用户,唯一,不能重复\n租户名称:租户的名称\n队列:租户对应的YARN上的队列,在数据库 t_escheduler_queue 中设置\n描述:租户的描述信息\n\n\n\n用户管理\n用户是EasyScheduler上的用户,用于EasyScheduler上的功能操作。\n\n创建、编辑用户\n\n\n用户名称:用户的名称,唯一,不能重复\n租户:设置该用户所属的租户\n邮箱:输入用户的邮箱,用来邮件发送和任务告警\n手机:输入用户的手机号\n注意:如果该用户切换了租户,则该用户所在租户下所有资源将复制到切换的新租户下\n\n\n\n\n授权\n\n\n管理员可以对普通用户进行非其创建的项目、资源、数据源和UDF函数进行授权。因为项目、资源、数据源和UDF函数授权方式都是一样的,所以以项目授权为例介绍。\n1.点击指定人的授权按钮,如下图:\n\n2.选中项目按钮,进行项目授权\n\n\n项目列表:是该用户未授权的项目\n已选项目:是该用户已授权的项目。\n特别注意:对于用户自己创建的项目,该用户拥有所有的权限。则项目列表和已选项目列表中不会体现。\n\n告警组管理\n告警组是告警用户抽象出来的组,使用告警组来管理用户。\n\n新建、编辑邮件组\n\n\n组名称:输入组的名称\n组类型:支持邮件/短信两种\n备注:输入告警组的备注信息\n\n\n\n\n管理用户\n\n\n管理用户列表:是未添加到该组的用户列表\n已选管理用户:是已添加到该组的用户列表\n\n\n\n服务管理\n服务管理是对EasyScheduler的Master、Worker的任务监控\n\nMaster\n\n\n\nWorker\n\n\n资源中心\n\n资源中心主要分为文件管理和UDF函数管理。\n文件管理:主要是用户的程序,脚本和配置文件需要上传到HDFS进行统一管理\nUDF函数管理:对用户创建的UDF进行管理\n\n文件管理\n\n创建文件\n\n\n文件格式支持以下几种类型:txt、log、sh、conf、cfg、py、java、sql、xml、hql\n\n\n\n\n上传文件\n\n\n文件名:输入文件的名称\n描述:输入文件的描述信息\n上传文件:点击上传按钮进行上传,将文件拖拽到上传区域,文件名会自动以上传的文件名称补全\n\n\n\n\n文件查看\n\n对可查看的文件类型,点击 文件名称 可以查看文件详情\n\n\n\n\n\n下载文件\n\n可以在 文件详情 中点击右上角下载按钮下载文件,或者在文件列表后的下载按钮下载文件\n\n\n\n\n文件重命名\n\n\n\n\n\n\n删除\n\n文件列表,点击 删除 按钮,删除文件\n\n\n\nUDF管理\n资源管理\n资源管理和文件管理功能类似,不同之处是资源管理是上传的UDF函数,文件管理上传的是用户程序,脚本及配置文件\n函数管理\n\n创建、编辑UDF函数\n\n\n目前只支持HIVE的临时UDF函数\nUDF函数名称:输入UDF函数时的名称\n包名类名:输入UDF函数的全路径\n参数:用来标注函数的输入参数\n数据库名:预留字段,用于创建永久UDF函数\nUDF资源:设置创建的UDF对应的资源文件\n使用说明:输入描述UDF函数的使用\n\n\n\n数据源中心\n\n数据源中心支持MySQL、POSTGRESQL、HIVE及Spark数据源\n\n\n创建、编辑MySQL数据源\n\n\n数据源:选择MYSQL\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP/主机名:输入连接MySQL的IP\n端口:输入连接MySQL的端口\n用户名:设置连接MySQL的用户名\n密码:设置连接MySQL的密码\n数据库名:输入连接MySQL的数据库名称\nJdbc连接参数:用于MySQL连接的参数设置,以JSON形式填写\n\n\n\n\n创建、编辑POSTGRESQL数据源\n\n\n数据源:选择POSTGRESQL\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP/主机名:输入连接POSTGRESQL的IP\n端口:输入连接POSTGRESQL的端口\n用户名:设置连接POSTGRESQL的用户名\n密码:设置连接POSTGRESQL的密码\n数据库名:输入连接POSTGRESQL的数据库名称\nJdbc连接参数:用于POSTGRESQL连接的参数设置,以JSON形式填写\n\n\n\n\n创建、编辑HIVE数据源\n1.使用HiveServer2方式连接\n\n\n数据源:选择HIVE\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP/主机名:输入连接HIVE的IP\n端口:输入连接HIVE的端口\n用户名:设置连接HIVE的用户名\n密码:设置连接HIVE的密码\n数据库名:输入连接HIVE的数据库名称\nJdbc连接参数:用于HIVE连接的参数设置,以JSON形式填写\n\n\n\n2.使用HiveServer2 HA Zookeeper方式连接\n\n\n数据源:选择HIVE\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP/主机名:输入连接Zookeeper的集群\n端口:输入连接Zookeeper的端口\n用户名:设置连接HIVE的用户名\n密码:设置连接HIVE的密码\n数据库名:输入连接HIVE的数据库名称\nJdbc连接参数:用于Zookeeper连接的参数设置,以JSON形式填写\n\n\n创建、编辑Spark数据源\n\n\n数据源:选择Spark\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP/主机名:输入连接Spark的IP\n端口:输入连接Spark的端口\n用户名:设置连接Spark的用户名\n密码:设置连接Spark的密码\n数据库名:输入连接Spark的数据库名称\nJdbc连接参数:用于Spark连接的参数设置,以JSON形式填写\n\n\n\n项目管理\n\n项目是调度对用户流程定义DAG分组的一个抽象\n\n\n创建、编辑项目\n\n\n项目名称:输入项目的名称\n描述:输入项目的描述\n\n\n\n项目首页\n点击项目列表中的项目名称,可以跳转到指定的项目首页,如下图:\n\n\n项目首页其中包含四个部分,任务状态统计,流程状态统计、流程定义统计及统计的时间范围\n任务状态统计:是指在指定时间范围内,统计任务实例中的待运行、失败、运行中、完成、成功的个数\n流程状态统计:是指在指定时间范围内,统计流程实例中的待运行、失败、运行中、完成、成功的个数\n流程定义统计:是统计该用户创建的流程定义及管理员授予该用户的流程定义\n注意:可以点击图,或者数量跳转到相应的任务实例,流程实例和流程定义列表\n\n工作流\n\n工作流下分为流程定义、流程实例和任务实例三个功能模块\n流程定义:是可视化拖拽成的DAG的统称,它是静态的,没有状态\n流程实例:对流程定义的每次实例化会生成一个流程实例,是动态的,是有状态的\n任务实例:流程实例DAG中每个Task称为任务实例,是动态的,是有状态的\n\n流程定义\n\n创建工作流\n\n\n左侧工具栏 => 是目前调度支持的任务类型,当前调度支持SHELL、子流程、存储过程、SQL、MR、Spark和Python七种任务类型\n右上角图标 => 分别是拖动节点和选中项、选择线条连线、删除选中的线或节点、全屏和流程定义保持,其主要功能是DAG的绘制所用\n\n\n\n\n1.创建 SHELL节点\n\n拖动工具栏中的任务节点到画板中,双击任务节点,如下图:\n\n节点名称:一个流程定义中的节点名称是唯一的\n运行标志:标识这个节点是否能正常调度\n描述信息:描述该节点的功能\n失败重试次数:任务失败重新提交的次数,支持下拉和手填\n失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填\n脚本:用户开发的SHELL程序\n资源:是指脚本中需要调用的资源文件列表\n自定义参数:是SHELL局部的用户自定义参数,会替换脚本中以${变量}的内容\n任务依赖:请参考任务依赖讲解\n\n\n\n\n2.创建 子流程 节点\n\n拖动工具栏中的任务节点到画板中,双击任务节点,如下图:\n\n节点名称:一个流程定义中的节点名称是唯一的\n运行标志:标识这个节点是否能正常调度\n描述信息:描述该节点的功能\n子节点:是选择子流程的流程定义,右上角进入该子节点可以跳转到所选子流程的流程定义\n任务依赖:请参考任务依赖讲解\n\n\n\n\n3.创建 存储过程 节点\n\n拖动工具栏中的任务节点到画板中,双击任务节点,如下图:\n\n节点名称:一个流程定义中的节点名称是唯一的\n运行标志:标识这个节点是否能正常调度\n描述信息:描述该节点的功能\n失败重试次数:任务失败重新提交的次数,支持下拉和手填\n失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填\n数据源:存储过程的数据源类型支持MySQL和POSTGRESQL两种,选择对应的数据源\n方法:是存储过程的方法名称\n自定义参数:存储过程的自定义参数类型支持IN、OUT两种,数据类型支持VARCHAR、INTEGER、LONG、FLOAT、DOUBLE、DATE、TIME、TIMESTAMP、BOOLEAN九种数据类型\n任务依赖:请参考任务依赖讲解\n\n\n\n\n4.创建 SQL 节点\n\n拖动工具栏中的任务节点到画板中,双击任务节点,如下图:\n\n节点名称:一个流程定义中的节点名称是唯一的\n运行标志:标识这个节点是否能正常调度\n描述信息:描述该节点的功能\n失败重试次数:任务失败重新提交的次数,支持下拉和手填\n失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填\n数据源:SQL数据源支持MySQL、POSTGRESQL、HIVE和Spark四中数据源类型,选择对应的数据源\nsql类型:支持查询和非查询两种,查询是select类型的查询,是有结果集返回的,可以指定邮件通知为表格、附件或表格附件三种模板。非查询是没有结果集返回的,是针对update、delete、insert三种类型的操作\nsql参数:输入参数格式为key1=value1;key2=value2…\nsql语句:SQL语句\nUDF函数:对于HIVE类型的数据源,可以引用资源中心中创建的UDF函数,其他类型的数据源暂不支持UDF函数\n自定义参数:SQL任务类型自定义参数类型和数据类型同存储过程任务类型一样。区别在于SQL任务类型自定义参数会替换sql语句中${变量},而存储过程是自定义参数顺序的给方法设置值\n任务依赖:请参考任务依赖讲解\n\n\n\n\n4.创建 MR 节点\n\n拖动工具栏中的任务节点到画板中,双击任务节点,如下图:\n(1) JAVA程序\n\n节点名称:一个流程定义中的节点名称是唯一的\n运行标志:标识这个节点是否能正常调度\n描述信息:描述该节点的功能\n失败重试次数:任务失败重新提交的次数,支持下拉和手填\n失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填\n主函数的class:是MR程序的入口Main Class的全路径\n程序类型:选择JAVA语言\n主jar包:是MR的jar包\n命令行参数:是设置MR程序的输入参数,支持自定义参数变量的替换\n其他参数:支持 –D、-files、-libjars、-archives格式\n资源: 如果其他参数中引用了资源文件,需要在资源中选择指定\n自定义参数:是MR局部的用户自定义参数,会替换脚本中以${变量}的内容\n任务依赖:请参考任务依赖讲解\n(2) Python程序\n\n节点名称:一个流程定义中的节点名称是唯一的\n运行标志:标识这个节点是否能正常调度\n描述信息:描述该节点的功能\n失败重试次数:任务失败重新提交的次数,支持下拉和手填\n失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填\n程序类型:选择Python语言\n主jar包:是运行MR的Python jar包\n其他参数:支持 –D、-mapper、-reducer、-input -output格式,这里可以设置用户自定义参数的输入,比如:\n-mapper \"mapper.py 1\" -file mapper.py -reducer reducer.py -file reducer.py –input /journey/words.txt -output /journey/out/mr/${currentTimeMillis}\n其中 -mapper 后的 mapper.py 1是两个参数,第一个参数是mapper.py,第二个参数是1\n资源: 如果其他参数中引用了资源文件,需要在资源中选择指定\n自定义参数:是MR局部的用户自定义参数,会替换脚本中以${变量}的内容\n任务依赖:请参考任务依赖讲解\n\n\n\n\n4.创建 Spark 节点\n\n拖动工具栏中的任务节点到画板中,双击任务节点,如下图:\n\n节点名称:一个流程定义中的节点名称是唯一的\n运行标志:标识这个节点是否能正常调度\n描述信息:描述该节点的功能\n失败重试次数:任务失败重新提交的次数,支持下拉和手填\n失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填\n程序类型:支持JAVA、Scala和Python三种语言\n主函数的class:是Spark程序的入口Main Class的全路径\n主jar包:是Spark的jar包\n部署方式:支持yarn-cluster、yarn-client、和local三种模式\nDriver内核数:可以设置Driver内核数及内存数\nExecutor数量:可以设置Executor数量、Executor内存数和Executor内核数\n命令行参数:是设置Spark程序的输入参数,支持自定义参数变量的替换。\n其他参数:支持 --jars、--files、--archives、--conf格式\n资源:如果其他参数中引用了资源文件,需要在资源中选择指定\n自定义参数:是MR局部的用户自定义参数,会替换脚本中以${变量}的内容\n任务依赖:请参考任务依赖讲解\n注意:JAVA和Scala只是用来标识,没有区别,如果是Python开发的Spark则没有主函数的class,其他都是一样\n\n\n\n\n4.创建 Python 节点\n\n拖动工具栏中的任务节点到画板中,双击任务节点,如下图:\n\n节点名称:一个流程定义中的节点名称是唯一的\n运行标志:标识这个节点是否能正常调度\n描述信息:描述该节点的功能\n失败重试次数:任务失败重新提交的次数,支持下拉和手填\n失败重试间隔:任务失败重新提交任务的时间间隔,支持下拉和手填\n脚本:用户开发的Python程序\n资源:是指脚本中需要调用的资源文件列表\n自定义参数:是Python局部的用户自定义参数,会替换脚本中以${变量}的内容\n任务依赖:请参考任务依赖讲解\n\n\n\n\n流程定义操作\n流程定义列表\n\n\n1.编辑/保存\n\n对下线状态的流程定义,用户可对DAG进行编辑\n\n在保存流程定义的时候可以设置全局参数,局部参数可以使用${变量}的方式引用全局参数\n\n\n\n\n2.启动\n\n\n失败策略:继续是如果有失败的任务节点,其他并行的任务节点将继续执行。结束是如果有失的败节点,其他并行任的务节点将被Kill掉\n通知策略:都不发、成功发、失败发、成功或失败都发四种策略\n通知组:是通知用户所属的组\n收件人:邮件收件人列表\n抄送人:邮件抄送人列表\n补数:是对流程进行历史的补数,支持区间补数和某一天的补数,如下图:\n\n执行方式:补数可以以串行执行或并行执行,串行执行是流程实例列表以队列的形式逐个提交执行,并行执行是流程实例列表并发形式的提交执行\n时间:选择指定的补数时间区间,此时业务时间为补数时间,如果起始时间和结束时间相等,则为某一天的补数,否则为区间补数。关于系统参数,请参考系统参数的讲解\n\n\n\n\n3.定时\n\n流程定义可以设置定时,周期性的跑作业。如下图:\n\n起止时间:选择该定时的有效时间范围\n定时:可视化定时,设置相应的定时\n\n失败策略:继续是如果有失败的任务节点,其他并行的任务节点将继续执行。结束是如果有失的败节点,其他并行任的务节点将被Kill掉\n通知策略:都不发、成功发、失败发、成功或失败都发四种策略\n通知组:是通知用户所属的组\n收件人:邮件收件人列表\n抄送人:邮件抄送人列表\n\n\n\n\n4.上线/下线\n\n流程定义有两个状态:上线和下线。只有上线的流程才能启动或调度,下线的流程用来编辑\n\n\n\n\n5.定时管理\n\n一个流程定义可以添加1个定时,定时管理是对一个流程定义上的定时的修改,只有上线的定时才是有效的定时\n\n\n\n\n6.指定节点启动\n\n对流程定义可以选择节点右击 指定节点启动,如下图:\n\n启动前可以设置若干参数,如下图:\n\n失败策略:继续是如果有失败的任务节点,其他并行的任务节点将继续执行。结束是如果有失的败节点,其他并行任的务节点将被Kill掉\n节点执行:节点执行模式有三种,分别为向后执行、向前执行和仅执行当前节点\n向后执行是从指定节点向后执行,一直到后续节点不能继续执行为止。向前执行是从开始节点到指定的节点区间执行。仅执行当前节点是只执行指定的节点\n通知策略:都不发、成功发、失败发、成功或失败都发四种策略\n通知组:是通知用户所属的组\n收件人:邮件收件人列表\n抄送人:邮件抄送人列表\n补数:见流程定义 启动\n\n\n\n\n7.TreeView\n\n用来显示某个流程定义跑过的流程实例及任务实例的状态\n\n左侧是流程定义 DAG Tree的展示,非叶子节点有展开和收缩的功能。右边是流程实例的集合,每一列都是流程定义的一次调度,圆点表示的是流程实例的状态,方块表示的是任务实例的状态。如果是子流程,可以通过任务实例跳转到相应的子流程\n\n\n\n流程实例\n流程实例是流程定义的实例化\n\n1.流程实例列表\n\n\n\n\n工作流名称:是根据流程定义名称外加一个随机数\n\n运行类型:包括启动工作流、从当前节点开始执行、恢复被容错的工作流、恢复暂停流程、从失败节点开始执行、补数、调度执行、重跑、暂停、停止、恢复等待线程的流程\n\n开始时间:流程实例运行的开始时间\n\n结束时间:流程实例运行的结束时间\n\n运行时长(秒):结束时间减去开始时间\n\n运行次数:流程实例运行的次数 ,对于重跑流程实例的记录\n\nhost:标识流程实例调度的机器ip\n\n容错:流程实例是否被容错过\n\n状态:流程实例最终运行的状态\n\n\n\n2.编辑/保存\n\n对于终态的流程实例,可以进行编辑保存。终态是流程实例最终的状态为成功、失败、暂停或停止四个状态。\n\n是否更新流程定义: 如果checkbox勾选,表示流程实例的修改会更新流程定义\n如果不勾选,表示只编辑本次流程实例\n\n\n\n\n3.重跑\n\n重跑是在不生成新的流程实例情况下,重新跑任务实例\n特别注意:重跑时系统参数已经固化了,系统参数不会随着时间改变而改变\n\n\n\n\n4.恢复失败\n\n点击 恢复失败 可以让流程实例从失败节点开始重新执行\n\n\n\n\n5.停止\n\n点击 停止 将Kill掉正在运行的任务节点\n特别注意:如果任务运行周期比较短或者正好在Kill任务的时候,任务已经结束了,此时将Kill不掉正在运行的任务,继而会把下一个任务设置为Kill状态\n\n\n\n\n6.暂停\n\n对 正在运行 的流程实例,点击 暂停 可以让 正在运行任务的后继节点 设置为暂停\n\n\n\n\n7.恢复暂停\n\n对于 暂停 的流程实例,点击 恢复暂停 可以让流程实例从暂停位置继续执行\n\n\n\n\n8.删除\n\n删除流程实例及流程实例下的任务实例\n\n\n\n\n9.Gantt\n\nGantt图纵轴是某个流程实例下的任务实例的拓扑排序,横轴是任务实例的运行时间\n\n\n\n\n\n10.查看流程实例运行变量\n\n\n点击隐藏按钮,查看流程实例运行变量。如下图:\n\n点击变量是对变量的复制\n\n\n\n\n11.查看历史任务实例\n\n\n点击任务实例节点,点击 查看历史,可以查看该流程实例运行的该任务实例列表\n\n\n\n\n12.查看日志\n\n\n点击任务实例节点,点击 查看日志,可以查看该任务实例运行的日志,如下图:\n\n右上角是下载日志、刷新日志和放大/缩小按钮\n注意:日志查看是分片的查看,上下滚动查看\n\n\n\n任务实例\n任务实例是流程实例任务节点的列表\n\n\n\n两种方式查看任务实例:\n\n第一种是通过流程实例任务节点 查看历史,这时查看的是此流程实例的任务实例 重跑的列表\n\n第二种是通过点击 流程实例 导航栏,调转到流程实例列表,这时查看的是所有流程实例的任务实例列表\n\n\n\n查看日志:点击 查看日志 按钮,可下载和查看日志\n\n任务记录\n任务记录是千帆的数据稽核\n\n\n可以按照任务名称、日期、状态、原表、目标表、日期区间查询\n\n首页\n\n首页是对所有项目在指定时间范围内的任务状态、流程状态和流程定义的统计。\n首页和项目首页的主要区别在于:\n\n首页中的图表是没有链接的,项目首页中图表是有链接的\n\n首页统计的是所有的项目,项目首页统计的是某一个项目\n\n\n任务依赖\n任务依赖分为水平依赖和垂直依赖\n\n水平依赖就是指DAG图的有向依赖,是同一个流程实例任务节点的前驱,后继之间的依赖关系\n\n垂直依赖是流程实例之间的任务依赖,基于定时的依赖。垂直依赖又分为自依赖和外部依赖。\n自依赖:是同一个流程实例的上一周期的 任务 依赖,如图:\n外部依赖:是对多个外部流程流程实例的任务实例的依赖\n外部依赖策略存在依赖策略,分别有自定义、全部成功、全部失败、任一成功、任一失败\n注意:自定义是可以自定义外部流程任务是成功或失败\n依赖任务:\n\n\n\n\n定时依赖图解: A流程定义某任务依赖B流程定义某任务,TA 为流程定义A的定时器,TB为流程定义B的定时器,TBStart到TBEnd为TB的周期,周期分别支持小时、天、月\n\n只有在TB到TBEnd区间范围内符合任务实例依赖条件的,才能依赖成功。否则依赖失败\n\n只有在 TB 到 TA区间范围内符合任务实例依赖条件的,才能依赖成功。否则依赖失败\n\n系统参数\n\n系统参数\n\n 变量含义\n \n ${system.biz.date}\n 日常调度实例定时的定时时间前一天,格式为 yyyyMMdd,补数据时,该日期 +1\n \n \n ${system.biz.curdate}\n 日常调度实例定时的定时时间,格式为 yyyyMMdd,补数据时,该日期 +1\n \n \n ${system.datetime}\n 日常调度实例定时的定时时间,格式为 yyyyMMddHHmmss,补数据时,该日期 +1\n \n\n\n\n\n\n\n\n时间自定义参数\n\n支持代码中自定义变量名,声明方式:${变量名}。可以是引用 \"系统参数\" 或指定 \"常量\"。\n注意,我们定义这种基准变量为 $[...] 格式的,$[yyyyMMddHHmmss] 是可以任意分解组合的,比如:$[yyyyMMdd], $[HHmmss], $[yyyy-MM-dd], $[HH:mm:ss] 等\n也可以这样:\n后 N 年:$[add_months(yyyyMMdd,12*N)]\n前 N 年:$[add_months(yyyyMMdd,-12*N)]\n后 N 月:$[add_months(yyyyMMdd,N)]\n前 N 月:$[add_months(yyyyMMdd,-N)]\n后 N 周:$[yyyyMMdd+7*N]\n前 N 周:$[yyyyMMdd-7*N]\n后 N 天:$[yyyyMMdd+N]\n前 N 天:$[yyyyMMdd-N]\n后 N 小时:$[HHmmss+N/24]\n前 N 小时:$[HHmmss-N/24]\n后 N 分钟:$[HHmmss+N/24/60]\n前 N 分钟:$[HHmmss-N/24/60]\n\n\n\n\n用户自定义参数\n用户自定义参数分为全局参数和局部参数。全局参数是保存流程定义和流程实例的时候传递的全局参数,全局参数可以在整个流程中的任何一个任务节点的局部参数引用。\n例如:\n\n\nds为全局参数,引用的是系统参数。\n\n任务中partition通过${ds}来引用全局参数,对于脚本可以通过${partition}来引用变量partition的值,或通过JDBC直接将partition的值set进去\n\n\n\n"},"pages/deploy-foreground.html":{"url":"pages/deploy-foreground.html","title":"前端部署","keywords":"","body":"前端部署文档\n前端项目环境构建及编译\nEscheduler项目前端技术栈\nVue + es6 + Ans-ui + d3 + jsplumb + lodash\n开发环境\nNode\n\nnode安装\nNode包下载 (注意版本 8.9.4) https://nodejs.org/download/release/v8.9.4/ \n\n拉取前端项目到本地\n项目git仓库地址 git@git.analysys.cn:analysys_changsha/escheduler.git\n\n前端项目构建\n用命令行模式 cd 进入 escheduler项目目录并执行 npm install 拉取项目依赖包\n\n\n\n如果 npm install 速度非常慢 \n可以转淘宝镜像命令行输入 npm install -g cnpm --registry=https://registry.npm.taobao.org\n运行 cnpm install \n!!!这里特别注意 项目如果在拉取依赖包的过程中报 \" node-sass error \" 错误,请在执行完后再次执行以下命令\nnpm install node-sass --unsafe-perm //单独安装node-sass依赖\n\n项目根目录创建.env为后缀名的文件并输入\n# 前端代理的接口地址\nAPI_BASE = http://192.168.220.204:12345\n\n# 如果您需要用ip访问项目可以把 \"#\" 号去掉\n#DEV_HOST = 192.168.6.132\n运行\n\nnpm start 项目开发环境 (启动后访问地址 http://localhost:8888/#/)\n\nnpm run build 项目打包 (打包后根目录会创建一个名为dist文件夹,用于发布线上Nginx)\n\n\n安装及配置\n(1-1) Nginx安装\n安装 wget http://nginx.org/download/nginx-1.10.1.tar.gz \nNginx的配置及运行需要pcre、zlib等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保Nginx的安装顺利完成。\n[root@nginx ~]# service iptables stop\n[root@nginx ~]# setenforce 0\n[root@nginx ~]# mount /dev/cdrom /mnt/\n[root@nginx ~]# vim /etc/yum.repos.d/yum.repo\n[base]\nname=RedHat Enterprise Linux Server\nbaseurl=file:///mnt/Packages\ngpgcheck=0\n[root@nginx ~]# yum -y install pcre-devel zilb-devel openssl-devel\n(1-2) 创建运行用户、组\nNginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限,增加灵活性、降低安全风险。如:创建一个名为nginx的用户,不建立宿主目录,也禁止登录到shell环境。\n[root@nginx ~]# useradd -M -s /sbin/nologin escheduler\n(1-3) 编译安装nginx\n释放nginx源码包\n[root@nginx ~]# tar xf nginx-1.6.2.tar.gz -C /usr/src/\n编译前配置\n[root@nginx ~]# cd /usr/src/nginx-1.6.2/\n[root@nginx nginx-1.6.2]# ./configure --prefix=/usr/local/nginx --user=escheduler --group=escheduler --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module\n注:配置前可以参考 ./configure --help给出说明\n--prefix 设定Nginx的安装目录\n--user和—group 指定Nginx运行用户和组\n--with-http_stub_status_module 启用http_stub_status_module模块以支持状态统计\n--with-http_ssl_module 启用SSL模块\n\n错误\n[root@centos nginx-1.6.2]# ./configure --prefix=/usr/local/nginx --user=escheduler --group=escheduler --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module\nchecking for OS\n+ Linux 2.6.32-431.el6.i686 i686\nchecking for C compiler ... not found\n./configure: error: C compiler cc is not found\n解决方法\nyum -y install gcc gcc-c++\n\n编译 安装\n[root@nginx nginx-1.6.2]# make && make install\n为了使Nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行nginx命令就可以调用Nginx的主程序。\n[root@nginx nginx-1.6.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/\n[root@nginx nginx-1.6.2]# ll /usr/local/bin/nginx \nlrwxrwxrwx 1 root root 27 12-29 07:24 /usr/local/bin/nginx -> /usr/local/nginx/sbin/nginx\nNginx的运行控制\n与Apache的主程序httpd类似,Nginx的主程序也提供了\"-t\"选项用来对配置文件进行检查,以便找出不当或错误的配置。配置文件nginx.conf默认位于安装目录/usr/local/nginx/conf/目录中。若要检查位于其他位置的配置文件,可使用\"-c\"选项来指定路径。\nroot@nginx conf]# nginx -t\nnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok\nnginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful\n启动、停止Nginx\n直接运行nginx即可启动Nginx服务器,这种方式将使用默认的配置文件,若要改用其他配置文件,需添加\"-c 配置文件路径\"选项来指定路径。需要注意的是,若服务器中已安装有httpd等其他WEB服务软件,应采取措施(修改端口,停用或卸载)避免部突。\n[root@nginx conf]# chown -R escheduler:escheduler /usr/local/nginx\n\n/usr/local/nginx/conf/nginx.conf\n\n[root@nginx conf]# netstat -anpt |grep :80\n[root@nginx conf]# nginx\n[root@nginx conf]# netstat -anpt |grep :80\ntcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 6810/nginx: master\n通过检查 Nginx程序的监听状态,或者在浏览器中访问此WEB服务(默认页面将显示\"Welcome to nginx!\"),可以确认Nginx服务是否正常运行。\n[root@nginx ~]# yum -y install elinks\n[root@nginx ~]# elinks --dump http://localhost\n Welcome to nginx!\n主程序Nginx支持标准的进程信号,通过kill或者killall命令传送\nHUP 重载配置 等同于-1\nQUIT 退出进程 等同于-3\nKILL 杀死进程 \n[root@nginx ~]# killall -s HUP nginx\n[root@nginx ~]# killall -s QUIT nginx\n[root@nginx ~]# netstat -anpt |grep :80\n当Nginx进程运行时,PID号默认存放在logs/目录下的nginx.pid文件中,因此若改用kill命令,也可以根据nginx.pid文件中的PID号来进行控制。\n为了使Nginx服务的启动、停止、重载等操作更加方便,可以编写Nginx服务脚本,并使用chkconfig和service工具来进行管理,也更加符合RHEL系统的管理习惯。\n[root@nginx ~]# vim /etc/init.d/nginx\n脚本一\n#!/bin/bash\n# chkconfig: 2345 99 20\n# description: Nginx Server Control Script\nPROG=\"/usr/local/nginx/sbin/nginx\"\nPIDF=\"/usr/local/nginx/logs/nginx.pid\"\ncase \"$1\" in\nstart)\n $PROG\n;;\nstop)\n kill -s QUIT $(cat $PIDF)\n;;\nrestart)\n $0 stop\n $0 start\n;;\nreload)\n kill -s HUP $(cat $PIDF)\n;;\n*)\n echo \"Usage: $0 (start|stop|restart|reload)\"\n exit 1\nesac\nexit 0\n\n[root@nginx ~]# chmod +x /etc/init.d/nginx\n[root@nginx ~]# chkconfig --add nginx\n[root@nginx ~]# chkconfig nginx on\n[root@nginx ~]# chkconfig --list nginx \nnginx 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭\n报错的话: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf\n这样就可以通过nginx脚本来启动、停止、重启、重载Nginx服务器了。\n(2-1) root安装\n安装epel源 yum install epel-release -y\n安装Nginx yum install nginx -y\n命令\n\n启用 systemctl enable nginx\n\n重启 systemctl restart nginx\n\n状态 systemctl status nginx\n\n\n项目生产环境配置\n\n创建静态页面存放目录\nmkdir /data2_4T/escheduler_front/escheduler/server\n配置文件地址\n/etc/nginx/conf.d/default.conf\n配置信息\nserver {\n listen 8888;# 访问端口\n server_name localhost;\n #charset koi8-r;\n #access_log /var/log/nginx/host.access.log main;\n location / {\n root /data2_4T/escheduler_front/escheduler/server; # 静态文件目录\n index index.html index.html;\n }\n location /escheduler {\n proxy_pass http://192.168.220.181:12345; # 接口地址\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 30s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection \"upgrade\";\n }\n #error_page 404 /404.html;\n # redirect server error pages to the static page /50x.html\n #\n error_page 500 502 503 504 /50x.html;\n location = /50x.html {\n root /usr/share/nginx/html;\n }\n}\n重启Nginx服务\nsystemctl restart nginx\n\n前端项目发布\n前端在开发环境(dev)中运行 npm run build 命令,生成打包文件(dist)包\n再拷贝到服务器 /data2_4T/escheduler_front/escheduler/server(服务器静态页面存放目录)\n访问地址 http://localhost:8888/#/ \n问题\n1. 上传文件大小限制\n编辑配置文件 vi /etc/nginx/nginx.conf\n# 更改上传大小\nclient_max_body_size 1024m\n"},"pages/deploy-background.html":{"url":"pages/deploy-background.html","title":"后端部署","keywords":"","body":"​\n部署文档\n软件要求\n\nMysql (5.5+) : 必装\nJDK (1.8+) :必装 \nZookeeper (3.4.6) :必装 \nHadoop (2.7+) :选装, 如果需要使用到EasyScheduler的资源上传,MapReduce任务在线提交则需要安装(上传的资源文件目前保存在Hdfs上)\nHive (1.2.1+) : 选装,如果跑Hive任务需要安装(\nReids安装 (2.7.0+) : 选装, 任务队列选择Redis时需要安装\nSpark(1.x,2.x) : 选装,Spark任务提交需要安装\nPostgreSQL(8.2.15+) : 选装,PostgreSQL存储过程需要安装\n\n注意:EasyScheduler本身不依赖Hadoop、Hive、Spark、PostgreSQL、Redis,仅是用到了他们的Client jar,用于对应任务的运行。\n\n\n\n项目编译\n\n执行编译命令:\n\n\nmvn -U clean package assembly:assembly -Dmaven.test.skip=true \n\n\n查看目录\n\n正常编译完后,会在当前目录生成 target/escheduler-{version}-SNAPSHOT/\n bin\n conf\n lib\n script\n sql\n\n说明\nbin : 工程服务启动脚本\nconf : 工程配置文件\nlib : 工程依赖jar包,包括各个模块jar和第三方jar\nscript : 工程自动化部署、启动脚本\nsql : 工程依赖sql文件\n\n\n数据库初始化\n\n创建database和账号\n\nmysql -h {host} -u {user} -p{password}\nmysql> CREATE DATABASE escheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;\nmysql> GRANT ALL PRIVILEGES ON escheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';\nmysql> GRANT ALL PRIVILEGES ON escheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';\nmysql> flush privileges;\n\n创建表\n\n说明:在target/escheduler-{version}-SNAPSHOT/sql/有两个sql创建表文件:escheduler.sql和quartz.sql\n执行:\nmysql -h {host} -u {user} -p{password} -D {db} 创建部署用户\n因为easyscheduler worker都是以 sudo -u {linux-user} 方式来执行作业,所以部署用户需要有 sudo 权限,而且是免密的。\n部署账号\nvi /etc/sudoers\n\n# 部署用户是 escheduler 账号\nescheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL\n\n# 并且需要注释掉 Default requiretty 一行\n#Default requiretty\n配置文件\n说明:配置文件位于 target/escheduler-{version}-SNAPSHOT/conf 下面\nescheduler-alert\n配置邮件告警信息\n\nalert.properties \n\n#以qq邮箱为例,如果是别的邮箱,请更改对应配置\n#alert type is EMAIL/SMS\nalert.type=EMAIL\n\n# mail server configuration\nmail.protocol=SMTP\nmail.server.host=smtp.exmail.qq.com\nmail.server.port=25\nmail.sender=xxxxxx@qq.com\nmail.passwd=xxxxxxx\n\n# xls file path, need manually create it before use if not exist\nxls.file.path=/opt/xls\n配置告警数据源信息\n\nalert/data_source.properties \n\n#注意:请替换${xxx}里的内容\n\n# common configuration\nspring.datasource.type=com.alibaba.druid.pool.DruidDataSource\nspring.datasource.driver-class-name=com.mysql.jdbc.Driver\nspring.datasource.url=jdbc:mysql://${ip}:3306/escheduler?characterEncoding=UTF-8\nspring.datasource.username=${username}\nspring.datasource.password=${password}\n\n# supplement configuration\nspring.datasource.initialSize=5\n# min connection number\nspring.datasource.minIdle=5\n# max connection number\nspring.datasource.maxActive=20\n\n# max wait time for get connection\nspring.datasource.maxWait=60000\n\n# idle connections closed,unit milliseconds\nspring.datasource.timeBetweenEvictionRunsMillis=60000\n\n# connection minimum survival time,unit milliseconds\nspring.datasource.minEvictableIdleTimeMillis=300000\nspring.datasource.validationQuery=SELECT 1\nspring.datasource.validationQueryTimeout=3\nspring.datasource.testWhileIdle=true\nspring.datasource.testOnBorrow=true\nspring.datasource.testOnReturn=false\nspring.datasource.defaultAutoCommit=true\n\n# open PSCache,set PSCache size\nspring.datasource.poolPreparedStatements=false\nspring.datasource.maxPoolPreparedStatementPerConnectionSize=20\n日志配置文件\n\nalert_logback.xml\n\n\n \n \n \n \n \n [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n\n \n UTF-8\n \n \n\n \n ${log.base}/escheduler-alert.log\n \n ${log.base}/escheduler-alert.%d{yyyy-MM-dd_HH}.%i.log\n 20\n 64MB\n \n \n \n [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n\n \n UTF-8\n \n \n\n \n \n \n\nescheduler-common\n通用配置文件配置,队列选择及地址配置,通用文件目录配置。\n\ncommon/common.properties\n\n#task queue implementation, can choose \"redis\" or \"zookeeper\", default \"zookeeper\"\nescheduler.queue.impl=zookeeper\n\n#if escheduler.queue.impl=redis, you need to configuration relevant information with redis. redis configuration start\nspring.redis.host=${redis_ip}\nspring.redis.port=6379\nspring.redis.maxIdle=1000\nspring.redis.maxTotal=10000\n#redis configuration end\n\n# user data directory path, self configuration, please make sure the directory exists and have read write permissions\ndata.basedir.path=/xxx/xxx\n\n# directory path for user data download. self configuration, please make sure the directory exists and have read write permissions\ndata.download.basedir.path=/xxx/xxx \n\n# process execute directory. self configuration, please make sure the directory exists and have read write permissions\nprocess.exec.basepath=/xxx/xxx\n\n# data base dir, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have read write permissions。\"/escheduler\" is recommended\ndata.store2hdfs.basepath=/escheduler\n\n# system env path. self configuration, please make sure the directory and file exists and have read write execute permissions\nescheduler.env.path=/xxx/xxx/.escheduler_env.sh\nescheduler.env.py=/xxx/xxx/escheduler_env.py\n\n#resource.view.suffixs\nresource.view.suffixs=txt,log,sh,conf,cfg,py,java,sql,hql,xml\n\n# is development state? default \"false\"\ndevelopment.state=false\nSHELL任务 环境变量配置\n.escheduler_env.sh \n#self configuration, please make sure the directory exists and have read write permissions\nexport HADOOP_HOME=/opt/soft/hadoop\nexport HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop\nexport SPARK_HOME1=/opt/soft/spark1\nexport SPARK_HOME2=/opt/soft/spark2\nexport PYTHON_HOME=/opt/soft/python\nexport JAVA_HOME=/opt/soft/java\nexport HIVE_HOME=/opt/soft/hive\n\nexport PATH=$HADOOP_HOME/bin:$SPARK_HOME1/bin:$SPARK_HOME2/bin:$PYTHON_HOME/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH\n​ \nPython任务 环境变量配置\nescheduler_env.py\n#self configuration, please make sure the directory exists and have read write execute permissions\n\nimport os\n\nHADOOP_HOME=\"/opt/soft/hadoop\"\nPYTHON_HOME=\"/opt/soft/python\"\nJAVA_HOME=\"/opt/soft/java\"\nPATH=os.environ['PATH']\nPATH=\"%s/bin:%s/bin:%s/bin:%s\"%(HADOOP_HOME,JAVA_HOME,PYTHON_HOME,PATH)\n\nos.putenv('PATH','%s'%PATH)\nhadoop 配置文件\n\ncommon/hadoop/hadoop.properties\n\n#please replace the content in ${xxx}\n# ha or single namenode\nfs.defaultFS=hdfs://${cluster_ipOrName}:8020\n\n#resourcemanager ha note this need ips , eg. 192.168.220.188,192.168.220.189\nyarn.resourcemanager.ha.rm.ids=${ip1},${ip2}\n\n# reousrcemanager path \nyarn.application.status.address=http://${ip1}:8088/ws/v1/cluster/apps/%s\n定时器配置文件\n\nquartz.properties\n\n#please replace the content in ${xxx}\n#============================================================================\n# Configure Main Scheduler Properties\n#============================================================================\norg.quartz.scheduler.instanceName = EasyScheduler\norg.quartz.scheduler.instanceId = AUTO\norg.quartz.scheduler.makeSchedulerThreadDaemon = true\norg.quartz.jobStore.useProperties = false\n\n#============================================================================\n# Configure ThreadPool\n#============================================================================\n\norg.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool\norg.quartz.threadPool.makeThreadsDaemons = true\norg.quartz.threadPool.threadCount = 25\norg.quartz.threadPool.threadPriority = 5\n\n#============================================================================\n# Configure JobStore\n#============================================================================\n\norg.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX\norg.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate\norg.quartz.jobStore.tablePrefix = QRTZ_\norg.quartz.jobStore.isClustered = true\norg.quartz.jobStore.misfireThreshold = 60000\norg.quartz.jobStore.clusterCheckinInterval = 5000\norg.quartz.jobStore.dataSource = myDs\n\n#============================================================================\n# Configure Datasources \n#============================================================================\n\norg.quartz.dataSource.myDs.driver = com.mysql.jdbc.Driver\norg.quartz.dataSource.myDs.URL = jdbc:mysql://${ip}:3306/escheduler?characterEncoding=utf8&useSSL=false\norg.quartz.dataSource.myDs.user = ${username}\norg.quartz.dataSource.myDs.password = ${password}\norg.quartz.dataSource.myDs.maxConnections = 10\norg.quartz.dataSource.myDs.validationQuery = select 1\nzookeeper 配置文件\n\nzookeeper.properties\n\n#zookeeper cluster. eg. 192.168.220.188:2181,192.168.220.189:2181,192.168.220.190:2181\nzookeeper.quorum=${ip1}:2181,${ip2}:2181,${ip3}:2181\n\n#zookeeper server dirctory\nzookeeper.escheduler.master=/escheduler/masters\nzookeeper.escheduler.worker=/escheduler/workers\n\n#zookeeper lock dirctory\nzookeeper.escheduler.lock.master=/escheduler/lock/master\nzookeeper.escheduler.lock.worker=/escheduler/lock/worker\n\n#escheduler root directory\nzookeeper.escheduler.root=/escheduler\n\n#escheduler failover directory\nzookeeper.escheduler.lock.master.failover=/escheduler/lock/failover/master\nzookeeper.escheduler.lock.worker.failover=/escheduler/lock/failover/worker\n\n#escheduler failover directory\nzookeeper.session.timeout=300\nzookeeper.connection.timeout=300\nzookeeper.retry.sleep=1000\nzookeeper.retry.maxtime=5\nescheduler-dao\ndao数据源配置\n\ndao/data_source.properties\n\n#please replace the content in ${xxx}\n\n# base spring data source configuration\nspring.datasource.type=com.alibaba.druid.pool.DruidDataSource\nspring.datasource.driver-class-name=com.mysql.jdbc.Driver\nspring.datasource.url=jdbc:mysql://${ip}:3306/escheduler?characterEncoding=UTF-8\nspring.datasource.username=${username}\nspring.datasource.password=${password}\n\n# connection configuration\nspring.datasource.initialSize=5\nspring.datasource.minIdle=5\nspring.datasource.maxActive=20\n\n# max seconds wait connection timeout\nspring.datasource.maxWait=60000\n\n# milliseconds for check to close free connections\nspring.datasource.timeBetweenEvictionRunsMillis=60000\n\n# connection minimum survival time(milliseconds)\nspring.datasource.minEvictableIdleTimeMillis=300000\nspring.datasource.validationQuery=SELECT 1\nspring.datasource.validationQueryTimeout=3\nspring.datasource.testWhileIdle=true\nspring.datasource.testOnBorrow=true\nspring.datasource.testOnReturn=false\nspring.datasource.defaultAutoCommit=true\n\n# open PSCache, specify count PSCache for every connection\nspring.datasource.poolPreparedStatements=true\nspring.datasource.maxPoolPreparedStatementPerConnectionSize=20\n\n\n# data quality analysis is not currently in use. please ignore the following configuration\n# task record flag\ntask.record.flag=false\ntask.record.datasource.url=jdbc:mysql://${ip}:3306/etl?characterEncoding=UTF-8\ntask.record.datasource.username=etl\ntask.record.datasource.password=xxxxx\nescheduler-server\nmaster配置文件\n\nmaster.properties\n\n# master execute thread num\nmaster.exec.threads=100\n\n# master execute task number in parallel\nmaster.exec.task.number=20\n\n# master heartbeat interval\nmaster.heartbeat.interval=8\n\n# master commit task retry times\nmaster.task.commit.retryTimes=5\n\n# master commit task interval\nmaster.task.commit.interval=100\n\n\n# only less than cpu avg load, master server can work. default value : the number of cpu cores * 2\nmaster.max.cpuload.avg=10\n\n# only larger than reserved memory, master server can work. default value : physical memory * 1/10, unit is G.\nmaster.reserved.memory=1\nmaster日志文件\n注意:对MASTERLOGFILE,自定义了MasterLogFilter\n\nmaster_logback.xml\n\n\n \n \n \n \n \n [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n\n \n UTF-8\n \n \n\n \n ${log.base}/escheduler-master.log\n \n INFO\n \n \n ${log.base}/escheduler-master.%d{yyyy-MM-dd_HH}.%i.log\n 20\n 200MB\n \n \n \n [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n\n \n UTF-8\n \n \n\n \n \n \n\nworker配置文件\n\nworker.properties\n\n# worker execute thread num\nworker.exec.threads=100\n\n# worker heartbeat interval\nworker.heartbeat.interval=8\n\n# submit the number of tasks at a time\nworker.fetch.task.num = 10\n\n# only less than cpu avg load, worker server can work. default value : the number of cpu cores * 2\nworker.max.cpuload.avg=10\n\n# only larger than reserved memory, worker server can work. default value : physical memory * 1/6, unit is G.\nworker.reserved.memory=1\nworker日志文件\n注意:对WORKERLOGFILE,自定义了WorkerLogFilter\n对于 TASKLOGFILE , 自定义了TaskLogAppender和TaskLogFilter\n\nworker_logback.xml\n\n\n\n \n \n \n \n [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n\n \n UTF-8\n \n \n \n \n INFO\n \n \n ${log.base}/{processDefinitionId}/{processInstanceId}/{taskInstanceId}.log\n \n \n [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n\n \n UTF-8\n \n true\n \n\n \n ${log.base}/escheduler-worker.log\n \n INFO\n \n\n \n ${log.base}/escheduler-worker.%d{yyyy-MM-dd_HH}.%i.log\n 20\n 200MB\n \n      \n \n \n [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n\n \n UTF-8\n \n   \n \n\n\n \n \n \n \n\nescheduler-web\nweb配置文件\n\napplication.properties\n\n# server port\nserver.port=12345\n\n# session config\nserver.session.timeout=7200\n\n\nserver.context-path=/escheduler/\n\n# file size limit for upload\nspring.http.multipart.max-file-size=1024MB\nspring.http.multipart.max-request-size=1024MB\n\n#post content\nserver.max-http-post-size=5000000\nweb日志文件\n\nwebserver_logback.xml\n\n \n \n \n \n \n\n \n\n \n \n \n [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n\n \n UTF-8\n \n \n\n \n \n \n INFO\n \n ${log.base}/escheduler-web-server.log\n \n ${log.base}/escheduler-web-server.%d{yyyy-MM-dd_HH}.%i.log\n 20\n 64MB\n \n\n \n \n [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n\n \n UTF-8\n \n\n \n\n \n \n \n \n启动停止命令\n\n启停Master\n\nsh ./bin/arklifter-daemon.sh start master-server\nsh ./bin/arklifter-daemon.sh stop master-server\n\n启停Worker\n\nsh ./bin/arklifter-daemon.sh start worker-server\nsh ./bin/arklifter-daemon.sh stop worker-server\n\n启停Web\n\nsh ./bin/arklifter-daemon.sh start web-server\nsh ./bin/arklifter-daemon.sh stop web-server\n\n启停Loggersh ./bin/arklifter-daemon.sh start logger-server\nsh ./bin/arklifter-daemon.sh stop logger-server\n\n启停Alertsh ./bin/arklifter-daemon.sh start alert-server\nsh ./bin/arklifter-daemon.sh stop alert-server\n\n\n一键启停脚本\n\n部署用户配置\n\n创建部署用户\ntarget/escheduler-{version}-SNAPSHOT/script/init_deploy_user.sh\n\n配置\n因为escheduler worker 都是以 sudo -u {linux-user} 方式来执行作业,所以部署用户需要有 sudo 权限,而且是免密的\n\n\n\n\n vi /etc/sudoers\n\n # 部署用户是 escheduler 账号\n escheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL\n\n # 并且需要注释掉 Default requiretty 一行\n #Default requiretty\n\n初始化 hdfs\n\n​ target/escheduler-{version}-SNAPSHOT/script/init_hdfs.sh\n\n安装配置文件 install_config\n\n # 项目所在目录\n BASE_PATH=/opt/soft/program\n # 部署的机器\n IPS=ark0,ark1,ark2,ark3,ark4\n\n运行配置文件 run_config\n # master服务所在机器,>=1个\n MASTERS=ark0,ark1\n # worker服务所在机器,>=1个\n WORKERS=ark2,ark3,ark4\n # alert服务所在机器,1个\n ALERTS=ark3\n # web服务所在机器,1个\n WEBSERVER=ark1\n\n初始化安装目录\n target/escheduler-{version}-SNAPSHOT/script/init_install_path.sh\n\n将 target/escheduler-{version}-SNAPSHOT 下配置好的conf文件夹和编译好的escheduler-{version}-SNAPSHOT.tar.gz 复制到 主机器的 BASE_PATH 目录下 \n 说明:主机器需要能免密ssh登录到其它机器上\n\n启动所有服务\n\n\nsh ./deploy/start_all.sh\n\n\n关闭所有服务\n\nsh ./deploy/stop_all.sh\n\n监控服务\nmonitor_server.py 脚本是监听,master和worker服务挂掉重启的脚本\n注意:在全部服务都启动之后启动\nnohup python -u monitor_server.py > nohup.out 2>&1 &\n日志查看\n日志统一存放于指定文件夹内\n logs/\n ├── escheduler-alert-server.log\n ├── escheduler-master-server.log\n |—— escheduler-worker-server.log\n |—— escheduler-web-server.log\n |—— escheduler-logger-server.log\n\n"},"pages/foreground-2.html":{"url":"pages/foreground-2.html","title":"安装","keywords":"","body":"frontEnd\n"},"pages/background-2.html":{"url":"pages/background-2.html","title":"后端说明2","keywords":"","body":"trailingEnd\n"}}} \ No newline at end of file diff --git a/docs/styles/website.css b/docs/styles/website.css deleted file mode 100644 index 6704486610..0000000000 --- a/docs/styles/website.css +++ /dev/null @@ -1,22 +0,0 @@ -.gitbook-link { - display: none !important; -} -.book.font-family-0 { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; -} - -.body-inner .i18n { - position: absolute; - right: 140px; - top: 0; - height: 50px; - line-height: 50px; - padding: 0 10px; - color: #ccc; - font-size: 14px; - display: inline-block; -} - -.body-inner .i18n:hover { - color: #999; -}