CN114048231A - Data processing method, device and computer program product - Google Patents

Data processing method, device and computer program product Download PDF

Info

Publication number
CN114048231A
CN114048231A CN202111130075.8A CN202111130075A CN114048231A CN 114048231 A CN114048231 A CN 114048231A CN 202111130075 A CN202111130075 A CN 202111130075A CN 114048231 A CN114048231 A CN 114048231A
Authority
CN
China
Prior art keywords
window
rolling
event detection
event
processing result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111130075.8A
Other languages
Chinese (zh)
Inventor
曹佩聪
陈金瑶
王云飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Innovation Co
Original Assignee
Alibaba Singapore Holdings Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Singapore Holdings Pte Ltd filed Critical Alibaba Singapore Holdings Pte Ltd
Priority to CN202111130075.8A priority Critical patent/CN114048231A/en
Publication of CN114048231A publication Critical patent/CN114048231A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The embodiment of the disclosure discloses a data processing method, a device and a computer program product, wherein the method comprises the following steps: in response to the occurrence of an event detected in the rolling event detection window, executing a first aggregation process based on historical preset characteristic values of similar events detected in the rolling event detection window to obtain an instant window processing result corresponding to the event; responding to the time length of the rolling event detection window reaching the rolling window, and storing the latest instantaneous window processing result of the rolling event detection window and the event as a window processing result corresponding to the event of the rolling event detection window; and responding to the received window processing result query command, acquiring a window processing result of the rolling event detection window corresponding to the window processing result query command, and executing second aggregation processing on the acquired window processing result. The technical scheme can eliminate the redundancy of events participating in the calculation of the aggregation index and reduce the use of calculation resources and database resources.

Description

Data processing method, device and computer program product
Technical Field
The disclosed embodiments relate to the technical field of data processing, and in particular, to a data processing method, a data processing device and a computer program product.
Background
With the development of computing technology, distributed streaming computing systems such as flink have become more and more widely used. For a distributed streaming computing system, a sliding window with a certain duration and a sliding step length is usually used for computing an aggregation indicator for a detection event, but the above-mentioned computing method of the sliding window in the prior art has the following disadvantages: due to the overlapping and crossing of the sliding windows, the same event may fall into different sliding windows and participate in the calculation of the aggregation index of the corresponding window, which not only results in more times of calculation of the aggregation index, but also consumes a large amount of calculation resources when a large number of events frequently occur, and also brings redundancy of the events participating in the calculation of the aggregation index, thereby affecting the accuracy of the final calculation of the aggregation index; the frequent calculation of the window aggregation indicator triggers frequent sliding window output, which results in a higher TPS (Transaction Per Second) database update, and especially, the sliding window calculation with a larger event flow and a larger time span requires a large amount of calculation resources, and puts a higher requirement on the database update performance. In the sliding window aggregation index calculation of the large-scale real-time event stream, a long time delay may occur in the real-time calculation due to insufficient resources, and even a case that a calculation result cannot be obtained may occur.
Disclosure of Invention
The embodiment of the disclosure provides a data processing method, a data processing device and a computer program product.
In a first aspect, an embodiment of the present disclosure provides a data processing method.
Specifically, the data processing method includes:
in response to the occurrence of an event detected in a rolling event detection window, executing a first aggregation process based on historical preset characteristic values of similar events detected in the rolling event detection window to obtain an instant window processing result corresponding to the event;
responding to the time length of the rolling event detection window reaching the rolling window, and storing the latest instantaneous window processing result of the rolling event detection window and the event as a window processing result corresponding to the event of the rolling event detection window;
and responding to the received window processing result query command, acquiring window processing results of one or more rolling event detection windows corresponding to the window processing result query command, and executing second aggregation processing on the acquired window processing results to obtain an aggregation processing result.
With reference to the first aspect, in a first implementation manner of the first aspect, an embodiment of the present disclosure further includes:
one or more rolling event detection windows are set, wherein the times of different rolling event detection windows do not coincide.
With reference to the first aspect and the first implementation manner of the first aspect, in a second implementation manner of the first aspect, an event corresponds to one of the rolling event detection windows based on an occurrence time of the event.
With reference to the first aspect and the foregoing implementation manners of the first aspect, in a third implementation manner of the first aspect, the setting one or more scroll event detection windows includes:
determining the number of rolling event detection windows;
dividing the preset detection duration by the number of rolling event detection windows to obtain rolling window duration;
and setting the next rolling event detection window based on the rolling window duration by taking the end time of the last rolling event detection window as the start time of the next rolling event detection window.
With reference to the first aspect and the foregoing implementation manners of the first aspect, in a fourth implementation manner of the first aspect, the setting one or more scroll event detection windows includes:
acquiring sliding window duration and sliding window step length corresponding to the first aggregation processing;
determining the common divisor of the sliding window duration and the sliding window step length as the rolling window duration of the rolling event detection window;
and setting the next rolling event detection window based on the rolling window duration by taking the end time of the last rolling event detection window as the start time of the next rolling event detection window.
With reference to the first aspect and the foregoing implementation manner of the first aspect, in a fifth implementation manner of the first aspect, the executing a first aggregation process based on a historical preset feature value of a similar event historically detected in the rolling event detection window includes:
acquiring a preset characteristic value of a detected event;
acquiring historical preset characteristic values of similar events historically detected in the rolling event detection window;
and executing a first aggregation process on the preset characteristic value and the historical preset characteristic value.
With reference to the first aspect and the foregoing implementation manners of the first aspect, in a sixth implementation manner of the first aspect, the window processing result query command carries a query start time, a query end time, an event type, and a first aggregation processing type.
With reference to the first aspect and the foregoing implementation manner of the first aspect, in a seventh implementation manner of the first aspect, the obtaining window processing results of one or more rolling event detection windows corresponding to the window processing result query command, and performing second aggregation processing on the obtained window processing results includes:
determining an initial rolling event detection window and a final rolling event detection window according to the query starting time and the query ending time;
acquiring one or more window processing results corresponding to the event type and the first aggregation processing type from an initial rolling event detection window to a final rolling event detection window;
performing a second aggregation process based on the one or more window process results, wherein the second aggregation process is related to the first aggregation process.
In a second aspect, a data processing apparatus is provided in an embodiment of the present disclosure.
Specifically, the data processing apparatus includes:
the system comprises a first execution module, a second execution module and a third execution module, wherein the first execution module is configured to respond to the detection of the occurrence of an event in a rolling event detection window, execute a first aggregation process based on historical preset characteristic values of similar events which are historically detected in the rolling event detection window, and obtain a transient window processing result corresponding to the similar event;
a storage module configured to store, in response to the rolling event detection window reaching a rolling window duration, a latest instantaneous window processing result of the rolling event detection window corresponding to the type of event as a window processing result corresponding to the type of event of the rolling event detection window;
and the second execution module is configured to respond to the received window processing result query command, acquire window processing results of one or more rolling event detection windows corresponding to the window processing result query command, and execute second aggregation processing on the acquired window processing results to obtain an aggregation processing result.
With reference to the second aspect, in a first implementation manner of the second aspect, the apparatus may further include:
a setting module configured to set one or more rolling event detection windows, wherein the times of different rolling event detection windows do not coincide.
With reference to the second aspect and the first implementation manner of the second aspect, in a second implementation manner of the second aspect, the event corresponds to one of the rolling event detection windows based on the occurrence time of the event.
With reference to the second aspect and the foregoing implementation manner of the second aspect, in a third implementation manner of the second aspect, the setting module may be configured to:
determining the number of rolling event detection windows;
dividing the preset detection duration by the number of rolling event detection windows to obtain rolling window duration;
and setting the next rolling event detection window based on the rolling window duration by taking the end time of the last rolling event detection window as the start time of the next rolling event detection window.
With reference to the second aspect and the foregoing implementation manner of the second aspect, in a fourth implementation manner of the second aspect, the setting module may be configured to:
acquiring sliding window duration and sliding window step length corresponding to the first aggregation processing;
determining the common divisor of the sliding window duration and the sliding window step length as the rolling window duration of the rolling event detection window;
and setting the next rolling event detection window based on the rolling window duration by taking the end time of the last rolling event detection window as the start time of the next rolling event detection window.
With reference to the second aspect and the foregoing implementation manner of the second aspect, in a fifth implementation manner of the second aspect, the executing, by the part that performs the first aggregation processing based on the historical preset feature value of the historically detected homogeneous events within the rolling event detection window, is configured to:
acquiring a preset characteristic value of a detected event;
acquiring historical preset characteristic values of similar events historically detected in the rolling event detection window;
and executing a first aggregation process on the preset characteristic value and the historical preset characteristic value.
With reference to the second aspect and the foregoing implementation manner of the second aspect, in a sixth implementation manner of the second aspect, the window processing result query command carries a query start time, a query end time, an event type, and a first aggregation processing type.
With reference to the second aspect and the foregoing implementation manner of the second aspect, in a seventh implementation manner of the second aspect, the obtaining window processing results of one or more scroll event detection windows corresponding to the window processing result query command, and the performing a second aggregation process on the obtained window processing results may be configured to:
determining an initial rolling event detection window and a final rolling event detection window according to the query starting time and the query ending time;
acquiring one or more window processing results corresponding to the event type and the first aggregation processing type from an initial rolling event detection window to a final rolling event detection window;
performing a second aggregation process based on the one or more window process results, wherein the second aggregation process is related to the first aggregation process.
In a third aspect, the disclosed embodiments provide an electronic device, including a memory for storing one or more computer instructions that support a data processing apparatus to execute the above data processing method, and a processor configured to execute the computer instructions stored in the memory. The data processing apparatus may further comprise a communication interface for the data processing apparatus to communicate with other devices or a communication network.
In a fourth aspect, the disclosed embodiments provide a computer-readable storage medium for storing computer instructions for a data processing apparatus, which contains computer instructions for executing the data processing method described above as a data processing apparatus.
In a fifth aspect, the disclosed embodiments provide a computer program product comprising a computer program/instructions, wherein the computer program/instructions, when executed by a processor, implement the method steps of the above-mentioned data processing method.
The technical scheme provided by the embodiment of the disclosure can have the following beneficial effects:
according to the technical scheme, the rolling windows are used for replacing sliding windows to calculate the event aggregation indexes, and because the time of different rolling windows is not coincident, a certain event only corresponds to one of the rolling windows according to the occurrence time of the event. The technical scheme can eliminate the redundancy of events participating in the calculation of the aggregation index, improve the accuracy of the calculation of the aggregation index, reduce the use of calculation resources and database resources, avoid the situation that the real-time calculation is delayed for a long time or even a calculation result cannot be obtained due to insufficient resources, further improve the calculation efficiency of the event aggregation index and ensure the calculation stability of the event aggregation index.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of embodiments of the disclosure.
Drawings
Other features, objects, and advantages of embodiments of the disclosure will become more apparent from the following detailed description of non-limiting embodiments when taken in conjunction with the accompanying drawings. In the drawings:
FIG. 1 shows a flow diagram of a data processing method according to an embodiment of the present disclosure;
FIG. 2 shows a block diagram of a data processing apparatus according to an embodiment of the present disclosure;
FIG. 3 shows a block diagram of a data processing apparatus according to an embodiment of the present disclosure;
FIG. 4 is a schematic block diagram of a computer system suitable for use in implementing a data processing method according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, exemplary embodiments of the disclosed embodiments will be described in detail with reference to the accompanying drawings so that they can be easily implemented by those skilled in the art. Also, for the sake of clarity, parts not relevant to the description of the exemplary embodiments are omitted in the drawings.
In the disclosed embodiments, it is to be understood that terms such as "including" or "having," etc., are intended to indicate the presence of the disclosed features, numbers, steps, behaviors, components, parts, or combinations thereof, and are not intended to preclude the possibility that one or more other features, numbers, steps, behaviors, components, parts, or combinations thereof may be present or added.
It should be further noted that the embodiments and features of the embodiments in the present disclosure may be combined with each other without conflict. The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
According to the technical scheme, the rolling window is used for replacing the sliding window to calculate the event aggregation index, and different rolling windows do not overlap in time, so that a certain event only corresponds to one rolling window according to the occurrence time of the event. The technical scheme can eliminate the redundancy of events participating in the calculation of the aggregation index, improve the accuracy of the calculation of the aggregation index, reduce the use of calculation resources and database resources, avoid the situation that the real-time calculation is delayed for a long time or even a calculation result cannot be obtained due to insufficient resources, further improve the calculation efficiency of the event aggregation index and ensure the calculation stability of the event aggregation index.
Fig. 1 shows a flowchart of a data processing method according to an embodiment of the present disclosure, which includes the following steps S101 to S103, as shown in fig. 1:
in step S101, in response to detecting an event occurrence in a rolling event detection window, performing a first aggregation process based on a historical preset feature value of a similar event historically detected in the rolling event detection window, to obtain a transient window processing result corresponding to the similar event;
in step S102, in response to that the time length of the rolling event detection window reaches the time length of the rolling window, storing the latest instantaneous window processing result of the rolling event detection window corresponding to the event as a window processing result corresponding to the event of the rolling event detection window;
in step S103, in response to receiving the window processing result query command, window processing results of one or more rolling event detection windows corresponding to the window processing result query command are obtained, and a second aggregation process is performed on the obtained window processing results, so as to obtain an aggregation processing result.
As mentioned above, distributed streaming computing systems such as flink are becoming more and more widely used as computing technology develops. For a distributed streaming computing system, a sliding window with a certain duration and a sliding step length is usually used for computing an aggregation indicator for a detection event, but the above-mentioned computing method of the sliding window in the prior art has the following disadvantages: due to the overlapping and crossing of the sliding windows, the same event may fall into different sliding windows and participate in the calculation of the aggregation index of the corresponding window, which not only results in more times of calculation of the aggregation index, but also consumes a large amount of calculation resources when a large number of events frequently occur, and also brings redundancy of the events participating in the calculation of the aggregation index, thereby affecting the accuracy of the final calculation of the aggregation index; the frequent calculation of the window aggregation indicator triggers frequent sliding window output, which results in a higher TPS (Transaction Per Second) database update, and especially, the sliding window calculation with a larger event flow and a larger time span requires a large amount of calculation resources, and puts a higher requirement on the database update performance. In the sliding window aggregation index calculation of the large-scale real-time event stream, a long time delay may occur in the real-time calculation due to insufficient resources, and even a case that a calculation result cannot be obtained may occur.
In view of the above, in this embodiment, a data processing method is proposed that performs calculation of an event aggregation index using rolling windows instead of sliding windows, and since different rolling windows do not overlap in time, a certain event corresponds to only one of the rolling windows according to its occurrence time. The technical scheme can eliminate the redundancy of events participating in the calculation of the aggregation index, improve the accuracy of the calculation of the aggregation index, reduce the use of calculation resources and database resources, avoid the situation that the real-time calculation is delayed for a long time or even a calculation result cannot be obtained due to insufficient resources, further improve the calculation efficiency of the event aggregation index and ensure the calculation stability of the event aggregation index.
In an embodiment of the present disclosure, the data processing method may be applied to a computer, a computing device, an electronic device, a server cluster, or the like that performs data processing.
In an embodiment of the present disclosure, the rolling event detection window refers to a time window having a preset rolling window duration and used for detecting an occurrence event. In this embodiment, different rolling windows are independent from each other, the corresponding detection times do not overlap, overlap or intersect, and multiple sequential rolling windows are continuous and can cover a certain preset time duration, that is, for an adjacent rolling window, the window end time of the previous rolling window is the window start time of the next rolling window, so that for each event, it can be made to correspond to one and only one of the rolling windows based on its occurrence time. For example, if N rolling windows are set in the preset time duration T, or a sliding window with the preset time duration T is split into N rolling windows, the time duration of the rolling window of each rolling window is T/N, that is, N independent rolling windows are sequentially arranged, and the N rolling windows can completely cover the preset time duration T.
In an embodiment of the present disclosure, the event refers to an event object having an occurrence form, which can be detected by a software system and record information such as an occurrence time of the event, for example, the event may be a location request, a data query request, and the like sent by a certain device. It is mentioned above that different rolling windows are independent from each other, and there is no coincidence, overlap or intersection of the corresponding detection times, so that the occurrence time of a certain event will only fall into a certain rolling window, and will not fall into two or more rolling windows.
In an embodiment of the present disclosure, the historically detected homogeneous events in the rolling event detection window refer to all the historically detected events belonging to the same type as the events starting from the starting time of a certain rolling event detection window to the current time, for example, if the events detected in the rolling event detection window in step S101 are positioning request events, the historically detected homogeneous events in the rolling event detection window refer to all the historically detected positioning request events starting from the starting time of a certain rolling event detection window to the current time.
In an embodiment of the present disclosure, the preset feature value refers to a feature value that is preset, generated based on the event, and participates in a subsequent preset process. The preset characteristic value may be, for example, the number of occurrences of an event, the amount of related data, the amount of occupied memory, and the like. The historical preset characteristic value refers to a preset characteristic value corresponding to the historical detection event.
In an embodiment of the present disclosure, the first aggregation process refers to a preset processing operation performed based on the preset feature value, and the first aggregation process may be one or more, that is, a certain or several types of aggregation process operations may be performed based on the historical preset feature value of the historical detection event in the rolling event detection window, and accordingly, one or more instantaneous window processing results corresponding to the aggregation process operations may be obtained. The first aggregation process may be, for example, a summation, a maximum, a minimum, an average, a count, or other processing operation. Wherein the first aggregation process is triggered by the occurrence of an event, i.e. upon detecting the occurrence of an event within a rolling event detection window, the first aggregation process is performed based on preset feature values of all detected events within the rolling event detection window. Therefore, each time an event is detected in the rolling event detection window, a first aggregation process is executed once, and a current transient window processing result is obtained, and when the rolling event detection window reaches the rolling window duration, a latest transient window processing result obtained finally is a window processing result corresponding to the rolling event detection window.
In an embodiment of the present disclosure, the window processing result query command refers to a command issued by a user, the system itself, or other resources to query window processing results of one or several scroll event detection windows. In order to determine which of the rolling event detection windows to be queried is, specifically which of the rolling event detection windows is, the window processing result query command may carry a query start time and a query end time, and in order to determine a window processing result corresponding to an event to be queried, the window processing result query command may carry an event type. As mentioned above, the first aggregation process may be one or more, and the window processing result query command may also carry a type of the first aggregation process in order to determine an accurate window processing result.
In an embodiment of the present disclosure, the second aggregation process refers to a preset processing operation related to the first aggregation process performed based on the result of the window process. For example, if the first aggregation process is a summation operation, the second aggregation process may be the same as the first aggregation process or the summation operation, or may be a processing operation different from but corresponding to the first aggregation process according to the needs of the actual application. Similar to the first aggregation process, the second aggregation process may be one or more of summation, maximum value calculation, minimum value calculation, average value calculation, and counting, that is, one or more of aggregation process operations may be performed based on the window process result, and accordingly, one or more aggregation process results corresponding to the aggregation process operation may be obtained.
In the above embodiment, when an event is detected in a rolling event detection window, a first aggregation process is performed based on preset feature values of all events belonging to the same category as the event, which have been detected in the rolling event detection window, to obtain a current transient window processing result corresponding to the event; by analogy, if the occurrence of a certain similar event is detected, executing first aggregation processing based on preset characteristic values of all the similar events detected in the rolling event detection window to obtain an updated instantaneous window processing result until the rolling event detection window reaches the rolling window duration, namely the rolling event detection window is ended, and storing the window processing result at the moment as a window processing result corresponding to the similar event of the rolling event detection window; after receiving a window processing result query command, acquiring window processing results of one or more rolling event detection windows corresponding to the window processing result query command, and performing second aggregation processing on the acquired window processing results to obtain an aggregation processing result.
In an embodiment of the present disclosure, the method may further include the steps of:
setting one or more rolling event detection windows, wherein the rolling event detection windows have rolling window duration, and the time of different rolling event detection windows is not coincident.
In this embodiment, when the scroll event detection window is set, the scroll window duration may be determined according to a preset detection duration, for example, the preset detection duration may be set to 1 minute or 5 minutes, then, the number of the rolling windows is determined, the time length of the rolling windows can be determined based on the preset detection time length and the number of the rolling windows, or the sliding window used in the previous aggregation calculation for a certain preset characteristic value can be split into one or more rolling windows according to the requirements of practical application, for example, a sliding window with the time length of 1 hour and the sliding step length of 5 minutes can be split into 12 rolling windows with the time length of 5 minutes, or 60 scrolling windows of 1 minute duration, such that for each event, it can be made to correspond to one and only one of the scrolling windows based on its time of occurrence.
When the time length of the rolling window is determined according to a preset detection time length, the step of setting one or more rolling event detection windows may include the steps of:
determining the number of rolling event detection windows;
dividing the preset detection duration by the number of rolling event detection windows to obtain rolling window duration;
and setting the next rolling event detection window based on the rolling window duration by taking the end time of the last rolling event detection window as the start time of the next rolling event detection window.
When the rolling window duration is determined according to the sliding window, the step of setting one or more rolling event detection windows may include the steps of:
acquiring sliding window duration and sliding window step length corresponding to the first aggregation processing;
determining the common divisor of the sliding window duration and the sliding window step length as the rolling window duration of the rolling event detection window;
and setting the next rolling event detection window based on the rolling window duration by taking the end time of the last rolling event detection window as the start time of the next rolling event detection window.
In this embodiment, when there is more than one common divisor of the sliding window duration and the sliding window step length, one of the common divisors may be selected as the rolling window duration of the rolling event detection window according to the needs of the actual application.
In an embodiment of the present disclosure, the step of performing, in step S101, a first aggregation process based on a historical preset feature value of a similar event historically detected in the rolling event detection window may include the following steps:
acquiring a preset characteristic value of a detected event;
acquiring historical preset characteristic values of similar events historically detected in the rolling event detection window;
and executing a first aggregation process on the preset characteristic value and the historical preset characteristic value.
In this embodiment, when performing the first aggregation process based on the preset feature values of the similar events historically detected in the rolling event detection window, it is necessary to calculate the preset feature values of all the similar events detected in the rolling event detection window, and then perform the first aggregation process based on the calculated preset feature values. For example, a preset feature value of a current latest detected event may be obtained first; then acquiring a preset characteristic value of the same type of events detected before in the rolling event detection window; finally, the first aggregation process may be performed on all the obtained preset feature values.
In an embodiment of the present disclosure, the step of acquiring window processing results of one or more scroll event detection windows corresponding to the window processing result query command in step S103, and performing a second aggregation process on the acquired window processing results may include the following steps:
determining an initial rolling event detection window and a final rolling event detection window according to the query starting time and the query ending time;
acquiring one or more window processing results corresponding to the event type and the first aggregation processing type from an initial rolling event detection window to a final rolling event detection window;
performing a second aggregation process based on the one or more window process results, wherein the second aggregation process corresponds to the first aggregation process.
As mentioned above, in order to determine which of several rolling event detection windows to be queried, and in particular which of the several windows, the window processing result query command may carry a query start time and a query end time, and in order to determine an accurate window processing result, the window processing result query command may also carry an event type and a type of the first aggregation process. It is also mentioned above that in the prior art, a sliding window with a certain duration is used for the aggregation calculation of a certain preset feature value, and therefore, in this embodiment, the query start time and the query end time may be determined according to the duration and the sliding step size of the sliding window used for the aggregation calculation of a certain preset feature value, for example, if the duration of the sliding window is 1 hour, the sliding step size is 5 minutes, and the current time is 11 am, the query start time may be set to 10, the query end time may be set to 11, the next query start time may be set to 10 5 minutes, the query end time may be set to 11 5 minutes, and so on.
Determining the query start time and the query end time, that is, determining the initial rolling event detection window and the termination rolling event detection window, for example, if the query start time is 10 points, the query end time is 11 points, and the rolling window duration of the rolling event detection window is 5 minutes, the initial rolling event detection window is a rolling event detection window divided from 10 points to 10 points by 5 points, the termination rolling event detection window is a rolling event detection window divided from 10 points to 55 points to 11 points, and the number of the query rolling event detection windows is 12.
Then, a plurality of window processing results corresponding to the event type and the first aggregation processing type from the initial rolling event detection window to the end rolling event detection window are obtained, for example, if 12 query rolling event detection windows are provided from the initial rolling event detection window to the end rolling event detection window, but only 10 rolling event detection windows corresponding to the event type and the first aggregation processing type are provided, only 10 corresponding window processing results are provided.
And finally executing a second aggregation process based on the one or more window processing results, wherein the second aggregation process is related to the first aggregation process.
The following are embodiments of the disclosed apparatus that may be used to perform embodiments of the disclosed methods.
Fig. 2 shows a block diagram of a data processing apparatus according to an embodiment of the present disclosure, which may be implemented as part or all of an electronic device by software, hardware, or a combination of both. As shown in fig. 2, the data processing apparatus includes:
a first executing module 201, configured to, in response to detecting an occurrence of an event within a rolling event detection window, execute a first aggregation process based on a historical preset feature value of a similar event historically detected within the rolling event detection window, to obtain an instant window processing result corresponding to the similar event;
a storage module 202, configured to, in response to the rolling event detection window reaching a rolling window duration, store a latest instantaneous window processing result of the rolling event detection window corresponding to the event as a window processing result corresponding to the event of the rolling event detection window;
the second execution module 203 is configured to, in response to receiving the window processing result query command, obtain window processing results of one or more rolling event detection windows corresponding to the window processing result query command, and execute second aggregation processing on the obtained window processing results to obtain an aggregation processing result.
As mentioned above, distributed streaming computing systems such as flink are becoming more and more widely used as computing technology develops. For a distributed streaming computing system, a sliding window with a certain duration and a sliding step length is usually used for computing an aggregation indicator for a detection event, but the above-mentioned computing method of the sliding window in the prior art has the following disadvantages: due to the overlapping and crossing of the sliding windows, the same event may fall into different sliding windows and participate in the calculation of the aggregation index of the corresponding window, which not only results in more times of calculation of the aggregation index, but also consumes a large amount of calculation resources when a large number of events frequently occur, and also brings redundancy of the events participating in the calculation of the aggregation index, thereby affecting the accuracy of the final calculation of the aggregation index; the frequent calculation of the window aggregation indicator triggers frequent sliding window output, which results in a higher TPS (Transaction Per Second) database update, and especially, the sliding window calculation with a larger event flow and a larger time span requires a large amount of calculation resources, and puts a higher requirement on the database update performance. In the sliding window aggregation index calculation of the large-scale real-time event stream, a long time delay may occur in the real-time calculation due to insufficient resources, and even a case that a calculation result cannot be obtained may occur.
In view of the above, in this embodiment, a data processing apparatus is proposed that performs calculation of an event aggregation index using a rolling window instead of a sliding window, and since different rolling windows do not overlap in time, a certain event corresponds to only one of the rolling windows according to the occurrence time thereof. The technical scheme can eliminate the redundancy of events participating in the calculation of the aggregation index, improve the accuracy of the calculation of the aggregation index, reduce the use of calculation resources and database resources, avoid the situation that the real-time calculation is delayed for a long time or even a calculation result cannot be obtained due to insufficient resources, further improve the calculation efficiency of the event aggregation index and ensure the calculation stability of the event aggregation index.
In an embodiment of the present disclosure, the data processing apparatus may be implemented as a computer, a computing device, an electronic device, a server cluster, or the like that performs data processing.
In an embodiment of the present disclosure, the rolling event detection window refers to a time window having a preset rolling window duration and used for detecting an occurrence event. In this embodiment, different rolling windows are independent from each other, the corresponding detection times do not overlap, overlap or intersect, and multiple sequential rolling windows are continuous and can cover a certain preset time duration, that is, for an adjacent rolling window, the window end time of the previous rolling window is the window start time of the next rolling window, so that for each event, it can be made to correspond to one and only one of the rolling windows based on its occurrence time. For example, if N rolling windows are set in the preset time duration T, or a sliding window with the preset time duration T is split into N rolling windows, the time duration of the rolling window of each rolling window is T/N, that is, N independent rolling windows are sequentially arranged, and the N rolling windows can completely cover the preset time duration T.
In an embodiment of the present disclosure, the event refers to an event object having an occurrence form, which can be detected by a software system and record information such as an occurrence time of the event, for example, the event may be a location request, a data query request, and the like sent by a certain device. It is mentioned above that different rolling windows are independent from each other, and there is no coincidence, overlap or intersection of the corresponding detection times, so that the occurrence time of a certain event will only fall into a certain rolling window, and will not fall into two or more rolling windows.
In an embodiment of the present disclosure, the historically detected homogeneous events in the rolling event detection window refer to all the historically detected homogeneous events belonging to the same type as the events starting from the starting time of a certain rolling event detection window to the current time, for example, if the events detected in the rolling event detection window in the first execution module are positioning request events, the historically detected homogeneous events in the rolling event detection window refer to all the historically detected positioning request events starting from the starting time of a certain rolling event detection window to the current time.
In an embodiment of the present disclosure, the preset feature value refers to a feature value that is preset, generated based on the event, and participates in a subsequent preset process. The preset characteristic value may be, for example, the number of occurrences of an event, the amount of related data, the amount of occupied memory, and the like. The historical preset characteristic value refers to a preset characteristic value corresponding to the historical detection event.
In an embodiment of the present disclosure, the first aggregation process refers to a preset processing operation performed based on the preset feature value, and the first aggregation process may be one or more, that is, a certain or several types of aggregation process operations may be performed based on the historical preset feature value of the historical detection event in the rolling event detection window, and accordingly, one or more instantaneous window processing results corresponding to the aggregation process operations may be obtained. The first aggregation process may be, for example, a summation, a maximum, a minimum, an average, a count, or other processing operation. Wherein the first aggregation process is triggered by the occurrence of an event, i.e. upon detecting the occurrence of an event within a rolling event detection window, the first aggregation process is performed based on preset feature values of all detected events within the rolling event detection window. Therefore, each time an event is detected in the rolling event detection window, a first aggregation process is executed once, and a current transient window processing result is obtained, and when the rolling event detection window reaches the rolling window duration, a latest transient window processing result obtained finally is a window processing result corresponding to the rolling event detection window.
In an embodiment of the present disclosure, the window processing result query command refers to a command issued by a user, the system itself, or other resources to query window processing results of one or several scroll event detection windows. In order to determine which of the rolling event detection windows to be queried is, specifically which of the rolling event detection windows is, the window processing result query command may carry a query start time and a query end time, and in order to determine a window processing result corresponding to an event to be queried, the window processing result query command may carry an event type. As mentioned above, the first aggregation process may be one or more, and the window processing result query command may also carry a type of the first aggregation process in order to determine an accurate window processing result.
In an embodiment of the present disclosure, the second aggregation process refers to a preset processing operation related to the first aggregation process performed based on the result of the window process. For example, if the first aggregation process is a summation operation, the second aggregation process may be the same as the first aggregation process or the summation operation, or may be a processing operation different from but corresponding to the first aggregation process according to the needs of the actual application. Similar to the first aggregation process, the second aggregation process may be one or more of summation, maximum value calculation, minimum value calculation, average value calculation, and counting, that is, one or more of aggregation process operations may be performed based on the window process result, and accordingly, one or more aggregation process results corresponding to the aggregation process operation may be obtained.
In the above embodiment, when an event is detected in a rolling event detection window, a first aggregation process is performed based on preset feature values of all events belonging to the same category as the event, which have been detected in the rolling event detection window, to obtain a current transient window processing result corresponding to the event; by analogy, if the occurrence of a certain similar event is detected, executing first aggregation processing based on preset characteristic values of all the similar events detected in the rolling event detection window to obtain an updated instantaneous window processing result until the rolling event detection window reaches the rolling window duration, namely the rolling event detection window is ended, and storing the window processing result at the moment as a window processing result corresponding to the similar event of the rolling event detection window; after receiving a window processing result query command, acquiring window processing results of one or more rolling event detection windows corresponding to the window processing result query command, and performing second aggregation processing on the acquired window processing results to obtain an aggregation processing result.
In an embodiment of the present disclosure, the apparatus may further include:
a setting module configured to set one or more rolling event detection windows, wherein the rolling event detection windows have a rolling window duration and the times of different rolling event detection windows do not coincide.
In this embodiment, when the scroll event detection window is set, the scroll window duration may be determined according to a preset detection duration, for example, the preset detection duration may be set to 1 minute or 5 minutes, then, the number of the rolling windows is determined, the time length of the rolling windows can be determined based on the preset detection time length and the number of the rolling windows, or the sliding window used in the previous aggregation calculation for a certain preset characteristic value can be split into one or more rolling windows according to the requirements of practical application, for example, a sliding window with the time length of 1 hour and the sliding step length of 5 minutes can be split into 12 rolling windows with the time length of 5 minutes, or 60 scrolling windows of 1 minute duration, such that for each event, it can be made to correspond to one and only one of the scrolling windows based on its time of occurrence.
When the scrolling window duration is determined according to a preset detection duration, the setting module may be configured to:
determining the number of rolling event detection windows;
dividing the preset detection duration by the number of rolling event detection windows to obtain rolling window duration;
and setting the next rolling event detection window based on the rolling window duration by taking the end time of the last rolling event detection window as the start time of the next rolling event detection window.
When the scrolling window duration is determined from a sliding window, the setting module may be configured to:
acquiring sliding window duration and sliding window step length corresponding to the first aggregation processing;
determining the common divisor of the sliding window duration and the sliding window step length as the rolling window duration of the rolling event detection window;
and setting the next rolling event detection window based on the rolling window duration by taking the end time of the last rolling event detection window as the start time of the next rolling event detection window.
In this embodiment, when there is more than one common divisor of the sliding window duration and the sliding window step length, one of the common divisors may be selected as the rolling window duration of the rolling event detection window according to the needs of the actual application.
In an embodiment of the present disclosure, the portion that performs the first aggregation process based on the historical preset feature values of the historically detected homogeneous events within the rolling event detection window is configured to:
acquiring a preset characteristic value of a detected event;
acquiring historical preset characteristic values of similar events historically detected in the rolling event detection window;
and executing a first aggregation process on the preset characteristic value and the historical preset characteristic value.
In this embodiment, when performing the first aggregation process based on the preset feature values of the similar events historically detected in the rolling event detection window, it is necessary to calculate the preset feature values of all the similar events detected in the rolling event detection window, and then perform the first aggregation process based on the calculated preset feature values. For example, a preset feature value of a last detected event may be obtained first; then acquiring a preset characteristic value of the same type of events detected before in the rolling event detection window; finally, the first aggregation process may be performed on all the obtained preset feature values.
In an embodiment of the present disclosure, the portion for acquiring window processing results of one or more scroll event detection windows corresponding to the window processing result query command and performing the second aggregation process on the acquired window processing results may be configured to:
determining an initial rolling event detection window and a final rolling event detection window according to the query starting time and the query ending time;
acquiring one or more window processing results corresponding to the event type and the first aggregation processing type from an initial rolling event detection window to a final rolling event detection window;
performing a second aggregation process based on the one or more window process results, wherein the second aggregation process corresponds to the first aggregation process.
As mentioned above, in order to determine which of several rolling event detection windows to be queried, and in particular which of the several windows, the window processing result query command may carry a query start time and a query end time, and in order to determine an accurate window processing result, the window processing result query command may also carry an event type and a type of the first aggregation process. It is also mentioned above that in the prior art, a sliding window with a certain duration is used for the aggregation calculation of a certain preset feature value, and therefore, in this embodiment, the query start time and the query end time may be determined according to the duration and the sliding step size of the sliding window used for the aggregation calculation of a certain preset feature value, for example, if the duration of the sliding window is 1 hour, the sliding step size is 5 minutes, and the current time is 11 am, the query start time may be set to 10, the query end time may be set to 11, the next query start time may be set to 10 5 minutes, the query end time may be set to 11 5 minutes, and so on.
Determining the query start time and the query end time, that is, determining the initial rolling event detection window and the termination rolling event detection window, for example, if the query start time is 10 points, the query end time is 11 points, and the rolling window duration of the rolling event detection window is 5 minutes, the initial rolling event detection window is a rolling event detection window divided from 10 points to 10 points by 5 points, the termination rolling event detection window is a rolling event detection window divided from 10 points to 55 points to 11 points, and the number of the query rolling event detection windows is 12.
Then, a plurality of window processing results corresponding to the event type and the first aggregation processing type from the initial rolling event detection window to the end rolling event detection window are obtained, for example, if 12 query rolling event detection windows are provided from the initial rolling event detection window to the end rolling event detection window, but only 10 rolling event detection windows corresponding to the event type and the first aggregation processing type are provided, only 10 corresponding window processing results are provided.
And finally executing a second aggregation process based on the one or more window processing results, wherein the second aggregation process is related to the first aggregation process.
The present disclosure also discloses an electronic device, fig. 3 shows a block diagram of an electronic device according to an embodiment of the present disclosure, and as shown in fig. 3, the electronic device 300 includes a memory 301 and a processor 302; wherein,
the memory 301 is used to store one or more computer instructions, which are executed by the processor 302 to implement the above-described method steps.
FIG. 4 is a schematic block diagram of a computer system suitable for use in implementing a data processing method according to an embodiment of the present disclosure.
As shown in fig. 4, the computer system 400 includes a processing unit 401 that can execute various processes in the above-described embodiments according to a program stored in a Read Only Memory (ROM)402 or a program loaded from a storage section 408 into a Random Access Memory (RAM) 403. In the RAM403, various programs and data necessary for the operation of the system 400 are also stored. The processing unit 401, the ROM402, and the RAM403 are connected to each other via a bus 404. An input/output (I/O) interface 405 is also connected to bus 404.
The following components are connected to the I/O interface 405: an input section 406 including a keyboard, a mouse, and the like; an output section 407 including a display device such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 408 including a hard disk and the like; and a communication section 409 including a network interface card such as a LAN card, a modem, or the like. The communication section 409 performs communication processing via a network such as the internet. A driver 410 is also connected to the I/O interface 405 as needed. A removable medium 411 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 410 as necessary, so that a computer program read out therefrom is mounted into the storage section 408 as necessary. The processing unit 401 may be implemented as a CPU, a GPU, a TPU, an FPGA, an NPU, or other processing units.
In particular, the above described methods may be implemented as computer software programs, according to embodiments of the present disclosure. For example, embodiments of the present disclosure include a computer program product comprising a computer program tangibly embodied on a medium readable thereby, the computer program comprising program code for performing the data processing method. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 409, and/or installed from the removable medium 411.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowcharts or block diagrams may represent a module, a program segment, or a portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units or modules described in the embodiments of the present disclosure may be implemented by software or hardware. The units or modules described may also be provided in a processor, and the names of the units or modules do not in some cases constitute a limitation of the units or modules themselves.
As another aspect, the disclosed embodiment also provides a computer-readable storage medium, which may be the computer-readable storage medium included in the apparatus in the foregoing embodiment; or it may be a separate computer readable storage medium not incorporated into the device. The computer readable storage medium stores one or more programs for use by one or more processors in performing the methods described in the embodiments of the present disclosure.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the embodiments of the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is made without departing from the inventive concept. For example, the above features and (but not limited to) the features with similar functions disclosed in the embodiments of the present disclosure are mutually replaced to form the technical solution.

Claims (10)

1. A method of data processing, comprising:
in response to the occurrence of an event detected in a rolling event detection window, executing a first aggregation process based on historical preset characteristic values of similar events detected in the rolling event detection window to obtain an instant window processing result corresponding to the event;
responding to the time length of the rolling event detection window reaching the rolling window, and storing the latest instantaneous window processing result of the rolling event detection window and the event as a window processing result corresponding to the event of the rolling event detection window;
and responding to the received window processing result query command, acquiring window processing results of one or more rolling event detection windows corresponding to the window processing result query command, and executing second aggregation processing on the acquired window processing results to obtain an aggregation processing result.
2. The method of claim 1, further comprising:
one or more rolling event detection windows are set, wherein the times of different rolling event detection windows do not coincide.
3. The method of claim 2, the event corresponding to one of the rolling event detection windows based on its time of occurrence.
4. The method of claim 2, the setting one or more scroll event detection windows, comprising:
determining the number of rolling event detection windows;
dividing the preset detection duration by the number of rolling event detection windows to obtain rolling window duration;
and setting the next rolling event detection window based on the rolling window duration by taking the end time of the last rolling event detection window as the start time of the next rolling event detection window.
5. The method of claim 2, the setting one or more scroll event detection windows, comprising:
acquiring sliding window duration and sliding window step length corresponding to the first aggregation processing;
determining the common divisor of the sliding window duration and the sliding window step length as the rolling window duration of the rolling event detection window;
and setting the next rolling event detection window based on the rolling window duration by taking the end time of the last rolling event detection window as the start time of the next rolling event detection window.
6. The method according to any of claims 1-5, wherein said performing a first aggregation process based on historical preset feature values of historically detected homogeneous events within said rolling event detection window comprises:
acquiring a preset characteristic value of a detected event;
acquiring historical preset characteristic values of similar events historically detected in the rolling event detection window;
and executing a first aggregation process on the preset characteristic value and the historical preset characteristic value.
7. The method according to any of claims 1-5, wherein the window processing result query command carries a query start time, a query end time, an event type, and a first aggregate processing type.
8. The method of claim 7, the obtaining window processing results for one or more scroll event detection windows corresponding to the window processing result query command, performing a second aggregation process on the obtained window processing results, comprising:
determining an initial rolling event detection window and a final rolling event detection window according to the query starting time and the query ending time;
acquiring one or more window processing results corresponding to the event type and the first aggregation processing type from an initial rolling event detection window to a final rolling event detection window;
performing a second aggregation process based on the one or more window process results, wherein the second aggregation process is related to the first aggregation process.
9. A data processing apparatus comprising:
the system comprises a first execution module, a second execution module and a third execution module, wherein the first execution module is configured to respond to the detection of the occurrence of an event in a rolling event detection window, execute a first aggregation process based on historical preset characteristic values of similar events which are historically detected in the rolling event detection window, and obtain a transient window processing result corresponding to the similar event;
a storage module configured to store, in response to the rolling event detection window reaching a rolling window duration, a latest instantaneous window processing result of the rolling event detection window corresponding to the type of event as a window processing result corresponding to the type of event of the rolling event detection window;
and the second execution module is configured to respond to the received window processing result query command, acquire window processing results of one or more rolling event detection windows corresponding to the window processing result query command, and execute second aggregation processing on the acquired window processing results to obtain an aggregation processing result.
10. A computer program product comprising computer programs/instructions, wherein the computer programs/instructions, when executed by a processor, implement the method steps of any of claims 1-8.
CN202111130075.8A 2021-09-26 2021-09-26 Data processing method, device and computer program product Pending CN114048231A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111130075.8A CN114048231A (en) 2021-09-26 2021-09-26 Data processing method, device and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111130075.8A CN114048231A (en) 2021-09-26 2021-09-26 Data processing method, device and computer program product

Publications (1)

Publication Number Publication Date
CN114048231A true CN114048231A (en) 2022-02-15

Family

ID=80204742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111130075.8A Pending CN114048231A (en) 2021-09-26 2021-09-26 Data processing method, device and computer program product

Country Status (1)

Country Link
CN (1) CN114048231A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666237A (en) * 2022-02-25 2022-06-24 众安在线财产保险股份有限公司 Second-level monitoring method, device and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666237A (en) * 2022-02-25 2022-06-24 众安在线财产保险股份有限公司 Second-level monitoring method, device and storage medium
CN114666237B (en) * 2022-02-25 2023-10-31 众安在线财产保险股份有限公司 Second-level monitoring method, second-level monitoring device and storage medium

Similar Documents

Publication Publication Date Title
JP6865219B2 (en) Event batch processing, output sequencing, and log-based state storage in continuous query processing
CN113220724B (en) Method, system and computer readable storage medium for processing a data stream
KR102522274B1 (en) User grouping method, apparatus thereof, computer, computer-readable recording medium and computer program
US20150234883A1 (en) Method and system for retrieving real-time information
CN108563776B (en) Offline data acquisition method and system, server and storage medium
CN114048231A (en) Data processing method, device and computer program product
CN114547097A (en) Data processing method, device, equipment and storage medium
CN110619006A (en) Statistical data management method, device, platform and storage medium based on Internet of things
CN110941536B (en) Monitoring method and system, and first server cluster
CN109597819B (en) Method and apparatus for updating a database
CN113220705A (en) Slow query identification method and device
CN103593278B (en) Registered events
CN115438056A (en) Data acquisition method, device, equipment and storage medium
CN114416812A (en) Data statistical method and device, electronic equipment and storage medium
CN109829016B (en) Data synchronization method and device
CN113094241A (en) Method, device and equipment for determining accuracy of real-time program and storage medium
CN113377604A (en) Data processing method, device, equipment and storage medium
CN118644356A (en) Accounting statistics method, system, equipment and medium
CN116610724B (en) Log data tracking method and device, electronic equipment and storage medium
CN115174483B (en) Time window based current limiting method, device, server and storage medium
CN111933267B (en) Medical early warning method, device, computer equipment and computer readable storage medium
CN108920602B (en) Method and apparatus for outputting information
CN111611245B (en) Method and system for processing data table
CN114116910A (en) Guest group data processing method, device, equipment and medium
WO2019242153A1 (en) Data determination method and apparatus, electronic device and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20240304

Address after: # 03-06, Lai Zan Da Building 1, 51 Belarusian Road, Singapore

Applicant after: Alibaba Innovation Co.

Country or region after: Singapore

Address before: Room 01, 45th Floor, AXA Building, 8 Shanton Road, Singapore

Applicant before: Alibaba Singapore Holdings Ltd.

Country or region before: Singapore

TA01 Transfer of patent application right