[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN118152439A - Method and device for caching flight data - Google Patents

Method and device for caching flight data Download PDF

Info

Publication number
CN118152439A
CN118152439A CN202410330262.8A CN202410330262A CN118152439A CN 118152439 A CN118152439 A CN 118152439A CN 202410330262 A CN202410330262 A CN 202410330262A CN 118152439 A CN118152439 A CN 118152439A
Authority
CN
China
Prior art keywords
flight data
query
refreshing
data
information
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.)
Granted
Application number
CN202410330262.8A
Other languages
Chinese (zh)
Other versions
CN118152439B (en
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.)
China Eastern Technology Application R & D Center Co ltd
China Eastern Airlines Corp Ltd
Original Assignee
China Eastern Technology Application R & D Center Co ltd
China Eastern Airlines Corp 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 China Eastern Technology Application R & D Center Co ltd, China Eastern Airlines Corp Ltd filed Critical China Eastern Technology Application R & D Center Co ltd
Priority to CN202410330262.8A priority Critical patent/CN118152439B/en
Publication of CN118152439A publication Critical patent/CN118152439A/en
Application granted granted Critical
Publication of CN118152439B publication Critical patent/CN118152439B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/24552Database cache management
    • 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/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • 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/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Primary Health Care (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present disclosure relates to a method and apparatus for caching flight data. The method for caching flight data comprises the following steps: acquiring historical query data for flight data, wherein each historical query data comprises a query information and a query time entity group; dividing historical query data with the same query information and query time into a first set; counting the number of the historical query data contained in the first set as the historical query times of the first entity group corresponding to the first set; generating a first set of samples for a plurality of first sets of first information based on the query information; training the first prediction model by using the first sample set, so that the first prediction model can output first prediction query times of first information under the condition of inputting specified query time; and determining a first refreshing time of the flight data corresponding to the first information in the cached flight data under the appointed query time according to the first predicted query time.

Description

Method and device for caching flight data
Technical Field
The present disclosure relates to data processing in the field of aviation, and more particularly, to a method and apparatus for caching flight data.
Background
The number of flights per day of airlines is huge, and the demands of users for taking aircraft are increasing, and accordingly, the amount of inquiry of flight data on websites is also increasing. Because the number of the queries of the flight data is large and the server resources are limited, the back-end server is under high pressure. Typically, flight data needs to be cached in advance for querying, but flight data is very much and the data validity time is short, and it is impossible to cache all flight data. Therefore, users often face the problems of untimely data refreshing and slow loading when inquiring flight data.
Disclosure of Invention
The following presents a simplified summary of the disclosure in order to provide a basic understanding of some aspects of the disclosure. It should be understood that this summary is not an exhaustive overview of the disclosure. It is not intended to identify key or critical elements of the disclosure or to delineate the scope of the disclosure. Its purpose is to present some concepts related to the disclosure in a simplified form as a prelude to the more detailed description that is presented later.
According to a first aspect of the present disclosure, there is provided a method for buffering flight data, the method comprising:
Acquiring historical query data for flight data, wherein each historical query data comprises a query information and a query time entity group;
Dividing historical query data with the same query information and query time into a first set, wherein the query information comprises first route information from a departure airport to an arrival airport and first advanced days from the departure date;
Counting the number of the historical query data contained in the first set as the historical query times of the first entity group corresponding to the first set;
Generating a first set of samples for a plurality of first sets of first information based on the query information, wherein the first set of samples includes sample data indicating a relationship between a query time and a historical number of queries of the first entity group;
Training the first prediction model by using the first sample set, so that the first prediction model can output first prediction query times of first information under the condition of inputting specified query time; and
And determining the first refreshing times of the flight data corresponding to the first information in the cached flight data under the appointed inquiry time according to the first predicted inquiry times.
In some embodiments, determining the first number of flushes of the flight data corresponding to the first information at the specified query time includes:
For the designated inquiry time, the following operations are respectively executed:
Setting a first refreshing total number, and counting a first predicted query number for each query information to obtain the first predicted query total number, wherein:
when the first predicted query total times is larger than the first refreshing total times, calculating a first proportion of the first predicted query total times to the first refreshing total times, and multiplying the first predicted query times by the first proportion to generate first refreshing times; and
And when the total number of the first predicted queries is not greater than the first total number of refreshes, taking the first predicted queries as the first number of refreshes.
In some embodiments, the method further comprises:
Acquiring historical booking data for flight data, wherein each historical booking data comprises booking information and an entity group of booking time;
dividing historical ticket booking data with ticket booking information being the same as ticket booking time into a second set, wherein the ticket booking information comprises second route information from an departure airport to an arrival airport and second advanced days from the departure date;
Counting the number of the historical ticket booking data contained in the second set as the historical query times of a second entity group corresponding to the second set;
generating a second set of samples for a plurality of second sets of second information based on the ticket booking information, wherein the second set of samples comprises sample data indicating a relationship between ticket booking time and historical number of queries of the second entity group;
Training a second prediction model by using a second sample set, so that the second prediction model can output second prediction query times of second information under the condition of inputting specified query time;
determining a second refreshing time of flight data corresponding to second information in the cached flight data under the appointed query time according to the second predicted query time; and
And integrating the first refreshing times and the second refreshing times to generate target refreshing times of each flight data in the cached flight data under the appointed inquiry time.
In some embodiments, generating the target flush times for each of the buffered flight data at the specified query time includes:
When the first information is the same as the second information, only the flight data corresponding to the first information is reserved in the cached flight data, and the larger one of the first refreshing times and the second refreshing times is used as the target refreshing times of the flight data corresponding to the first information;
when the first information is different from the second information, the first refreshing times and the second refreshing times are respectively used as the target refreshing times of the flight data corresponding to the first information and the target refreshing times of the flight data corresponding to the second information.
In some embodiments, determining the second number of flushes of the flight data corresponding to the second information in the buffered flight data at the specified query time includes:
For the designated inquiry time, the following operations are respectively executed:
Setting a second refreshing total number, and counting second predicted query times aiming at each ticket booking information to obtain the second predicted query total number, wherein:
When the second predicted inquiry total times is larger than the second refreshing total times, calculating a second proportion of the second predicted ticket booking total times and the second refreshing total times, and multiplying the second predicted inquiry times by the second proportion to generate second refreshing times;
And when the second predicted query number is not greater than the second refresh total number, taking the second predicted query number as the second refresh number.
In some embodiments, the method further comprises:
And adjusting the target refreshing times based on the categories of the flight data in the cached flight data to generate the optimized refreshing times of the flight data.
In some embodiments, generating the optimal flush number of flight data includes:
Dividing flight data meeting preset categories in the cached flight data into a third set, wherein the preset categories comprise third route information from a departure airport to an arrival airport and travel types of flights;
Arranging the flight data in the third set in order of the target refreshing times from large to small, and for the flight data in the third set, making a counter i=1, cyclically performing the following operations:
judging whether the target refreshing times of the ith flight data are larger than the preset maximum refreshing times or not;
in response to the target refresh times of the ith flight data being less than or equal to the preset maximum refresh times, skipping out of the cycle;
Setting the target refreshing frequency of the ith flight data as the preset maximum refreshing frequency in response to the target refreshing frequency of the ith flight data being greater than the preset maximum refreshing frequency, and calculating an ith refreshing frequency difference between the target refreshing frequency of the ith flight data and the preset maximum refreshing frequency;
Based on the ith refreshing frequency difference and the preset flight number n, creating n pieces of flight data which accord with preset categories and are different from the advancing days of the flight departure date, and distributing appointed refreshing times smaller than the preset maximum refreshing frequency for the n pieces of flight data, wherein the sum of the appointed refreshing times of the n pieces of flight data is smaller than or equal to the ith refreshing frequency difference;
jumping out of the loop when i equals the total number of flight data in the third set; and
The counter i is incremented by 1.
In some embodiments, the method further comprises:
and generating a refreshing sequence table of the cached flight data, and refreshing each flight data in the cached flight data based on the refreshing sequence table.
In some embodiments, generating the updated sequence list of buffered flight data includes:
Sequencing the cached flight data to obtain a refreshing set, wherein the flight data A 1,A2,…,Am are arranged according to the sequence of the target refreshing times n 1,n2,…,nm from large to small, and m is the total category number of the flight data in the refreshing set;
Taking the flight data A 1 as an initial sequence table with the length of n 1;
when m is less than 2, the initial sequence table is used as a refreshing sequence table;
when m is equal to or greater than 2, let the counter j=2, the following operations are performed cyclically:
Calculating a sum n sum of the target refresh times n 1 to n j-1 of the flight data a 1 to a j-1;
Inserting the flight data A j into the current refreshing sequence table by taking n sum/nj as the whole interval number;
Jumping out of the loop when j is equal to the total category number m; and
The counter j is incremented by 1.
According to a second aspect of the present disclosure, there is provided an apparatus for buffering flight data, the apparatus comprising:
An acquisition module configured to acquire historical query data for flight data, wherein each historical query data includes a set of entities of query information and query time;
a processing module configured to:
Dividing historical query data with the same query information and query time into a first set, wherein the query information comprises first route information from a departure airport to an arrival airport and first advanced days from the departure date;
Counting the number of the historical query data contained in the first set as the historical query times of the first entity group corresponding to the first set;
Taking a plurality of first sets of query information as first information as a first sample set, wherein the first sample set comprises sample data indicating a relationship between a query time and a historical number of queries of a first entity group;
A prediction module configured to train a first prediction model using a first set of samples such that the first prediction model is capable of outputting a first number of predicted queries for first information if a specified query time is input; and
And the refreshing module is configured to determine the first refreshing times of the flight data corresponding to the first information in the cached flight data under the appointed query time according to the first predicted query times.
According to a third aspect of the present disclosure, there is provided an apparatus for buffering flight data, the apparatus comprising:
A processor; and
A memory storing computer-executable instructions that, when executed by the processor, cause the processor to perform a method for caching flight data as described above.
According to a fourth aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium having stored thereon computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform a method for buffering flight data as described above.
According to a fifth aspect of the present disclosure, there is provided a computer program product comprising computer executable instructions which, when executed by one or more processors, cause the one or more processors to perform a method for buffering flight data as described above.
An advantage of embodiments according to the present disclosure is that the allocation of limited cache resources is optimized by training a correlation model of flight data and number of queries through analysis of flight history data to provide a data basis for the number of flushes of cached flight data.
Another advantage of embodiments according to the present disclosure is that integrating historical query data and historical ticketing data enables a greater degree of accurate analysis of what airlines a user is more inclined to query during a given query period to improve user query response data and increase airline user satisfaction.
Other features of the present disclosure and its advantages will become more apparent from the following detailed description of exemplary embodiments of the disclosure, which proceeds with reference to the accompanying drawings.
Drawings
The foregoing and other features and advantages of the disclosure will be apparent from the following description of embodiments of the disclosure, as illustrated in the accompanying drawings. The accompanying drawings, which are incorporated herein and form a part of the specification, further serve to explain the principles of the disclosure and to enable a person skilled in the pertinent art to make and use the disclosure. Wherein:
FIG. 1 shows a flow diagram of a method for buffering flight data according to an embodiment of the present disclosure;
FIG. 2 illustrates a flow diagram of determining a first flush number in a method for buffering flight data according to an embodiment of the present disclosure;
FIG. 3 illustrates a flow diagram of processing historical reservation data in a method for buffering flight data according to another embodiment of the present disclosure;
FIG. 4 illustrates a flow diagram of determining a second flush number in a method for buffering flight data according to another embodiment of the present disclosure;
FIG. 5 illustrates a flow diagram for integrating and adjusting predictions in a method for caching flight data according to another embodiment of the present disclosure;
FIG. 6 illustrates a flow chart of integrating flight data and determining an integrated target refresh number in a method for caching flight data according to another embodiment of the present disclosure;
FIG. 7 illustrates a flow chart of determining an integrated optimal refresh number in a method for buffering flight data according to another embodiment of the present disclosure;
FIG. 8 illustrates a flow diagram for generating a refreshing sequence table in a method for buffering flight data in accordance with an embodiment of the present disclosure;
FIG. 9 shows a schematic diagram of a refresh sequence table according to an embodiment of the present disclosure;
FIG. 10 illustrates a schematic block diagram of an apparatus for buffering flight data in accordance with an embodiment of the present disclosure;
FIG. 11 shows a schematic block diagram of an apparatus for caching flight data according to an embodiment of the disclosure;
FIG. 12 illustrates an exemplary configuration of a computing device in which embodiments according to the present disclosure may be implemented.
Note that in the embodiments described below, the same reference numerals are used in common between different drawings to denote the same parts or parts having the same functions, and a repetitive description thereof may be omitted. In some cases, like numbers and letters are used to designate like items, and thus once an item is defined in one drawing, no further discussion thereof is necessary in subsequent drawings.
For ease of understanding, the positions, dimensions, ranges, etc. of the respective structures shown in the drawings and the like may not represent actual positions, dimensions, ranges, etc. Accordingly, the present disclosure is not limited to the disclosed positions, dimensions, ranges, etc. as illustrated in the accompanying drawings.
Detailed Description
Various exemplary embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. It should be noted that: the relative arrangement of the components and steps, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless it is specifically stated otherwise.
The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses. That is, the structures and methods herein are shown by way of example to illustrate different embodiments of the structures and methods in this disclosure. However, those skilled in the art will appreciate that they are merely illustrative of the exemplary ways in which the disclosure may be practiced, and not exhaustive. Moreover, the figures are not necessarily to scale, some features may be exaggerated to show details of particular components.
In addition, techniques, methods, and apparatus known to one of ordinary skill in the relevant art may not be discussed in detail, but are intended to be considered part of the specification where appropriate. In all examples shown and discussed herein, any specific values should be construed as merely illustrative, and not a limitation. Thus, other examples of the exemplary embodiments may have different values.
In general, the technical solution of the present disclosure mainly relates to a data processing method, apparatus, device, and storage medium for improving user query experience by analyzing the number of refreshing times of corresponding flight data in a query data setting cache of flight history data. Generally, the response speed of a user for inquiring the flight data can be improved by caching the flight data in advance, however, at present, a back-end server of an airline company generally has the problem of limited resource conditions, and it is difficult to cache all the flight data, so that only part of the flight data can be cached in advance. In addition, as the demand of users for inquiring flights increases and the timeliness requirement for the flight data increases, partial cached flight data is difficult to hit the flight data expected to be inquired by the users in advance, so that the data feedback is not timely, and the user experience is also influenced.
In order to solve the above problems, the disclosure provides a method for caching flight data, which is based on the history data of an aviation user, and the method discovers the internal rule of the history data of the user, predicts the number of times of the user inquiring the flight data under a specified condition, so as to determine the refreshing times of corresponding flight data in the cached flight data, thereby updating the cached flight data timely and pertinently, and improving the cache hit rate. It should be appreciated that the cache hit rate herein is used to indicate the effectiveness of the cached flight data compared to the user's actual query flight data to characterize the accuracy of the cache prediction algorithm, such as may be expressed as the ratio of the number of times the cached flight data hits the user's queried flight data to the total number of queries by the user.
Methods for caching flight data according to various embodiments of the present disclosure will be described in detail below in conjunction with fig. 1-8. It will be appreciated that a practical method may also include other steps, which are not shown in the drawings in order to avoid obscuring the gist of the present disclosure; and the division of the various steps in the figures is for illustration only and not for limitation of the embodiments. These steps may be performed by individual bodies shown in the embodiments of the present disclosure, two or more of them may be performed together, or by an external system, not shown, in cooperation with the illustrated bodies, and also are not limited to the allocation manner shown in the embodiments, may be performed sequentially in the illustrated order, or may be performed in parallel while conforming to the data flow direction and the system operation rule, may be performed stepwise, or may be performed in combination.
As shown in fig. 1, fig. 1 illustrates a method for caching flight data according to an embodiment of the present disclosure. The method includes steps S110 to S160, which will be described below, respectively.
At step S110, historical query data for flight data is acquired. The query data (also called the ping data) of the user is generated correspondingly mainly based on the action of the user for querying the flight data on the website, and one query data can be generated each time the query operation is performed. Generally, a piece of query data may include a set of entities that query information and query time.
The historical query data may record parameters related to the user querying the flight data and other parameters associated with actions including, but not limited to, queries, for example, the historical query data may include the following exemplary parameters: departure time (departure time), departure airport, arrival airport, trip type (including single trip and round trip, for example), inquiry time, cache hit identification, file storage date, etc., wherein the cache hit identification is mainly used for indicating that flight data inquired by a user falls into state information such as cached data in advance. In particular, when the travel type is round trip, the historical query data may specifically include departure/return departure time, departure/return departure airport, departure/return arrival airport, and the like.
In some embodiments, the generated query data may be stored in a database or large data platform. Because the number of requests for inquiring the flight data every day is huge, it is difficult to record the inquiry data of the user in real time, so that the history inquiry data of the user can be recorded into a log file, and the log file is transmitted to a data center (for example, transmitted through a message queue Kafka) at regular time, so that the data center analyzes the history inquiry data in the log file, and the analyzed history inquiry data is stored in a database or a big data platform (for example, impala big data platform).
The month, day, hour, minute and week of the inquiry time can be obtained according to the inquiry time in the historical inquiry data. For example, when the query time is 2023, 5, 8, 9 am 10 minutes (standardized format is 2023-05-08, 09:10: 00), the number of months is 05, the number of days is 08, the number of hours is 09, the number of minutes is 10, and the number of weeks is 1. The corresponding historical query data may be grouped according to the parameters described above to provide a basis for further data analysis and to enable mining of trends and/or seasonal (periodic) rules of the user's query of flight data.
Additionally or alternatively, the processing operation of step S110 may further include preprocessing the acquired historical query data, such as normalization processing, flaw data removal, and the like, so as to rewrite the flight data and the query time queried by the user into a preset unified format, thereby improving the data processing efficiency and accuracy.
As will be described in detail below, the historical query data for flight data may be processed accordingly based on the foregoing stored historical query data for users of databases or large data platforms to analyze the user's query preferences to predict the number of queries for specified query information at specified query times.
Next, in step S120, historical query data whose query information is the same as the query time is divided into a first set. In particular, the query information may include first route information from the departure airport (or departure place) to the arrival airport (or arrival place) and a first advanced number of days from the departure date of the flight. It should be appreciated that in various embodiments described below, route information may be described based on "departure to arrival locations," and that when there are multiple airports at the same departure/arrival location, "departure location" is similarly used to indicate any or all of the departure airports at the departure location, and "arrival location" indicates any or all of the arrival airports at the arrival location. In one non-limiting embodiment, for a flight with a departure date of 2023, month 05, 12, beijing to Shanghai, the user queries for data for that flight at 2023, month 05, 08, the first airline information may be "Beijing to Shanghai" with a first advanced day of 4 days. It should also be understood that the query times described herein may be the same for one or more of the number of months, days, hours, minutes, and weeks at which the query time is located.
In one non-limiting embodiment, the historical query data may be first grouped according to the query information to generate a plurality of first data sets, and then the historical query data with the same query time (e.g., number of hours) is divided into a first set for the first data sets, so as to facilitate subsequent sorting and generating sample data, thereby improving processing efficiency.
Specifically, the historical query data are grouped according to the query information, so that the historical query data are clustered based on the query operation of the user, the query preference reflected in the query operation and the like, a basis is provided for training samples of the query number prediction model, and further prediction accuracy is improved. Taking the foregoing data of the Beijing to Shanghai flight being queried 4 days in advance as an example, it is satisfied that the first route information is Beijing to Shanghai, and historical query data of 4 days from the first advanced day are separated into the same first data set, where the distinguishing dimension of each historical query data in the first data set may be the number of months, the number of days, etc. included in different travel types of the flight and the query time, or may be the IP address, the terminal type, etc. of the user query action, or may also be a group portrait of the querying user, etc. Thus, the query information may also include at least one of these distinguishing dimensions in order to obtain data grouping results with more distinct clustering features, such as seasonal/daily distribution rules that may be analyzed for users for different number of months, different number of weeks, or different number of days, etc., to more carefully analyze the historical query data of the user. Further, to analyze trends and laws of users querying corresponding flight data at different hours, historical query data of the same number of hours in the query time may be partitioned into a first set for each of a plurality of first data sets to generate a plurality of first sets based on the number of hours.
Further, the method for caching flight data according to the embodiment of the present disclosure may further include: step S130, counting the number of the historical query data included in the first set as the historical query times of the first entity group corresponding to the first set; step S140, a first sample set is generated for a plurality of first sets of first information based on the query information. Wherein the first set of samples includes sample data indicating a relationship of query time and historical query times for the first set of entities.
In one non-limiting embodiment, for a first data set of historical query data that is identical for query information (e.g., the query information may be first information that the first airline information is Beijing to the sea, the first advanced day is 4 days), and then divided into one or more first sets based on the number of hours in the query time, and the number of historical query data included in each first set is counted, the number of historical queries corresponding to each number of hours in the case where the query information is the first information may be formed as shown in the following table:
time of inquiry Hours number Historical number of queries
2023-05-08 08:00 08 200
2023-05-08 09:00 09 300
2023-05-08 10:00 10 250
Wherein the first set may be used to generate a first set of samples of a subsequent training predictive model, wherein sample data in the first set of samples may be indicative of a relationship between query time and a historical number of queries of a corresponding first set of entities (e.g., may be represented in terms of a vector [ query information, query time ]).
It should be understood that, in other non-limiting embodiments, the historical query data may be divided into a plurality of first data sets based on the query time, and then each first data set may be divided into a plurality of first sets based on the query information, which is not limited herein, and only needs to satisfy that the query information in the divided first sets is the same as the query time. In other words, the order of steps for historically querying data packets may be adjusted according to actual needs, such as further rounds of grouping operations may be performed in different discrimination dimensions, and the convenience of data operations is ensured with the grouping results being ensured without being limited to the order of grouping operations.
A plurality of first sets are formed by grouping historical query data to facilitate analysis of a trending change in the number of historical queries of a user over time. In one non-limiting embodiment, for flight data with the same airline information, the number of queries by the user in each corresponding hour in any two days (i.e., the same number of weeks) differing by 7 days in advance may conform or approximately conform to a preset law. Additionally or alternatively, the number of queries by a user at different hours of the day may exhibit a trend of rising followed by falling, rising followed by falling due to the effects of the early and late peaks of travel.
Further, the method for caching flight data according to the embodiment of the present disclosure may further include: step S150, training the first prediction model using the first sample set, so that the first prediction model can output the first number of predicted queries for the first information when the specified query time is input.
The prediction model trained from the sample data generated in the foregoing steps may be used to provide predictions of the number of queries for the corresponding query information for a user-specified query time. Specifically, the specified query time may be obtained from the current query behavior of the user or directly specified by the user, and the specified query time is taken as a specified input when the predictive model is applied. In some embodiments, the foregoing predictive model may be built based on a time series predictive algorithm, such as with a specified query time as input and a number of predicted queries for corresponding query information as output. The query information may be used as a basis for distinguishing the types of the flight data, and the number of predicted queries of the outputted corresponding query information indicates the number of queries for predicting the flight data of the corresponding type, for example, the number of queries of the flight data with the first airline information of "Beijing to Shanghai" and the first advanced day of "4 days" may be predicted in the specified query time.
In some embodiments, a time series prediction algorithm may be employed to determine a predicted number of queries for flight data corresponding to the first information based on the specified query time. The historical query times of the flight data obtained based on the historical query data conform to the trend change and seasonal change of the time sequence, and accordingly the time sequence prediction algorithm can predict the times that the flight data may be queried in the future time sequence (i.e. the query time to be predicted). In one non-limiting embodiment, the time series prediction algorithm may employ the Holt-Winters algorithm. It should be appreciated that in some embodiments, other time series prediction algorithms, such as an Autoregressive (AR) time series prediction algorithm, a differentially integrated moving average autoregressive (ARIMA) time series prediction algorithm, or the like, may also be employed to determine the number of predicted queries.
Specifically, the Holt-windows time series prediction algorithm is also called a third-order exponential smoothing algorithm, and the time series containing both trend and seasonal can be predicted, and the present algorithm is described below in conjunction with a first-order exponential smoothing algorithm and a second-order exponential smoothing algorithm.
The first order exponential smoothing algorithm may be based on a recursive relationship of the following formula:
Si=αxi+(1-αβ)Si-1
Where i is the index of the current last data, x i is the data value (i.e., the number of queries) in the current time sequence, S i is the smoothed value of the current data, and S i-1 is the smoothed value of the previous i data.
Alpha is a first smoothing index that takes values in the interval greater than or equal to 0 and less than or equal to 1, the closer alpha is to 1, the closer the smoothed value is to the data value of the current time series (i.e., the closer S i is to x i), the less smooth the data, the closer alpha is to 0, and the closer the smoothed value is to the smoothed value of the first i data (i.e., the closer S i is to x i).
The formula for predicting by the first-order exponential smoothing algorithm is as follows: x i+h=Si is a straight line, and cannot reflect the trend and seasonality of the time series. Where h is an index of data at a future time sequence.
The second order exponential smoothing algorithm retains trend information so that the predicted time series values may contain trends of previous data. The second order exponential smoothing represents trend information of previous data by adding an additional variable T, wherein the second order exponential smoothing algorithm may be based on a recursive relationship of the following formula:
Si=αxi+(1-α)(Si-1+Ti-1),
Ti=β(Si-Si-1)+(1-β)Ti-1
where β is a second slip index that takes a value in a range of greater than or equal to 0 and less than or equal to 1. The prediction formula of the second-order exponential smoothing algorithm is x i+h=Si+hTi, and the prediction result of the second-order exponential smoothing is an inclined straight line and is based on trend information of previous data.
The third-order exponential smoothing algorithm retains seasonal information on the basis of the second-order exponential smoothing algorithm so that it can predict a time series with seasonality. A time series is said to have a seasonal characteristic when it exhibits a certain repetitive pattern in every fixed time interval, and such a time interval is said to be a seasonal period. The length k of one seasonal period is the number of time series included in the seasonal period. Third order exponential smoothing represents the seasonal information of the previous data by adding an additional variable P, wherein the third order exponential smoothing algorithm may be based on a recursive relationship of the following formula:
Si=α(xi-Pi-k)+(1-α)(Si-1+Ti-1),
Ti=β(Si-Si-1)+(1-β)Ti-1
Pi=γ(xi/Si)+(1-γ)Pi-k
Wherein γ is a third smoothness index that takes a value in a section greater than or equal to 0 and less than or equal to 1. The prediction formula of third-order exponential smoothing is: x i+h=(Si+hTi)Pi-k+h, the prediction results of which are based on trend information of previous data and seasonal information of the data.
According to embodiments of the present disclosure, the above described time series prediction algorithm may be trained using a set of sample data generated for a plurality of first sets of first information based on query information. For example, the optimal first smooth index α, second smooth index β, and third smooth index γ in the Holt-windows time series prediction algorithm may be trained to improve the accuracy of the prediction result.
In order to refresh the cached flight data in time, to improve the response speed and timeliness of the corresponding flight data when the user queries, the method for caching the flight data according to the embodiment of the disclosure may further include: step S160, determining a first refreshing time of the flight data corresponding to the first information in the cached flight data under the appointed query time according to the first predicted query time.
The refreshing times are positively correlated with the predicted inquiring times, and when the number of times that certain flight data is inquired is summarized from the historical inquiring data, the possible inquiring times of the flight data are predicted to be more, so that the flight data need to be refreshed for more times in a cache, and a user inquiring the flight can be ensured to know the real-time condition of the user.
In some embodiments, the number of flushes of the flight data corresponding to the first information in each time period may be determined, and in one non-limiting embodiment, the number of flushes of each flight data in each time period corresponding to a specified number of hours may be determined separately. Alternatively, the time periods in hours may be combined or split according to the need to determine the number of corresponding flight data refreshes within a specific time period.
Specifically, as shown in fig. 2, the following steps may be performed, respectively: at step S161, a first total number of refreshes is set; at step S162, the first predicted number of queries for each query information is counted to obtain a first predicted total number of queries.
With continued reference to fig. 2, the number of refreshing times of the flight data corresponding to each query information may be determined by the following steps: at step S162a, when the first predicted query total number is greater than the first refresh total number, calculating a first ratio of the first predicted query total number to the first refresh total number, and multiplying the first predicted query number by the first ratio to generate a first refresh number; at step S162b, when the first predicted query number of times is not greater than the first refresh total number of times, the first predicted query number of times is taken as the first refresh number of times.
Further, in some embodiments, the above steps may be performed for a number of refreshes within a particular period of time. For example, the above steps may be performed for a particular time period, such as a number of hours consecutive in time, for a number of hours 08 and a number of hours 09, to determine the number of flushes of flight data corresponding to respective query information within the 08:00-10:00 time period. Alternatively, the specific time period may also be a shorter time unit than an hour, such as the above steps may be performed with respect to the number of minutes to determine the number of times of refreshing of the flight data corresponding to the respective inquiry information in the time period of the smaller time interval.
The historical query data is recorded in the form of log files, the data volume of the log files is large, and under the conditions that file loss, program abnormality, network transmission abnormality and the like possibly occur in the file transmission and log recording processes, part of the historical query data is lost or part of elements in the historical query data are lost, so that the calculation result based on the historical query data is incomplete or the accuracy rate is reduced. To address this issue, in another embodiment of the present disclosure, the number of flushes of cached flight data may also be determined based on historical booking data to correct and/or supplement the results of calculations based on the historical query data.
In particular, referring to fig. 3, fig. 3 is a flow chart illustrating a process of processing historical booking data in a method for buffering flight data according to another embodiment of the present disclosure. Wherein the processing of the historic ticket booking data may comprise: at step S210, historical booking data for flight data is acquired; at step S220, classifying historical ticket booking data having ticket booking information the same as ticket booking time into a second set; at step S230, counting the number of historical ticketing data included in the second set as the number of historical queries of the second entity group corresponding to the second set; at step S240, generating a second sample set for a plurality of second sets of second information based on the ticket booking information, wherein the second sample set comprises sample data indicating a relationship of ticket booking time and historical number of queries of the second entity group; at step S250, training the second predictive model using the second set of samples such that the second predictive model is capable of outputting a second number of predicted queries for the second information if the specified query time is input; and at step S260, determining a second refresh time of the flight data corresponding to the second information in the cached flight data under the designated query time according to the second predicted query time.
The historical ticket booking data is mainly based on ticket booking records of users, and the generation links, storage positions and the like of the historical ticket booking data are quite different from those of the historical inquiry data. Wherein the historical booking data is historical operation data of the airline, is usually directly stored in a data warehouse (e.g., teradata data warehouse), and is relatively complete and not easy to lose. In addition, the data volume of the history ticket booking data is smaller than that of the history inquiry data, because in the process of booking a ticket once, a user can inquire for a plurality of times, and the user inquires at least once every time the ticket booking is completed.
The number of months, days, hours, minutes and weeks at which the ticket booking time is located can be obtained according to the ticket booking time in the historical ticket booking data, so that the historical ticket booking data is subjected to grouping analysis, and the trend and/or seasonal (periodical) rule that the user finishes booking based on the flight data are mined.
Similar to the method shown in fig. 1, by performing corresponding processing on the user' S historical booking data acquired from the data warehouse based on steps S210-S260, the booking preference of the user can be analyzed, and the number of times of inquiry of the second flight data corresponding to the corresponding booking information can be predicted at a specified inquiry time to determine the number of times of refreshing about the flight data according to the predicted number of times of inquiry. Additionally, the reservation information may include second airline information from the departure airport (or departure place) to the arrival airport (or arrival place) and a second advanced day from the departure date of the flight. In addition, the reservation information may also include the travel type of the flight. It should be understood that the booking times described herein may be the same for one or more of the number of months, days, hours, minutes, and weeks during which the booking times are located.
In general, at least one query operation is required to complete one booking operation, so that the historical booking data can also provide corresponding entity content of the flight data to be queried similar to the historical query data, and booking information can be similar to parameters included in the query information. And, the number of the counted historical ticket booking data included in the second set can be used as the historical query times of the second entity group corresponding to the second set.
Similar to the above query information, the booking information may also be used as a basis for distinguishing the category of the flight data, and the predicted query times of the corresponding booking information (e.g., the second information) output at step S250 indicate the predicted query times of the flight data of the corresponding category, for example, the query times of the flight data of which the second airline information is "beijing to the ocean" and the second advanced day is "4 days" may be predicted at the designated query time. It should be appreciated that in the case where the booking information is the same as the query information (e.g., the first airline information is the same as the second airline information and the first advanced days are the same as the second advanced days), the categories of flight data corresponding to the respective booking information and the respective query information are the same. And, the number of predicted queries for the same category of flight data based on the two historical data may be different, so the number of refreshes calculated based on the two historical data may be different, and the prediction results of the two may be adjusted at this time, as will be described in detail later.
Further, similar to the method described above based on fig. 1, a time series prediction algorithm may also be employed to determine the predicted number of queries for the flight data corresponding to the second information based on the specified query time. The historical query times of the flight data obtained based on the historical booking data conform to the trend change and seasonal change of the time sequence, and the time sequence prediction algorithm can predict the booking times (namely the times of predicting the query of the flight data) of the flight data possibly completed in a future time sequence (namely the query time to be predicted). Similarly, the time series prediction algorithm may employ a plurality of prediction algorithms such as Holt-windows algorithm, autoregressive (AR) time series prediction algorithm, differential integrated moving average autoregressive (ARIMA) time series prediction algorithm, and the like.
In order to refresh the cached flight data in time, the response speed and timeliness of the data when the user inquires are improved, and the refreshing times of the corresponding flight data in the cached flight data can be determined according to the predicted possible inquiring times of the flight data corresponding to the second information.
In some embodiments, the number of flushes of the flight data corresponding to the second information in each time period may be determined, and in one non-limiting embodiment, the number of flushes of each flight data in each time period corresponding to a specified number of hours may be determined separately. Alternatively, the time periods in hours may be combined or split according to the need to determine the number of corresponding flight data refreshes within a specific time period.
Specifically, referring to fig. 4, the following steps may be performed, respectively: at step S261, a second total number of refreshes is set; at step S262, the second predicted number of queries for each ticket order information is counted to obtain a second predicted total number of queries.
The refreshing times of the flight data corresponding to each booking information can be determined by the following steps: at step S262a, when the second predicted query total number is greater than the second refresh total number, calculating a second ratio of the second predicted query total number to the second refresh total number, and multiplying the second predicted query number by the second ratio to generate a second refresh number; at step S262b, when the second predicted number of queries is not greater than the second total number of refreshes, the second predicted number of queries is taken as the second number of refreshes.
Further, as previously described, in some embodiments, the above steps may be performed for more than one specified number of consecutive hours. Or the above steps may be performed for a specified number of minutes to determine the number of flushes of the respective flight data during a time period of lesser time interval.
And meanwhile, the refreshing times of the corresponding flight data are calculated by using the historical query data and the historical ticket booking data, so that the rules of the user data can be fully mined by using more complete historical data. In some embodiments, the predictions based on the historical query data and the historical reservation data may be integrated and adjusted to provide a more complete and accurate prediction, based on steps S110-S160 and steps S210-S260, as shown in fig. 5, a method for caching flight data according to another embodiment of the present disclosure may further include: at step S270, the first refresh count and the second refresh count are integrated to generate a target refresh count for each of the buffered flight data at the specified query time. Wherein the first refresh times are generated based on historical query data and the second refresh times are generated based on historical ticket booking data. Generally, the integration of predictions based on historical query data and historical ticket data includes taking an intersection of both predictions to ensure that the calculated target refresh times are as accurate as possible.
Specifically, as shown in fig. 6, generating the target refresh times for each of the buffered flight data at the specified query time may include: when the first information is the same as the second information, only the flight data corresponding to the first information is reserved in the cached flight data, and the larger one of the first refreshing times and the second refreshing times is used as the target refreshing times of the flight data corresponding to the first information (step S271); when the first information is different from the second information, both the flight data corresponding to the first information and the flight data corresponding to the second information are reserved in the cached flight data, and the first refreshing times and the second refreshing times are respectively used as the target refreshing times of the flight data corresponding to the first information and the target refreshing times of the flight data corresponding to the second information (step S272).
In one non-limiting embodiment, when the first information is the same as the second information, only the flight data corresponding to the second information may be reserved in the buffered flight data, and the larger of the first refresh times and the second refresh times is used as the target refresh times of the flight data corresponding to the second information.
It should be appreciated that the airline information and the number of days ahead in the flight data involved in the user's inquiry and ticket booking may be different, and that the above steps may supplement each other with a number of refreshes of the flight data not predicted by the other party with respect to different airline information and different numbers of days ahead to provide a more complete number of refreshes of the flight data. In addition, when the route information and the number of days in advance in the related flight data are the same, the refreshing times of the flight data generated based on the historical query data and the historical booking data may be different, and the refreshing times of the corresponding flight data in the cached flight data can be more reasonably determined by comparing the respective prediction results and taking the larger refreshing times as the target refreshing times, so that the cache hit rate is improved.
The number of refreshing times of the flight data obtained based on the historical data may be too large, for example, for some flight data with large travel demand, the number of historical queries or historical ticket booking times is also large, so that the final prediction result is correspondingly large. In particular, it may be greater than the number of refreshes that the server can carry; in practice, excessive refreshing of the flight data is not needed, so that comprehensive calculation optimization of refreshing times is needed, and waste of server resources is avoided.
In some embodiments, after integrating the prediction results generated based on the historical query data and the historical booking data, the refresh times of the corresponding route data may also be adjusted. Returning to fig. 5, a method for caching flight data according to another embodiment of the present disclosure may further include: at step S280, the target refresh times are adjusted based on the category of each of the buffered flight data to generate an optimized refresh times for the flight data.
In one non-limiting embodiment, the number of flushes of the flight data for each time period (corresponding to each hour) may be assigned to other flight data that differs from the advanced days of the flight departure date. As shown in fig. 7, generating the optimal flush number of flight data may include: at step S281, dividing the flight data conforming to the preset category from the buffered flight data into a third set; at step S282, the flight data in the third set is arranged in order of the target refresh times from large to small, and with respect to the flight data in the third set, the counter i=1 is caused to cyclically execute the following steps S282a to S282f:
Judging whether the target refreshing times of the ith flight data are greater than the preset maximum refreshing times (step S282 a);
In response to the target refresh times of the ith flight data being less than or equal to the preset maximum refresh times, skipping the loop (step S282 b);
in response to the target refresh times of the ith flight data being greater than the preset maximum refresh times, setting the target refresh times of the ith flight data to the preset maximum refresh times, and calculating an ith refresh times difference between the target refresh times of the ith flight data and the preset maximum refresh times (step S282 c);
Creating n pieces of flight data which are in accordance with a preset category and are different from the advanced days of the flight departure date based on the ith refreshing frequency difference and the preset flight number n, and distributing appointed refreshing times smaller than a preset maximum refreshing frequency for the n pieces of flight data, wherein the sum of the appointed refreshing times of the n pieces of flight data is smaller than or equal to the ith refreshing frequency difference (step S282 d);
Jumping out of the loop when i is equal to the total number of flight data in the third set (step S282 e); and
The counter i is incremented by 1 (step S282 f).
The preset category may include third route information from the departure airport to the arrival airport and a journey type of the flight, among others. Further, the specified number of flushes may be one, two, or other times, as long as the sum of the specified number of flushes satisfying the created flight data is less than or equal to the corresponding flush number difference.
Further, in some embodiments, n flight data with different days in advance may be created based on the number of days in advance of the ith flight data sequentially added with a random number (e.g., the random number is incremented by a factor of two) that conforms to a preset rule.
The refreshing times of the flight data in each time period are adjusted, and part times of which the refreshing times are larger than the preset maximum refreshing times can be distributed to other refreshing times of the flight data with different advanced days, so that the final refreshing times are more reasonable and practical. For example, based on the historical data, the "20 times of refreshing the flight data about Shanghai to Beijing with 3 days in advance in the period of 08:00-09:00" is obtained, and after the refreshing times are adjusted (for example, the preset maximum refreshing times are 10 times), the "10 times of refreshing the flight data about Shanghai to Beijing with 3 days in advance in the period of 08:00-09:00" can be obtained; refreshing flight data of 30 days in advance for Shanghai to Beijing 1 time; refreshing flight data of 31 days in advance for Shanghai to Beijing 1 time; refreshing flight data of 32 days in advance for Shanghai to Beijing 1 time; … … data on flights from Shanghai to Beijing with 40 days in advance are refreshed 1 time. "
In some embodiments, the number of flushes of flight data during each time period may also be adjusted by other means. For example, a threshold value is set for the target refresh times for each of the route information, and when the refresh times predicted for a certain route information exceeds the threshold value, the refresh times of the flight data for that route information may be allocated to the refresh times of the flight data for other route information.
After determining the target refreshing times of the flight data in the cached flight data, the flight data can be refreshed sequentially. Returning to fig. 5, a method for caching flight data according to another embodiment of the present disclosure may further include: at step S290, a refreshing sequence list of buffered flight data is generated and individual ones of the buffered flight data are refreshed based on the refreshing sequence list. The refreshing sequence table in the corresponding time period can be generated according to the designated inquiry time, and the refreshing is frequently performed in order to avoid the same target flight data in the time period. In one non-limiting embodiment, the refreshing sequence table may be generated based on the principle of uniform refreshing of the individual target flight number data. In particular, as shown in fig. 8, fig. 8 illustrates a flow diagram of generating a refresh sequence table in a method for buffering flight data according to an embodiment of the present disclosure. Wherein step S290 may include:
Sequencing the cached flight data to obtain a refreshing set, wherein the flight data A 1,A2,…,Am are arranged according to the sequence of the target refreshing times n 1,n2,…,nm from large to small, and m is the total category number of the flight data in the refreshing set (step S291);
Taking the flight data A 1 as an initial sequence table with the length of n 1 (step S292);
When m <2, the initial sequence table is taken as a refreshing sequence table (step S293);
when m is equal to or greater than 2, the counter j=2 and the following steps S294a to S294d (step S294) are cyclically executed:
Calculating the sum n sum of the target refresh times n 1 to n j-1 of the flight data a 1 to a j-1 (step S294 a);
inserting the flight data a j into the current refreshing sequence table with n sum/nj rounded to the interval number (step S294 b);
Jumping out of the loop when j is equal to the total category number m (step S294 c); and
The counter j is incremented by 1 (step S294 d).
Wherein, the categories of the flight data can be divided by the query information and/or the ticket booking information, and the parameters of the same attribute can be provided by the query information and the ticket booking information, so that the categories of the flight data can be divided by the parameters of the corresponding attribute directly. In one non-limiting embodiment, the categories of flight data may be divided by airline information and advanced days, i.e., at least one of the airline information and advanced days are different between different categories of flight data, it should be understood that the categories of flight data may also be divided based on itinerary type.
The process of generating the refresh sequence table based on the above steps is described below in connection with the specific example shown in fig. 9. Refreshing 10 times for, for example, "flight data about Shanghai to Beijing, 3 days in advance (noted as A 1); about flights data (noted as a 2) from Shanghai to Beijing, 5 days in advance, are refreshed 5 times; regarding the refreshing sequence table of the flight data (denoted as a 3) of 10 days advanced from Shanghai to Beijing, refreshing 2 times "the refreshing sequence table 310 of length 10 may be generated based on a 1 and the refreshing times thereof. A 2 is inserted into the refresh sequence table 310 by counting the number of intervals of a 2 refresh by 10/5=2, with the number of intervals being 2, to generate the refresh sequence table 320. Next, a 3 is inserted into the refresh sequence table 320 at an interval number of 7 by calculating the interval number 15/2=7 (rounding) of a 3 refresh to generate the refresh sequence table 330.
It should be appreciated that the process of adjusting the number of refreshes of flight data generated using only historical query data or historical reservation data and generating a refresh sequence table is equally applicable to the process of adjusting and generating a refresh sequence table for the target number of refreshes of flight data generated based on both historical query data and historical reservation data.
In one non-limiting embodiment, the generated flushing sequence table may be transmitted in the form of a message queue for the front-end system to read and flush the corresponding flight data in the buffered flight data in turn.
Therefore, the method for caching the flight data can determine the refreshing times of the corresponding flight data in the cached flight data based on the historical data of the user, so that the cached flight data can be dynamically refreshed in time, and the corresponding flight data is contained in the cached data as much as possible when the user inquires. The method improves the cache hit rate, reduces the pressure on a background server, improves the response time, improves the user experience and satisfaction, and increases the avionics brand image.
The present disclosure also provides, in another aspect, an apparatus for caching flight data. Referring to fig. 10, a schematic block diagram of an apparatus 400 for buffering flight data (hereinafter referred to as apparatus 400) according to some embodiments of the present disclosure is shown. As shown in fig. 10, the apparatus 400 includes an acquisition module 410, a processing module 420, a prediction module 430, and a refresh module 440. It will be appreciated that an actual device may also include other components, but in order to avoid obscuring the gist of the present disclosure, these other components are not discussed herein and are not shown in the drawings.
The acquisition module 410 may be configured to acquire historical query data for flight data. Wherein each historical query data includes a set of entities that query information and query time. In some embodiments, the acquisition module 410 may be further configured to acquire historical reservation data for the flight data. Wherein each historical ticket booking data comprises ticket booking information and entity groups of ticket booking time.
The processing module 420 may be configured to partition historical query data for which the query information is the same as the query time into a first set, wherein the query information includes first route information from the departure airport to the arrival airport and first advanced days from the departure date. The processing module 420 may be further configured to count the number of historical query data included in the first set as the number of historical queries of the first entity group corresponding to the first set. The processing module 420 may be further configured to generate a first set of samples for a plurality of first sets of first information based on the query information, wherein the first set of samples includes sample data indicating a relationship of a query time and a historical number of queries of the first entity group.
In some embodiments, the processing module 420 may be further configured to divide the historical reservation data for the same reservation information as the reservation time into a second set, wherein the reservation information includes second airline information from departure airport to arrival airport and a second advanced day from departure date. The processing module 420 may be further configured to count the number of historical query times of the second entity group corresponding to the second set as the number of historical ticket booking data included in the second set. The processing module 420 may be further configured to generate a second set of samples for a plurality of second sets of second information based on the booking information, wherein the second set of samples comprises sample data indicating a relationship of booking time and historical number of queries of the second entity group.
The prediction module 430 may be configured to train the first prediction model using the first set of samples such that the first prediction model is capable of outputting a first number of predicted queries for the first information if the specified query time is input. In some embodiments, the prediction module 430 may be further configured to train the second prediction model using the second set of samples such that the second prediction model is capable of outputting a second number of predicted queries for the second information if the specified query time is input.
The flushing module 440 may be configured to determine a first flushing number of flight data corresponding to the first information in the buffered flight data at the specified inquiry time according to the first predicted inquiry number. In some embodiments, the refreshing module 440 may be further configured to determine a second refreshing number of flight data corresponding to the second information in the buffered flight data at the specified query time according to the second predicted query number; and further, integrating the first refreshing times and the second refreshing times to generate target refreshing times of each flight data in the cached flight data under the appointed inquiry time.
The various embodiments of the apparatus 400 are similar to the various embodiments of the method for buffering flight data described above, and thus reference may be made to the foregoing description of the various embodiments of the method, which is not repeated herein.
The present disclosure also provides an apparatus for caching flight data, which may include one or more processors, and a memory storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform a method for caching flight data according to any one of the foregoing embodiments of the present disclosure.
As shown in fig. 11, an apparatus 500 for caching flight data (hereinafter referred to as apparatus 500) includes a processor(s) 510 and a memory 520 storing computer-executable instructions that, when executed by the processor 510, cause the processor 510 to perform a method for caching flight data according to any of the foregoing embodiments of the disclosure. Processor 510 may be, for example, a Central Processing Unit (CPU) of device 500. Processor 510 may be any type of general purpose processor or may be a processor specifically designed to cache flight data, such as an application specific integrated circuit ("ASIC"). Memory 520 may include a variety of computer-readable media that are accessible by processor 510. In various embodiments, the memory 520 described herein may include volatile and nonvolatile media, removable and non-removable media. For example, memory 520 may include any combination of the following: random access memory ("RAM"), dynamic RAM ("DRAM"), static RAM ("SRAM"), read only memory ("ROM"), flash memory, cache memory, and/or any other type of non-transitory computer-readable medium. The memory 520 may store instructions that when executed by the processor 510 cause the processor 510 to perform a method for caching flight data according to any of the foregoing embodiments of the present disclosure.
The present disclosure also provides a non-transitory storage medium having stored thereon computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform a method for caching flight data according to any one of the foregoing embodiments of the present disclosure.
The present disclosure also provides a computer program product that may include computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform the method for caching flight data as described above.
The computer-executable instructions may be any set of instructions, such as machine code, to be executed directly by one or more processors, or any set of instructions, such as scripts, to be executed indirectly. The terms "instruction," "application," "process," "step," and "program" are used interchangeably herein. The computer-executable instructions may be stored in an object code format for direct processing by one or more processors, or in any other computer language, including scripts or collections of separate source code modules that are interpreted or compiled in advance, as desired. The computer-executable instructions may include instructions that cause, for example, one or more processors to act as neural networks. The functions, methods and routines of the computer-executable instructions are explained in more detail elsewhere herein.
FIG. 12 illustrates an exemplary configuration of a computing device in which embodiments according to the present disclosure may be implemented. The computing device includes one or more processors 601, an input/output interface 605 connected to the processor 601 via a bus 604, and memories 602 and 603 connected to the bus 604. In some embodiments, memory 602 may be Read Only Memory (ROM) and memory 603 may be Random Access Memory (RAM).
The processor 601 may be any kind of processor and may include, but is not limited to, one or more general purpose processors or special purpose processors (such as special purpose processing chips). Memories 602 and 603 may be any non-transitory and may implement data storage and may include, but are not limited to, a disk drive, an optical storage device, a solid state memory, a floppy disk, a flexible disk, a hard disk, magnetic tape, or any other magnetic medium, a compact disk or any other optical medium, a cache memory, and/or any other memory chip or module, and/or any other medium from which a computer may read data, instructions, and/or code.
Bus 604 may include, but is not limited to, an industry standard architecture (Industry Standard Architecture, ISA) bus, a micro channel architecture (Micro Channel Architecture, MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus, among others.
In some embodiments, the input/output interface 605 is connected with an input unit 606 configured by an input device such as a keyboard and a mouse for a user to input operation commands, an output unit 607 to output an image of a processing operation screen and a processing result to a display device, a storage unit 608 including a hard disk drive or the like for storing programs and various data, and a communication unit 609 including a Local Area Network (LAN) adapter or the like and performing communication processing via a network typified by the internet. In addition, a drive 610 is connected, and the drive 610 reads data from and writes data on a removable storage medium 611.
The various aspects, embodiments, implementations, or features of the foregoing embodiments may be used singly or in any combination. The various aspects of the foregoing embodiments may be implemented by software, hardware, or a combination of hardware and software.
For example, the foregoing embodiments may be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of a computer readable medium include read-only memory, random-access memory, CD-ROMs, DVDs, magnetic tape, hard drives, solid state drives, and optical data storage devices. The computer readable medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
For example, the foregoing embodiments may take the form of hardware circuitry. The hardware circuitry may include any combination of combinational logic circuits, clock storage devices (such as floppy disks, flip-flops, latches, etc.), finite state machines, memory such as static random access memory or embedded dynamic random access memory, custom designed circuits, programmable logic arrays, etc.
In one embodiment, a hardware circuit according to the present disclosure may be implemented by encoding and designing one or more integrated circuits in a Hardware Description Language (HDL) such as Verilog or VHDL, or in combination with the use of discrete circuits.
The foregoing describes one or more exemplary embodiments of the disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims can be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
The system, apparatus, module or unit set forth in the above embodiments may be implemented in particular by a computer chip or entity, or by a product having a certain function. One typical implementation device is a server system. Of course, this disclosure does not exclude that as future computer technology evolves, the computer implementing the functionality of the above-described embodiments may be, for example, a personal computer, laptop computer, in-vehicle human interaction device, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or a combination of any of these devices.
Although one or more embodiments of the present disclosure provide method operational steps as described in the embodiments or flowcharts, more or fewer operational steps may be included based on conventional or non-inventive means. The order of steps recited in the embodiments is merely one way of performing the order of steps and does not represent a unique order of execution. When implemented in an actual device or end product, the instructions may be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment, or even in a distributed data processing environment) as illustrated by the embodiments or by the figures.
The terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, it is not excluded that additional identical or equivalent elements may be present in a process, method, article, or apparatus that comprises a described element. For example, if the terms "first," "second," and the like are used to indicate a name, they do not denote any particular order.
For convenience of description, the above devices are described as being functionally divided into various modules, respectively. Of course, the functions of each module may be implemented in the same piece or pieces of software and/or hardware when implementing one or more embodiments of the present disclosure, or a module that implements the same function may be implemented by a plurality of sub-modules or a combination of sub-units, or the like. The above-described apparatus embodiments are merely illustrative, for example, the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The present disclosure is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Those skilled in the art will appreciate that one or more embodiments of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Moreover, one or more embodiments of the present disclosure may take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
One or more embodiments of the disclosure may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. One or more embodiments of the disclosure may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The same or similar parts between the various embodiments of the disclosure may be referred to each other, each of which emphasis is placed upon illustrating the differences from the other embodiments. In particular, for the device embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and reference is made to the description of the method embodiments in part. In the description of the present disclosure, descriptions of the terms "one embodiment," "some embodiments," "examples," "particular examples," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present disclosure. In the present disclosure, the schematic representations of the above terms are not necessarily for the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples described in this disclosure, as well as features of various embodiments or examples, may be combined and combined by those skilled in the art without contradiction.
In addition, as used in this disclosure, the words "herein," "above," "below," "above," and words of similar import shall refer to this disclosure as a whole and not to any particular portions of this disclosure. Furthermore, unless explicitly stated otherwise or otherwise understood in the context of use, conditional language such as "may," "might," "for example," "such as," etc., as used herein are generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements, and/or states. Thus, such conditional language is not generally intended to imply that one or more embodiments require, or include, in any way, features, elements and/or states or that such features, elements and/or states are to be performed in any particular embodiment.
The foregoing is merely an example of one or more embodiments of the present disclosure and is not intended to limit the one or more embodiments of the present disclosure. Various modifications and variations of one or more embodiments of the disclosure will be apparent to those skilled in the art. Any modifications, equivalent substitutions, improvements, or the like, which are within the spirit and principles of the present disclosure, are intended to be included within the scope of the claims.

Claims (13)

1. A method for buffering flight data, the method comprising:
Acquiring historical query data for flight data, wherein each historical query data comprises a query information and a query time entity group;
Dividing historical query data with the same query information and query time into a first set, wherein the query information comprises first route information from a departure airport to an arrival airport and first advanced days from the departure date;
Counting the number of the historical query data contained in the first set as the historical query times of the first entity group corresponding to the first set;
Generating a first set of samples for a plurality of first sets of first information based on the query information, wherein the first set of samples includes sample data indicating a relationship of a query time and a historical number of queries of the first entity group;
Training the first prediction model by using the first sample set, so that the first prediction model can output first prediction query times of first information under the condition of inputting specified query time; and
And determining the first refreshing times of the flight data corresponding to the first information in the cached flight data under the appointed inquiry time according to the first predicted inquiry times.
2. The method of claim 1, wherein determining a first number of flushes of the flight data corresponding to the first information at the specified query time comprises:
For the designated inquiry time, the following operations are respectively executed:
Setting a first refreshing total number, and counting a first predicted query number for each query information to obtain the first predicted query total number, wherein:
when the first predicted query total times is larger than the first refreshing total times, calculating a first proportion of the first predicted query total times to the first refreshing total times, and multiplying the first predicted query times by the first proportion to generate first refreshing times; and
And when the total number of the first predicted queries is not greater than the first total number of refreshes, taking the first predicted queries as the first number of refreshes.
3. The method according to claim 1 or 2, characterized in that the method further comprises:
Acquiring historical booking data for flight data, wherein each historical booking data comprises booking information and an entity group of booking time;
dividing historical ticket booking data with ticket booking information being the same as ticket booking time into a second set, wherein the ticket booking information comprises second route information from an departure airport to an arrival airport and second advanced days from the departure date;
Counting the number of the historical ticket booking data contained in the second set as the historical query times of a second entity group corresponding to the second set;
Generating a second set of samples for a plurality of second sets of second information based on the ticket booking information, wherein the second set of samples includes sample data indicating a relationship between ticket booking time and historical number of queries of the second entity group;
Training a second prediction model by using a second sample set, so that the second prediction model can output second prediction query times of second information under the condition of inputting specified query time;
determining a second refreshing time of flight data corresponding to second information in the cached flight data under the appointed query time according to the second predicted query time; and
And integrating the first refreshing times and the second refreshing times to generate target refreshing times of each flight data in the cached flight data under the appointed inquiry time.
4. A method according to claim 3, wherein generating a target flush number for each of the buffered flight data at the specified query time comprises:
When the first information is the same as the second information, only the flight data corresponding to the first information is reserved in the cached flight data, and the larger one of the first refreshing times and the second refreshing times is used as the target refreshing times of the flight data corresponding to the first information;
when the first information is different from the second information, the first refreshing times and the second refreshing times are respectively used as the target refreshing times of the flight data corresponding to the first information and the target refreshing times of the flight data corresponding to the second information.
5. A method according to claim 3, wherein determining a second number of flushes of the flight data corresponding to the second information in the buffered flight data at the specified query time comprises:
For the designated inquiry time, the following operations are respectively executed:
Setting a second refreshing total number, and counting second predicted query times aiming at each ticket booking information to obtain the second predicted query total number, wherein:
When the second predicted inquiry total times is larger than the second refreshing total times, calculating a second proportion of the second predicted ticket booking total times and the second refreshing total times, and multiplying the second predicted inquiry times by the second proportion to generate second refreshing times;
And when the second predicted query number is not greater than the second refresh total number, taking the second predicted query number as the second refresh number.
6. A method according to claim 3, characterized in that the method further comprises:
And adjusting the target refreshing times based on the categories of the flight data in the cached flight data to generate the optimized refreshing times of the flight data.
7. The method of claim 6, wherein generating an optimal number of flushes of flight data comprises:
Dividing flight data meeting preset categories in the cached flight data into a third set, wherein the preset categories comprise third route information from a departure airport to an arrival airport and travel types of flights;
Arranging the flight data in the third set in order of the target refreshing times from large to small, and for the flight data in the third set, making a counter i=1, cyclically performing the following operations:
judging whether the target refreshing times of the ith flight data are larger than the preset maximum refreshing times or not;
in response to the target refresh times of the ith flight data being less than or equal to the preset maximum refresh times, skipping out of the cycle;
Setting the target refreshing frequency of the ith flight data as the preset maximum refreshing frequency in response to the target refreshing frequency of the ith flight data being greater than the preset maximum refreshing frequency, and calculating an ith refreshing frequency difference between the target refreshing frequency of the ith flight data and the preset maximum refreshing frequency;
Based on the ith refreshing frequency difference and the preset flight number n, creating n pieces of flight data which accord with preset categories and are different from the advancing days of the flight departure date, and distributing appointed refreshing times smaller than the preset maximum refreshing frequency for the n pieces of flight data, wherein the sum of the appointed refreshing times of the n pieces of flight data is smaller than or equal to the ith refreshing frequency difference;
jumping out of the loop when i equals the total number of flight data in the third set; and
The counter i is incremented by 1.
8. A method according to claim 3, characterized in that the method further comprises:
and generating a refreshing sequence table of the cached flight data, and refreshing each flight data in the cached flight data based on the refreshing sequence table.
9. The method of claim 8, wherein generating a refreshed sequence list of buffered flight data comprises:
Sequencing the cached flight data to obtain a refreshing set, wherein the flight data A 1,A2,…,Am are arranged according to the sequence of the target refreshing times n 1,n2,…,nm from large to small, and m is the total category number of the flight data in the refreshing set;
Taking the flight data A 1 as an initial sequence table with the length of n 1;
when m is less than 2, the initial sequence table is used as a refreshing sequence table;
when m is equal to or greater than 2, let the counter j=2, the following operations are performed cyclically:
Calculating a sum n sum of the target refresh times n 1 to n j-1 of the flight data a 1 to a j-1;
Inserting the flight data A j into the current refreshing sequence table by taking n sum/nj as the whole interval number;
Jumping out of the loop when j is equal to the total category number m; and
The counter j is incremented by 1.
10. An apparatus for buffering flight data, the apparatus comprising:
An acquisition module configured to acquire historical query data for flight data, wherein each historical query data includes a set of entities of query information and query time;
a processing module configured to:
Dividing historical query data with the same query information and query time into a first set, wherein the query information comprises first route information from a departure airport to an arrival airport and first advanced days from the departure date;
Counting the number of the historical query data contained in the first set as the historical query times of the first entity group corresponding to the first set;
Generating a first set of samples for a plurality of first sets of first information based on the query information, wherein the first set of samples includes sample data indicating a relationship of a query time and a historical number of queries of the first entity group;
A prediction module configured to train a first prediction model using a first set of samples such that the first prediction model is capable of outputting a first number of predicted queries for first information if a specified query time is input; and
And the refreshing module is configured to determine the first refreshing times of the flight data corresponding to the first information in the cached flight data under the appointed query time according to the first predicted query times.
11. An apparatus for buffering flight data, the apparatus comprising:
A processor; and
A memory storing computer-executable instructions that, when executed by the processor, cause the processor to perform the method for caching flight data according to any one of claims 1 to 9.
12. A non-transitory computer-readable storage medium having stored thereon computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform the method for buffering flight data according to any one of claims 1 to 9.
13. A computer program product comprising computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform the method for buffering flight data according to any one of claims 1 to 9.
CN202410330262.8A 2024-03-21 2024-03-21 Method and device for caching flight data Active CN118152439B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410330262.8A CN118152439B (en) 2024-03-21 2024-03-21 Method and device for caching flight data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410330262.8A CN118152439B (en) 2024-03-21 2024-03-21 Method and device for caching flight data

Publications (2)

Publication Number Publication Date
CN118152439A true CN118152439A (en) 2024-06-07
CN118152439B CN118152439B (en) 2024-09-13

Family

ID=91286647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410330262.8A Active CN118152439B (en) 2024-03-21 2024-03-21 Method and device for caching flight data

Country Status (1)

Country Link
CN (1) CN118152439B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332513A1 (en) * 2009-06-26 2010-12-30 Microsoft Corporation Cache and index refreshing strategies for variably dynamic items and accesses
US20160125320A1 (en) * 2014-10-31 2016-05-05 Google Inc. Grouping flight search results
CN105653424A (en) * 2015-12-28 2016-06-08 中国民航信息网络股份有限公司 Reliability assessment method and apparatus for flight query system
CN109711894A (en) * 2018-12-28 2019-05-03 携程旅游网络技术(上海)有限公司 The detection method and system of course line demand exception
CN111339122A (en) * 2020-02-13 2020-06-26 南京意博软件科技有限公司 Active caching method of travel platform, travel query method and related products
US20220083548A1 (en) * 2020-09-14 2022-03-17 Oracle International Corporation Predicting future query rewrite patterns for materialized views
KR102576226B1 (en) * 2023-02-28 2023-09-06 오병율 Caching system that can predict and resolve server overload through artificial intelligence algorithms

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332513A1 (en) * 2009-06-26 2010-12-30 Microsoft Corporation Cache and index refreshing strategies for variably dynamic items and accesses
US20160125320A1 (en) * 2014-10-31 2016-05-05 Google Inc. Grouping flight search results
CN105653424A (en) * 2015-12-28 2016-06-08 中国民航信息网络股份有限公司 Reliability assessment method and apparatus for flight query system
CN109711894A (en) * 2018-12-28 2019-05-03 携程旅游网络技术(上海)有限公司 The detection method and system of course line demand exception
CN111339122A (en) * 2020-02-13 2020-06-26 南京意博软件科技有限公司 Active caching method of travel platform, travel query method and related products
US20220083548A1 (en) * 2020-09-14 2022-03-17 Oracle International Corporation Predicting future query rewrite patterns for materialized views
KR102576226B1 (en) * 2023-02-28 2023-09-06 오병율 Caching system that can predict and resolve server overload through artificial intelligence algorithms

Also Published As

Publication number Publication date
CN118152439B (en) 2024-09-13

Similar Documents

Publication Publication Date Title
US11544560B2 (en) Prefetching and/or computing resource allocation based on predicting classification labels with temporal data
EP2885725B1 (en) Updating cached database query results
CN112889042A (en) Identification and application of hyper-parameters in machine learning
CN111597449B (en) Candidate word construction method and device for search, electronic equipment and readable medium
US20210117384A1 (en) Prefetching based on historical use and real-time signals
EP4083857A1 (en) Information prediction model training method and apparatus, information prediction method and apparatus, storage medium, and device
US11934486B2 (en) Systems and methods for data stream using synthetic data
US20190034228A1 (en) Method and apparatus for task scheduling
WO2015154679A1 (en) Method and device for ranking search results of multiple search engines
Al Jawarneh et al. Spatial-aware approximate big data stream processing
JP2008158748A (en) Variable selection device and method, and program
CN114443671A (en) Recommendation model updating method and device, computer equipment and storage medium
CN106874332B (en) Database access method and device
CN118152439B (en) Method and device for caching flight data
CN111158732B (en) Access data processing method, device, computer equipment and storage medium
CN112100177A (en) Data storage method and device, computer equipment and storage medium
CN116737373A (en) Load balancing method, device, computer equipment and storage medium
US10839042B1 (en) Summarizing and querying data generated from multiple scenarios of a data-intensive simulation
CN113780666A (en) Missing value prediction method and device and readable storage medium
CN111382342B (en) Method, device and equipment for acquiring hot search words and storage medium
CN117113613A (en) Data processing method and device
CN104699697B (en) A kind of data processing method and device
JP4192760B2 (en) Category-specific new feature word ranking method, apparatus and program, and category-specific new feature word ranking program recording computer-readable storage medium
CN110705736A (en) Macroscopic economy prediction method and device, computer equipment and storage medium
CN116719584A (en) Data processing method, apparatus, computer, storage medium, and program product

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant