#### Abstract

At present, radio frequency identification (RFID) technology has been widely applied in manufacturing industry. How to use collected RFID data to effectively evaluate process logistics state is an urgent problem. Firstly, process logistics state model based on extended disjunctive graph was established. Secondly, configuration scheme of RFID readers/tags and production elements was proposed according to the time and space characteristics of process logistics. Then, process logistics state matrices including jobs, warehouses, buffers, machine tools, and vehicles were constructed. The real-time process logistics states can be deduced by operation of above data matrices. Finally, a case study was proposed to verify the feasibility of the proposed methods.

#### 1. Introduction

With the fierce market competition and customer demands’ diversification, modern manufacturing enterprises have to change from a single variety of mass production mode to multivarieties and small-batch personalized customization mode [1, 2]. In the context of mixed production, various jobs are machined in different processing units according to their process routes and production scheduling results. First, raw materials are transported from warehouse to the first processing unit. Then, jobs are waited and machined on different processing units in turn. Lastly, finished parts are transported to warehouse for assembly. To sum up, there are a series of process logistics state changes “waited-processed-transported” for jobs with the execution of production process. How to collect and deal with the above process logistics state data is an urgent problem in manufacturing industry.

In recent years, Internet of Things (IoT) technology and the concept of big data have brought about greater demand and higher requirements for information sensing technology. As a noncontact data acquisition and communication technology, radio frequency identification (RFID) has attracted wide attention from academia and industry. RFID technology has many advantages, such as long-distance identification, large storage capacity, fast reading speed, and high reliability. At present, a lot of advanced manufacturing enterprises have equipped their workshops with RFID devices to collect production logistics data, so as to reflect the real-time operation of the workshop, and provide data support for the upper evaluation and decision-making system.

From the perspective of data matrices, a state evaluation method was proposed for process logistics. There are two highlights in this article. Firstly, process logistics states model based on extended disjunctive graph was proposed. Secondly, data matrices of process logistics states were constructed, and the coupling relationship between process logistics and production elements was discussed.

The rest of this article is organized as follows. Section 2 presents a brief review of RFID application and its data processing. Definition of process logistics state is given in Section 5.Section 6 shows the construction and analysis of process logistics state matrices. In Section 7, a case study is provided to illustrate the feasibility of the proposed method. Conclusions are drawn in Section 8.

#### 2. Brief Review

At present, RFID technology has been widely used in warehouse management, supply chain, production logistics, and other fields [3–5]. For example, a simulated automobile assembly line was employed to realize the RFID-enabled smart management for typical manufacturing processes, including assembling, packaging, buffering, etc. [6]. The public warehouse can adopt RFID technology to realize real-time order scheduling and execution monitoring [7]. Besides, an RFID-enabled social manufacturing system (RFID-SMS) was proposed to realize the real-time monitoring and dispatching of interenterprise production and transportation tasks [8]. An RFID-enabled real-time manufacturing execution system (RT-MES) can visualize and manage real-time dynamics of shop-floor WIP (work-in-progress) items [9]. For RFID data acquisition and processing, the main research directions include middleware, data streams model, data filtering and clearing algorithm, big data, and so on [10–14]. For example, Zhong introduced big data analytics for RFID logistics data by defining different behaviors of smart manufacturing objects [15]. Based on the developments of technologies in Internet of Things (IoT), Zhang used hierarchical-timed-colored Petri net (HTCPN) with smart tokens to analyze the sensor data such as the critical performance information [16]. Ding proposed an RFID-based production data model to formalize and correlate the heterogeneous production data. Then, a near big data approach was used to excavate hidden information and knowledge from the historical production data [17]. Jiang developed an enhanced radio frequency identification (RFID)-enabled graphical deduction model (rfid-GDM) for tracking the time-sensitive state, position, and other attributes of RFID-tagged objects in process flow [18]. Zhang constructed a job-shop-type work-in-process material flows tracking network, and some new metrics were presented to evaluate the work-in-process material flows tracking network performance [19]. It can be seen that the essence of process logistics monitoring is how to effectively identify different states changes of perceived by RFID devices. Therefore, this article studies the process logistics state evaluation method from the perspective of RFID configuration scheme, data acquisition, and data processing.

#### 3. Process Logistics Description Based on Disjunctive Graph

Disjunctive graph proposed by Ron and Sussman in 1964 [20] is used to solve the job-shop scheduling problem in the past decades. Here, it is adopted to describe the process logistics of the workshop. The model can be formulated aswhere* V*^{P}= denotes the nodes set.* S* denotes the starting node, while* E* denotes the ending node;* P*_{ij} denotes the process nodes of the* j*_{th} process of job* J*_{i} (*i*=1, 2,…,* n*,* n *is the number of jobs;* j*=1, 2,…,* N*_{i},* N*_{i} is the process number of job* J*_{i}).* E*^{P} = denotes the directed edge between the process nodes. (*P*_{ij}, ) denotes the connecting arcs between two processes adjacent to the job* J*_{i}. According to the process route planning of the job* J*_{i}, the previous process* P*_{ij} is directed to the subsequent process , namely, . (*P*_{ij},* P*_{uv}) denotes the disjunctive arcs between two processes of different jobs machined on the same processing unit. According to the production scheduling of different jobs, the previous process* P*_{ij} is directed to the subsequent process* P*_{uv}, namely, . It must be noted that the connecting arc represents the process constraint and the disjunctive arc represents the processing unit constraint. Figure 1 shows a disjunctive graph including 3 jobs and 3 processing units, in which solid arrows denote the connecting arcs and dotted arrows denote the disjunctive arcs.

As shown in Figure 1, the disjunction graph is a directed model with time sequence relationship between various processes in a workshop. From the starting node to the ending node, the process nodes linked by the connecting arcs in turn correspond to all the processes of one job itself, while the process nodes linked by the disjunctive arcs in turn correspond to different jobs that need to be machined by the same processing unit. Therefore, the processes* P*_{11},* P*_{23}, and are sequentially machined on the same processing unit, and the processes* P*_{21},* P*_{12}, and are sequentially machined on the same processing unit, and the processes* P*_{31},* P*_{22}, and are sequentially machined on the same processing unit. However, the time state and position state of the corresponding job in processing unit cannot be included. Here, the process nodes in disjunction graph are extended, and their different states in processing units are described from time and space dimensions, as shown in Figure 2.

In Figure 2, denotes the* j*_{th} process of* i*_{th} job machined in* k*_{th} processing unit* U*_{k} (*k*=1, 2,…,* N*_{U});* N*_{U} is the number of processing units; denotes the time when the* i*_{th} job enters in-buffer of processing unit* U*_{k}; denotes the time when the* i*_{th} job is machined on processing unit* U*_{k}; denotes the time when the* i*_{th} job enters out-buffer of processing unit* U*_{k}. Then, it was transported to next processing unit or finished parts warehouse. Consequently, there are three states in processing unit for workpieces “In-buffer, Machined and Out-buffer”. In combination with disjunctive graph and extended process logistics state, the process logistics model can be formulated aswhere elements in parentheses denote the corresponding position and time of the process (labeled as P) in the processing unit. B, M, and C denote the in-buffer, machine tool, and out-buffer of the processing unit, respectively. The first angle bracket denotes the machine constraints for sharing the same equipment; the second angle bracket denotes the process constraints of the same workpiece processed on different equipment.

#### 4. RFID Configuration Scheme

In order to effectively identify the different states of process logistics, it is essential to collect the underlying process logistics data in real time and effectively. After decades of development, RFID technology has been widely used in logistics tracking. RFID devices consist of readers and electronic tags. There is no mechanical contact between the electronic tags and the readers. When the tags are within the range of the readers’ electromagnetic induction signal, they can sense and read the corresponding tags information. RFID readers usually contain fixed, mobile, and vehicle-mounted [21]. In the workshop, fixed readers are often installed on devices with relatively unchanged spatial positions, such as processing units and entrance guard system of warehouse. Vehicle-mounted readers are usually installed on moving devices, such as Automatic Guided Vehicles (AGV), forklifts, etc. Mobile readers are usually a handheld terminal for warehouse checking, while the tags are attached to the objects to be tracked, such as jobs or trays for holding jobs.

From the above process logistics model, it can be known that state information of process logistics includes time and space attributes. First of all, fixed RFID readers are installed in the entrance guard system of the raw material warehouse and finished parts warehouse, respectively. Then, in-buffer area, machine tool and out-buffer area in processing units need to deploy fixed readers based on different requirements of tracking granularity. At the same time, vehicle-mounted RFID readers are deployed on the vehicle used for transporting jobs. Then, the configuration scheme of the RFID readers in the workshop can be formulated aswhere* R*_{MS} and* R*_{FS} denote the RFID readers installed on the entrance guard system of the raw material warehouse MS and the finished parts warehouse FS, respectively. , , and denote the RFID readers installed on the buffer area* B*_{k} of the processing unit* U*_{k}, the machine tool* M*_{k}, and the transportation vehicle* C*_{k}.

While one-to-one strategy is used to binding RFID tags and jobs or trays for holding jobs, the configuration scheme of the tags and the job can be formulated aswhere* J*_{i} denotes the* i*_{th} job or tray for holding* i*_{th} jobs;* ID*_{i} denotes the RFID tags attached to* i*_{th} job.

#### 5. Definition of Process Logistics State

When the tags on jobs are detected by the readers of entrance guard system or processing units, the state of the jobs at the current time is recorded in the form of RFID raw data. The raw data includes the reader’s ID, detected tag’s ID, and detected time. The data structure can be formulated aswhere denotes that an RFID reader in the workshop is triggered at time* t*.

Based on the one-to-one binding strategy for RFID readers/tags and production elements, data structure can be mapped into the logistics state of the corresponding jobs. The corresponding position information and time information are deduced, and it can be formulated aswhere (*t) *denotes the logistics state of job at time* t.*

It must be noted that the physical positions of each reader in (5) correspond to those in (6). The position of the reader triggered by the electronic tag at time t denotes the logistics status of the workpiece attached to the electronic tag. Actually, the monitoring of process logistics state is that the readers deployed in different locations induce and identify the tags containing the relevant jobs’ information.

#### 6. Construction and Analysis of Process Logistics State Matrices

##### 6.1. Construct the Process Logistics State Matrices

The process logistics state matrices are composed of four two-dimensional matrices reflecting the position of the job in the workshop and the corresponding triggering time. It can be used to collect the relevant data provided by the logistics state* S*_{W}(*t*) of the jobs. The four two-dimensional matrices are job-warehouse matrix, job-buffer matrix, job-machine-tool matrix, and job-vehicle matrix, which are sequentially recorded as* W_S(t*),* W_B*(*t*),* W_M*(*t*),* W_C*(*t*). It is noted that* W_B*(*t*) matrix,* W_M*(*t*) matrix, and* W_C*(*t*) matrix have the same size. The number of their rows is equal to the total number of jobs to be processed; the number of their columns is equal to the number of processing units in the workshop; the row ID corresponds to the job ID, and the column ID corresponds to the processing units ID in turn, while the* W_S* (*t*) matrix is a matrix with* n* rows and 2 columns, whose row ID corresponds to the job ID, and the column ID corresponds to the raw material warehouse and finished parts warehouse, respectively. The data extraction rules of process logistics state matrices are as follows:

* W_S*(*t*) matrix is used to record the time of raw materials leaving the warehouse and time of finished parts putting in warehouse.When the raw material of the job* J*_{i} is taken out of warehouse or its finished part is putting in warehouse, its attached RFID tag* ID*_{i} can be detected by the fixed reader or installed on the entrance guard system. The trigger time can be recorded in the* WS*(*i*, 1) or* WS*(*i*, 2) elements of the* W_S*(*t*) matrix. For example, the values of the elements* WS*(1, 1) and* WS*(1, 2) denote the time of the raw material of* 1st* job leaving the warehouse and the time of the finished part of* 1st* job putting in warehouse, respectively.

* W_B*(*t*) matrix is used to record the time when the job reaches the buffer of the processing unit.when the job* J*_{i} reaches the processing unit* U*_{k}, its attached RFID tag* ID*_{i} can be detected by the fixed reader installed in the buffer area. The trigger time can be recorded in the* WB*(*i*,* k*) elements of the* W_B*(*t*) matrix. For example, the value of the element* WB*(1, 1) denotes the time when the* 1*_{st} job reaches the buffer of* 1*_{st} processing unit.

* W_M*(*t*) matrix is used to record the starting machining time of the job. When the job* J*_{i} is fixed on the processing unit* M*_{k}, its start machining operation can be detected by sensors installed in processing unit. The trigger time can be recorded in the* WM*(*i*,* k*) element of* W_M*(*t*) matrix. For example, the value of the element* WM*(1, 1) denotes the starting machining time of the* 1*_{st} job on the* 1st* processing unit. Similarly, the time of finishing the processing can be detected by sensors.

* W_C*(*t*) matrix is used to record the time when the job is taken out of processing unit.When the job* J*_{i} is taken out of the processing unit* U*_{k} and transported to next processing unit or to the finished part warehouse, the attached RFID tag* ID*_{i} can be detected by the vehicle-mounted reader* R*_{Ck}. The trigger time can be recorded into the* WC*(*i*,* k*) element of the* W_C*(*t*) matrix. For example, the value of the element* WC*(1, 1) denotes the time when the* 1st* job is taken out of the* 1*_{st} processing unit.

When starting to machine new job, the four process logistics state matrices must be cleared first. Then, position and trigger time of the corresponding job can be recorded in real time into the corresponding logistics state matrices when the attached RFID tags are detected by the readers installed in entrance guard system, processing unit and vehicles.

##### 6.2. Analyze the Process Logistics State

On the one hand, the trigger time of each job in a certain state can be directly extracted from the state matrices. On the other hand, production information such as out/in warehouse information, job-processing state, processing progress, operation time, machine tool loading, job flow density, etc. can be mined by analyzing the element values of the four process logistics state matrices and their relationships.

To normalize the term description, define the relevant symbols:

A(:,* i*) denotes that all elements of* i*_{th} column of matrix A construct a one-dimensional column vector;

A(*i*,:) denotes that all elements of* i*_{th} row of matrix A construct a one-dimensional row vector;

Sum(A(:,* i*)) and Sum(A(i,:)) denote the sum of all nonnegative element values of* i*_{th} column in matrix A and all nonnegative element values of* i*_{th} row, respectively;

No(B) denotes the number of nonzero elements in vector B or the number of columns in nonzero columns in matrix B (excluding columns with both zero and nonzero elements);

min(B) and max(B) denote the minimum and maximum values in vector B or matrix B, respectively;

denotes the transpose of vector B or matrix B.

###### 6.2.1. Out/In Warehouse Information Analysis

The number of nonzero elements in the first column and the second column of the W_S(*t*) matrix denote the number of raw materials that have been transported out of the warehouse at the current time and the number of finished parts that have been put in the warehouse, which can be described as N_BL(*t*) and N_FP(*t*), respectively.

When there is no zero element in the first column, that is, N_BL (T) =*n,* it means that all the raw materials of the jobs are out of warehouse. When there is no zero element in the second column, that is, N_FP(t)=*n*, it means that all the jobs have been finished and stored.

When there is no zero element in the whole matrix, the maximum element value minus the minimum element value denotes the total time spent on finishing the jobs, which is formulated as T_TO:

###### 6.2.2. Processing State and Processing Progress Analysis

Extract the element values of* i*_{th} row in W_B(*t*) matrix, W_M(*t*) matrix, and W_C(*t*) matrix, respectively, and construct a new state matrix Wi_U(*t*) in the original order.

This matrix records the state information in the processing unit of raw material of the job* J*_{i} from transporting out of raw material warehouse (the element of column of* i*_{th} row in W_S(*t*) matrix is nonzero) to entering the finished parts warehouse (the element of the second row of* i*_{th} row in W_S(*t*) matrix is zero).

The column ID and row ID corresponding to the largest element value in the matrix denotes the processing unit ID and state where the job* J*_{i} is currently at the moment. The line number 1 is for waiting for processing, the line number 2 is for processing, and the line number 3 is for the current process to be transported to another processing unit or to the finished part warehouse.

The sum of the number of the nonzero columns in Wi_U(*t*) denotes the number of completed processes for the job* J*_{i} at the current moment, and is described as N_FPi(*t*): The total process number of the job* J*_{i} minus the number of columns in the nonzero column denotes the number of remaining unprocessed process number at the current time, described as N_UPi(*t*):

###### 6.2.3. Operation Time Analysis

By subtracting the W_B(*t*) matrix from the W_M(*t*) matrix, a new matrix W_B_T(*t*) can be constructed, namely,where W_B_T(*t*) matrix records the waiting-for-processing time of jobs in the processing unit. For example, WBT(1,1) denotes the waiting-for-processing time of* 1*_{st} job in* 1*_{st} processing unit.

By subtracting the W_M(*t*) matrix from the W_C(*t*) matrix, a new matrix W_M_T(*t*) can be constructed, namely:where W_M_T(*t*) matrix records the processing time of jobs in the processing unit. For example, WMT(1,1) denotes the processing time of* 1*_{st} job in* 1*_{st} processing unit.

Suppose that the column IDs corresponding to two elements that are recorded in chronological order in* i*_{th} row of matrix W_B(*t*) are* g* and* h*. The transport time WCT (*i*,* g*,* h*) from completed processing in processing unit* U*_{g} to transport to next processing unit* U*_{h} can be calculated by (19):

The transportation time of the raw material of job* J*_{i}, that is, the transportation time WCT(*i*,1) of the processing unit corresponding to the first process from the raw material warehouse, can be calculated by (20):

The transportation time of the finished parts of the job *,* that is, the transportation time WCT(*i*) from the processing unit corresponding to the last process to the finished parts warehouse, can be calculated by (21):

###### 6.2.4. Machine Tool Load and Machining Cost Analysis

The sum of nonnegative element values in* k*_{th} (*k∈*N_{U}) column of W_M_T(*t*) matrix denotes the cumulative processing load of machine tool* M*_{k} in processing unit* U*_{k} up to the current time, described as L_Mk(*t*):

If the machining cost of* k*_{th} processing unit is* CSU*_{k}, the machining cost per processing unit can be described by the vector CS_U, namely,W_M_T(*t*) matrix is multiplied by the vector CS_U, and the vector CS_W(*t*) can be constructed. (Note: negative elements in W_M_T (*T*) are processed by zero elements.)Vector CS_W (*T*) records the machining cost of each job at the current time. For example, CSW_{1} denotes the machining cost of* 1*_{st} job* J*_{1}.

###### 6.2.5. Density Analysis of Job Flow

Construct a zero matrix D_U(*t*) for ×. In each row of state matrix W_B(*t*), when the column numbers of two elements of data sequentially recorded in chronological order are* k* and l, the value of element D_U(*t*)(*k*, l) in the matrix D_U(*t*) increases by 1. Finally, the assigned D_U(t) matrix can be obtained.where the value of* k*_{th} row and* 1*_{st} column element DU(*k*, l) denotes the number of jobs that need to be machined in processing unit* U*_{k} and* U*_{l} at the current time. Therefore, the value of “DU (*k*, l) +DU (1,* k*)” reflects the flow density between the processing unit* U*_{k} and* U*_{l}. The greater the density is, the closer the connection between the processing unit* U*_{k} and* U*_{l} is. The magnitude of job flow density between any two processing units can be calculated by (26):where the matrix D_U'(t) is a symmetric matrix, and the element value DU'(*k*, l) of* k*_{th} rows and* 1*_{st} column or the element value DU'(l,* k*) of* l*_{th} rows and* k*_{th} columns denotes the job flow density between processing units* U*_{k} and* U*_{1}.

#### 7. Case Study

Taking the production of an automobile workshop as an example, the above state evaluation method for process logistics was verified.

##### 7.1. RFID Configuration Scheme

According to the results of production planning and scheduling, there are 10 types of parts waiting for processing. And process number of each job is N_{1}=7, N_{2}=8, N_{3}=8, N_{4}=6, N_{5}=7, N_{6}=7, N_{7}=6, N_{8}=8, N_{9}=7, and N_{10}=7, and there are 8 processing units in the workshop, that is . In order to facilitate identification and management, RFID readers and tags are uniformly numbered in the form of R_Number and ID_Number. The reader ID installed on the entrance guard system of the raw material warehouse and the finished parts warehouse are R01 and R02, respectively; Rk_{1}, Rk_{2}, and Rk_{3}, respectively, denote the reader ID of buffer, machine tool, and vehicle on the* K*_{th} processing unit (*k*=1, 2,... 8).* ID*_{i} denotes the tag ID attached to* i*_{th} job or the tray loading* i*_{th} job. According to one-to-one binding strategy between RFID readers/tags and production elements, the configuration scheme is shown in Figure 3.

##### 7.2. Construct the Process Logistics State Matrices

According to the process route planning and production scheduling of the workshop, the job-warehouse matrix W_S(*t*) is a matrix with 10 rows and 2 columns. The first column denotes the raw material warehouse, and the second column denotes the finished part warehouse. The row number corresponds to the job number in turn. The job-buffer matrix W_B(*t*), the job-processing unit matrix W_M(*t*), and the job-vehicle matrix W_C(*t*) are matrix with 10 rows and 8 columns, and the row numbers are sequentially corresponding to the job numbers, and the column numbers are sequentially corresponding to the processing unit numbers.

At* t*=0, the four state matrices are cleared (initialized):

According to the mapping relationship between the trigger time of the RFID readers and the process logistics states, the above four state matrices are assigned in real time. Up to* t*=15, the state matrix after assignment is

##### 7.3. State Analysis of Process Logistics

According to (11) and (12), N_BL(25)=No(W_S(25)(:, 1))=10=*n*, N_FP(25)=No(W_S(25)(:, 2 )) = 0. Then at* t* = 25, all the raw materials of the job have been out of stock, and no job has been finished.

According to (14),* i* is set as 1,*t* is set as 25, then

In the matrix W1_U(25), max(W1_U(25))=W1_U(25)(1, 6)=25, that is, the maximum value is in 1 row and 6 columns. It can be seen that* 1st* job is waiting for processing in* 6*_{th} processing unit. According to (15) and (16), N_FP1(25)=No(W1_U(25))=5, N_UP1(25)=N1-N_FP1(25)=7-5=2, then* t*=25. The* 1st *job has completed 5 processes, and the remaining 3 processes are not machined. In the same way, taking* i*=2~8 in turn, the processing state and processing progress of the remaining jobs can be obtained. At the current moment, the machining state and processing progress of each job are shown in Table 1.

The waiting time and processing time of each job can be calculated by (17) and (18).

The negative element in matrix W_B_T (25) denotes that the job has not been machined in the corresponding processing unit; the zero element in matrix W_M_T (25) denotes that the job has not been processed at the corresponding processing unit, and the negative element denotes that the job has not been machined in the corresponding processing unit at this time; the transportation time of job can be calculated by (19) and (20), as shown in Table 2.

Up to* t*=25, cumulative loading of machine tools in each processing unit can be obtained by (22), as shown in Table 3.

The machining cost of each processing unit in a workshop is CSU_{1}=9, CSU_{2}=6, CSU_{3}=12, CSU_{4}=7, CSU_{5}=9, CSU_{6}=10, CSU_{7}=8, and CSU_{8}=12. And the machining cost of the various jobs up to the present moment is calculated by (24), as shown in Table 4.

By (25),According to the definition of the flow density of the job, (26) is calculated:

In matrix D_U'(25), the maximum value is “3”, while D_U' (25) (1, 7) =D_U'(25) (7, 1) =3, D_U' (25) (5, 7) =D_U'(25) (25) =3. That is, the flow density between the processing unit U_{1} and U_{7} is 3; the flow density between the processing unit U_{5} and U_{7} is 3. It can be seen that up to the present moment, there is a close connection between the processing unit U_{1} and U_{7}, and between U_{5} and U_{7}.

#### 8. Conclusions

In view of the advantages of RFID technology in automatic information collection, one-to-one strategy was adopted to bind the RFID readers with the production elements of the workshop and bind the tags with the jobs. Four logistics state matrices including jobs, warehouses, buffers, machine tools, and vehicles were constructed. According to the mapping relationship between trigger time and trigger positions of RFID readers, the logistics state matrices were assigned in real time. Through the analysis of element value of data matrices, the basic process logistics state, such as number of raw materials and the number of finished parts, can be calculated. Through the analysis of operation between different data matrices, real-time process logistics state, such as cumulative processing load of machine tools, machining costs, job flow density between processing units, etc., can be deduced. The above results of process logistics state can provide support for optimizing and improving the resource allocation and operation efficiency of workshop.

#### Data Availability

The data used to support the findings of this study are included within the article.

#### Conflicts of Interest

The authors declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.

#### Acknowledgments

The research work presented in this article is supported by the National Natural Science Foundation of China (nos. 51605041 and 51705030), Natural Science Basic Research Plan in Shaanxi Province of China (no. 2018JQ5059), and the Fundamental Research Funds for the Central Universities, China (no. 300102258112).