Language selection

Search

Patent 3130988 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 3130988
(54) English Title: METHOD AND DEVICE FOR IDENTIFYING REPETITIVE ASSOCIATION CALCULATION AND COMPUTER SYSTEM
(54) French Title: METHODE ET DISPOSITIF POUR DETERMINER UN CALCUL D'ASSOCIATION REPETITIVE ET SYSTEME INFORMATIQUE
Status: Examination
Bibliographic Data
(51) International Patent Classification (IPC):
  • G6F 16/24 (2019.01)
(72) Inventors :
  • DING, QINGYAN (China)
  • XU, WEI (China)
(73) Owners :
  • 10353744 CANADA LTD.
(71) Applicants :
  • 10353744 CANADA LTD. (Canada)
(74) Agent: JAMES W. HINTONHINTON, JAMES W.
(74) Associate agent:
(45) Issued:
(22) Filed Date: 2021-09-16
(41) Open to Public Inspection: 2022-03-16
Examination requested: 2022-09-16
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
202010973509.X (China) 2020-09-16

Abstracts

English Abstract


The present application makes public a method of and a device for identifying
repeated
correlation calculation, and a computer system. The method comprises obtaining
a first SQL
statement and a second SQL statement to be identified; analyzing the first SQL
statement, and
identifying a first correlation query included in the first SQL statement,
wherein the correlation
query includes correlation calculation between datasheets required to be
performed for executing
the SQL statement; analyzing the second SQL statement, and identifying a
second correlation
query included in the second SQL statement; and determining that there is
repeated correlation
calculation existent in the first SQL statement and the second SQL statement
when there is
repeated correlation calculation existent in the first correlation query and
the second correlation
query.


Claims

Note: Claims are shown in the official language in which they were submitted.


CLAIMS
What is claimed is:
1. A method of identifying repeated correlation calculation,
characterized in that the method
comprises:
obtaining a first SQL statement and a second SQL statement to be identified;
analyzing the first SQL statement, and identifying a first correlation query
included in the
first SQL statement, wherein the correlation query includes correlation
calculation between
datasheets required to be performed for executing the SQL statement;
analyzing the second SQL statement, and identifying a second correlation query
included in
the second SQL statement; and
determining that there is repeated correlation calculation existent in the
first SQL statement
and the second SQL statement when there is repeated correlation calculation
existent in the
first correlation query and the second correlation query.
2. The method according to Claim 1, characterized in that the correlation
calculation includes
corresponding datasheets and a correlation relation keyword, wherein the
correlation relation
keyword is employed to describe correlation calculation required to be
performed between
datasheets, and that the step of analyzing the first SQL statement, and
identifying a first
correlation query included in the first SQL statement includes:
analyzing the first SQL statement, and identifying a first correlation
relation keyword
included in the first SQL statement, and a first datasheet and a second
datasheet to which
the first correlation relation keyword corresponds; and
19
Date Recue/Date Received 2021-11-16

determining first correlation calculation included in the first correlation
query according
to the first datasheet, the second datasheet and the first correlation
relation keyword.
3. The method according to Claim 1, characterized in that the step of
analyzing the first SQL
statement, and identifying a first correlation query included in the first SQL
statement
includes:
analyzing the first SQL statement, and generating json data to which the first
SQL
statement corresponds; and
identifying the first correlation query included in the first SQL statement
according to
the json data.
4. The method according to Claim 1 or 2, characterized in that the second SQL
statement
includes a sub-query and a correlation query between the sub-query and a third
datasheet,
and that the step of analyzing the second SQL statement, and identifying a
second correlation
query included in the second SQL statement includes:
analyzing the second SQL statement, and identifying a second correlation
relation
keyword included in the sub-query, and a fourth datasheet and a fifth
datasheet to which
the second correlation relation keyword corresponds;
determining second correlation calculation included in the second correlation
query
according to the second correlation relation keyword, and the fourth datasheet
and the
fifth datasheet to which the second correlation relation keyword corresponds;
identifying a third correlation relation keyword included in the second SQL
statement,
and the third datasheet and the sub-query to which the third correlation
relation keyword
Date Recue/Date Received 2021-11-16

corresponds;
determining third correlation calculation included in the second correlation
query
according to the third correlation relation keyword, the third datasheet and
the fourth
datasheet; and
determining fourth correlation calculation included in the second correlation
query
according to the third correlation relation keyword, the third datasheet and
the fifth
datasheet.
5. The method according to anyone of Claims 1 to 3, characterized in that the
first SQL
statement and the second SQL statement include corresponding datasheets to be
processed,
and that the method comprises:
replacing, when the corresponding datasheets to be processed are temporary
sheets, the
datasheets to be processed with corresponding entity sheets.
6. The method according to Claim 2, characterized in that the step of
determining that there is
repeated correlation calculation existent in the first SQL statement and the
second SQL
statement when there is repeated correlation calculation existent in the first
correlation query
and the second correlation query includes:
grouping the correlation calculations according to the correlation relation
keywords; and
determining that there is repeated correlation calculation existent in the
first SQL statement
and the second SQL statement when any group includes identical correlation
calculation of
corresponding datasheets.
7. A device for identifying repeated correlation calculation, characterized in
that the device
comprises:
21
Date Recue/Date Received 2021-11-16

an obtaining module, for obtaining a first SQL statement and a second SQL
statement to be
identified;
an analyzing module, for analyzing the first SQL statement, and identifying a
first correlation
query included in the first SQL statement, wherein the correlation query
includes correlation
calculation between datasheets required to be performed for executing the SQL
statement;
analyzing the second SQL statement, and identifying a second correlation query
included in
the second SQL statement; and
a processing module, for determining that there is repeated correlation
calculation existent in
the first SQL statement and the second SQL statement when there is repeated
correlation
calculation existent in the first correlation query and the second correlation
query.
8. The device according to Claim 7, characterized in that the analyzing module
can be further
employed for analyzing the first SQL statement, and identifying a first
correlation relation
keyword included in the first SQL statement, and a first datasheet and a
second datasheet to
which the first correlation relation keyword corresponds; and determining
first correlation
calculation included in the first correlation query according to the first
datasheet, the second
datasheet and the first correlation relation keyword.
9. The device according to Claim 7 or 8, characterized in that the second SQL
statement includes
a sub-query and a correlation query between the sub-query and a third
datasheet, and that the
analyzing module can be further employed for analyzing the second SQL
statement, and
identifying a second correlation relation keyword included in the sub-query,
and a fourth
datasheet and a fifth datasheet to which the second correlation relation
keyword corresponds;
determining second correlation calculation included in the second correlation
query
according to the second correlation relation keyword, and the fourth datasheet
and the fifth
datasheet to which the second correlation relation keyword corresponds;
identifying a third
correlation relation keyword included in the analyzed second SQL statement,
wherein the
22
Date Recue/Date Received 2021-11-16

fourth correlation relation keyword is employed to describe correlation query
of the sub-
query and the third datasheet; determining third correlation calculation
included in the second
correlation query according to the third correlation relation keyword, the
third datasheet and
the fourth datasheet; and determining fourth correlation calculation included
in the second
correlation query according to the third correlation relation keyword, the
third datasheet and
the fifth datasheet.
10. A computer system, characterized in that the system comprises:
one or more processor(s); and
a memory, associated with the one or more processor(s), wherein the memory is
employed to
store a program instruction, and the program instruction performs the
following operations
when it is read and executed by the one or more processor(s):
obtaining a first SQL statement and a second SQL statement to be identified;
analyzing the first SQL statement, and identifying a first correlation query
included in
the first SQL statement, wherein the correlation query includes correlation
calculation
between datasheets required to be performed for executing the SQL statement;
analyzing the second SQL statement, and identifying a second correlation query
included
in the second SQL statement; and
determining that there is repeated correlation calculation existent in the
first SQL
statement and the second SQL statement when there is repeated correlation
calculation
existent in the first correlation query and the second correlation query.
23
Date Recue/Date Received 2021-11-16

Description

Note: Descriptions are shown in the official language in which they were submitted.


METHOD AND DEVICE FOR IDENTIFYING REPETITIVE ASSOCIATION
CALCULATION AND COMPUTER SYSTEM
BACKGROUND OF THE INVENTION
Technical Field
[0001] The present invention relates to the field of data processing
technology, and more
particularly to a method of identifying repeated correlation calculation, a
device for
identifying repeated correlation calculation, and a computer system.
Description of Related Art
[0002] In such data processing scenarios as big data offline tasks, great
quantities of SQL
statements should be processed. During the process of executing the great
quantities of
SQL statements, repeated correlation calculation of two datasheets usually
occurs. Such
repeated correlation calculations cause great losses to computation resources
and storage
resources, severely affect the operating efficiency of data platforms, and
increase the
operation costs of data platforms. Accordingly, there is an urgent need for a
method of
identifying repeated correlation calculations included in plural SQL
statements.
SUMMARY OF THE INVENTION
[0003] In order to address the deficiencies in the state of the art, a major
objective of the present
invention is to provide a method of identifying repeated correlation
calculation, a device
for identifying repeated correlation calculation, and a computer system, so as
to identify
repeated correlation calculations included in SQL statements.
[0004] In order to achieve the above objective, according to the first aspect
of the present
invention, there is provided a method of identifying repeated correlation
calculation, and
the method comprises:
1
Date Recue/Date Received 2021-11-16

[0005] obtaining a first SQL statement and a second SQL statement to be
identified;
[0006] analyzing the first SQL statement, and identifying a first correlation
query included in
the first SQL statement, wherein the correlation query includes correlation
calculation
between datasheets required to be performed for executing the SQL statement;
[0007] analyzing the second SQL statement, and identifying a second
correlation query
included in the second SQL statement; and
[0008] determining that there is repeated correlation calculation existent in
the first SQL
statement and the second SQL statement when there is repeated correlation
calculation
existent in the first correlation query and the second correlation query.
[0009] In some embodiments, the correlation calculation includes corresponding
datasheets and
a correlation relation keyword, wherein the correlation relation keyword is
employed to
describe correlation calculation required to be performed between datasheets,
and the step
of analyzing the first SQL statement, and identifying a first correlation
query included in
the first SQL statement includes:
[0010] analyzing the first SQL statement, and identifying a first correlation
relation keyword
included in the first SQL statement, and a first datasheet and a second
datasheet to which
the first correlation relation keyword corresponds; and
[0011] determining first correlation calculation included in the first
correlation query according
to the first datasheet, the second datasheet and the first correlation
relation keyword.
[0012] In some embodiments, the step of analyzing the first SQL statement, and
identifying a
first correlation query included in the first SQL statement includes:
[0013] analyzing the first SQL statement, and generating json data to which
the first SQL
statement corresponds; and
[0014] identifying the first correlation query included in the first SQL
statement according to
the json data.
[0015] In some embodiments, the second SQL statement includes a sub-query and
a correlation
2
Date Recue/Date Received 2021-11-16

query between the sub-query and a third datasheet, and the step of analyzing
the second
SQL statement, and identifying a second correlation query included in the
second SQL
statement includes:
[0016] analyzing the second SQL statement, and identifying a second
correlation relation
keyword included in the sub-query, and a fourth datasheet and a fifth
datasheet to which
the second correlation relation keyword corresponds;
[0017] determining second correlation calculation included in the second
correlation query
according to the second correlation relation keyword, and the fourth datasheet
and the fifth
datasheet to which the second correlation relation keyword corresponds;
[0018] identifying a third correlation relation keyword included in the second
SQL statement,
and the third datasheet and the sub-query to which the third correlation
relation keyword
corresponds;
[0019] determining third correlation calculation included in the second
correlation query
according to the third correlation relation keyword, the third datasheet and
the fourth
datasheet; and
[0020] determining fourth correlation calculation included in the second
correlation query
according to the third correlation relation keyword, the third datasheet and
the fifth
datasheet.
[0021] In some embodiments, the first SQL statement and the second SQL
statement include
corresponding datasheets to be processed, and the method comprises:
[0022] replacing, when the corresponding datasheets to be processed are
temporary sheets, the
datasheets to be processed with corresponding entity sheets.
[0023] In some embodiments, the step of determining that there is repeated
correlation
calculation existent in the first SQL statement and the second SQL statement
when there is
repeated correlation calculation existent in the first correlation query and
the second
correlation query includes:
[0024] grouping the correlation calculations according to the correlation
relation keywords; and
3
Date Recue/Date Received 2021-11-16

[0025] determining that there is repeated correlation calculation existent in
the first SQL
statement and the second SQL statement when any group includes identical
correlation
calculation of corresponding datasheets.
[0026] According to the second aspect of the present invention, the present
application provides
a device for identifying repeated correlation calculation, and the device
comprises:
[0027] an obtaining module, for obtaining a first SQL statement and a second
SQL statement
to be identified;
[0028] an analyzing module, for analyzing the first SQL statement, and
identifying a first
correlation query included in the first SQL statement, wherein the correlation
query
includes correlation calculation between datasheets required to be performed
for executing
the SQL statement; analyzing the second SQL statement, and identifying a
second
correlation query included in the second SQL statement; and
[0029] a processing module, for determining that there is repeated correlation
calculation
existent in the first SQL statement and the second SQL statement when there is
repeated
correlation calculation existent in the first correlation query and the second
correlation
query.
[0030] In some embodiments, the analyzing module can be further employed for
analyzing the
first SQL statement, and identifying a first correlation relation keyword
included in the first
SQL statement, and a first datasheet and a second datasheet to which the first
correlation
relation keyword corresponds; and determining first correlation calculation
included in the
first correlation query according to the first datasheet, the second datasheet
and the first
correlation relation keyword.
[0031] In some embodiments, the second SQL statement includes a sub-query and
a correlation
query between the sub-query and a third datasheet, and the analyzing module
can be further
employed for analyzing the second SQL statement, and identifying a second
correlation
relation keyword included in the sub-query, and a fourth datasheet and a fifth
datasheet to
4
Date Recue/Date Received 2021-11-16

which the second correlation relation keyword corresponds; determining second
correlation calculation included in the second correlation query according to
the second
correlation relation keyword, and the fourth datasheet and the fifth datasheet
to which the
second correlation relation keyword corresponds; identifying a third
correlation relation
keyword included in the analyzed second SQL statement, wherein the fourth
correlation
relation keyword is employed to describe correlation query of the sub-query
and the third
datasheet; determining third correlation calculation included in the second
correlation
query according to the third correlation relation keyword, the third datasheet
and the fourth
datasheet; and determining fourth correlation calculation included in the
second correlation
query according to the third correlation relation keyword, the third datasheet
and the fifth
datasheet.
[0032] According to the third aspect of the present invention, the present
application provides
a computer system, and the system comprises:
[0033] one or more processor(s);
[0034] a memory, associated with the one or more processor(s), wherein the
memory is
employed to store a program instruction, and the program instruction performs
the
following operations when it is read and executed by the one or more
processor(s):
[0035] obtaining a first SQL statement and a second SQL statement to be
identified;
[0036] analyzing the first SQL statement, and identifying a first correlation
query included in
the first SQL statement, wherein the correlation query includes correlation
calculation
between datasheets required to be performed for executing the SQL statement;
[0037] analyzing the second SQL statement, and identifying a second
correlation query
included in the second SQL statement; and
[0038] determining that there is repeated correlation calculation existent in
the first SQL
statement and the second SQL statement when there is repeated correlation
calculation
existent in the first correlation query and the second correlation query.
[0039] The present invention achieves the following advantageous effects.
Date Recue/Date Received 2021-11-16

[0040] The present application provides a method of identifying repeated
correlation
calculation, and the method comprises obtaining a first SQL statement and a
second SQL
statement to be identified; analyzing the first SQL statement, and identifying
a first
correlation query included in the first SQL statement, wherein the correlation
query
includes correlation calculation between datasheets required to be performed
for executing
the SQL statement; analyzing the second SQL statement, and identifying a
second
correlation query included in the second SQL statement; and determining that
there is
repeated correlation calculation existent in the first SQL statement and the
second SQL
statement when there is repeated correlation calculation existent in the first
correlation
query and the second correlation query. The method is applicable to the
identification as to
whether plural SQL statements contain repeated correlation calculations, so as
to
subsequently optimize and readjust the SQL statements that contain repeated
correlation
calculations, and to further enhance operating efficiency of the data
platform.
BRIEF DESCRIPTION OF THE DRAWINGS
[0041] To more clearly describe the technical solutions in the embodiments of
the present
invention, drawings required to illustrate the embodiments are briefly
introduced below.
Apparently, the drawings introduced below are merely directed to some
embodiments of
the present invention, while persons ordinarily skilled in the art may further
acquire other
drawings on the basis of these drawings without spending creative effort in
the process.
[0042] Fig. 1 is a flowchart illustrating identification of repeated
correlation calculation
provided by an embodiment of the present application;
[0043] Fig. 2 is a flowchart illustrating identification of repeated
correlation calculation of a
task provided by an embodiment of the present application;
6
Date Recue/Date Received 2021-11-16

[0044] Fig. 3 is a flowchart illustrating a method provided by an embodiment
of the present
application;
[0045] Fig. 4 is a view illustrating the structure of a device provided by an
embodiment of the
present application; and
[0046] Fig. 5 is a view illustrating the structure of a computer system
provided by an
embodiment of the present application.
DETAILED DESCRIPTION OF THE INVENTION
[0047] To make more lucid and clear the objectives, technical solutions and
advantages of the
present invention, the technical solutions in the embodiments of the present
invention will
be clearly and comprehensively described below with reference to the
accompanying
drawings in the embodiments of the present invention. Apparently, the
embodiments as
described are merely partial, rather than the entire, embodiments of the
present invention.
Any other embodiments makeable by persons ordinarily skilled in the art on the
basis of
the embodiments in the present invention without creative effort shall all
fall within the
protection scope of the present invention.
[0048] As noted in the Description of Related Art, to solve the aforementioned
problems, the
present application provides a method of identifying repeated correlation
calculation, as
shown in Figs. 1 and 2, identification of repeated correlation calculation
employing this
method includes the following steps.
[0049] Step 1 ¨ obtaining an SQL statement to be analyzed.
[0050] Udf function can be used to extract an original SQL query task from a
Hive task and a
sparkSQL task, and the SQL statement to be analyzed is subsequently extracted
from the
7
Date Recue/Date Received 2021-11-16

original task.
[0051] Step 2 ¨ analyzing the SQL statement, and respectively generating
corresponding Json
data according to a correlation query obtained by analysis.
[0052] The udf function can be developed by using antlr technique for
analyzing SQL
statements.
[0053] The udf function can analyze and obtain, on the basis of the input SQL
statement,
correlation relation keywords included in the SQL statement, datasheets to be
enquired to
which the correlation relation keywords correspond, a database in which the
datasheets to
be enquired locate, and correlation conditions to which the correlation
relation keywords
correspond, and base on all data obtained by analysis to generate the
corresponding Json
data.
[0054] When the datasheets to be enquired include temporary sheets, they can
be replaced with
corresponding entity sheets.
[0055] A correlation relation keyword can include Join and union. Join
includes JOIN, LEFT
JOIN, INNER JOIN, RIGHT JOIN, CROSS JOIN, FULL JOIN and NOT JOIN. In order to
ensure precision of identification, corresponding analyzing rules containing
various types
of SQL statements can be preset, and the types include SQL statements
containing JOIN,
SQL statements containing UNION, and SQL statements simultaneously containing
JOIN
and UNION or sub-queries. When an SQL statement obtained by analysis contains
a
correlation relation keyword, a corresponding analyzing rule is based on to
further analyze
the SQL statement, so as to identify such data as the datasheet to be enquired
to which the
correlation relation keyword corresponds, the database in which the datasheet
to be
enquired locates, and the correlation condition to which the correlation
relation keyword
corresponds.
8
Date Recue/Date Received 2021-11-16

[0056] Step 3 ¨ determining a correlation query included in the SQL statement
according to the
Json data to which the SQL statement corresponds.
[0057] In order to identify the correlation query, one or more correlation
calculation(s) included
in the correlation query should be identified, the correlation relation
keyword and the
corresponding datasheet included in the SQL statement can be determined
according to the
data contained in the Json data, and the correlation relation keyword and the
corresponding
datasheet constitutes one correlation calculation.
[0058] For instance, as is obtained according to Json data, a first SQL
statement includes a
correlation query of table A and a sub-query of database Ti, and the sub-query
includes a
correlation query of table B and table C. The correlation relation keyword of
table B and
table C is LEFT JOIN; the correlation condition of table A and the sub-query
is Union, and
the correlation condition is a first correlation condition. It can then be
determined that the
first correlation relation keyword included in this SQL statement is JOIN, the
corresponding datasheets to be enquired are table B and table C, and the
database in which
the datasheets to be enquired locate is Ti; the second correlation relation
keyword as
obtained is Union, the corresponding datasheets to be enquired are table A and
table B, and
the correlation condition is the first correlation condition; the third
correlation relation
keyword is Union, the corresponding datasheets to be enquired are table A and
table C, and
the correlation condition is the first correlation condition. Then, the first
SQL statement
includes three times of correlation calculations, which are respectively Union
correlation
calculation of table A and table B, Union correlation calculation of table A
and table C, and
JOIN correlation calculation of table B and table C.
[0059] As is obtained according to Json data, the SQL statement includes a
correlation query
of table B and table C of database Ti, and the correlation relation keyword is
RIGHT JOIN,
then the correlation calculation included in the second SQL statement is JOIN
correlation
9
Date Recue/Date Received 2021-11-16

calculation of table B and table C.
[0060] Step 4 ¨ grouping the json data according to the included correlation
relation keyword,
and counting in the same group whether identical json data of the included
datasheets to be
processed occurs and the number of times of such occurrence.
[0061] Step 5 ¨ judging, when the number of times of occurrence is not less
than a preset
threshold, that the identical json data of the included datasheets to be
processed contains
repeated correlation calculation.
[0062] Preferably, when the number of times of occurrence is not less than 1,
it is judged that
the identical json data of the included datasheets to be processed contains
repeated
correlation calculation.
[0063] Since the first SQL statement and the second SQL statement both include
JOIN
correlation calculation of table B and table C, it can be judged that there is
repeated
correlation calculation existent in the first SQL statement and the second SQL
statement.
[0064] A hive table can be generated according to identified repeated
correlation calculations
and the corresponding SQL statements, and submitted to technical personnel for
reference,
so that the technical personnel can optimize and readjust the SQL statements
and the
process of enquiring the SQL statements to thereby enhance operating
efficiency of the
system.
Embodiment 2
[0065] Corresponding to the aforementioned embodiment, the present application
proposes a
method of identifying repeated correlation calculation, as shown in Fig. 3,
the method
comprises:
Date Recue/Date Received 2021-11-16

[0066] 310 - obtaining a first SQL statement and a second SQL statement to be
identified;
[0067] preferably, the first SQL statement and the second SQL statement
include corresponding
datasheets to be processed;
[0068] 311 ¨ replacing, when the corresponding datasheets to be processed are
temporary sheets,
the datasheets to be processed with corresponding entity sheets.
[0069] 320 ¨ analyzing the first SQL statement, and identifying a first
correlation query
included in the first SQL statement, wherein the correlation query includes
correlation
calculation between datasheets required to be performed for executing the SQL
statement;
[0070] preferably, the correlation calculation includes corresponding
datasheets and a
correlation relation keyword, wherein the correlation relation keyword is
employed to
describe correlation calculation required to be performed between datasheets,
and the step
of analyzing the first SQL statement, and identifying a first correlation
query included in
the first SQL statement includes:
[0071] 321 ¨ analyzing the first SQL statement, and identifying a first
correlation relation
keyword included in the first SQL statement, and a first datasheet and a
second datasheet
to which the first correlation relation keyword corresponds;
[0072] 322 ¨ determining first correlation calculation included in the first
correlation query
according to the first datasheet, the second datasheet and the first
correlation relation
keyword.
[0073] Preferably, the step of analyzing the first SQL statement, and
identifying a first
correlation query included in the first SQL statement includes:
[0074] 323 ¨ analyzing the first SQL statement, and generating json data to
which the first SQL
statement corresponds;
[0075] 324 ¨ identifying the first correlation query included in the first SQL
statement
according to the json data.
[0076] 330 ¨ analyzing the second SQL statement, and identifying a second
correlation query
included in the second SQL statement;
[0077] preferably, the second SQL statement includes a sub-query and a
correlation query
between the sub-query and a third datasheet, and the step of analyzing the
second SQL
11
Date Recue/Date Received 2021-11-16

statement, and identifying a second correlation query included in the second
SQL statement
includes:
[0078] 331 ¨ analyzing the second SQL statement, and identifying a second
correlation relation
keyword included in the sub-query, and a fourth datasheet and a fifth
datasheet to which
the second correlation relation keyword corresponds;
[0079] 332 ¨ determining second correlation calculation included in the second
correlation
query according to the second correlation relation keyword, and the fourth
datasheet and
the fifth datasheet to which the second correlation relation keyword
corresponds;
[0080] 333 ¨ identifying a third correlation relation keyword included in the
second SQL
statement, and the third datasheet and the sub-query to which the third
correlation relation
keyword corresponds;
[0081] 334 ¨ determining third correlation calculation included in the second
correlation query
according to the third correlation relation keyword, the third datasheet and
the fourth
datasheet;
[0082] 335 ¨ determining fourth correlation calculation included in the second
correlation query
according to the third correlation relation keyword, the third datasheet and
the fifth
datasheet.
[0083] 340 ¨ determining that there is repeated correlation calculation
existent in the first SQL
statement and the second SQL statement when there is repeated correlation
calculation
existent in the first correlation query and the second correlation query.
[0084] Preferably, the step of determining that there is repeated correlation
calculation existent
in the first SQL statement and the second SQL statement when there is repeated
correlation
calculation existent in the first correlation query and the second correlation
query includes:
[0085] 341 ¨ grouping the correlation calculations according to the
correlation relation
keywords;
[0086] 342 ¨ determining that there is repeated correlation calculation
existent in the first SQL
statement and the second SQL statement when any group includes identical
correlation
calculation of corresponding datasheets.
12
Date Recue/Date Received 2021-11-16

Embodiment 3
[0087] Corresponding to the above method, the present application proposes a
device for
identifying repeated correlation calculation, as shown in Fig. 4, the device
comprises:
[0088] an obtaining module 410, for obtaining a first SQL statement and a
second SQL
statement to be identified;
[0089] an analyzing module 420, for analyzing the first SQL statement, and
identifying a first
correlation query included in the first SQL statement, wherein the correlation
query
includes correlation calculation between datasheets required to be performed
for executing
the SQL statement; analyzing the second SQL statement, and identifying a
second
correlation query included in the second SQL statement; and
[0090] a processing module 430, for determining that there is repeated
correlation calculation
existent in the first SQL statement and the second SQL statement when there is
repeated
correlation calculation existent in the first correlation query and the second
correlation
query.
[0091] Preferably, the analyzing module 420 can be further employed for
analyzing the first
SQL statement, and identifying a first correlation relation keyword included
in the first
SQL statement, and a first datasheet and a second datasheet to which the first
correlation
relation keyword corresponds; and determining first correlation calculation
included in the
first correlation query according to the first datasheet, the second datasheet
and the first
correlation relation keyword.
[0092] Preferably, the second SQL statement includes a sub-query and a
correlation query
between the sub-query and a third datasheet, and the analyzing module 420 can
be further
employed for analyzing the second SQL statement, and identifying a second
correlation
relation keyword included in the sub-query, and a fourth datasheet and a fifth
datasheet to
which the second correlation relation keyword corresponds; determining second
correlation calculation included in the second correlation query according to
the second
13
Date Recue/Date Received 2021-11-16

correlation relation keyword, and the fourth datasheet and the fifth datasheet
to which the
second correlation relation keyword corresponds; identifying a third
correlation relation
keyword included in the analyzed second SQL statement, wherein the fourth
correlation
relation keyword is employed to describe correlation query of the sub-query
and the third
datasheet; determining third correlation calculation included in the second
correlation
query according to the third correlation relation keyword, the third datasheet
and the fourth
datasheet; and determining fourth correlation calculation included in the
second correlation
query according to the third correlation relation keyword, the third datasheet
and the fifth
datasheet.
[0093] Preferably, the analyzing module 420 can be further employed for
analyzing the first
SQL statement, and generating json data to which the first SQL statement
corresponds; and
identifying the first correlation query included in the first SQL statement
according to the
json data.
[0094] Preferably, the first SQL statement and the second SQL statement
include corresponding
datasheets to be processed, and the obtaining module 410 can be further
employed for
replacing, when the corresponding datasheets to be processed are temporary
sheets, the
datasheets to be processed with corresponding entity sheets.
[0095] Preferably, the processing module 430 can be further employed for
grouping the
correlation calculations according to the correlation relation keywords; and
determining
that there is repeated correlation calculation existent in the first SQL
statement and the
second SQL statement when any group includes identical correlation calculation
of
corresponding datasheets.
Embodiment 4
[0096] Corresponding to the aforementioned method, device and system,
embodiment 4 of the
14
Date Recue/Date Received 2021-11-16

present application provides a computer system that comprises one or more
processor(s);
and a memory, associated with the one or more processor(s), wherein the memory
is
employed to store a program instruction, and the program instruction performs
the
following operations when it is read and executed by the one or more
processor(s):
[0097] obtaining a first SQL statement and a second SQL statement to be
identified;
[0098] analyzing the first SQL statement, and identifying a first correlation
query included in
the first SQL statement, wherein the correlation query includes correlation
calculation
between datasheets required to be performed for executing the SQL statement;
[0099] analyzing the second SQL statement, and identifying a second
correlation query
included in the second SQL statement; and
[0100] determining that there is repeated correlation calculation existent in
the first SQL
statement and the second SQL statement when there is repeated correlation
calculation
existent in the first correlation query and the second correlation query.
[0101] Fig. 5 exemplarily illustrates the framework of the computer system
that can specifically
include a processor 1510, a video display adapter 1511, a magnetic disk driver
1512, an
input/output interface 1513, a network interface 1514, and a memory 1520. The
processor
1510, the video display adapter 1511, the magnetic disk driver 1512, the
input/output
interface 1513, the network interface 1514, and the memory 1520 can be
communicably
connected with one another via a communication bus 1530.
[0102] The processor 1510 can be embodied in such a way as a general CPU
(Central
Processing Unit), a microprocessor, an ASIC (Application Specific Integrated
Circuit), or
one or more integrated circuit(s) for executing relevant program(s) to realize
the technical
solutions provided by the present application.
[0103] The memory 1520 can be embodied in such a form as an ROM (Read Only
Memory),
an RAM (Random Access Memory), a static storage device, or a dynamic storage
device.
The memory 1520 can store an operating system 1521 for controlling the running
of a
Date Recue/Date Received 2021-11-16

computer system 1500, and a basic input/output system (BIOS) for controlling
lower-level
operations of the computer system 1500. In addition, the memory 1520 can also
store a
web browser 1523, a data storage management system 1524, and an icon font
processing
system 1525, etc. The icon font processing system 1525 can be an application
program that
specifically realizes the aforementioned various step operations in the
embodiments of the
present application. To sum it up, when the technical solutions provided by
the present
application are to be realized via software or firmware, the relevant program
codes are
stored in the memory 1520, and invoked and executed by the processor 1510.
[0104] The input/output interface 1513 is employed to connect with an
input/output module to
realize input and output of information. The input/output module can be
equipped in the
device as a component part (not shown in the drawings), and can also be
externally
connected with the device to provide corresponding functions. The input means
can include
a keyboard, a mouse, a touch screen, a microphone, and various sensors etc.,
and the output
means can include a display, a loudspeaker, a vibrator, an indicator light
etc.
[0105] The network interface 1514 is employed to connect to a communication
module (not
shown in the drawings) to realize intercommunication between the current
device and other
devices. The communication module can realize communication in a wired mode
(via USB,
network cable, for example) or in a wireless mode (via mobile network, WIFI,
Bluetooth,
etc.).
[0106] The bus 1530 includes a passageway transmitting information between
various
component parts of the device (such as the processor 1510, the video display
adapter 1511,
the magnetic disk driver 1512, the input/output interface 1513, the network
interface 1514,
and the memory 1520).
[0107] Additionally, the computer system 1500 may further obtain information
of specific
collection conditions from a virtual resource object collection condition
information
16
Date Recue/Date Received 2021-11-16

database 1541 for judgment on conditions, and so on.
[0108] As should be noted, although merely the processor 1510, the video
display adapter 1511,
the magnetic disk driver 1512, the input/output interface 1513, the network
interface 1514,
the memory 1520, and the bus 1530 are illustrated for the aforementioned
device, the
device may further include other component parts prerequisite for realizing
normal running
during specific implementation. In addition, as can be understood by persons
skilled in the
art, the aforementioned device may as well only include component parts
necessary for
realizing the solutions of the present application, without including the
entire component
parts as illustrated.
[0109] As can be known through the description to the aforementioned
embodiments, it is
clearly learnt by person skilled in the art that the present application can
be realized through
software plus a required general hardware platform. Based on such
understanding, the
technical solutions of the present application, or the contributions made
thereby over the
state of the art, can be essentially embodied in the form of a software
product, and such a
computer software product can be stored in a storage medium, such as an
ROM/RAM, a
magnetic disk, an optical disk etc., and includes plural instructions enabling
a computer
equipment (such as a personal computer, a cloud server, or a network device
etc.) to execute
the methods described in various embodiments or some sections of the
embodiments of the
present application.
[0110] The various embodiments are progressively described in the Description,
identical or
similar sections among the various embodiments can be inferred from one
another, and
each embodiment stresses what is different from other embodiments.
Particularly, with
respect to the system or system embodiment, since it is essentially similar to
the method
embodiment, its description is relatively simple, and the relevant sections
thereof can be
inferred from the corresponding sections of the method embodiment. The system
or system
embodiment as described above is merely exemplary in nature, units therein
described as
17
Date Recue/Date Received 2021-11-16

separate parts can be or may not be physically separate, parts displayed as
units can be or
may not be physical units, that is to say, they can be located in a single
site, or distributed
over a plurality of network units. It is possible to base on practical
requirements to select
partial modules or the entire modules to realize the objectives of the
embodied solutions.
It is understandable and implementable by persons ordinarily skilled in the
art without
spending creative effort in the process.
[0111] What is described above is merely directed to preferred embodiments of
the present
invention, and they are not meant to restrict the present invention. Any
amendment,
equivalent replacement and improvement makeable within the spirit and scope of
the
present invention shall all be covered within the protection scope of the
present invention.
18
Date Recue/Date Received 2021-11-16

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Amendment Received - Response to Examiner's Requisition 2024-05-13
Amendment Received - Voluntary Amendment 2024-05-13
Examiner's Report 2024-01-19
Inactive: Report - No QC 2024-01-17
Letter sent 2024-01-17
Advanced Examination Determined Compliant - paragraph 84(1)(a) of the Patent Rules 2024-01-17
Amendment Received - Voluntary Amendment 2024-01-11
Amendment Received - Voluntary Amendment 2024-01-11
Inactive: Advanced examination (SO) fee processed 2024-01-11
Early Laid Open Requested 2024-01-11
Inactive: Advanced examination (SO) 2024-01-11
Letter Sent 2023-02-08
Inactive: Correspondence - PAPS 2022-12-23
All Requirements for Examination Determined Compliant 2022-09-16
Request for Examination Requirements Determined Compliant 2022-09-16
Request for Examination Received 2022-09-16
Application Published (Open to Public Inspection) 2022-03-16
Inactive: Cover page published 2022-03-15
Inactive: Office letter 2021-12-22
Inactive: Delete abandonment 2021-12-22
Deemed Abandoned - Failure to Respond to Notice Requiring a Translation 2021-12-06
Inactive: First IPC assigned 2021-12-02
Inactive: IPC assigned 2021-12-02
Inactive: Compliance - Formalities: Resp. Rec'd 2021-11-16
Letter sent 2021-10-06
Filing Requirements Determined Compliant 2021-10-06
Priority Claim Requirements Determined Compliant 2021-10-05
Letter Sent 2021-10-05
Letter Sent 2021-10-05
Request for Priority Received 2021-10-05
Application Received - Regular National 2021-09-16
Inactive: Pre-classification 2021-09-16
Inactive: QC images - Scanning 2021-09-16

Abandonment History

Abandonment Date Reason Reinstatement Date
2021-12-06

Maintenance Fee

The last payment was received on 2023-12-15

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Patent fees are adjusted on the 1st of January every year. The amounts above are the current amounts if received by December 31 of the current year.
Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Fee History

Fee Type Anniversary Year Due Date Paid Date
Application fee - standard 2021-09-16 2021-09-16
Request for examination - standard 2025-09-16 2022-09-16
MF (application, 2nd anniv.) - standard 02 2023-09-18 2023-06-15
MF (application, 3rd anniv.) - standard 03 2024-09-16 2023-12-15
Advanced Examination 2024-01-11 2024-01-11
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
10353744 CANADA LTD.
Past Owners on Record
QINGYAN DING
WEI XU
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column (Temporarily unavailable). To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Claims 2024-01-10 36 2,360
Claims 2024-05-12 28 1,788
Description 2021-09-15 25 1,189
Drawings 2021-11-15 3 339
Abstract 2021-11-15 1 21
Description 2021-11-15 18 796
Claims 2021-11-15 5 192
Representative drawing 2022-02-14 1 20
Cover Page 2022-02-14 1 50
Advanced examination (SO) / Amendment / response to report 2024-01-10 42 1,886
Early lay-open request 2024-01-10 4 141
Courtesy - Advanced Examination Request - Compliant (SO) 2024-01-16 1 184
Examiner requisition 2024-01-18 4 224
Amendment / response to report 2024-05-12 70 3,285
Courtesy - Filing certificate 2021-10-05 1 569
Courtesy - Acknowledgement of Request for Examination 2023-02-07 1 423
New application 2021-09-15 6 213
Amendment / response to report 2021-09-15 5 171
Commissioner’s Notice - Translation Required 2021-10-04 2 207
Commissioner’s Notice - Non-Compliant Application 2021-10-04 2 205
Amendment / response to report 2021-11-15 31 1,482
Courtesy - Office Letter 2021-12-21 1 58
Request for examination 2022-09-15 9 326
Correspondence for the PAPS 2022-12-22 4 153