Language selection

Search

Patent 3156068 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 3156068
(54) English Title: METHOD OF SEPARATELY STORING DATA, DEVICE, COMPUTER EQUIPMENT AND STORAGE MEDIUM
(54) French Title: METHODE POUR STOCKER DES DONNEES SEPAREMENT, DISPOSITIF, MATERIEL INFORMATIQUE ET SUPPORT DE STOCKAGE
Status: Examination Requested
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06F 16/22 (2019.01)
(72) Inventors :
  • YANG, NIANLEI (China)
  • YE, GUOHUA (China)
  • SI, XIAOBO (China)
  • YANG, YING (China)
  • LI, YUELONG (China)
(73) Owners :
  • 10353744 CANADA LTD. (Canada)
(71) Applicants :
  • 10353744 CANADA LTD. (Canada)
(74) Agent: HINTON, JAMES W.
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 2020-07-30
(87) Open to Public Inspection: 2021-04-01
Examination requested: 2022-09-16
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/CN2020/105962
(87) International Publication Number: WO2021/057253
(85) National Entry: 2022-03-28

(30) Application Priority Data:
Application No. Country/Territory Date
201910924306.9 China 2019-09-27

Abstracts

English Abstract

A data separation and storage method and apparatus, a computer device and a storage medium. The method comprises: obtaining each piece of user data of a target user (S202); respectively determining a period in which the generation time of each piece of user data of the target user is (S204); and separating and storing these pieces of user data of the target user into a plurality of databases according to the period of each generation time (S206). By using the method, cold and hot data can be separated, the calculation approach can be simplified, and the hysteresis of separation and storage of newly generated data can be avoided.


French Abstract

La présente invention concerne un procédé et un appareil de séparation et de stockage de données, un dispositif informatique et un support de stockage. Le procédé comprend les étapes consistant à : obtenir chaque élément de données d'utilisateur d'un utilisateur cible (S202) ; déterminer respectivement une période dans laquelle s'inscrit l'instant de génération de chaque élément de données d'utilisateur de l'utilisateur cible (S204) ; et séparer et stocker ces éléments de données d'utilisateur de l'utilisateur cible dans une pluralité de bases de données en fonction de la période de chaque instant de génération (S206). Au moyen du procédé, des données froides et chaudes peuvent être séparées, l'approche de calcul peut être simplifiée, et l'hystérésis de séparation et de stockage de données nouvellement générées peut être évitée.

Claims

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


CLAIMS
What is claimed is:
1. A method of separately storing data, characterized in that the method
comprises:
obtaining various pieces of user data of a target user;
determining periods of generation time of the various pieces of user data of
the target user
respectively; and
separately storing the various pieces of user data of the target user into a
plurality of databases
according to the various periods of generation time.
2. The method according to Claim 1, characterized in that the method further
comprises:
requesting to assign a current period database, a history database, a first
database and a second
database to the target user; and that
the step of separately storing the various pieces of user data of the target
user into a plurality of
databases according to the various periods of generation time includes:
separately storing the
various pieces of user data of the target user into the current period
database, the history database,
the first database and the second database according to the various periods of
generation time;
wherein the current period database is employed to store user data of the
target user whose period
of generation time is a current period, the history database is employed to
store user data of the
target user whose period of generation time is a historical period, the first
database is employed
to store user data of the target user whose periods of generation time are the
current period and
its previous period, and the second database is employed to store user data of
the target user
whose periods of generation time are the current period and its next period.
3. The method according to Claim 2, characterized in that the various
pieces of user data of the
target user include newly generated data and various pieces of historical data
of the target user;
and that
the step of separately storing the various pieces of user data of the target
user into the current
3 3

period database, the history database, the first database and the second
database according to the
various periods of generation time includes:
storing the newly generated data of the target user into the current period
database, the first
database and the second database, respectively; and
separately storing the various pieces of historical data of the target user
into the current period
database, the history database and the first database according to the periods
of generation time
of the various pieces of historical data of the target user.
4. The method according to Claim 3, characterized in that the step of storing
the newly
generated data of the target user into the current period database, the first
database and the second
database, respectively, includes:
writing the newly generated data of the target user into the current period
database; and
asynchronously writing the newly generated data of the target user into the
first database and the
second database according to an operation log generated by writing the newly
generated data of
the target user into the current period database.
5. The method according to anyone of Claims 2 to 4, characterized in that
the method further
comprises:
requesting to assign a new current period database and a new second database
to the target user
before entering the next period;
transferring data in the current period database of the target user, to which
the current period
corresponds, to the history database of the target user, and taking the second
database, to which
the current period of the target user corresponds, as a new first database of
the target user, after
entering the next period; and
destroying the current period database to which the current period of the
target user corresponds
and the first database to which the current period of the target user
corresponds, after completion
of transferring data.
6. The method according to anyone of Claims 2 to 4, characterized in that
the method further
34

comprises: splitting the user data according to user dimensions, and taking
the split user data of
users of various splits as the various pieces of user data of the target user,
respectively.
7. The method according to Claim 2 or 3, characterized in that the method
further comprises:
on receiving a user data modifying request of the target user, enquiring
generation period
information of user data to be modified; wherein
when a period determined according to the enquired generation period
information is the
current period, routing the user data modifying request to the current period
database, to which
the target user corresponds, to modify data;
when the period determined according to the enquired generation period
information is the
historical period, routing the user data modifying request to the history
database, to which the
target user corresponds, to modify data;
or/and on receiving a user data enquiring request of the target user,
determining a query type
according to a query condition carried with the enquiring request; wherein
when the query type is query by period, if an enquiring period determined
according to the
query condition is the current period, routing the user data enquiring request
to the current
period database, to which the target user corresponds, to enquire data; if the
enquiring period
determined according to the query condition is the historical period, routing
the user data
enquiring request to the history database, to which the target user
corresponds, to enquire data;
when the query type is query by time interval, determining a start time and an
end time, to
which an enquiring time interval corresponds, according to the query
condition; and
determining a target database of the target user matching with the start time
and the end time,
according to the start time and the end time, and routing the user data
enquiring request to the
target database to enquire data.
8. A device for separately storing data, characterized in that the device
comprises:
a data obtaining module, for obtaining various pieces of user data of a target
user;
a period determining module, for determining periods of generation time of the
various pieces of
user data of the target user respectively; and

a separately-storing module, for separately storing the various pieces of user
data of the target
user into a plurality of databases according to the various periods of
generation time.
9. A computer equipment, comprising a memory, a processor and a computer
program stored
on the memory and operable on the processor, characterized in that the method
steps according
to anyone of Claims 1 to 7 are realized when the processor executes the
computer program.
10. A computer-readable storage medium, storing a computer program thereon,
characterized
in that the method steps according to anyone of Claims 1 to 7 are realized
when the computer
program is executed by a processor.
36

Description

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


CA 03156068 2022-03-28
METHOD OF SEPARATELY STORING DATA, DEVICE, COMPUTER EQUIPMENT
AND STORAGE MEDIUM
BACKGROUND OF THE INVENTION
Technical Field
[0001] The present application relates to the field of data storage
technology, and more
particularly to a method of separately storing data, and corresponding device,
computer
equipment and storage medium.
Description of Related Art
[0002] With the rapid development of the computer technology and the internet
technology, it is
very easy for users to access to the internet, and to receive various services
provided by
servers on the internet by carrying out business interactions with the
servers. A server can
provide services to a plurality of different users and store user data with
respect to each
user. For some users of some servers, there are usually many pieces of their
user data, so
that the total data volume is unduly large, and it is usually required to
split the data with
large data volume.
[0003] The traditional scheme for splitting user data is by sharding according
to user dimensions,
whereby the user data of all users is split to a plurality of databases. When
the data is
increased to the restricted capacity of the databases, it is needed to split
in two each of
the existing databases, for instance, to split database A in database Al and
database A2,
and to thereafter delete redundant data from database Al and database A2.
However, the
entire user data of the same user is still stored together, and the existence
of massive cold
data causes increase in time consumption in storing and enquiring hotspot
data, and
affects the use of hotspot data. Therefore, it has become increasingly
important to
1
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
effectively process and store cold and hot data.
[0004] The traditional scheme for separating cold and hot data is based on the
heat values of the
data, and many such factors as access start time, access end time, access
volume and unit
time length should be taken into consideration of the calculation of the heat
values; the
calculation is not only relatively complicated, but is also only applicable to
the separation
of historical data having access volume since the access volume is required to
be used,
and it is not applicable to the direct separation of newly generated data, and
separated
storage of the newly generated data is delayed.
SUMMARY OF THE INVENTION
[0005] In view of the aforementioned technical problems, there is an urgent
need to provide a
method of separately storing data, and corresponding device, computer
equipment and
storage medium capable of realizing separation of cold and hot data,
simplifying
calculation, and enabling to avoid delay in separated storage of newly
generated data.
[0006] There is provided a method of separately storing data, and the method
comprises:
obtaining various pieces of user data of a target user; determining periods of
generation
time of the various pieces of user data of the target user respectively; and
separately
storing the various pieces of user data of the target user into a plurality of
databases
according to the various periods of generation time.
[0007] In one embodiment, the method further comprises: requesting to assign a
current period
database, a history database, a first database and a second database to the
target user. The
step of separately storing the various pieces of user data of the target user
into a plurality
of databases according to the various periods of generation time includes:
separately
storing the various pieces of user data of the target user into the current
period database,
the history database, the first database and the second database according to
the various
2
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
periods of generation time; wherein the current period database is employed to
store user
data of the target user whose period of generation time is a current period,
the history
database is employed to store user data of the target user whose period of
generation time
is a historical period, the first database is employed to store user data of
the target user
whose periods of generation time are the current period and its previous
period, and the
second database is employed to store user data of the target user whose
periods of
generation time are the current period and its next period.
[0008] In one embodiment, the various pieces of user data of the target user
include newly
generated data and various pieces of historical data of the target user. The
step of
separately storing the various pieces of user data of the target user into the
current period
database, the history database, the first database and the second database
according to the
various periods of generation time includes: storing the newly generated data
of the target
user into the current period database, the first database and the second
database,
respectively; and separately storing the various pieces of historical data of
the target user
into the current period database, the history database and the first database
according to
the periods of generation time of the various pieces of historical data of the
target user.
[0009] In one embodiment, the step of storing the newly generated data of the
target user into
the current period database, the first database and the second database,
respectively,
includes: writing the newly generated data of the target user into the current
period
database; and asynchronously writing the newly generated data of the target
user into the
first database and the second database according to an operation log generated
by writing
the newly generated data of the target user into the current period database.
[0010] In one embodiment, the method further comprises: requesting to assign a
new current
period database and a new second database to the target user before entering
the next
period; transferring data in the current period database of the target user,
to which the
current period corresponds, to the history database of the target user, and
taking the
3
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
second database, to which the current period of the target user corresponds,
as a new first
database of the target user, after entering the next period; and destroying
the current
period database to which the current period of the target user corresponds and
the first
database to which the current period of the target user corresponds, after
completion of
transferring data.
[0011] In one embodiment, the method further comprises: splitting the user
data according to
user dimensions, and taking the split user data of users of various splits as
the various
pieces of user data of the target user, respectively.
[0012] In one embodiment, the method further comprises:
[0013] on receiving a user data modifying request of the target user,
enquiring generation period
information of user data to be modified; wherein when a period determined
according to
the enquired generation period information is the current period, routing the
user data
modifying request to the current period database, to which the target user
corresponds, to
modify data; when the period determined according to the enquired generation
period
information is the historical period, routing the user data modifying request
to the history
database, to which the target user corresponds, to modify data;
[0014] or/and
[0015] on receiving a user data enquiring request of the target user,
determining a query type
according to a query condition carried with the enquiring request; wherein
when the query
type is query by period, if an enquiring period determined according to the
query
condition is the current period, routing the user data enquiring request to
the current
period database, to which the target user corresponds, to enquire data; if the
enquiring
period determined according to the query condition is the historical period,
routing the
user data enquiring request to the history database, to which the target user
corresponds,
to enquire data; when the query type is query by time interval, determining a
start time
and an end time, to which an enquiring time interval corresponds, according to
the query
condition; and determining a target database of the target user matching with
the start
4
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
time and the end time, according to the start time and the end time, and
routing the user
data enquiring request to the target database to enquire data.
[0016] There is provided a device for separately storing data, and the device
comprises:
[0017] a data obtaining module, for obtaining various pieces of user data of a
target user;
[0018] a period determining module, for determining periods of generation time
of the various
pieces of user data of the target user respectively; and
[0019] a separately-storing module, for separately storing the various pieces
of user data of the
target user into a plurality of databases according to the various periods of
generation
time.
[0020] There is provided a computer program that comprises a memory, a
processor and a
computer program stored on the memory and operable on the processor, and the
following
steps are realized when the processor executes the computer program:
[0021] obtaining various pieces of user data of a target user;
[0022] determining periods of generation time of the various pieces of user
data of the target user
respectively; and
[0023] separately storing the various pieces of user data of the target user
into a plurality of
databases according to the various periods of generation time.
[0024] There is provided a computer-readable storage medium storing a computer
program
thereon, and the following steps are realized when the computer program is
executed by
a processor:
[0025] obtaining various pieces of user data of a target user;
[0026] determining periods of generation time of the various pieces of user
data of the target user
respectively; and
[0027] separately storing the various pieces of user data of the target user
into a plurality of
databases according to the various periods of generation time.
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
[0028] In the aforementioned method of separately storing data, device,
computer equipment and
storage medium, various pieces of user data of a target user are obtained,
periods of
generation time of the various pieces of user data of the target user are
respectively
determined, and the various pieces of user data of the target user are
separately stored
into a plurality of databases according to the various periods of generation
time. In the
embodiments of the present application, since the various pieces of user data
of the target
user are separately stored on the basis of the periods of generation time, it
suffices to
determine the corresponding periods according to the generation time of the
various
pieces of user data, and calculation is simplified; at the same time, newly
generated data
can also be separately stored directly according to the solution embodied in
the present
application, and delay in the separate storage of the newly generated data is
avoided;
moreover, since the various pieces of user data of the target user are
separately stored into
a plurality of different databases according to the various periods of
generation time,
physical separation of cold and hot data is achieved.
BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Fig. 1 is a view illustrating the application environment for a method
of separately storing
data in an embodiment;
[0030] Fig. 2 is a flowchart schematically illustrating a method of separately
storing data in an
embodiment;
[0031] Fig. 3 is a particularized flowchart schematically illustrating the
step of separately storing
data in an embodiment;
[0032] Fig. 4 is a particularized flowchart schematically illustrating the
step of storing newly
generated data in an embodiment;
6
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
[0033] Fig. 5 is a flowchart schematically illustrating the step of separately
storing data in
another embodiment;
[0034] Fig. 6 is a view exemplarily illustrating separated storage of data in
two consecutive
periods in an embodiment;
[0035] Fig. 7 is a block diagram illustrating the structure of a device for
separately storing data
in an embodiment; and
[0036] Fig. 8 is a view illustrating the internal structure of a computer
equipment in an
embodiment.
DETAILED DESCRIPTION OF THE INVENTION
[0037] To make more lucid and clear the objectives, technical solutions and
advantages of the
present application, the present application is described in greater detail
below with
reference to accompanying drawings and embodiments. As should be understood,
the
specific embodiments described here are merely meant to explain the present
application,
rather than to restrict the present application.
[0038] As can be understood, the wordings "first" and "second" as used in the
present application
can be used in this paper to describe various elements, but these elements are
not restricted
by these wordings. These wordings are merely meant to distinguish a first
element from
another element. By way of example, it is possible to name the first client
end as a second
client end without departing from the scope of the present application,
similarly, the
second client end can be named as a first client end. The first client end and
the second
client end are both client ends, but are not the same and single client end.
In addition, as
can be understood, the wording "or/and" as used in the present application
describes the
association relation of associated objects, and expresses the existence of
three possible
7
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
relations, for instance, A or/and B can express the three circumstances of the
single
existence of A, the simultaneous existence of A and B, and the single
existence of B. The
sign "/" generally expresses the relation of "or" between the associated
objects before the
sign and after the sign.
[0039] Problems pending in the state of the art are described below with order
data storage as
example. The traditional scheme for splitting order data is by sharding of the
order data
according to member dimensions, whereby the order data of all members is split
to a
plurality of (such as 32) databases; when the data is increased to the
restricted capacity
of the databases, it is needed to split in two each of the existing databases.
However, the
data of the same member within all time periods is still stored together, but
90% of user
access to data essentially falls in the hotspot data of the latest period of
time (the last 1 to
2 years, for example), and the existence of massive cold data causes increase
in time
consumption in storing and enquiring hotspot data, and affects the use of
hotspot data.
[0040] The method of separately storing data provided by the present
application is applicable
to the application environment as shown in Fig. 1, in which are included
terminal 102,
network 104, server 106 and database equipment 108, wherein terminal 102,
server 106
and database equipment 108 can all be communicably connected to one another
through
network 104. The network system constituted by terminal 102, network 104,
server 106
and database equipment 108 can be based on the internet, can also be based on
a local
area network, and can be further based on a network combining the intemet with
the local
area network, to which no explanation is redundantly made in this context.
[0041] Terminal 102 can be, but is not limited to be, any of various personal
computers, notebook
computers, smart mobile phones, panel computers and portable wearable devices.
At the
same time, the circumstance of two terminals 102 is shown in Fig. 1, but the
number of
terminal(s) 102 is not restricted in the present application, and it is also
possible to include
more or less terminal. On terminal 102 is operative an application program
that can be a
8
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
purchasing application program, a communication application program, or any
other
application program. Database equipment 108 includes a plurality of databases
or
database clusters.
[0042] Network 104 is employed to realize network connection between terminal
102 with server
106, server 106 with database equipment 108, and so on, and can include wired
or
wireless networks of various types. Network 104 can include the internet, a
local area
network ("LAN"), a wide area network ("WAN"), an intranet, a mobile telephone
network, a virtual private network (VPN), a honeycomb or any other mobile
communication network, Bluetooth, NFC or any combination thereof. Network 104
is
also based on a corresponding communication protocol during data transmission,
for
instance, it is based on the HTTP communication protocol when a webpage
browser
receives corresponding business codes of pages, and it can be based on the
Websocket
communication protocol when a mobile application program receives business
codes.
[0043] Server 106 can be embodied as an independent server or a server cluster
consisting of a
plurality of servers. During the operating process, server 106 can obtain
various pieces of
user data of a target user, determine periods of generation time of the
various pieces of
user data of the target user respectively, and separately store the various
pieces of user
data of the target user into a plurality of databases according to the various
periods of
generation time. Thusly, separation of cold and hot data can be realized.
[0044] In one embodiment, as shown in Fig. 2, there is provided a method of
separately storing
data, and the method is explained with an example of its being applied to the
server in
Fig. 1, to comprise the following steps.
[0045] Step 202 - obtaining various pieces of user data of a target user.
[0046] Here, the target user can be a sales platform user, can specifically be
the entire users of
9
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
the sales platform, and can also be partial users of the sales platform, for
example, partial
users screened out of the entire users of the sales platform. The target user
can also be a
user of a platform of any other type. As regards a sales platform user, the
user data can
include order data. There can be one or more target user(s).
[0047] Specifically, the server can obtain various pieces of user data of the
target user from
historical data and current data, the current data here can be newly generated
data and can
also be data generated in the current period.
[0048] Step 204 - determining periods of generation time of the various pieces
of user data of
the target user respectively.
[0049] Here, a period of generation time indicates the period in which the
generation time rests.
The mode of dividing the period can be set according to practical
circumstances, for
instance, division by year, division by month, or division by day, etc.,
wherein the division
by year can be one period corresponding to one year, and can also be one
period
corresponding to several years, and division by month or division by day is by
the same
token.
[0050] Specifically, the server can enquire the generation time of the various
pieces of user data
of the target user, and determine the periods in which the generation time of
the various
pieces of user data of the target user rest, according to the enquired
generation time of the
various pieces of user data. The precision of an enquired generation time can
be
determined according to the mode of dividing the period, for instance, in the
case of
division by year, the information of the generation year can only be enquired.
[0051] Step 206 - separately storing the various pieces of user data of the
target user into a
plurality of databases according to the various periods of generation time.
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
[0052] Here, the number of databases is determinable as practically required.
[0053] Specifically, the server can separately store the various pieces of
user data of the target
user in accordance with a preset data separating rule into a plurality of
databases
according to the various periods of generation time obtained in step 204, the
data
separating rule can be set as practically required, and the same piece of user
data can be
stored only in one database as required, and can also be stored into a
plurality of databases.
[0054] In the aforementioned method of separately storing data, various pieces
of user data of a
target user are obtained, periods of generation time of the various pieces of
user data of
the target user are respectively determined, and the various pieces of user
data of the
target user are separately stored into a plurality of databases according to
the various
periods of generation time. In this embodiment, since the various pieces of
user data of
the target user are separately stored on the basis of the periods of
generation time, it
suffices to determine the corresponding periods according to the generation
time of the
various pieces of user data, and calculation is simplified; at the same time,
newly
generated data can also be separately stored directly according to the
solution of this
embodiment, and delay in the separate storage of the newly generated data is
avoided;
moreover, since the various pieces of user data of the target user are
separately stored into
a plurality of different databases according to the various periods of
generation time,
physical separation of cold and hot data can be achieved, time consumption in
storing and
enquiring hotspot data can be reduced, and the influence of cold data to the
use of the
hotspot data is avoided or reduced.
[0055] In one embodiment, the method of separately storing data according to
the present
application can further comprise the following steps: requesting to assign a
current period
database, a history database, a first database and a second database to the
target user. The
step of separately storing the various pieces of user data of the target user
into a plurality
of databases according to the various periods of generation time can include
the following
11
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
steps: separately storing the various pieces of user data of the target user
into the current
period database, the history database, the first database and the second
database according
to the various periods of generation time; wherein the current period database
is employed
to store user data of the target user whose period of generation time is a
current period,
the history database is employed to store user data of the target user whose
period of
generation time is a historical period, the first database is employed to
store user data of
the target user whose periods of generation time are the current period and
its previous
period, and the second database is employed to store user data of the target
user whose
periods of generation time are the current period and its next period.
[0056] The historical period indicates various periods from the period to
which the generation
time of the first piece of user data of the target user corresponds to the
previous period,
so the previous period, the current period and the next period are temporally
adjacent
three periods, and with the passing of time, the same period may also be
expressed
differently. For instance, as for the year 2019, the year 2018, the year 2019
and the year
2020 are respectively the previous period, the current period and the next
period, but as
to the year 2020, the year 2019 is the previous period.
[0057] Explanation is made with an example in which the period is divided by
year and the user
data is order, the order data of the same user is distributed in four
databases: a historical
order database, an order database of current year, an order database of
previous year and
current year, and an order database of next year and current year. The
previous year is the
current year minus 1, and the next year is the current year plus 1. The
historical order
database, the order database of current year, the order database of previous
year and
current year, and the order database of next year and current year
respectively correspond
to the aforementioned history database, current period database, first
database and second
database.
[0058] In the solution of this embodiment, the various pieces of user data of
the target user are
12
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
separately stored in the current period database, the history database, the
first database
and the second database, and separated storage of cold and hot user data is
realized. In
addition, since the current period database, the history database and the
first database
respectively and correspondingly store user data whose period of generation
time is the
current period, user data whose period of generation time is the historical
period, and user
data whose periods of generation time are the current period and the previous
period,
operation (such as enquiring or storing) of hotspot data can be routed to the
current period
database or the first database for operation, whereby processing efficiency of
the hotspot
data can be enhanced. At the same time, the current period database, the first
database
and the second database all store user data of the current period, and the
first database
and the second database are respectively further employed to store user data
of the
previous period and user data of the next period, thusly, when period change
occurs (such
as the next period is entered), data in the current period database is
transferred to the
history database and identification change is performed on the second
database, i.e., the
second database is changed to a first database, while it is not required to
discard these
two databases, that is to say, when period change occurs, there is few number
of discarded
databases, change efficiency can be enhanced, and time continuity of the
solution is
enhanced at the same time.
[0059] In one embodiment, the various pieces of user data of the target user
can include newly
generated data and various pieces of historical data of the target user; as
shown in Fig. 3,
the step of separately storing the various pieces of user data of the target
user into the
current period database, the history database, the first database and the
second database
according to the various periods of generation time can include the following
steps:
[0060] Step 302 - storing the newly generated data of the target user into the
current period
database, the first database and the second database, respectively; and
[0061] Step 304 - separately storing the various pieces of historical data of
the target user into
the current period database, the history database and the first database
according to the
periods of generation time of the various pieces of historical data of the
target user.
13
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
[0062] In this embodiment, the newly generated data can be directly stored,
i.e., it is not required
to determine the period of generation time, and the efficiency of separately
storing data
can be enhanced.
[0063] In one embodiment, as shown in Fig. 4, the step of storing the newly
generated data of
the target user into the current period database, the first database and the
second database,
respectively, can include the following steps:
[0064] Step 402 - writing the newly generated data of the target user into the
current period
database; and
[0065] Step 404 - asynchronously writing the newly generated data of the
target user into the
first database and the second database according to an operation log generated
by writing
the newly generated data of the target user into the current period database.
[0066] Specifically, the server can write the newly generated data of the
target user into the
current period database, an operation log is generated when the newly
generated data of
the target user is written in the current period database, this operation log
is generally a
binary log (binlog), the operation log can be asynchronously parsed, and the
newly
generated data of the target user is inserted into the first database and the
second database
according to the parsing result, thusly, the data processing procedure, such
as an order
submitting procedure, based on the newly generated data is not affected.
[0067] In one embodiment, as shown in Fig. 5, there is provided a method of
separately storing
data, and the method is explained with an example of its being applied to the
server in
Fig. 1. As shown in Fig. 5, besides comprising the aforementioned step 202,
step 204 and
step 206, the method of separately storing data in this embodiment further
comprises the
following steps:
[0068] Step 502 - requesting to assign a new current period database and a new
second database
to the target user before entering the next period;
14
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
[0069] Step 504 - transferring data in the current period database of the
target user, to which the
current period corresponds, to the history database of the target user, and
taking the
second database, to which the current period of the target user corresponds,
as a new first
database of the target user, after entering the next period; and
[0070] Step 506 - destroying the current period database to which the current
period of the target
user corresponds and the first database to which the current period of the
target user
corresponds, after completion of transferring data.
[0071] The solution of this embodiment exhibits excellent time scalability
with respect to
databases with rapidly increasing data volumes, and enables infinite
scalability
implementation.
[0072] The method of separately storing data in one embodiment can further
comprise the
following steps: splitting the user data according to user dimensions, and
taking the split
user data of users of various splits as the various pieces of user data of the
target user,
respectively.
[0073] Specifically, the order data of the entire members is split into n
splits according to member
dimensions, where n is a positive integer, and its magnitude can be set as
practically
required. Plural pieces of user data of the same user are usually located in
the same split,
in other words, the order data of the entire members is divided into several
groups
according to the members, the user data of each group of users can be taken as
various
pieces of user data of target users respectively, and separately stored
according to the
mode of the aforementioned embodiment, thusly, the user of each split can
correspond to
the aforementioned plurality of (four) databases, and user data of users of
different splits
can be separately stored in parallel, whereby it is made possible to further
reduce time
consumption in storing and enquiring hotspot data.
[0074] The method of separately storing data in one embodiment can further
comprise the
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
following steps: on receiving a user data modifying request of the target
user, enquiring
generation period information of user data to be modified; wherein when a
period
determined according to the enquired generation period information is the
current period,
routing the user data modifying request to the current period database, to
which the target
user corresponds, to modify data; when the period determined according to the
enquired
generation period information is the historical period, routing the user data
modifying
request to the history database, to which the target user corresponds, to
modify data.
[0075] Here, the generation period information indicates period information of
the generation
time, namely the period in which the generation time rests. The user data to
be modified
can be determined according to the user data modifying request. In this
embodiment,
different user data modifying requests are routed to the current period
database or the
history database to modify data, modification of cold data and modification of
hot data
can be separately processed, and processing efficiency can be enhanced.
[0076] The method of separately storing data in one embodiment can further
comprise the
following steps: on receiving a user data enquiring request of the target
user, determining
a query type according to a query condition carried with the enquiring
request; wherein
when the query type is query by period, if an enquiring period determined
according to
the query condition is the current period, routing the user data enquiring
request to the
current period database, to which the target user corresponds, to enquire
data; if the
enquiring period determined according to the query condition is the historical
period,
routing the user data enquiring request to the history database, to which the
target user
corresponds, to enquire data; when the query type is query by time interval,
determining
a start time and an end time, to which an enquiring time interval corresponds,
according
to the query condition; and determining a target database of the target user
matching with
the start time and the end time, according to the start time and the end time,
and routing
the user data enquiring request to the target database to enquire data.
16
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
[0077] The step of determining a target database of the target user matching
with the start time
and the end time according to the start time and the end time can specifically
include the
following steps: detecting whether the start time and the end time all fall in
a time interval
to which the current period database or the history database of the target
user corresponds;
if yes, determining the current period database or the history database as the
target
database; if not, detecting whether the start time and the end time all fall
in the first
database of the target user, if yes, determining the first database as the
target database; if
not, taking the history database and the current database as the target
database. That is to
say, query is preferentially made in a single database, and cross-database
query is made
only when the single database cannot match the start time and the end time,
whereby it is
made possible to avoid cross-database query as far as possible, and to enhance
the
efficiency in responding to the user data enquiring request as far as
possible. With respect
to the scenario in which cross-database query is required, the enquiring time
interval can
be split into two sub enquiring time intervals respectively matching the
history database
and the current database, data query is performed in the corresponding history
database
and current database respectively on the basis of the two sub enquiring time
intervals,
data aggregation is performed on the resultant two enquiring results, and a
final data
enquiring result is obtained.
[0078] To facilitate comprehension of the solution of the present invention,
explanation is made
below with an example in which the method of separately storing data in the
aforementioned embodiment is applied to separately storing order data of
members. The
method of separately storing data in this embodiment comprises the following
steps.
[0079] Step A: dividing into n splits according to member dimensions, and
splitting total order
data according to members of each split.
[0080] The number of members of each split can be equal or unequal to that of
others.
17
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
[0081] Specifically, the entire members are divided into n splits according to
member dimensions,
and the total order data is then split according to members of the various
splits, thusly,
plural pieces of order data of the same member are located in the same split.
[0082] Step B: requesting four databases, namely a history database, a now
database, a
before&now database and a now&after database, for each split.
[0083] The history database is a historical order database, the now database
is an order database
of current year, the before&now database is an order database of current year-
1 (namely
previous year) and current year, and the now&after database is an order
database of
current year & current year+1 (namely next year).
[0084] The history database, the now database, the before&now database and the
now&after
database here respectively correspond to the history database, the current
period database,
the first database and the second database in the aforementioned embodiment.
[0085] Step C: defining a data storage routing rule for instructing a service
program in the server
to read and write a corresponding database.
[0086] The data storage routing rule can include a new order storing rule, a
historical order
modifying rule and an order enquiring rule;
[0087] the new order storing rule: routing to the now database for storage
when the ordering year
of an order is the current year;
[0088] the historical order modifying rule: enquiring the ordering year of a
historical order,
routing to the now database for modification if it is the current year,
routing to the history
database for modification if it is a historical year;
[0089] order enquiring rule: in the case of query by year, enquiring the
current year, routing to
the now database for enquiry, enquiring historical year, routing to the
history database for
enquiry; in the case the query condition is time period, namely start time to
end time, if
18
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
the time period falls in the time interval to which the now database
corresponds, routing
to the now database for enquiry, if the time period falls in the time interval
to which the
before&now database corresponds, routing to the before&now database for
enquiry, if
the time period falls in the time interval to which the history database
corresponds, routing
to the history database for enquiry.
[0090] The solution of this embodiment takes into consideration query services
provided to the
outside, and generally involves requests of the recent three months/six
months/a year, so
the scenario of aggregated results across two databases is not involved.
However, it is
also possible to make cross-database query as practically required.
[0091] Step D: creating an asynchronously associated writing mechanism among
the now
database, the before&now database and the now&after database.
[0092] Specifically, a database binary log parsing component RDRS can be used
to write the
entire operations of the now database in the before&now database and the
now&after
database, and consistency of the current data in the three databases is
ensured.
[0093] By way of example, with reference to Fig. 6, when the current year is
the year 2019, a
historical order database, an order database of the years 2018 and 2019, a
database of the
year 2019 and an order database of the years 2019 and 2020 are requested for
users of a
certain split, of which the historical order database is used to store order
data from the
start time to the end of 2018 of users to which order storage corresponds, the
order
database of the years 2018 and 2019 is used to store order data of the two
years 2018 and
2019 of users to which order storage corresponds, and the order database of
the years
2019 and 2020 is used to store order data of the two years 2019 and 2020 of
users to
which order storage corresponds. Order data generated on the terminal
application is
correspondingly stored in the four databases according to years of generation,
specifically,
historical order data is correspondingly stored in the historical order
database, the order
19
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
database of the years 2018 and 2019 or the database of the year 2019 according
to years
of generation, data newly generated in the year 2019 is stored in the database
of the year
2019, and asynchronously stored in the order database of the years 2018 and
2019 and
the order database of the years 2019 and 2020 according to the asynchronously
associated
writing mechanism of the order database of the years 2018 and 2019, the
database of the
year 2019, and the order database of the years 2019 and 2020.
[0094] Step E: preparing before newly switched period.
[0095] Before the next year is entered, a new now database and a new now&after
database are
requested in advance, new years are stipulated in the database routing rule,
and routed to
the new now database and the new now&after database.
[0096] Step F: archiving.
[0097] Specifically, after the next year has been entered, the now database of
the previous year
is archived into the history database.
[0098] Step J: clearing redundant data.
[0099] Specifically, the two databases as the now database and the before&now
database of the
previous year are destroyed, and cutting is complete.
[0100] By way of example, with reference to Fig. 6, before the year 2020 is
entered, a new now
database and a new now&after database, namely an order database of the year
2020-year
order database and an order database of the years 2020 and 2021, are requested
for
corresponding users in advance, after the year 2020 has been entered, data of
the database
of the year 2019 is archived into the historical order database, and the order
database of
the years 2018 and 2019 and the database of the year 2019 are destroyed.
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
[0101] As should be understood, although the various steps in the flowcharts
of Figs. 2-5 are
sequentially displayed as indicated by arrows, these steps are not necessarily
executed in
the sequences indicated by arrows. Unless otherwise explicitly noted in this
paper,
execution of these steps is not restricted by any sequence, as these steps can
also be
executed in other sequences (than those indicated in the drawings). Moreover,
at least
partial steps in the flowcharts of Figs. 2-5 may include plural sub-steps or
multi-phases,
these sub-steps or phases are not necessarily completed at the same timing,
but can be
executed at different timings, and these sub-steps or phases are also not
necessarily
sequentially performed, but can be performed in turns or alternately with
other steps or
with at least some of sub-steps or phases of other steps.
[0102] In one embodiment, as shown in Fig. 7, there is provided a device for
separately storing
data, and the device comprises a data obtaining module 702, a period
determining module
704 and a separately-storing module 706, of which
[0103] the data obtaining module 702 is employed for obtaining various pieces
of user data of a
target user;
[0104] the period determining module 704 is employed for determining periods
of generation
time of the various pieces of user data of the target user respectively; and
[0105] the separately-storing module 706 is employed for separately storing
the various pieces
of user data of the target user into a plurality of databases according to the
various periods
of generation time.
[0106] In one embodiment, the device for separately storing data according to
the present
application can further comprise: a database assignment requesting module (not
shown
in the drawings) for requesting to assign a current period database, a history
database, a
first database and a second database to the target user; wherein the
separately-storing
module 706 can separately store the various pieces of user data of the target
user into the
current period database, the history database, the first database and the
second database
21
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
according to the various periods of generation time; wherein the current
period database
is employed to store user data of the target user whose period of generation
time is a
current period, the history database is employed to store user data of the
target user whose
period of generation time is a historical period, the first database is
employed to store user
data of the target user whose periods of generation time are the current
period and its
previous period, and the second database is employed to store user data of the
target user
whose periods of generation time are the current period and its next period.
[0107] In one embodiment, the various pieces of user data of the target user
can include newly
generated data and various pieces of historical data of the target user;
wherein the
separately-storing module 706 can store the newly generated data of the target
user into
the current period database, the first database and the second database,
respectively, and
separately store the various pieces of historical data of the target user into
the current
period database, the history database and the first database according to the
periods of
generation time of the various pieces of historical data of the target user.
[0108] In one embodiment, the separately-storing module 706 can write the
newly generated
data of the target user into the current period database, and asynchronously
write the
newly generated data of the target user into the first database and the second
database
according to an operation log generated by writing the newly generated data of
the target
user into the current period database.
[0109] In one embodiment, the aforementioned database assignment requesting
module can
further request to assign a new current period database and a new second
database to the
target user before entering the next period. The device for separately storing
data
according to the present application can further comprise a data transferring
module (not
shown in the drawings) for transferring data in the current period database of
the target
user, to which the current period corresponds, to the history database of the
target user,
taking the second database, to which the current period of the target user
corresponds, as
22
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
a new first database of the target user, after entering the next period, and
destroying the
current period database to which the current period of the target user
corresponds and the
first database to which the current period of the target user corresponds,
after completion
of transferring data.
[0110] In one embodiment, the device for separately storing data according to
the present
application can further comprise a user dividing module (not shown in the
drawings) for
splitting the user data according to user dimensions, and taking the split
user data of users
of various splits as the various pieces of user data of the target user,
respectively.
[0111] In one embodiment, the device for separately storing data according to
the present
application can further comprise a first request routing module (not shown in
the drawings)
for, on receiving a user data modifying request of the target user, enquiring
generation
period information of user data to be modified; wherein when a period
determined
according to the enquired generation period information is the current period,
routing the
user data modifying request to the current period database, to which the
target user
corresponds, to modify data; when the period determined according to the
enquired
generation period information is the historical period, routing the user data
modifying
request to the history database, to which the target user corresponds, to
modify data.
[0112] In one embodiment, the device for separately storing data according to
the present
application can further comprise a second request routing module (not shown in
the
drawings) for, on receiving a user data enquiring request of the target user,
determining a
query type according to a query condition carried with the enquiring request;
wherein
when the query type is query by period, if an enquiring period determined
according to
the query condition is the current period, routing the user data enquiring
request to the
current period database, to which the target user corresponds, to enquire
data; if the
enquiring period determined according to the query condition is the historical
period,
routing the user data enquiring request to the history database, to which the
target user
23
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
corresponds, to enquire data; when the query type is query by time interval,
determining
a start time and an end time, to which an enquiring time interval corresponds,
according
to the query condition; and determining a target database of the target user
matching with
the start time and the end time, according to the start time and the end time,
and routing
the user data enquiring request to the target database to enquire data.
[0113] In one embodiment, the device for separately storing data according to
the present
application can further comprise the aforementioned first request routing
module and
second request routing module.
[0114] Specific definitions relevant to the device for separately storing data
may be inferred from
the aforementioned definitions to the method of separately storing data, while
no
repetition is made in this context. The various modules in the aforementioned
device for
separately storing data can be wholly or partly realized via software,
hardware, and a
combination of software with hardware. The various modules can be embedded in
the
form of hardware in a processor in a computer equipment or independent of any
computer
equipment, and can also be stored in the form of software in a memory in a
computer
equipment, so as to facilitate the processor to invoke and perform operations
corresponding to the aforementioned various modules.
[0115] In one embodiment, a computer equipment is provided, the computer
equipment can be
a server, and its internal structure can be as shown in Fig. 8. The computer
equipment
comprises a processor, a memory, and a network interface connected to each
other via a
system bus. The processor of the computer equipment is employed to provide
computing
and controlling capabilities. The memory of the computer equipment includes a
nonvolatile storage medium and an internal memory. The nonvolatile storage
medium
stores therein an operating system, a computer program and a database. The
internal
memory provides environment for the running of the operating system and the
computer
program in the nonvolatile storage medium. The network interface of the
computer
24
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
equipment is employed to connect to an external terminal via network for
communication.
The computer program realizes a method of separately storing data when it is
executed
by a processor.
[0116] As understandable to persons skilled in the art, the structure
illustrated in Fig. 8 is merely
a block diagram of partial structure relevant to the solution of the present
application, and
does not constitute any restriction to the computer equipment on which the
solution of
the present application is applied, as the specific computer equipment may
comprise
component parts that are more than or less than those illustrated in Fig. 8,
or may combine
certain component parts, or may have different layout of component parts.
[0117] In one embodiment, there is provided a computer equipment that
comprises a memory, a
processor and a computer program stored on the memory and operable on the
processor,
and the following steps are realized when the processor executes the computer
program:
obtaining various pieces of user data of a target user; determining periods of
generation
time of the various pieces of user data of the target user respectively; and
separately
storing the various pieces of user data of the target user into a plurality of
databases
according to the various periods of generation time.
[0118] In one embodiment, when the processor executes the computer program,
the following
steps are further realized: requesting to assign a current period database, a
history
database, a first database and a second database to the target user; when the
processor
executes the computer program to realize the step of separately storing the
various pieces
of user data of the target user into a plurality of databases according to the
various periods
of generation time, the following steps are specifically realized: separately
storing the
various pieces of user data of the target user into the current period
database, the history
database, the first database and the second database according to the various
periods of
generation time; wherein the current period database is employed to store user
data of the
target user whose period of generation time is a current period, the history
database is
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
employed to store user data of the target user whose period of generation time
is a
historical period, the first database is employed to store user data of the
target user whose
periods of generation time are the current period and its previous period, and
the second
database is employed to store user data of the target user whose periods of
generation
time are the current period and its next period.
[0119] In one embodiment, the various pieces of user data of the target user
include newly
generated data and various pieces of historical data of the target user; when
the processor
executes the computer program to realize the step of separately storing the
various pieces
of user data of the target user into the current period database, the history
database, the
first database and the second database according to the various periods of
generation time,
the following steps are specifically realized: storing the newly generated
data of the target
user into the current period database, the first database and the second
database,
respectively; and separately storing the various pieces of historical data of
the target user
into the current period database, the history database and the first database
according to
the periods of generation time of the various pieces of historical data of the
target user.
[0120] In one embodiment, when the processor executes the computer program to
realize the
step of storing the newly generated data of the target user into the current
period database,
the first database and the second database, respectively, the following steps
are
specifically realized: writing the newly generated data of the target user
into the current
period database; and
[0121] asynchronously writing the newly generated data of the target user into
the first database
and the second database according to an operation log generated by writing the
newly
generated data of the target user into the current period database.
[0122] In one embodiment, when the processor executes the computer program,
the following
steps are further realized: requesting to assign a new current period database
and a new
second database to the target user before entering the next period;
transferring data in the
26
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
current period database of the target user, to which the current period
corresponds, to the
history database of the target user, and taking the second database, to which
the current
period of the target user corresponds, as a new first database of the target
user, after
entering the next period; and destroying the current period database to which
the current
period of the target user corresponds and the first database to which the
current period of
the target user corresponds, after completion of transferring data.
[0123] In one embodiment, when the processor executes the computer program,
the following
steps are further realized: splitting the user data according to user
dimensions, and taking
the split user data of users of various splits as the various pieces of user
data of the target
user, respectively.
[0124] In one embodiment, when the processor executes the computer program,
the following
steps are further realized: on receiving a user data modifying request of the
target user,
enquiring generation period information of user data to be modified; wherein
when a
period determined according to the enquired generation period information is
the current
period, routing the user data modifying request to the current period
database, to which
the target user corresponds, to modify data; when the period determined
according to the
enquired generation period information is the historical period, routing the
user data
modifying request to the history database, to which the target user
corresponds, to modify
data.
[0125] In one embodiment, when the processor executes the computer program,
the following
steps are further realized: on receiving a user data enquiring request of the
target user,
determining a query type according to a query condition carried with the
enquiring
request; wherein when the query type is query by period, if an enquiring
period
determined according to the query condition is the current period, routing the
user data
enquiring request to the current period database, to which the target user
corresponds, to
enquire data; if the enquiring period determined according to the query
condition is the
27
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
historical period, routing the user data enquiring request to the history
database, to which
the target user corresponds, to enquire data; when the query type is query by
time interval,
determining a start time and an end time, to which an enquiring time interval
corresponds,
according to the query condition; and determining a target database of the
target user
matching with the start time and the end time, according to the start time and
the end time,
and routing the user data enquiring request to the target database to enquire
data.
[0126] In one embodiment, there is provided a computer-readable storage medium
storing
thereon a computer program, and the following steps are realized when the
computer
program is executed by a processor: obtaining various pieces of user data of a
target user;
determining periods of generation time of the various pieces of user data of
the target user
respectively; and separately storing the various pieces of user data of the
target user into
a plurality of databases according to the various periods of generation time.
[0127] In one embodiment, when the computer program is executed by a
processor, the following
steps are further realized: requesting to assign a current period database, a
history
database, a first database and a second database to the target user. When the
computer
program is executed by a processor to realize the step of separately storing
the various
pieces of user data of the target user into a plurality of databases according
to the various
periods of generation time, the following steps are specifically realized:
separately storing
the various pieces of user data of the target user into the current period
database, the
history database, the first database and the second database according to the
various
periods of generation time; wherein the current period database is employed to
store user
data of the target user whose period of generation time is a current period,
the history
database is employed to store user data of the target user whose period of
generation time
is a historical period, the first database is employed to store user data of
the target user
whose periods of generation time are the current period and its previous
period, and the
second database is employed to store user data of the target user whose
periods of
generation time are the current period and its next period.
28
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
[0128] In one embodiment, the various pieces of user data of the target user
include newly
generated data and various pieces of historical data of the target user. When
the computer
program is executed by a processor to realize the step of separately storing
the various
pieces of user data of the target user into the current period database, the
history database,
the first database and the second database according to the various periods of
generation
time, the following steps are specifically realized: storing the newly
generated data of the
target user into the current period database, the first database and the
second database,
respectively; and separately storing the various pieces of historical data of
the target user
into the current period database, the history database and the first database
according to
the periods of generation time of the various pieces of historical data of the
target user.
[0129] In one embodiment, when the computer program is executed by a processor
to realize the
step of storing the newly generated data of the target user into the current
period database,
the first database and the second database, respectively, the following steps
are
specifically realized: writing the newly generated data of the target user
into the current
period database; and
[0130] asynchronously writing the newly generated data of the target user into
the first database
and the second database according to an operation log generated by writing the
newly
generated data of the target user into the current period database.
[0131] In one embodiment, when the computer program is executed by a
processor, the following
steps are further realized: requesting to assign a new current period database
and a new
second database to the target user before entering the next period;
transferring data in the
current period database of the target user, to which the current period
corresponds, to the
history database of the target user, and taking the second database, to which
the current
period of the target user corresponds, as a new first database of the target
user, after
entering the next period; and destroying the current period database to which
the current
period of the target user corresponds and the first database to which the
current period of
29
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
the target user corresponds, after completion of transferring data.
[0132] In one embodiment, when the computer program is executed by a
processor, the following
steps are further realized: splitting the user data according to user
dimensions, and taking
the split user data of users of various splits as the various pieces of user
data of the target
user, respectively.
[0133] In one embodiment, when the computer program is executed by a
processor, the following
steps are further realized: on receiving a user data modifying request of the
target user,
enquiring generation period information of user data to be modified; wherein
when a
period determined according to the enquired generation period information is
the current
period, routing the user data modifying request to the current period
database, to which
the target user corresponds, to modify data; when the period determined
according to the
enquired generation period information is the historical period, routing the
user data
modifying request to the history database, to which the target user
corresponds, to modify
data.
[0134] In one embodiment, when the computer program is executed by a
processor, the following
steps are further realized: on receiving a user data enquiring request of the
target user,
determining a query type according to a query condition carried with the
enquiring
request; wherein when the query type is query by period, if an enquiring
period
determined according to the query condition is the current period, routing the
user data
enquiring request to the current period database, to which the target user
corresponds, to
enquire data; if the enquiring period determined according to the query
condition is the
historical period, routing the user data enquiring request to the history
database, to which
the target user corresponds, to enquire data; when the query type is query by
time interval,
determining a start time and an end time, to which an enquiring time interval
corresponds,
according to the query condition; and determining a target database of the
target user
matching with the start time and the end time, according to the start time and
the end time,
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
and routing the user data enquiring request to the target database to enquire
data.
[0135] As comprehensible to persons ordinarily skilled in the art, the entire
or partial flows in
the methods according to the aforementioned embodiments can be completed via a

computer program instructing relevant hardware, the computer program can be
stored in
a nonvolatile computer-readable storage medium, and the computer program can
include
the flows as embodied in the aforementioned various methods when executed. Any

reference to the memory, storage, database or other media used in the various
embodiments provided by the present application can all include nonvolatile
and/or
volatile memory/memories. The nonvolatile memory can include a read-only
memory
(ROM), a programmable ROM (PROM), an electrically programmable ROM (EPROM),
an electrically erasable and programmable ROM (EEPROM) or a flash memory. The
volatile memory can include a random access memory (RAM) or an external cache
memory. To serve as explanation rather than restriction, the RAM is obtainable
in many
forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM
(SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM),
synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM
(RDRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM
(RDRAM), etc.
[0136] Technical features of the aforementioned embodiments are randomly
combinable, while
all possible combinations of the technical features in the aforementioned
embodiments
are not exhausted for the sake of brevity, but all these should be considered
to fall within
the scope recorded in the Description as long as such combinations of the
technical
features are not mutually contradictory.
The foregoing embodiments are merely directed to several modes of execution of
the present
application, and their descriptions are relatively specific and detailed, but
they should not be
hence misunderstood as restrictions to the inventive patent scope. As should
be pointed out,
31
Date Recue/Date Received 2022-03-28

CA 03156068 2022-03-28
persons with ordinary skill in the art may further make various modifications
and improvements
without departing from the conception of the present application, and all
these should pertain to
the protection scope of the present application. Accordingly, the patent
protection scope of the
present application shall be based on the attached Claims.
32
Date Recue/Date Received 2022-03-28

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

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 , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(86) PCT Filing Date 2020-07-30
(87) PCT Publication Date 2021-04-01
(85) National Entry 2022-03-28
Examination Requested 2022-09-16

Abandonment History

There is no abandonment history.

Maintenance Fee

Last Payment of $100.00 was received on 2023-12-15


 Upcoming maintenance fee amounts

Description Date Amount
Next Payment if small entity fee 2025-07-30 $100.00
Next Payment if standard fee 2025-07-30 $277.00 if received in 2024
$289.19 if received in 2025

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.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee 2022-03-28 $407.18 2022-03-28
Maintenance Fee - Application - New Act 2 2022-08-02 $100.00 2022-03-28
Request for Examination 2024-07-30 $814.37 2022-09-16
Maintenance Fee - Application - New Act 3 2023-07-31 $100.00 2023-06-15
Maintenance Fee - Application - New Act 4 2024-07-30 $100.00 2023-12-15
Advance an application for a patent out of its routine order 2024-01-19 $694.00 2024-01-19
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
10353744 CANADA LTD.
Past Owners on Record
None
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. 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) 
Abstract 2022-03-28 1 17
Claims 2022-03-28 4 161
Description 2022-03-28 32 1,527
International Search Report 2022-03-28 7 283
Amendment - Abstract 2022-03-28 2 90
National Entry Request 2022-03-28 12 1,113
Cover Page 2022-07-19 1 61
Request for Examination 2022-09-16 9 320
Prosecution Correspondence 2022-12-23 4 151
Special Order / Amendment 2024-01-19 22 863
Acknowledgement of Grant of Special Order 2024-01-23 1 187
Claims 2024-01-19 16 920
Drawings 2022-03-28 5 315
Examiner Requisition 2024-01-31 5 310
Representative Drawing 2024-02-14 1 31
Amendment 2024-05-31 46 2,344
Claims 2024-05-31 17 1,027