A data protection method, comprising: receiving, by a database execution engine, a data request sent by a client; acquiring, by the database execution engine, a preset policy corresponding to an identity of the client carried in the data request; and performing, by the database execution engine according to the preset policy, a data protection operation for the data request to obtain target data; wherein performing, by the database execution engine according to the preset policy, the data protection operation for the data request comprises: performing, by the database execution engine according to the preset policy, at least one of a data filtering operation or a data masking operation for the data request, wherein the preset policy comprises at least one of a filtering rule or a masking rule; and wherein the data request comprises a Structured Query Language, SQL, access request, the SQL access request is an SQL statement, in a case where the SQL statement is received by the database execution engine, performing, by the database execution engine according to the preset policy, the data masking operation for the data request comprises: generating an Abstract Syntax Tree, AST, according to the SQL statement; deeply traversing the AST to acquire table names and field names on which multiple outermost output fields of the SQL statement depend layer by layer; and rewriting output fields corresponding to the field names in the multiple outermost output fields of the SQL statement for implementing data masking; and wherein the rewriting output fields corresponding to the field names in the multiple outermost output fields of the SQL statement comprises: rewriting an original value of an AST node corresponding to each of the output fields to a new SQL statement according to the masking rule, and replacing the original value of the AST node with the new SQL statement written according to the masking rule, wherein the original value of the AST node refers to a segment of the SQL statement. receiving, by a database execution engine, a data request sent by a client; acquiring, by the database execution engine, a preset policy corresponding to an identity of the client carried in the data request; and performing, by the database execution engine according to the preset policy, a data protection operation for the data request to obtain target data; wherein performing, by the database execution engine according to the preset policy, the data protection operation for the data request comprises: performing, by the database execution engine according to the preset policy, at least one of a data filtering operation or a data masking operation for the data request, wherein the preset policy comprises at least one of a filtering rule or a masking rule; and wherein the data request comprises a Structured Query Language, SQL, access request, the SQL access request is an SQL statement, in a case where the SQL statement is received by the database execution engine, performing, by the database execution engine according to the preset policy, the data masking operation for the data request comprises: generating an Abstract Syntax Tree, AST, according to the SQL statement; deeply traversing the AST to acquire table names and field names on which multiple outermost output fields of the SQL statement depend layer by layer; and rewriting output fields corresponding to the field names in the multiple outermost output fields of the SQL statement for implementing data masking; and wherein the rewriting output fields corresponding to the field names in the multiple outermost output fields of the SQL statement comprises: rewriting an original value of an AST node corresponding to each of the output fields to a new SQL statement according to the masking rule, and replacing the original value of the AST node with the new SQL statement written according to the masking rule, wherein the original value of the AST node refers to a segment of the SQL statement. generating an Abstract Syntax Tree, AST, according to the SQL statement; deeply traversing the AST to acquire table names and field names on which multiple outermost output fields of the SQL statement depend layer by layer; and rewriting output fields corresponding to the field names in the multiple outermost output fields of the SQL statement for implementing data masking; and wherein the rewriting output fields corresponding to the field names in the multiple outermost output fields of the SQL statement comprises: rewriting an original value of an AST node corresponding to each of the output fields to a new SQL statement according to the masking rule, and replacing the original value of the AST node with the new SQL statement written according to the masking rule, wherein the original value of the AST node refers to a segment of the SQL statement.