You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2020/07/30 01:40:59 UTC

[incubator-iotdb] branch master updated: fix doc links

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 51b5d4d  fix doc links
51b5d4d is described below

commit 51b5d4d6a450d00cd1a1e41cea3092de9cd890c9
Author: LebronAl <TX...@gmail.com>
AuthorDate: Tue Jul 28 11:05:22 2020 +0800

    fix doc links
---
 docs/Blog/index.md                                 |  2 +-
 docs/SystemDesign/Architecture/Architecture.md     | 22 +++++++++++-----------
 docs/SystemDesign/DataQuery/AlignByDeviceQuery.md  |  4 ++--
 docs/SystemDesign/DataQuery/DataQuery.md           | 18 +++++++++---------
 docs/SystemDesign/DataQuery/QueryFundamentals.md   |  2 +-
 docs/SystemDesign/QueryEngine/QueryEngine.md       |  4 ++--
 .../QueryEngine/ResultSetConstruction.md           |  4 ++--
 .../SystemDesign/StorageEngine/DataManipulation.md |  2 +-
 docs/SystemDesign/StorageEngine/StorageEngine.md   |  8 ++++----
 docs/SystemDesign/TsFile/TsFile.md                 |  6 +++---
 docs/UserGuide/Architecture/Files.md               |  8 ++++----
 docs/UserGuide/Client/Programming - TsFile API.md  |  2 +-
 docs/UserGuide/Concept/Compression.md              |  2 +-
 docs/UserGuide/Concept/Data Type.md                |  2 +-
 docs/UserGuide/Concept/Encoding.md                 |  2 +-
 docs/UserGuide/Get Started/QuickStart.md           |  6 +++---
 docs/UserGuide/Operation Manual/Administration.md  |  2 +-
 .../DDL Data Definition Language.md                |  4 ++--
 .../DML Data Manipulation Language.md              | 22 +++++++++++-----------
 docs/UserGuide/Server/Download.md                  |  2 +-
 .../System Tools/Monitor and Log Tools.md          |  4 ++--
 docs/UserGuide/UserGuideReadme.md                  |  7 ++++---
 docs/zh/SystemDesign/Architecture/Architecture.md  | 22 +++++++++++-----------
 .../SystemDesign/DataQuery/AlignByDeviceQuery.md   |  4 ++--
 docs/zh/SystemDesign/DataQuery/DataQuery.md        | 18 +++++++++---------
 .../zh/SystemDesign/DataQuery/QueryFundamentals.md |  2 +-
 docs/zh/SystemDesign/QueryEngine/QueryEngine.md    |  4 ++--
 .../QueryEngine/ResultSetConstruction.md           |  4 ++--
 .../SystemDesign/StorageEngine/DataManipulation.md |  2 +-
 .../zh/SystemDesign/StorageEngine/StorageEngine.md |  8 ++++----
 docs/zh/SystemDesign/TsFile/TsFile.md              |  6 +++---
 docs/zh/UserGuide/Architecture/Files.md            |  8 ++++----
 .../UserGuide/Client/Programming - TsFile API.md   |  2 +-
 docs/zh/UserGuide/Concept/Compression.md           |  2 +-
 docs/zh/UserGuide/Concept/Data Type.md             |  2 +-
 docs/zh/UserGuide/Concept/Encoding.md              |  2 +-
 docs/zh/UserGuide/Get Started/QuickStart.md        |  6 +++---
 .../UserGuide/Operation Manual/Administration.md   |  2 +-
 .../DDL Data Definition Language.md                |  4 ++--
 .../DML Data Manipulation Language.md              | 18 +++++++++---------
 docs/zh/UserGuide/Server/Download.md               |  2 +-
 .../System Tools/Monitor and Log Tools.md          |  6 +++---
 docs/zh/UserGuide/UserGuideReadme.md               |  7 ++++---
 43 files changed, 134 insertions(+), 132 deletions(-)

diff --git a/docs/Blog/index.md b/docs/Blog/index.md
index bf92f99..e423d97 100644
--- a/docs/Blog/index.md
+++ b/docs/Blog/index.md
@@ -21,4 +21,4 @@
 
 # IoTDB Blog
 
-## 16.05.2020 - [Some Notes on Release 0.9.3 and upcoming 0.10.0](Release0_93.html)(by Jialin Qiao / Julian Feinauer)
\ No newline at end of file
+## 16.05.2020 - [Some Notes on Release 0.9.3 and upcoming 0.10.0](Release0_93.md)(by Jialin Qiao / Julian Feinauer)
\ No newline at end of file
diff --git a/docs/SystemDesign/Architecture/Architecture.md b/docs/SystemDesign/Architecture/Architecture.md
index ca9b0bc..7662a7d 100644
--- a/docs/SystemDesign/Architecture/Architecture.md
+++ b/docs/SystemDesign/Architecture/Architecture.md
@@ -33,22 +33,22 @@ As shown in the following figure ,  IoTDB uses a client-server architecture.
 
 The server mainly includes a query engine that processes all user requests and distributes them to the corresponding management components, including the data writing layer, data query, schema management, and administration modules.
 
-* [TsFile](../TsFile/TsFile.html)
-* [QueryEngine](../QueryEngine/QueryEngine.html)
-* [SchemaManager](/SystemDesign/SchemaManager/SchemaManager.html)
-* [StorageEngine](/SystemDesign/StorageEngine/StorageEngine.html)
-* [DataQuery](/SystemDesign/DataQuery/DataQuery.html)
+* [TsFile](../TsFile/TsFile.md)
+* [QueryEngine](../QueryEngine/QueryEngine.md)
+* [SchemaManager](../SchemaManager/SchemaManager.md)
+* [StorageEngine](../StorageEngine/StorageEngine.md)
+* [DataQuery](../DataQuery/DataQuery.md)
 
 ## System Tools
 
-* [Data synchronization tool](/SystemDesign/Tools/Sync.html)
+* [Data synchronization tool](../Tools/Sync.md)
 
 ## Connector
 
 IoTDB is connected with big data systems.
 
-* [Hadoop-TsFile](/#/SystemDesign/progress/chap7/sec1)
-* [Hive-TsFile](/SystemDesign/Connector/Hive-TsFile.html)
-* [Spark-TsFile](/SystemDesign/Connector/Spark-TsFile.html)
-* [Spark-IoTDB](/SystemDesign/Connector/Spark-IOTDB.html)
-* [Grafana](/#/SystemDesign/progress/chap7/sec5)
+* [Hadoop-TsFile](../../UserGuide/Ecosystem Integration/MapReduce%20TsFile.md)
+* [Hive-TsFile](../Connector/Hive-TsFile.md)
+* [Spark-TsFile](../Connector/Spark-TsFile.md)
+* [Spark-IoTDB](../Connector/Spark-IOTDB.md)
+* [Grafana](../../UserGuide/Ecosystem Integration/Grafana.md)
diff --git a/docs/SystemDesign/DataQuery/AlignByDeviceQuery.md b/docs/SystemDesign/DataQuery/AlignByDeviceQuery.md
index 02929e3..39367c6 100644
--- a/docs/SystemDesign/DataQuery/AlignByDeviceQuery.md
+++ b/docs/SystemDesign/DataQuery/AlignByDeviceQuery.md
@@ -67,7 +67,7 @@ Unlike the original data query, the alignment by device query does not concatena
 
 Therefore, the work done at this stage by device alignment only includes optimization of filter conditions in WHERE statements.
 
-The optimization of the filtering conditions mainly includes three parts: removing the negation, transforming the disjunction paradigm, and merging the same path filtering conditions.  The corresponding optimizers are: RemoveNotOptimizer, DnfFilterOptimizer, MergeSingleFilterOptimizer.  This part of the logic can refer to:[Planner](/SystemDesign/QueryEngine/Planner.html).
+The optimization of the filtering conditions mainly includes three parts: removing the negation, transforming the disjunction paradigm, and merging the same path filtering conditions.  The corresponding optimizers are: RemoveNotOptimizer, DnfFilterOptimizer, MergeSingleFilterOptimizer.  This part of the logic can refer to:[Planner](../QueryEngine/Planner.md).
 
 ### Physical plan generation
 
@@ -255,7 +255,7 @@ The specific implementation logic is as follows:
 1. First determine whether the current result set is initialized and there is a next result. If it is, it returns true directly, that is, you can call the `next()` method to get the next `RowRecord`; otherwise, the result set is not initialized and proceeds to step 2.
 2. Iterate `deviceIterator` to get the devices needed for this execution, and then find the device node from MManger by the device path to get all sensor nodes under it.
 3. Compare all measurements in the query and the sensor nodes under the current device to get the `executeColumns` which need to be queried. Then concatenate the current device name and measurements to calculate the query path, data type, and filter conditions of the current device. The corresponding fields are `executePaths`,` tsDataTypes`, and `expression`. If it is an aggregate query, you need to calculate `executeAggregations`.
-4. Determine whether the current subquery type is GroupByQuery, AggregationQuery, FillQuery or RawDataQuery. Perform the corresponding query and return the result set. The implementation logic [Raw data query](../DataQuery/RawDataQuery.html),[Aggregate query](../DataQuery/AggregationQuery.html),[Downsampling query](../DataQuery/GroupByQuery.html) can be referenced.
+4. Determine whether the current subquery type is GroupByQuery, AggregationQuery, FillQuery or RawDataQuery. Perform the corresponding query and return the result set. The implementation logic [Raw data query](../DataQuery/RawDataQuery.md),[Aggregate query](../DataQuery/AggregationQuery.md),[Downsampling query](../DataQuery/GroupByQuery.md) can be referenced.
 
 After initializing the result set through the `hasNextWithoutConstraint ()` method and ensuring that there is a next result, you can call `QueryDataSet.next ()` method to get the next `RowRecord`.
 
diff --git a/docs/SystemDesign/DataQuery/DataQuery.md b/docs/SystemDesign/DataQuery/DataQuery.md
index 14e0f12..6d4cb4e 100644
--- a/docs/SystemDesign/DataQuery/DataQuery.md
+++ b/docs/SystemDesign/DataQuery/DataQuery.md
@@ -35,12 +35,12 @@ In order to achieve the above kinds of queries, a basic query component for a si
 
 ## Related documents
 
-* [Query fundamentals](/SystemDesign/DataQuery/QueryFundamentals.html)
-* [Basic query components](/SystemDesign/DataQuery/SeriesReader.html)
-* [Raw data query](/SystemDesign/DataQuery/RawDataQuery.html)
-* [Aggregate query](/SystemDesign/DataQuery/AggregationQuery.html)
-* [Downsampling query](/SystemDesign/DataQuery/GroupByQuery.html)
-* [Recent timestamp query](/SystemDesign/DataQuery/LastQuery.html)
-* [Align by device query](/SystemDesign/DataQuery/AlignByDeviceQuery.html)
-* [Fill function](/SystemDesign/DataQuery/FillFunction.html)
-* [Group by fill query](/SystemDesign/DataQuery/GroupByFillQuery.html)
+* [Query fundamentals](../DataQuery/QueryFundamentals.md)
+* [Basic query components](../DataQuery/SeriesReader.md)
+* [Raw data query](../DataQuery/RawDataQuery.md)
+* [Aggregate query](../DataQuery/AggregationQuery.md)
+* [Downsampling query](../DataQuery/GroupByQuery.md)
+* [Recent timestamp query](../DataQuery/LastQuery.md)
+* [Align by device query](../DataQuery/AlignByDeviceQuery.md)
+* [Fill function](../DataQuery/FillFunction.md)
+* [Group by fill query](../DataQuery/GroupByFillQuery.md)
diff --git a/docs/SystemDesign/DataQuery/QueryFundamentals.md b/docs/SystemDesign/DataQuery/QueryFundamentals.md
index b231df7..827a961 100644
--- a/docs/SystemDesign/DataQuery/QueryFundamentals.md
+++ b/docs/SystemDesign/DataQuery/QueryFundamentals.md
@@ -36,7 +36,7 @@ It should be noted that, in the following query documents, we tend to use `seq f
 
 ## General query process
 
-The multi-level structure of TsFile is introduced in [TsFile](../TsFile/TsFile.html). 
+The multi-level structure of TsFile is introduced in [TsFile](../TsFile/TsFile.md). 
 For each timeseries, we always follow the query routine across 5 levels: TsFileResource -> TimeseriesMetadata -> ChunkMetadata -> IPageReader -> BatchData
 
 The file access utility methods are in `org.apache.iotdb.db.utils.FileLoaderUtils`
diff --git a/docs/SystemDesign/QueryEngine/QueryEngine.md b/docs/SystemDesign/QueryEngine/QueryEngine.md
index 52dc9fa..d3f87bc 100644
--- a/docs/SystemDesign/QueryEngine/QueryEngine.md
+++ b/docs/SystemDesign/QueryEngine/QueryEngine.md
@@ -60,5 +60,5 @@ The query engine is responsible for parsing all user commands, generating plans,
 
 ## Related documents
 
-* [Query Plan Generator](/SystemDesign/QueryEngine/Planner.html)
-* [PlanExecutor](/SystemDesign/QueryEngine/PlanExecutor.html)
+* [Query Plan Generator](../QueryEngine/Planner.md)
+* [PlanExecutor](../QueryEngine/PlanExecutor.md)
diff --git a/docs/SystemDesign/QueryEngine/ResultSetConstruction.md b/docs/SystemDesign/QueryEngine/ResultSetConstruction.md
index ccb9060..e4e1757 100644
--- a/docs/SystemDesign/QueryEngine/ResultSetConstruction.md
+++ b/docs/SystemDesign/QueryEngine/ResultSetConstruction.md
@@ -63,7 +63,7 @@ The header construction logic of align by device query is in the `getAlignByDevi
 
 - org.apache.iotdb.db.service.TSServiceImpl.getAlignByDeviceQueryHeaders
 
-The result set construction of the AlignByDeviceQuery depends on the list of **measurements not deduplicated** generated in the physical query plan. For a brief introduction, the measurements list is a list generated by the suffix path (including wildcards) in the SELECT clause, including three types, namely constant, exist and nonexist. For details, please refer to [Align by device query](/SystemDesign/DataQuery/AlignByDeviceQuery.html)
+The result set construction of the AlignByDeviceQuery depends on the list of **measurements not deduplicated** generated in the physical query plan. For a brief introduction, the measurements list is a list generated by the suffix path (including wildcards) in the SELECT clause, including three types, namely constant, exist and nonexist. For details, please refer to [Align by device query](../DataQuery/AlignByDeviceQuery.md)
 
 Since the structure of relation table is used for AlignByDeviceQuery, the device column is added to the header first, and its corresponding data type is text type.
 
@@ -124,7 +124,7 @@ The deduplication logic of **AlignByDeviceQuery** is in the  `hasNextWithoutCons
 - org.apache.iotdb.db.query.dataset.AlignByDeviceDataSet.hasNextWithoutConstraint()
 
 Because AlignByDeviceQuery need to organize their query plans by device, each device query may not have the same path, and it is allowed to contain constant columns and nonexistent timeseries, so it cannot simply be deduplicated with other queries. Deduplication requires **removing not only the repeated timeseries path, but also the constant columns appearing in the query and the timeseries that do not exist in the current device**.
-The implementation logic can be referred to [Align by device query](/SystemDesign/DataQuery/AlignByDeviceQuery.html).
+The implementation logic can be referred to [Align by device query](../DataQuery/AlignByDeviceQuery.md).
 
 After the deduplication paths in the query plan are completed, the query executor of IoTDB can be called to execute the query and obtain the deduplication result set.
 
diff --git a/docs/SystemDesign/StorageEngine/DataManipulation.md b/docs/SystemDesign/StorageEngine/DataManipulation.md
index 8a3907f..68c1069 100644
--- a/docs/SystemDesign/StorageEngine/DataManipulation.md
+++ b/docs/SystemDesign/StorageEngine/DataManipulation.md
@@ -63,7 +63,7 @@ The following describes four common data manipulation operations, which are inse
 Currently does not support data in-place update operations, that is, update statements, but users can directly insert new data, the same time series at the same time point is based on the latest inserted data.
 Old data is automatically deleted by merging, see:
 
-* [File merge mechanism](/SystemDesign/StorageEngine/MergeManager.html)
+* [File merge mechanism](../StorageEngine/MergeManager.md)
 
 ## Data deletion
 
diff --git a/docs/SystemDesign/StorageEngine/StorageEngine.md b/docs/SystemDesign/StorageEngine/StorageEngine.md
index 7638049..33a8bf5 100644
--- a/docs/SystemDesign/StorageEngine/StorageEngine.md
+++ b/docs/SystemDesign/StorageEngine/StorageEngine.md
@@ -51,7 +51,7 @@ In addition, the storage engine includes asynchronous persistence and file merge
 
 ## Data write
 See details:
-* [Data write](/SystemDesign/StorageEngine/DataManipulation.html)
+* [Data write](../StorageEngine/DataManipulation.md)
 
 ## Data access
 
@@ -61,8 +61,8 @@ See details:
 
 ## Related documents
 
-* [Write Ahead Log (WAL)](/SystemDesign/StorageEngine/WAL.html)
+* [Write Ahead Log (WAL)](../StorageEngine/WAL.md)
 
-* [memtable Endurance](/SystemDesign/StorageEngine/FlushManager.html)
+* [memtable Endurance](../StorageEngine/FlushManager.md)
 
-* [File merge mechanism](/SystemDesign/StorageEngine/MergeManager.html)
+* [File merge mechanism](../StorageEngine/MergeManager.md)
diff --git a/docs/SystemDesign/TsFile/TsFile.md b/docs/SystemDesign/TsFile/TsFile.md
index 88a5ce7..19b9915 100644
--- a/docs/SystemDesign/TsFile/TsFile.md
+++ b/docs/SystemDesign/TsFile/TsFile.md
@@ -25,6 +25,6 @@ TsFile is the data file of IoTDB.
 
 ## Related
 
-* [File Format](/SystemDesign/TsFile/Format.html)
-* [Write Process](/SystemDesign/TsFile/Write.html)
-* [Read Process](/SystemDesign/TsFile/Read.html)
+* [File Format](../TsFile/Format.md)
+* [Write Process](../TsFile/Write.md)
+* [Read Process](../TsFile/Read.md)
diff --git a/docs/UserGuide/Architecture/Files.md b/docs/UserGuide/Architecture/Files.md
index ad07a1f..b011c81 100644
--- a/docs/UserGuide/Architecture/Files.md
+++ b/docs/UserGuide/Architecture/Files.md
@@ -27,17 +27,17 @@ The data that IoTDB stores is divided into three categories, namely data files,
 
 ## Data Files
 
-Data files store all the data that the user wrote to IoTDB, which contains TsFile and other files. TsFile storage directory can be configured with the `data_dirs` configuration item (see [file layer](../Server/Config%20Manual.html) for details). Other files can be configured through [data_dirs](../Server/Config%20Manual.html) configuration item (see [Engine Layer](../Server/Config%20Manual.html) for details).
+Data files store all the data that the user wrote to IoTDB, which contains TsFile and other files. TsFile storage directory can be configured with the `data_dirs` configuration item (see [file layer](../Server/Config%20Manual.md) for details). Other files can be configured through [data_dirs](../Server/Config%20Manual.md) configuration item (see [Engine Layer](../Server/Config%20Manual.md) for details).
 
-In order to better support users' storage requirements such as disk space expansion, IoTDB supports multiple file directories storage methods for TsFile storage configuration. Users can set multiple storage paths as data storage locations( see [data_dirs](../Server/Config%20Manual.html) configuration item), and you can specify or customize the directory selection policy (see [multi_dir_strategy](../Server/Config%20Manual.html) configuration item for details).
+In order to better support users' storage requirements such as disk space expansion, IoTDB supports multiple file directories storage methods for TsFile storage configuration. Users can set multiple storage paths as data storage locations( see [data_dirs](../Server/Config%20Manual.md) configuration item), and you can specify or customize the directory selection policy (see [multi_dir_strategy](../Server/Config%20Manual.md) configuration item for details).
 
 ## System files
 
-System files include schema files, which store metadata information of data in IoTDB. It can be configured through the `base_dir` configuration item (see [System Layer](../Server/Config%20Manual.html) for details).
+System files include schema files, which store metadata information of data in IoTDB. It can be configured through the `base_dir` configuration item (see [System Layer](../Server/Config%20Manual.md) for details).
 
 ## Pre-write Log Files
 
-Pre-write log files store WAL files. It can be configured through the `wal_dir` configuration item (see [System Layer](../Server/Single%20Node%20Setup.html) for details).
+Pre-write log files store WAL files. It can be configured through the `wal_dir` configuration item (see [System Layer](../Server/Single%20Node%20Setup.md) for details).
 
 ## Example of Setting Data storage Directory
 
diff --git a/docs/UserGuide/Client/Programming - TsFile API.md b/docs/UserGuide/Client/Programming - TsFile API.md
index 8010d50..c426427 100644
--- a/docs/UserGuide/Client/Programming - TsFile API.md	
+++ b/docs/UserGuide/Client/Programming - TsFile API.md	
@@ -226,7 +226,7 @@ A TsFile can be generated by following three steps and the complete code will be
       
     * type: The data type, now support six types: `BOOLEAN`, `INT32`, `INT64`, `FLOAT`, `DOUBLE`, `TEXT`;
     
-    * encoding: The data encoding. See [Chapter 2-3](../Concept/Encoding.html).
+    * encoding: The data encoding. See [Chapter 2-3](../Concept/Encoding.md).
     
     * compression: The data compression. Now supports `UNCOMPRESSED` and `SNAPPY`.
     
diff --git a/docs/UserGuide/Concept/Compression.md b/docs/UserGuide/Concept/Compression.md
index da51d11..de67acd 100644
--- a/docs/UserGuide/Concept/Compression.md
+++ b/docs/UserGuide/Concept/Compression.md
@@ -29,4 +29,4 @@ IoTDB allows you to specify the compression method of the column when creating a
 
 * SNAPPY
 
-The specified syntax for compression is detailed in [Create Timeseries Statement](../Operation%20Manual/SQL%20Reference.html).
+The specified syntax for compression is detailed in [Create Timeseries Statement](../Operation%20Manual/SQL%20Reference.md).
diff --git a/docs/UserGuide/Concept/Data Type.md b/docs/UserGuide/Concept/Data Type.md
index 6b94866..f62c2a0 100644
--- a/docs/UserGuide/Concept/Data Type.md	
+++ b/docs/UserGuide/Concept/Data Type.md	
@@ -30,7 +30,7 @@ IoTDB supports six data types in total:
 * TEXT (String).
 
 
-The time series of **FLOAT** and **DOUBLE** type can specify (MAX\_POINT\_NUMBER, see [this page](../Operation%20Manual/SQL%20Reference.html) for more information on how to specify), which is the number of digits after the decimal point of the floating point number, if the encoding method is [RLE](../Concept/Encoding.html) or [TS\_2DIFF](../Concept/Encoding.html) (Refer to [Create Timeseries Statement](../Operation%20Manual/SQL%20Reference.html) for more information on how to specify). I [...]
+The time series of **FLOAT** and **DOUBLE** type can specify (MAX\_POINT\_NUMBER, see [this page](../Operation%20Manual/SQL%20Reference.md) for more information on how to specify), which is the number of digits after the decimal point of the floating point number, if the encoding method is [RLE](../Concept/Encoding.md) or [TS\_2DIFF](../Concept/Encoding.md) (Refer to [Create Timeseries Statement](../Operation%20Manual/SQL%20Reference.md) for more information on how to specify). If MAX\_P [...]
 
 * For Float data value, The data range is (-Integer.MAX_VALUE, Integer.MAX_VALUE), rather than Float.MAX_VALUE, and the max_point_number is 19, it is because of the limition of function Math.round(float) in Java.
 * For Double data value, The data range is (-Long.MAX_VALUE, Long.MAX_VALUE), rather than Double.MAX_VALUE, and the max_point_number is 19, it is because of the limition of function Math.round(double) in Java (Long.MAX_VALUE=9.22E18).
diff --git a/docs/UserGuide/Concept/Encoding.md b/docs/UserGuide/Concept/Encoding.md
index 9f416a7..4d90104 100644
--- a/docs/UserGuide/Concept/Encoding.md
+++ b/docs/UserGuide/Concept/Encoding.md
@@ -35,7 +35,7 @@ Second-order differential encoding is more suitable for encoding monotonically i
 
 Run-length encoding is more suitable for storing sequence with continuous integer values, and is not recommended for sequence data with most of the time different values.
 
-Run-length encoding can also be used to encode floating-point numbers, but it is necessary to specify reserved decimal digits (MAX\_POINT\_NUMBER, see [this page](../Operation%20Manual/SQL%20Reference.html) for more information on how to specify) when creating time series. It is more suitable for storing sequence data where floating-point values appear continuously, monotonously increasing or decreasing, and it is not suitable for storing sequence data with high precision requirements af [...]
+Run-length encoding can also be used to encode floating-point numbers, but it is necessary to specify reserved decimal digits (MAX\_POINT\_NUMBER, see [this page](../Operation%20Manual/SQL%20Reference.md) for more information on how to specify) when creating time series. It is more suitable for storing sequence data where floating-point values appear continuously, monotonously increasing or decreasing, and it is not suitable for storing sequence data with high precision requirements afte [...]
 
 > TS_2DIFF and RLE have precision limit for data type of float and double. By default, two decimal places are reserved. GORILLA is recommended. 
 
diff --git a/docs/UserGuide/Get Started/QuickStart.md b/docs/UserGuide/Get Started/QuickStart.md
index 498844e..4b140ec 100644
--- a/docs/UserGuide/Get Started/QuickStart.md	
+++ b/docs/UserGuide/Get Started/QuickStart.md	
@@ -39,7 +39,7 @@
 
 <!-- /TOC -->
 
-This short guide will walk you through the basic process of using IoTDB. For a more-complete guide, please visit our website's [User Guide](../Overview/What%20is%20IoTDB.html).
+This short guide will walk you through the basic process of using IoTDB. For a more-complete guide, please visit our website's [User Guide](../Overview/What%20is%20IoTDB.md).
 
 ## Prerequisites
 
@@ -72,7 +72,7 @@ configuration files are under "conf" folder
   * system config module (`iotdb-engine.properties`)
   * log config module (`logback.xml`). 
 
-For more, see [Chapter3: Server](../Server/Download.html) in detail.
+For more, see [Chapter3: Server](../Server/Download.md) in detail.
 
 ## Start
 
@@ -237,7 +237,7 @@ or
 IoTDB> exit
 ```
 
-For more on what commands are supported by IoTDB SQL, see [SQL Reference](../Operation%20Manual/SQL%20Reference.html).
+For more on what commands are supported by IoTDB SQL, see [SQL Reference](../Operation%20Manual/SQL%20Reference.md).
 
 ### Stop IoTDB
 
diff --git a/docs/UserGuide/Operation Manual/Administration.md b/docs/UserGuide/Operation Manual/Administration.md
index 626e782..4ec9542 100644
--- a/docs/UserGuide/Operation Manual/Administration.md	
+++ b/docs/UserGuide/Operation Manual/Administration.md	
@@ -23,7 +23,7 @@
 
 IoTDB provides users with account privilege management operations, so as to ensure data security.
 
-We will show you basic user privilege management operations through the following specific examples. Detailed SQL syntax and usage details can be found in [SQL Documentation](../Operation%20Manual/SQL%20Reference.html). At the same time, in the JAVA programming environment, you can use the [Java JDBC](../Client/Programming%20-%20JDBC.html) to execute privilege management statements in a single or batch mode. 
+We will show you basic user privilege management operations through the following specific examples. Detailed SQL syntax and usage details can be found in [SQL Documentation](../Operation%20Manual/SQL%20Reference.md). At the same time, in the JAVA programming environment, you can use the [Java JDBC](../Client/Programming%20-%20JDBC.md) to execute privilege management statements in a single or batch mode. 
 
 ## Basic Concepts
 
diff --git a/docs/UserGuide/Operation Manual/DDL Data Definition Language.md b/docs/UserGuide/Operation Manual/DDL Data Definition Language.md
index 8a3d4f9..f63e107 100644
--- a/docs/UserGuide/Operation Manual/DDL Data Definition Language.md	
+++ b/docs/UserGuide/Operation Manual/DDL Data Definition Language.md	
@@ -41,7 +41,7 @@ Msg: org.apache.iotdb.exception.MetadataErrorException: org.apache.iotdb.excepti
 
 ## Show Storage Group
 
-After the storage group is created, we can use the [SHOW STORAGE GROUP](../Operation%20Manual/SQL%20Reference.html) statement to view all the storage groups. The SQL statement is as follows:
+After the storage group is created, we can use the [SHOW STORAGE GROUP](../Operation%20Manual/SQL%20Reference.md) statement to view all the storage groups. The SQL statement is as follows:
 
 ```
 IoTDB> show storage group
@@ -70,7 +70,7 @@ IoTDB> create timeseries root.ln.wf02.wt02.status WITH DATATYPE=BOOLEAN, ENCODIN
 error: encoding TS_2DIFF does not support BOOLEAN
 ```
 
-Please refer to [Encoding](../Concept/Encoding.html) for correspondence between data type and encoding.
+Please refer to [Encoding](../Concept/Encoding.md) for correspondence between data type and encoding.
 
 ### Tag and attribute management
 
diff --git a/docs/UserGuide/Operation Manual/DML Data Manipulation Language.md b/docs/UserGuide/Operation Manual/DML Data Manipulation Language.md
index 5f90b8b..f754513 100644
--- a/docs/UserGuide/Operation Manual/DML Data Manipulation Language.md	
+++ b/docs/UserGuide/Operation Manual/DML Data Manipulation Language.md	
@@ -24,12 +24,12 @@
 ## INSERT
 ### Insert Real-time Data
 
-IoTDB provides users with a variety of ways to insert real-time data, such as directly inputting [INSERT SQL statement](../Operation%20Manual/SQL%20Reference.html) in [Client/Shell tools](../Client/Command%20Line%20Interface.html), or using [Java JDBC](../Client/Programming%20-%20JDBC.html) to perform single or batch execution of [INSERT SQL statement](../Operation%20Manual/SQL%20Reference.html).
+IoTDB provides users with a variety of ways to insert real-time data, such as directly inputting [INSERT SQL statement](../Operation%20Manual/SQL%20Reference.md) in [Client/Shell tools](../Client/Command%20Line%20Interface.md), or using [Java JDBC](../Client/Programming%20-%20JDBC.md) to perform single or batch execution of [INSERT SQL statement](../Operation%20Manual/SQL%20Reference.md).
 
-This section mainly introduces the use of [INSERT SQL statement](../Operation%20Manual/SQL%20Reference.html) for real-time data import in the scenario.
+This section mainly introduces the use of [INSERT SQL statement](../Operation%20Manual/SQL%20Reference.md) for real-time data import in the scenario.
 
 #### Use of INSERT Statements
-The [INSERT SQL statement](../Operation%20Manual/SQL%20Reference.html) statement can be used to insert data into one or more specified timeseries that have been created. For each point of data inserted, it consists of a [timestamp](../Concept/Data%20Model%20and%20Terminology.html) and a sensor acquisition value (see [Data Type](../Concept/Data%20Type.html)).
+The [INSERT SQL statement](../Operation%20Manual/SQL%20Reference.md) statement can be used to insert data into one or more specified timeseries that have been created. For each point of data inserted, it consists of a [timestamp](../Concept/Data%20Model%20and%20Terminology.md) and a sensor acquisition value (see [Data Type](../Concept/Data%20Type.md)).
 
 In the scenario of this section, take two timeseries `root.ln.wf02.wt02.status` and `root.ln.wf02.wt02.hardware` as an example, and their data types are BOOLEAN and TEXT, respectively.
 
@@ -86,7 +86,7 @@ error: The TEXT data type should be covered by " or '
 
 ### Time Slice Query
 
-This chapter mainly introduces the relevant examples of time slice query using IoTDB SELECT statements. Detailed SQL syntax and usage specifications can be found in [SQL Documentation](../Operation%20Manual/SQL%20Reference.html). You can also use the [Java JDBC](../Client/Programming%20-%20JDBC.html) standard interface to execute related queries.
+This chapter mainly introduces the relevant examples of time slice query using IoTDB SELECT statements. Detailed SQL syntax and usage specifications can be found in [SQL Documentation](../Operation%20Manual/SQL%20Reference.md). You can also use the [Java JDBC](../Client/Programming%20-%20JDBC.md) standard interface to execute related queries.
 
 #### Select a Column of Data Based on a Time Interval
 
@@ -189,10 +189,10 @@ select count(status) from root.ln.wf01.wt01 group by level=2;
 ### Down-Frequency Aggregate Query
 
 This section mainly introduces the related examples of down-frequency aggregation query, 
-using the [GROUP BY clause](../Operation%20Manual/SQL%20Reference.html), 
+using the [GROUP BY clause](../Operation%20Manual/SQL%20Reference.md), 
 which is used to partition the result set according to the user's given partitioning conditions and aggregate the partitioned result set. 
 IoTDB supports partitioning result sets according to time interval and customized sliding step which should not be smaller than the time interval and defaults to equal the time interval if not set. And by default results are sorted by time in ascending order. 
-You can also use the [Java JDBC](../Client/Programming%20-%20Native%20API.html) standard interface to execute related queries.
+You can also use the [Java JDBC](../Client/Programming%20-%20Native%20API.md) standard interface to execute related queries.
 
 The GROUP BY statement provides users with three types of specified parameters:
 
@@ -534,14 +534,14 @@ When the fill method is not specified, each data type bears its own default fill
 
 ### Row and Column Control over Query Results
 
-IoTDB provides [LIMIT/SLIMIT](../Operation%20Manual/SQL%20Reference.html) clause and [OFFSET/SOFFSET](../Operation%20Manual/SQL%20Reference.html) 
+IoTDB provides [LIMIT/SLIMIT](../Operation%20Manual/SQL%20Reference.md) clause and [OFFSET/SOFFSET](../Operation%20Manual/SQL%20Reference.md) 
 clause in order to make users have more control over query results. 
 The use of LIMIT and SLIMIT clauses allows users to control the number of rows and columns of query results, 
 and the use of OFFSET and SOFSET clauses allows users to set the starting position of the results for display.
 
 Note that the LIMIT and OFFSET are not supported in group by query.
 
-This chapter mainly introduces related examples of row and column control of query results. You can also use the [Java JDBC](../Client/Programming%20-%20JDBC.html) standard interface to execute queries.
+This chapter mainly introduces related examples of row and column control of query results. You can also use the [Java JDBC](../Client/Programming%20-%20JDBC.md) standard interface to execute queries.
 
 #### Row Control over Query Results
 
@@ -770,9 +770,9 @@ The SQL statement will not be executed and the corresponding error prompt is giv
 
 ## DELETE
 
-Users can delete data that meet the deletion condition in the specified timeseries by using the [DELETE statement](../Operation%20Manual/SQL%20Reference.html). When deleting data, users can select one or more timeseries paths, prefix paths, or paths with star  to delete data within a certain time interval.
+Users can delete data that meet the deletion condition in the specified timeseries by using the [DELETE statement](../Operation%20Manual/SQL%20Reference.md). When deleting data, users can select one or more timeseries paths, prefix paths, or paths with star  to delete data within a certain time interval.
 
-In a JAVA programming environment, you can use the [Java JDBC](../Client/Programming%20-%20JDBC.html) to execute single or batch UPDATE statements.
+In a JAVA programming environment, you can use the [Java JDBC](../Client/Programming%20-%20JDBC.md) to execute single or batch UPDATE statements.
 
 ### Delete Single Timeseries
 Taking ln Group as an example, there exists such a usage scenario:
@@ -810,7 +810,7 @@ expressions like : time > XXX, time <= XXX, or two atomic expressions connected
 
 
 ### Delete Multiple Timeseries
-When both the power supply status and hardware version of the ln group wf02 plant wt02 device before 2017-11-01 16:26:00 need to be deleted, [the prefix path with broader meaning or the path with star](../Concept/Data%20Model%20and%20Terminology.html) can be used to delete the data. The SQL statement for this operation is:
+When both the power supply status and hardware version of the ln group wf02 plant wt02 device before 2017-11-01 16:26:00 need to be deleted, [the prefix path with broader meaning or the path with star](../Concept/Data%20Model%20and%20Terminology.md) can be used to delete the data. The SQL statement for this operation is:
 
 ```
 delete from root.ln.wf02.wt02 where time <= 2017-11-01T16:26:00;
diff --git a/docs/UserGuide/Server/Download.md b/docs/UserGuide/Server/Download.md
index f38b4fd..d927fc4 100644
--- a/docs/UserGuide/Server/Download.md
+++ b/docs/UserGuide/Server/Download.md
@@ -71,4 +71,4 @@ After build, the IoTDB server will be at the folder "server/target/iotdb-server-
 
 ## Installation by Docker (Dockerfile)
 
-You can build and run a IoTDB docker image by following the guide of [Deployment by Docker](../Server/Docker%20Image.html)
+You can build and run a IoTDB docker image by following the guide of [Deployment by Docker](../Server/Docker%20Image.md)
diff --git a/docs/UserGuide/System Tools/Monitor and Log Tools.md b/docs/UserGuide/System Tools/Monitor and Log Tools.md
index 91f411a..be4a9c2 100644
--- a/docs/UserGuide/System Tools/Monitor and Log Tools.md	
+++ b/docs/UserGuide/System Tools/Monitor and Log Tools.md	
@@ -156,9 +156,9 @@ The user can choose to enable or disable the data statistics monitoring function
 
 The current statistics of writing data by the system can be divided into two major modules: **Global Writing Data Statistics** and **Storage Group Writing Data Statistics**. **Global Writing Data Statistics** records the point number written by the user and the number of requests. **Storage Group Writing Data Statistics** records data of a certain storage group. 
 
-The system defaults to collect data every 5 seconds, and writes the statistics to the IoTDB and stores them in a system-specified locate. (If you need to change the statistic frequency, you can set The `back_loop_period_in_second entry` in the configuration file, see Section [Engine Layer](../Server/Single%20Node%20Setup.html) for details). After the system is refreshed or restarted, IoTDB does not recover the statistics, and the statistics data will restart from zero.
+The system defaults to collect data every 5 seconds, and writes the statistics to the IoTDB and stores them in a system-specified locate. (If you need to change the statistic frequency, you can set The `back_loop_period_in_second entry` in the configuration file, see Section [Engine Layer](../Server/Single%20Node%20Setup.md) for details). After the system is refreshed or restarted, IoTDB does not recover the statistics, and the statistics data will restart from zero.
 
-In order to avoid the excessive use of statistical information, we add a mechanism to periodically clear invalid data for statistical information. The system will delete invalid data at regular intervals. The user can set the trigger frequency (`stat_monitor_retain_interval_in_second`, default is 600s, see section [Engine Layer](../Server/Single%20Node%20Setup.html) for details) to set the frequency of deleting data. By setting the valid data duration (`stat_monitor_detect_freq_in_second [...]
+In order to avoid the excessive use of statistical information, we add a mechanism to periodically clear invalid data for statistical information. The system will delete invalid data at regular intervals. The user can set the trigger frequency (`stat_monitor_retain_interval_in_second`, default is 600s, see section [Engine Layer](../Server/Single%20Node%20Setup.md) for details) to set the frequency of deleting data. By setting the valid data duration (`stat_monitor_detect_freq_in_second e [...]
 
 It's convenient for you to use `select` clause to get the writing data statistics the same as other timeseires.
 
diff --git a/docs/UserGuide/UserGuideReadme.md b/docs/UserGuide/UserGuideReadme.md
index 1514a48..b47f9ab 100644
--- a/docs/UserGuide/UserGuideReadme.md
+++ b/docs/UserGuide/UserGuideReadme.md
@@ -25,7 +25,8 @@ We are keeping introducing more features into IoTDB. Therefore, different releas
 The "In Progress Version" is for matching the master branch of IOTDB's source code Repository.
 Other documents are for matching IoTDB released version.
 
-- [In progress version](/UserGuide/master/Get%20Started/QuickStart.html) 
-- [Version 0.8.x](/UserGuide/V0.8.x/0-Get%20Started/1-QuickStart.html)
-- [Version 0.9.x](/UserGuide/V0.9.x/0-Get%20Started/1-QuickStart.html)
+- [In progress version](https://iotdb.apache.org/UserGuide/Master/Get%20Started/QuickStart.html) 
+- [Version 0.10.x](https://iotdb.apache.org/UserGuide/V0.10.x/Get%20Started/QuickStart.html)
+- [Version 0.9.x](https://iotdb.apache.org/UserGuide/V0.9.x/0-Get%20Started/1-QuickStart.html)
+- [Version 0.8.x](https://iotdb.apache.org/UserGuide/V0.8.x/0-Get%20Started/1-QuickStart.html)
 
diff --git a/docs/zh/SystemDesign/Architecture/Architecture.md b/docs/zh/SystemDesign/Architecture/Architecture.md
index f60548b..5c6003b 100644
--- a/docs/zh/SystemDesign/Architecture/Architecture.md
+++ b/docs/zh/SystemDesign/Architecture/Architecture.md
@@ -33,23 +33,23 @@ IoTDB 采用客户端-服务器架构,如下图所示。
 
 其中服务器端主要包括查询引擎,用来处理用户的所有请求,并分发到对应的管理组件,包括数据写入层、数据查询、元数据管理、权限管理等模块。
 
-* [数据文件](../TsFile/TsFile.html)
-* [查询引擎](../QueryEngine/QueryEngine.html)
-* [元数据管理](../SchemaManager/SchemaManager.html)
-* [存储引擎](../StorageEngine/StorageEngine.html)
-* [数据查询](../DataQuery/DataQuery.html)
+* [数据文件](../TsFile/TsFile.md)
+* [查询引擎](../QueryEngine/QueryEngine.md)
+* [元数据管理](../SchemaManager/SchemaManager.md)
+* [存储引擎](../StorageEngine/StorageEngine.md)
+* [数据查询](../DataQuery/DataQuery.md)
 
 ## 系统工具
 
-* [数据同步工具](../Tools/Sync.html)
+* [数据同步工具](../Tools/Sync.md)
 
 ## 连接器
 
 IoTDB 与大数据系统进行了对接。
 
-* [Hadoop-TsFile](/#/SystemDesign/progress/chap7/sec1)
-* [Hive-TsFile](../Connector/Hive-TsFile.html)
-* [Spark-TsFile](../Connector/Spark-TsFile.html)
-* [Spark-IoTDB](../Connector/Spark-IOTDB.html)
-* [Grafana](/#/SystemDesign/progress/chap7/sec5)
+* [Hadoop-TsFile](../../UserGuide/Ecosystem Integration/MapReduce%20TsFile.md)
+* [Hive-TsFile](../Connector/Hive-TsFile.md)
+* [Spark-TsFile](../Connector/Spark-TsFile.md)
+* [Spark-IoTDB](../Connector/Spark-IOTDB.md)
+* [Grafana](../../UserGuide/Ecosystem Integration/Grafana.md)
 
diff --git a/docs/zh/SystemDesign/DataQuery/AlignByDeviceQuery.md b/docs/zh/SystemDesign/DataQuery/AlignByDeviceQuery.md
index 0334b22..c61c812 100644
--- a/docs/zh/SystemDesign/DataQuery/AlignByDeviceQuery.md
+++ b/docs/zh/SystemDesign/DataQuery/AlignByDeviceQuery.md
@@ -68,7 +68,7 @@ SELECT s1, "1", *, s2, s5 FROM root.sg.d1, root.sg.* WHERE time = 1 AND s1 < 25
 
 因此,按设备对齐在此阶段所做的工作只包括对 WHERE 语句中过滤条件的优化。
 
-对过滤条件的优化主要包括三部分:去非、转化析取范式、合并同路径过滤条件。对应的优化器分别为:RemoveNotOptimizer, DnfFilterOptimizer, MergeSingleFilterOptimizer。该部分逻辑可参考:[Planner](/zh/SystemDesign/QueryEngine/Planner.html).
+对过滤条件的优化主要包括三部分:去非、转化析取范式、合并同路径过滤条件。对应的优化器分别为:RemoveNotOptimizer, DnfFilterOptimizer, MergeSingleFilterOptimizer。该部分逻辑可参考:[Planner](../QueryEngine/Planner.md).
 
 ### 物理计划生成
 
@@ -253,7 +253,7 @@ private void getAlignByDeviceQueryHeaders(
 1. 首先判断当前结果集是否被初始化且有下一个结果,如果是则直接返回 true,即当前可以调用 `next()` 方法获取下一个 `RowRecord`;否则设置结果集未被初始化进入步骤2.
 2. 迭代 `deviceIterator` 获取本次执行需要的设备,之后通过设备路径在 MManager 中查询到该设备节点,并取得该设备节点下的所有传感器节点,保存为 `measurementOfGivenDevice`.
 3. 遍历当前查询中的所有 measurement,将其与执行设备的所有传感器节点进行比较,得到该设备需要查询的列 `executeColumns`. 之后拼接当前设备名与 measurements,计算当前设备的查询路径、数据类型及过滤条件,得到对应的字段分别为 `executePaths`, `tsDataTypes`, `expression`,如果是聚合查询,则还需要计算 `executeAggregations`。
-4. 判断当前子查询类型为 GroupByQuery, AggregationQuery, FillQuery 或 RawDataQuery 进行对应的查询并返回结果集,实现逻辑可参考[原始数据查询](../DataQuery/RawDataQuery.html),[聚合查询](../DataQuery/AggregationQuery.html),[降采样查询](../DataQuery/GroupByQuery.html)。
+4. 判断当前子查询类型为 GroupByQuery, AggregationQuery, FillQuery 或 RawDataQuery 进行对应的查询并返回结果集,实现逻辑可参考[原始数据查询](../DataQuery/RawDataQuery.md),[聚合查询](../DataQuery/AggregationQuery.md),[降采样查询](../DataQuery/GroupByQuery.md)。
 
 通过 `hasNextWithoutConstraint()` 方法初始化结果集并确保有下一结果后,则可调用 `QueryDataSet.next()` 方法获取下一个 `RowRecord`.
 
diff --git a/docs/zh/SystemDesign/DataQuery/DataQuery.md b/docs/zh/SystemDesign/DataQuery/DataQuery.md
index 36510cd..cb1f828 100644
--- a/docs/zh/SystemDesign/DataQuery/DataQuery.md
+++ b/docs/zh/SystemDesign/DataQuery/DataQuery.md
@@ -35,12 +35,12 @@
 
 ## 相关文档
 
-* [查询基础介绍](/zh/SystemDesign/DataQuery/QueryFundamentals.html)
-* [基础查询组件](/zh/SystemDesign/DataQuery/SeriesReader.html)
-* [原始数据查询](/zh/SystemDesign/DataQuery/RawDataQuery.html)
-* [聚合查询](/zh/SystemDesign/DataQuery/AggregationQuery.html)
-* [降采样查询](/zh/SystemDesign/DataQuery/GroupByQuery.html)
-* [最近时间戳查询](/zh/SystemDesign/DataQuery/LastQuery.html)
-* [按设备对齐查询](/zh/SystemDesign/DataQuery/AlignByDeviceQuery.html)
-* [空值填充](/zh/SystemDesign/DataQuery/FillFunction.html)
-* [降采样补空值查询](/zh/SystemDesign/DataQuery/GroupByFillQuery.html)
+* [查询基础介绍](../DataQuery/QueryFundamentals.md)
+* [基础查询组件](../DataQuery/SeriesReader.md)
+* [原始数据查询](../DataQuery/RawDataQuery.md)
+* [聚合查询](../DataQuery/AggregationQuery.md)
+* [降采样查询](../DataQuery/GroupByQuery.md)
+* [最近时间戳查询](../DataQuery/LastQuery.md)
+* [按设备对齐查询](../DataQuery/AlignByDeviceQuery.md)
+* [空值填充](../DataQuery/FillFunction.md)
+* [降采样补空值查询](../DataQuery/GroupByFillQuery.md)
diff --git a/docs/zh/SystemDesign/DataQuery/QueryFundamentals.md b/docs/zh/SystemDesign/DataQuery/QueryFundamentals.md
index 42ff3b7..5dc59d7 100644
--- a/docs/zh/SystemDesign/DataQuery/QueryFundamentals.md
+++ b/docs/zh/SystemDesign/DataQuery/QueryFundamentals.md
@@ -30,7 +30,7 @@ IoTDB会将顺序和乱序文件分开存储在data/sequence和data/unsequence
 
 ## 读取TsFile的一般流程
 
-TsFile 各级结构在前面的[TsFile](../TsFile/TsFile.html)文档中已有介绍,读取一个时间序列的过程需要按照层级各级展开TsFileResource -> TimeseriesMetadata -> ChunkMetadata -> IPageReader -> BatchData。
+TsFile 各级结构在前面的[TsFile](../TsFile/TsFile.md)文档中已有介绍,读取一个时间序列的过程需要按照层级各级展开TsFileResource -> TimeseriesMetadata -> ChunkMetadata -> IPageReader -> BatchData。
 
 文件读取的功能方法在
 `org.apache.iotdb.db.utils.FileLoaderUtils`
diff --git a/docs/zh/SystemDesign/QueryEngine/QueryEngine.md b/docs/zh/SystemDesign/QueryEngine/QueryEngine.md
index 9c668ab..86f87c5 100644
--- a/docs/zh/SystemDesign/QueryEngine/QueryEngine.md
+++ b/docs/zh/SystemDesign/QueryEngine/QueryEngine.md
@@ -60,5 +60,5 @@
 
 ## 相关文档
 
-* [查询计划生成器](/zh/SystemDesign/QueryEngine/Planner.html)
-* [计划执行器](/zh/SystemDesign/QueryEngine/PlanExecutor.html)
\ No newline at end of file
+* [查询计划生成器](../QueryEngine/Planner.md)
+* [计划执行器](../QueryEngine/PlanExecutor.md)
\ No newline at end of file
diff --git a/docs/zh/SystemDesign/QueryEngine/ResultSetConstruction.md b/docs/zh/SystemDesign/QueryEngine/ResultSetConstruction.md
index 4176d8a..70b3dc9 100644
--- a/docs/zh/SystemDesign/QueryEngine/ResultSetConstruction.md
+++ b/docs/zh/SystemDesign/QueryEngine/ResultSetConstruction.md
@@ -63,7 +63,7 @@ SQL2:`SELECT count(s1), max_time(s1) FROM root.sg.d1;` ->
 
 - org.apache.iotdb.db.service.TSServiceImpl.getAlignByDeviceQueryHeaders
 
-按设备对齐查询的结果集构造依赖于物理查询计划中生成的**未去重**的度量(Measurements)列表。在此作简单介绍,度量列表是由 SELECT 子句中的后缀路径(包括通配符)生成的列表,其中共有三种类型,分别为常量(Constant)、存在的时间序列(Exist)以及不存在的时间序列(NonExist)。详细可以参考 [Align by device query](/SystemDesign/DataQuery/AlignByDeviceQuery.html)
+按设备对齐查询的结果集构造依赖于物理查询计划中生成的**未去重**的度量(Measurements)列表。在此作简单介绍,度量列表是由 SELECT 子句中的后缀路径(包括通配符)生成的列表,其中共有三种类型,分别为常量(Constant)、存在的时间序列(Exist)以及不存在的时间序列(NonExist)。详细可以参考 [Align by device query](../DataQuery/AlignByDeviceQuery.md)
 
 由于按设备对齐查询采用关系表结构,因此首先在表头中加入设备列,其对应的数据类型为文本类型。
 
@@ -122,7 +122,7 @@ SQL:`SELECT last s1, s2 FROM root.sg.d1;`
 
 - org.apache.iotdb.db.query.dataset.AlignByDeviceDataSet.hasNextWithoutConstraint()
 
-由于按设备对齐查询需要按设备依次组织其查询计划,每个设备查询的路径未必相同,且允许包含常量列以及不存在的时间序列,因此不能简单地与其他查询一起去重。去重时**不仅需要去除重复查询的时间序列路径,还需要去除查询中出现的常量列以及当前设备中不存在的时间序列**。实现方法可以参考 [Align by device query](/SystemDesign/DataQuery/AlignByDeviceQuery.html).
+由于按设备对齐查询需要按设备依次组织其查询计划,每个设备查询的路径未必相同,且允许包含常量列以及不存在的时间序列,因此不能简单地与其他查询一起去重。去重时**不仅需要去除重复查询的时间序列路径,还需要去除查询中出现的常量列以及当前设备中不存在的时间序列**。实现方法可以参考 [Align by device query](../DataQuery/AlignByDeviceQuery.md).
 
 在查询计划中的去重路径构造完成后,即可调用 IoTDB 的查询执行器来执行查询,并得到去重后的结果集。
 
diff --git a/docs/zh/SystemDesign/StorageEngine/DataManipulation.md b/docs/zh/SystemDesign/StorageEngine/DataManipulation.md
index a5526b8..37a05de 100644
--- a/docs/zh/SystemDesign/StorageEngine/DataManipulation.md
+++ b/docs/zh/SystemDesign/StorageEngine/DataManipulation.md
@@ -64,7 +64,7 @@
 目前不支持数据的原地更新操作,即update语句,但用户可以直接插入新的数据,在同一个时间点上的同一个时间序列以最新插入的数据为准
 旧数据会通过合并来自动删除,参见:
 
-* [文件合并机制](/zh/SystemDesign/StorageEngine/MergeManager.html)
+* [文件合并机制](../StorageEngine/MergeManager.md)
 
 ## 数据删除
 
diff --git a/docs/zh/SystemDesign/StorageEngine/StorageEngine.md b/docs/zh/SystemDesign/StorageEngine/StorageEngine.md
index 978803f..af44273 100644
--- a/docs/zh/SystemDesign/StorageEngine/StorageEngine.md
+++ b/docs/zh/SystemDesign/StorageEngine/StorageEngine.md
@@ -49,7 +49,7 @@
 
 ## 数据写入
 详见:
-* [数据写入](/zh/SystemDesign/StorageEngine/DataManipulation.html)
+* [数据写入](../StorageEngine/DataManipulation.md)
 
 ## 数据访问
 
@@ -60,8 +60,8 @@
 
 ## 相关文档
 
-* [写前日志 (WAL)](/zh/SystemDesign/StorageEngine/WAL.html)
+* [写前日志 (WAL)](../StorageEngine/WAL.md)
 
-* [memtable 持久化](/zh/SystemDesign/StorageEngine/FlushManager.html)
+* [memtable 持久化](../StorageEngine/FlushManager.md)
 
-* [文件合并机制](/zh/SystemDesign/StorageEngine/MergeManager.html)
\ No newline at end of file
+* [文件合并机制](../StorageEngine/MergeManager.md)
\ No newline at end of file
diff --git a/docs/zh/SystemDesign/TsFile/TsFile.md b/docs/zh/SystemDesign/TsFile/TsFile.md
index 2897901..26a3a6a 100644
--- a/docs/zh/SystemDesign/TsFile/TsFile.md
+++ b/docs/zh/SystemDesign/TsFile/TsFile.md
@@ -26,6 +26,6 @@ TsFile 是 IoTDB 的底层数据文件,专门为时间序列数据设计的列
 
 ## 相关文档
 
-* [文件格式](../TsFile/Format.html)
-* [写流程](../TsFile/Write.html)
-* [读流程](../TsFile/Read.html)
+* [文件格式](../TsFile/Format.md)
+* [写流程](../TsFile/Write.md)
+* [读流程](../TsFile/Read.md)
diff --git a/docs/zh/UserGuide/Architecture/Files.md b/docs/zh/UserGuide/Architecture/Files.md
index 957867e..ba7068b 100644
--- a/docs/zh/UserGuide/Architecture/Files.md
+++ b/docs/zh/UserGuide/Architecture/Files.md
@@ -27,17 +27,17 @@ IoTDB需要存储的数据分为三类,分别为数据文件、系统文件以
 
 ## 数据文件
 
-数据文件存储了用户写入IoTDB系统的所有数据。包含TsFile文件和其他文件,可通过[data_dirs配置项](../Server/Config%20Manual.html)进行配置。
+数据文件存储了用户写入IoTDB系统的所有数据。包含TsFile文件和其他文件,可通过[data_dirs配置项](../Server/Config%20Manual.md)进行配置。
 
-为了更好的支持用户对于磁盘空间扩展等存储需求,IoTDB为TsFile的存储配置增加了多文件目录的存储方式,用户可自主配置多个存储路径作为数据的持久化位置(详情见[data_dirs配置项](../Server/Config%20Manual.html)),并可以指定或自定义目录选择策略(详情见[mult_dir_strategy配置项](../Server/Config%20Manual.html))。
+为了更好的支持用户对于磁盘空间扩展等存储需求,IoTDB为TsFile的存储配置增加了多文件目录的存储方式,用户可自主配置多个存储路径作为数据的持久化位置(详情见[data_dirs配置项](../Server/Config%20Manual.md)),并可以指定或自定义目录选择策略(详情见[mult_dir_strategy配置项](../Server/Config%20Manual.md))。
 
 ## 系统文件
 
-系统Schema文件,存储了数据文件的元数据信息。可通过base_dir配置项进行配置(详情见[base_dir配置项](../Server/Config%20Manual.html))。
+系统Schema文件,存储了数据文件的元数据信息。可通过base_dir配置项进行配置(详情见[base_dir配置项](../Server/Config%20Manual.md))。
 
 ## 写前日志文件
 
-写前日志文件存储了系统的写前日志。可通过`wal_dir`配置项进行配置(详情见[wal_dir配置项](../Server/Config%20Manual.html))。
+写前日志文件存储了系统的写前日志。可通过`wal_dir`配置项进行配置(详情见[wal_dir配置项](../Server/Config%20Manual.md))。
 
 ## 数据存储目录设置举例
 
diff --git a/docs/zh/UserGuide/Client/Programming - TsFile API.md b/docs/zh/UserGuide/Client/Programming - TsFile API.md
index 64e5679..3e3c0e5 100644
--- a/docs/zh/UserGuide/Client/Programming - TsFile API.md	
+++ b/docs/zh/UserGuide/Client/Programming - TsFile API.md	
@@ -226,7 +226,7 @@ TsFile可以通过以下三个步骤生成,完整的代码参见"写入 TsFile
       
     * type: 数据类型,现在支持六种类型: `BOOLEAN`, `INT32`, `INT64`, `FLOAT`, `DOUBLE`, `TEXT`;
     
-    * encoding: 编码类型. 参见 [Chapter 2-3](../Concept/Encoding.html).
+    * encoding: 编码类型. 参见 [Chapter 2-3](../Concept/Encoding.md).
     
     * compression: 压缩方式. 现在支持 `UNCOMPRESSED` 和 `SNAPPY`.
     
diff --git a/docs/zh/UserGuide/Concept/Compression.md b/docs/zh/UserGuide/Concept/Compression.md
index 9fcd640..1df449f 100644
--- a/docs/zh/UserGuide/Concept/Compression.md
+++ b/docs/zh/UserGuide/Concept/Compression.md
@@ -28,4 +28,4 @@ IoTDB允许在创建一个时间序列的时候指定该列的压缩方式。现
 * UNCOMPRESSED(不压缩)
 * SNAPPY压缩
 
-压缩方式的指定语法详见本文[5.4节](../Operation%20Manual/SQL%20Reference.html)。
+压缩方式的指定语法详见本文[5.4节](../Operation%20Manual/SQL%20Reference.md)。
diff --git a/docs/zh/UserGuide/Concept/Data Type.md b/docs/zh/UserGuide/Concept/Data Type.md
index 68768cf..83c3254 100644
--- a/docs/zh/UserGuide/Concept/Data Type.md	
+++ b/docs/zh/UserGuide/Concept/Data Type.md	
@@ -31,7 +31,7 @@ IoTDB支持:
 
 一共六种数据类型。
 
-其中**FLOAT**与**DOUBLE**类型的序列,如果编码方式采用[RLE](../Concept/Encoding.html)或[TS_2DIFF](../Concept/Encoding.html)可以指定MAX_POINT_NUMBER,该项为浮点数的小数点后位数,具体指定方式请参见本文[第5.4节](../Operation%20Manual/SQL%20Reference.html),若不指定则系统会根据配置文件`iotdb-engine.properties`文件中的[float_precision项](../Server/Config%20Manual.html)配置。
+其中**FLOAT**与**DOUBLE**类型的序列,如果编码方式采用[RLE](../Concept/Encoding.md)或[TS_2DIFF](../Concept/Encoding.md)可以指定MAX_POINT_NUMBER,该项为浮点数的小数点后位数,具体指定方式请参见本文[第5.4节](../Operation%20Manual/SQL%20Reference.md),若不指定则系统会根据配置文件`iotdb-engine.properties`文件中的[float_precision项](../Server/Config%20Manual.md)配置。
 
 当系统中用户输入的数据类型与该时间序列的数据类型不对应时,系统会提醒类型错误,如下所示,二阶差分不支持布尔类型的编码:
 
diff --git a/docs/zh/UserGuide/Concept/Encoding.md b/docs/zh/UserGuide/Concept/Encoding.md
index 397a97a..1366e63 100644
--- a/docs/zh/UserGuide/Concept/Encoding.md
+++ b/docs/zh/UserGuide/Concept/Encoding.md
@@ -35,7 +35,7 @@ PLAIN编码,默认的编码方式,即不编码,支持多种数据类型,
 
 游程编码,比较适合存储某些整数值连续出现的序列,不适合编码大部分情况下前后值不一样的序列数据。
 
-游程编码也可用于对浮点数进行编码,但在创建时间序列的时候需指定保留小数位数(MAX_POINT_NUMBER,具体指定方式参见本文本文[第5.4节](../Operation%20Manual/SQL%20Reference.html))。比较适合存储某些浮点数值连续出现的序列数据,不适合存储对小数点后精度要求较高以及前后波动较大的序列数据。
+游程编码也可用于对浮点数进行编码,但在创建时间序列的时候需指定保留小数位数(MAX_POINT_NUMBER,具体指定方式参见本文本文[第5.4节](../Operation%20Manual/SQL%20Reference.md))。比较适合存储某些浮点数值连续出现的序列数据,不适合存储对小数点后精度要求较高以及前后波动较大的序列数据。
 
 > 游程编码(RLE)和二阶差分编码(TS_2DIFF)对 float 和 double 的编码是有精度限制的,默认保留2位小数。推荐使用 GORILLA。
 
diff --git a/docs/zh/UserGuide/Get Started/QuickStart.md b/docs/zh/UserGuide/Get Started/QuickStart.md
index fec6656..54f3ee1 100644
--- a/docs/zh/UserGuide/Get Started/QuickStart.md	
+++ b/docs/zh/UserGuide/Get Started/QuickStart.md	
@@ -41,7 +41,7 @@
 
 <!-- /TOC -->
 
-本文将介绍关于IoTDB使用的基本流程,如果需要更多信息,请浏览我们官网的[指引](../Overview/What%20is%20IoTDB.html).
+本文将介绍关于IoTDB使用的基本流程,如果需要更多信息,请浏览我们官网的[指引](../Overview/What%20is%20IoTDB.md).
 
 ## 安装环境
 
@@ -71,7 +71,7 @@ IoTDB支持多种安装途径。用户可以使用三种方式对IoTDB进行安
   * 系统配置模块 (`iotdb-engine.properties`)
   * 日志配置模块 (`logback.xml`). 
 
-想要了解更多,请浏览[Chapter3: Server](../Server/Download.html)
+想要了解更多,请浏览[Chapter3: Server](../Server/Download.md)
 ​	
 
 ## IoTDB试用
@@ -270,7 +270,7 @@ IoTDB> quit
 IoTDB> exit
 ```
 
-想要浏览更多IoTDB数据库支持的命令,请浏览[SQL Reference](../Operation%20Manual/SQL%20Reference.html).
+想要浏览更多IoTDB数据库支持的命令,请浏览[SQL Reference](../Operation%20Manual/SQL%20Reference.md).
 
 ### 停止IoTDB
 
diff --git a/docs/zh/UserGuide/Operation Manual/Administration.md b/docs/zh/UserGuide/Operation Manual/Administration.md
index fd27cbb..6e746c0 100644
--- a/docs/zh/UserGuide/Operation Manual/Administration.md	
+++ b/docs/zh/UserGuide/Operation Manual/Administration.md	
@@ -23,7 +23,7 @@
 
 IoTDB为用户提供了权限管理操作,从而为用户提供对于数据的权限管理功能,保障数据的安全。
 
-我们将通过以下几个具体的例子为您示范基本的用户权限操作,详细的SQL语句及使用方式详情请参见本文[第5.4节](../Concept/Data%20Model%20and%20Terminology.html)。同时,在JAVA编程环境中,您可以使用[JDBC API](../Client/Programming%20-%20JDBC.html)单条或批量执行权限管理类语句。
+我们将通过以下几个具体的例子为您示范基本的用户权限操作,详细的SQL语句及使用方式详情请参见本文[第5.4节](../Concept/Data%20Model%20and%20Terminology.md)。同时,在JAVA编程环境中,您可以使用[JDBC API](../Client/Programming%20-%20JDBC.md)单条或批量执行权限管理类语句。
 
 ## 基本概念
 
diff --git a/docs/zh/UserGuide/Operation Manual/DDL Data Definition Language.md b/docs/zh/UserGuide/Operation Manual/DDL Data Definition Language.md
index 818ac7b..a5f73d6 100644
--- a/docs/zh/UserGuide/Operation Manual/DDL Data Definition Language.md	
+++ b/docs/zh/UserGuide/Operation Manual/DDL Data Definition Language.md	
@@ -41,7 +41,7 @@ Msg: org.apache.iotdb.exception.MetadataErrorException: org.apache.iotdb.excepti
 
 ## 查看存储组
 
-在存储组创建后,我们可以使用[SHOW STORAGE GROUP](../Operation%20Manual/SQL%20Reference.html)语句来查看所有的存储组,SQL语句如下所示:
+在存储组创建后,我们可以使用[SHOW STORAGE GROUP](../Operation%20Manual/SQL%20Reference.md)语句来查看所有的存储组,SQL语句如下所示:
 
 ```
 IoTDB> show storage group
@@ -69,7 +69,7 @@ IoTDB> create timeseries root.ln.wf02.wt02.status WITH DATATYPE=BOOLEAN, ENCODIN
 error: encoding TS_2DIFF does not support BOOLEAN
 ```
 
-详细的数据类型与编码方式的对应列表请参见[编码方式](../Concept/Encoding.html)。
+详细的数据类型与编码方式的对应列表请参见[编码方式](../Concept/Encoding.md)。
 
 ### 标签点管理
 
diff --git a/docs/zh/UserGuide/Operation Manual/DML Data Manipulation Language.md b/docs/zh/UserGuide/Operation Manual/DML Data Manipulation Language.md
index cc20267..325941b 100644
--- a/docs/zh/UserGuide/Operation Manual/DML Data Manipulation Language.md	
+++ b/docs/zh/UserGuide/Operation Manual/DML Data Manipulation Language.md	
@@ -23,9 +23,9 @@
 
 ## 数据接入
 
-IoTDB为用户提供多种插入实时数据的方式,例如在[Cli/Shell工具](../Client/Command%20Line%20Interface.html)中直接输入插入数据的INSERT语句,或使用Java API(标准[Java JDBC](../Client/Programming%20-%20JDBC.html)接口)单条或批量执行插入数据的INSERT语句。
+IoTDB为用户提供多种插入实时数据的方式,例如在[Cli/Shell工具](../Client/Command%20Line%20Interface.md)中直接输入插入数据的INSERT语句,或使用Java API(标准[Java JDBC](../Client/Programming%20-%20JDBC.md)接口)单条或批量执行插入数据的INSERT语句。
 
-本节主要为您介绍实时数据接入的INSERT语句在场景中的实际使用示例,有关INSERT SQL语句的详细语法请参见本文[INSERT语句](../Operation%20Manual/SQL%20Reference.html)节。
+本节主要为您介绍实时数据接入的INSERT语句在场景中的实际使用示例,有关INSERT SQL语句的详细语法请参见本文[INSERT语句](../Operation%20Manual/SQL%20Reference.md)节。
 
 ### 使用INSERT语句
 
@@ -89,7 +89,7 @@ error: The TEXT data type should be covered by " or '
 
 ### 时间切片查询
 
-本节主要介绍时间切片查询的相关示例,主要使用的是[IoTDB SELECT语句](../Operation%20Manual/SQL%20Reference.html)。同时,您也可以使用[Java JDBC](../Client/Programming%20-%20JDBC.html)标准接口来执行相关的查询语句。
+本节主要介绍时间切片查询的相关示例,主要使用的是[IoTDB SELECT语句](../Operation%20Manual/SQL%20Reference.md)。同时,您也可以使用[Java JDBC](../Client/Programming%20-%20JDBC.md)标准接口来执行相关的查询语句。
 
 #### 根据一个时间区间选择一列数据
 
@@ -101,7 +101,7 @@ select temperature from root.ln.wf01.wt01 where time < 2017-11-01T00:08:00.000
 
 其含义为:
 
-被选择的设备为ln集团wf01子站wt01设备;被选择的时间序列为温度传感器(temperature);该语句要求选择出该设备在“2017-11-01T00:08:00.000”(此处可以使用多种时间格式,详情可参看[2.1节](../Concept/Data%20Model%20and%20Terminology.html))时间点以前的所有温度传感器的值。
+被选择的设备为ln集团wf01子站wt01设备;被选择的时间序列为温度传感器(temperature);该语句要求选择出该设备在“2017-11-01T00:08:00.000”(此处可以使用多种时间格式,详情可参看[2.1节](../Concept/Data%20Model%20and%20Terminology.md))时间点以前的所有温度传感器的值。
 
 该SQL语句的执行结果如下:
 
@@ -216,7 +216,7 @@ select count(status) from root.ln.wf01.wt01 group by level=2;
 ### 降频聚合查询
 
 本章节主要介绍降频聚合查询的相关示例,
-主要使用的是IoTDB SELECT语句的[GROUP BY子句](../Operation%20Manual/SQL%20Reference.html),
+主要使用的是IoTDB SELECT语句的[GROUP BY子句](../Operation%20Manual/SQL%20Reference.md),
 该子句是IoTDB中用于根据用户给定划分条件对结果集进行划分,并对已划分的结果集进行聚合计算的语句。
 IoTDB支持根据时间间隔和自定义的滑动步长(默认值与时间间隔相同,自定义的值必须大于等于时间间隔)对结果集进行划分,默认结果按照时间升序排列。
 同时,您也可以使用Java JDBC标准接口来执行相关的查询语句。
@@ -572,12 +572,12 @@ select temperature from root.sgcc.wf03.wt01 where time = 2017-11-01T16:37:50.000
 
 ### 对查询结果的行和列控制
 
-IoTDB提供 [LIMIT/SLIMIT](../Operation%20Manual/SQL%20Reference.html) 子句和 [OFFSET/SOFFSET](../Operation%20Manual/SQL%20Reference.html) 子句,以使用户可以更好地控制查询结果。使用LIMIT和SLIMIT子句可让用户控制查询结果的行数和列数,
+IoTDB提供 [LIMIT/SLIMIT](../Operation%20Manual/SQL%20Reference.md) 子句和 [OFFSET/SOFFSET](../Operation%20Manual/SQL%20Reference.md) 子句,以使用户可以更好地控制查询结果。使用LIMIT和SLIMIT子句可让用户控制查询结果的行数和列数,
 并且使用OFFSET和SOFSET子句允许用户设置结果显示的起始位置。
 
 请注意,按组查询不支持LIMIT和OFFSET。
 
-本章主要介绍查询结果的行和列控制的相关示例。你还可以使用 [Java JDBC](../Client/Programming%20-%20JDBC.html) 标准接口执行查询。
+本章主要介绍查询结果的行和列控制的相关示例。你还可以使用 [Java JDBC](../Client/Programming%20-%20JDBC.md) 标准接口执行查询。
 
 #### 查询结果的行控制
 
@@ -827,7 +827,7 @@ SQL语句将不会执行,并且相应的错误提示如下:
 
 ### 数据删除
 
-用户使用[DELETE语句](../Operation%20Manual/SQL%20Reference.html)可以删除指定的时间序列中符合时间删除条件的数据。在删除数据时,用户可以选择需要删除的一个或多个时间序列、时间序列的前缀、时间序列带\*路径对某一个时间区间内的数据进行删除。
+用户使用[DELETE语句](../Operation%20Manual/SQL%20Reference.md)可以删除指定的时间序列中符合时间删除条件的数据。在删除数据时,用户可以选择需要删除的一个或多个时间序列、时间序列的前缀、时间序列带\*路径对某一个时间区间内的数据进行删除。
 
 在JAVA编程环境中,您可以使用JDBC API单条或批量执行DELETE语句。
 
@@ -866,7 +866,7 @@ expressions like : time > XXX, time <= XXX, or two atomic expressions connected
 
 #### 多传感器时间序列值删除    
 
-当ln集团wf02子站的wt02设备在2017-11-01 16:26:00之前的供电状态和设备硬件版本都需要删除,此时可以使用含义更广的[前缀路径或带`*`路径](../Concept/Data%20Model%20and%20Terminology.html)进行删除操作,进行此操作的SQL语句为:
+当ln集团wf02子站的wt02设备在2017-11-01 16:26:00之前的供电状态和设备硬件版本都需要删除,此时可以使用含义更广的[前缀路径或带`*`路径](../Concept/Data%20Model%20and%20Terminology.md)进行删除操作,进行此操作的SQL语句为:
 
 ```
 delete from root.ln.wf02.wt02 where time <= 2017-11-01T16:26:00;
diff --git a/docs/zh/UserGuide/Server/Download.md b/docs/zh/UserGuide/Server/Download.md
index 06513b1..4ba4eec 100644
--- a/docs/zh/UserGuide/Server/Download.md
+++ b/docs/zh/UserGuide/Server/Download.md
@@ -85,4 +85,4 @@ Shell > tar -zxf iotdb-<version>.tar.gz # For Linux or MacOS
 
 ## 通过Docker安装 (Dockerfile)
 
-你可以通过[这份指南](../Server/Docker%20Image.html)编译并运行一个IoTDB docker image。
+你可以通过[这份指南](../Server/Docker%20Image.md)编译并运行一个IoTDB docker image。
diff --git a/docs/zh/UserGuide/System Tools/Monitor and Log Tools.md b/docs/zh/UserGuide/System Tools/Monitor and Log Tools.md
index d1390b9..5b00ef8 100644
--- a/docs/zh/UserGuide/System Tools/Monitor and Log Tools.md	
+++ b/docs/zh/UserGuide/System Tools/Monitor and Log Tools.md	
@@ -151,13 +151,13 @@ Monitor下有几个属性,包括在不同文件夹中打开的文件数,数
 
 本模块是IoTDB为用户提供的对其中存储数据信息的数据统计监控方式,我们会在系统中为您记录各个模块的数据统计信息,并将其汇总存入数据库中。当前版本的IoTDB提供IoTDB写入数据的统计功能。
 
-用户可以选择开启或关闭数据统计监控功能(您可以设定配置文件中的`enable_stat_monitor`项,详细信息参见[第3.4节](../Server/Config%20Manual.html))。
+用户可以选择开启或关闭数据统计监控功能(您可以设定配置文件中的`enable_stat_monitor`项,详细信息参见[第3.4节](../Server/Config%20Manual.md))。
 
 #### 写入数据统计
 
-系统目前对写入数据的统计可分为两大模块: 全局(Global) 写入数据统计和存储组(Storage Group) 写入数据统计。 全局统计量记录了所有写入数据的点数、请求数统计,存储组统计量对某一个存储组的写入数据进行了统计,系统默认设定每 5 秒 (若需更改统计频率,您可以设定配置文件中的`back_loop_period_in_second`项,详细信息参见本文[3.4节](../Server/Config%20Manual.html)) 将统计量写入 IoTDB 中,并以系统指定的命名方式存储。系统刷新或者重启后, IoTDB 不对统计量做恢复处理,统计量从零值重新开始计算。
+系统目前对写入数据的统计可分为两大模块: 全局(Global) 写入数据统计和存储组(Storage Group) 写入数据统计。 全局统计量记录了所有写入数据的点数、请求数统计,存储组统计量对某一个存储组的写入数据进行了统计,系统默认设定每 5 秒 (若需更改统计频率,您可以设定配置文件中的`back_loop_period_in_second`项,详细信息参见本文[3.4节](../Server/Config%20Manual.md)) 将统计量写入 IoTDB 中,并以系统指定的命名方式存储。系统刷新或者重启后, IoTDB 不对统计量做恢复处理,统计量从零值重新开始计算。
 
-为了避免统计信息占用过多空间,我们为统计信息加入定期清除无效数据的机制。系统将每隔一段时间删除无效数据。用户可以通过设置删除机制触发频率(`stat_monitor_retain_interval_in_second`项,默认为600s,详细信息参见本文[3.4节](../Server/Config%20Manual.html))配置删除数据的频率,通过设置有效数据的期限(`stat_monitor_detect_freq_in_second`项,默认为600s,详细信息参见本文[3.4节](../Server/Config%20Manual.html))设置有效数据的范围,即距离清除操作触发时间为`stat_monitor_detect_freq_in_second`以内的数据为有效数据。为了保证系统的稳定,不允许频繁地删除统计量,因此如果配置参数的时间小于默认值,系统不采用配置参数而使用默认参数。
+为了避免统计信息占用过多空间,我们为统计信息加入定期清除无效数据的机制。系统将每隔一段时间删除无效数据。用户可以通过设置删除机制触发频率(`stat_monitor_retain_interval_in_second`项,默认为600s,详细信息参见本文[3.4节](../Server/Config%20Manual.md))配置删除数据的频率,通过设置有效数据的期限(`stat_monitor_detect_freq_in_second`项,默认为600s,详细信息参见本文[3.4节](../Server/Config%20Manual.md))设置有效数据的范围,即距离清除操作触发时间为`stat_monitor_detect_freq_in_second`以内的数据为有效数据。为了保证系统的稳定,不允许频繁地删除统计量,因此如果配置参数的时间小于默认值,系统不采用配置参数而使用默认参数。
 
 注:当前版本统计的写入数据统计信息会同时统计用户写入的数据与系统内部监控数据。
 
diff --git a/docs/zh/UserGuide/UserGuideReadme.md b/docs/zh/UserGuide/UserGuideReadme.md
index 89a5433..6ddf684 100644
--- a/docs/zh/UserGuide/UserGuideReadme.md
+++ b/docs/zh/UserGuide/UserGuideReadme.md
@@ -25,7 +25,8 @@
 "In Progress Version" 用于匹配IOTDB源代码存储库的master分支。
 其他文档用于匹配IoTDB发布的版本。
 
-- [In progress version](/zh/UserGuide/master/Get%20Started/QuickStart.html) 
-- [Version 0.8.x](/zh/UserGuide/V0.8.x/0-Get%20Started/1-QuickStart.html)
-- [Version 0.9.x](/zh/UserGuide/V0.9.x/0-Get%20Started/1-QuickStart.html)
+- [In progress version](https://iotdb.apache.org/UserGuide/Master/Get%20Started/QuickStart.html) 
+- [Version 0.10.x](https://iotdb.apache.org/UserGuide/V0.10.x/Get%20Started/QuickStart.html)
+- [Version 0.9.x](https://iotdb.apache.org/UserGuide/V0.9.x/0-Get%20Started/1-QuickStart.html)
+- [Version 0.8.x](https://iotdb.apache.org/UserGuide/V0.8.x/0-Get%20Started/1-QuickStart.html)