CN109271345B - Method and system for prefetching data based on navigation information in mobile internet - Google Patents

Method and system for prefetching data based on navigation information in mobile internet Download PDF

Info

Publication number
CN109271345B
CN109271345B CN201810943816.6A CN201810943816A CN109271345B CN 109271345 B CN109271345 B CN 109271345B CN 201810943816 A CN201810943816 A CN 201810943816A CN 109271345 B CN109271345 B CN 109271345B
Authority
CN
China
Prior art keywords
user application
mobile terminal
target mobile
coordinate point
destination
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.)
Active
Application number
CN201810943816.6A
Other languages
Chinese (zh)
Other versions
CN109271345A (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202210163589.1A priority Critical patent/CN115098754A/en
Priority to CN201810943816.6A priority patent/CN109271345B/en
Publication of CN109271345A publication Critical patent/CN109271345A/en
Application granted granted Critical
Publication of CN109271345B publication Critical patent/CN109271345B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention discloses a method and a system for prefetching data based on navigation information for mobile internet, wherein the method comprises the following steps: analyzing the operation statistical file to obtain the operation position information of the target mobile terminal, obtaining the navigation information of the target mobile terminal and determining the destination of the target mobile terminal based on the navigation information; determining a place type and a place name of a destination of the target mobile terminal, determining an operation probability of each user application at the destination in a plurality of user applications in the target mobile terminal based on the place type and the place name, and sorting the plurality of user applications in a descending order of the operation probability based on the operation probability of each user application to generate a sorted list; setting a storage level for each pre-fetching user application in the at least one pre-fetching user application according to the ordered list; and pre-fetching data files associated with each pre-fetching user application from the second memory according to the storage level of the pre-fetching user application.

Description

Method and system for prefetching data based on navigation information in mobile Internet
Technical Field
The present invention relates to the field of internet of things and the internet, and more particularly, to a method and system for prefetching data based on navigation information in a mobile internet in the field of mobile internet.
Background
Currently, as the internet of things, especially the mobile internet, develops faster and faster, and the use of mobile terminals is more and more popular, people usually use mobile terminals to install a large number of applications and store a large amount of personal data. Since the amount of data increases more rapidly than the storage space increases, it is increasingly important to efficiently manage data files in a mobile terminal. In some cases, for a user with a high regularity of usage, when the mobile terminal leaves a plurality of locations where it is daily and arrives at a new location, the user generally wants to use a specific application among the plurality of user applications according to attribute information of the new location. In the prior art, no technology for prefetching data according to the regularity exists.
Disclosure of Invention
According to an aspect of the present invention, there is provided a method for data prefetching based on navigation information for mobile internet, the method comprising:
acquiring an operation statistical file associated with a target mobile terminal in the mobile internet, and analyzing the operation statistical file to acquire operation position information of the target mobile terminal, wherein the operation position information is a coordinate point set which comprises a plurality of position coordinate points which are reached by the target mobile terminal within a preset number of natural days;
acquiring a current position coordinate point of a target mobile terminal in a current natural day, calculating a linear distance between the current position coordinate point and each position coordinate point in the coordinate point set, and acquiring navigation information of the target mobile terminal and determining a destination of the target mobile terminal based on the navigation information when the linear distances between the current position coordinate point and each position coordinate point in the coordinate point set are both greater than a distance threshold;
determining a venue type and a venue name of a destination of the target mobile terminal, determining an operation probability of each user application at the destination of a plurality of user applications in the target mobile terminal based on the venue type and the venue name, and sorting the plurality of user applications in descending order of the operation probability based on the operation probability of each user application to generate a sorted list;
determining at least one of the plurality of user applications that can be preloaded from the second memory into the first memory according to the ordered list, and setting a storage level for each of the at least one pre-fetching user application according to the ordered list, wherein the storage level comprises: a decrement storage stage, an increment storage stage, a quantitative storage stage and a compression storage stage;
allocating at least one dynamic memory unit for each pre-fetching user application of the decrement storage level, allocating at least one dynamic memory unit for each pre-fetching user application of the compression storage level, allocating one dynamic memory unit for each pre-fetching user application of the increment storage level and allocating one dynamic memory unit for each pre-fetching user application of the quantitative storage level;
setting a storage level for a dynamic storage unit allocated to each pre-fetching user application according to the storage level of each pre-fetching user application;
prefetching data from the second memory for a data file associated with each prefetched user application according to the storage level of the prefetched user application, comprising:
copying a plurality of data files associated with each pre-fetch user application of the reduced storage tier from the second memory to the dynamic storage unit of at least one reduced storage tier allocated for each pre-fetch user application of the reduced storage tier, setting a first time period for the dynamic storage unit of each reduced storage tier and starting timing when the copying is completed, deleting a first predetermined number of data files in the dynamic storage unit of each reduced storage tier each time the first time period expires;
selecting at least one base data file among the plurality of data files associated with each of the pre-fetch user applications of the incremental storage tier, copying the at least one base data file of each of the pre-fetch user applications of the incremental storage tier from the second memory to a dynamic storage unit of the incremental storage tier allocated for each of the pre-fetch user applications of the incremental storage tier, setting a second time period for the dynamic storage unit of the incremental storage tier and starting clocking when the copying is complete, wherein a second predetermined number of data files of the plurality of data files associated with each of the pre-fetch user applications of the incremental storage tier are copied from the second memory to the dynamic storage unit of the incremental storage tier allocated for each of the pre-fetch user applications of the incremental storage tier each time period expires;
selecting at least one data file from the plurality of data files associated with each pre-fetch user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier assigned for each pre-fetch user application of the quantitative storage tier and copying the selected at least one data file from the second memory to the dynamic storage unit of the quantitative storage tier assigned for each pre-fetch user application of the quantitative storage tier; and
the method further includes compressing the plurality of data files associated with each pre-fetch user application of the compressed storage tier to generate a plurality of compressed data files, copying the plurality of compressed data files of each pre-fetch user application of the compressed storage tier from the second memory to a dynamic storage unit of at least one compressed storage tier allocated for each pre-fetch user application of the compressed storage tier.
The mobile internet comprises a plurality of mobile terminals, the mobile terminal which initiates a data pre-fetching request is determined as a target mobile terminal, and the number of user applications is more than 4.
The operation statistic file includes a location data table including a plurality of data items and the content of each data item is < location coordinate point, start time, end time >.
And forming a coordinate point set by all position coordinate points in each data item in a position data table, and using the coordinate point set as running position information, wherein the position data table is used for recording the running position information of the target mobile terminal in real time.
And in the position data table of the operation statistical file, saving a preset number of data items for each user application, or saving a preset number of data items in a natural day or a preset time length for each user application. Wherein the predetermined number of natural days is 10 natural days, 20 natural days, or 30 natural days, and wherein the predetermined time length is 240 hours.
Wherein no position coordinate point in the coordinate point set has a straight-line distance greater than 5 meters, 6 meters, 8 meters or 10 meters from any single position coordinate point in the plurality of position coordinate points, or whenever the distance between the current position of the target mobile terminal and the last position coordinate point is equal to 5 meters, 6 meters, 8 meters or 10 meters, determining the current position as the current position coordinate point; or determines the current position of the target mobile terminal as the current position coordinate point every time 5 seconds passes.
Wherein the predetermined number of natural days is 10 natural days, 20 natural days, or 30 natural days.
The distance threshold is 50 meters, 100 meters or 200 meters.
Wherein each data item associated with each position coordinate point reached by the target mobile terminal within the current natural day is saved into the position data table at the end of the current natural day.
The method for acquiring the navigation information of the target mobile terminal comprises the following steps:
acquiring a screen image of each user application in at least one user application in a foreground running state in a target mobile terminal;
image recognition is performed on the screen image of each user application to determine navigation information, wherein the navigation information includes a start position, an end position, a path, a distance, and an arrival time.
The method for acquiring the navigation information of the target mobile terminal comprises the following steps:
sending a navigation information acquisition request to a navigation application in a foreground running state or a background running state in a target mobile terminal;
and receiving navigation information from the navigation application in the foreground running state or the background running state.
Determining the destination of the target mobile terminal based on the navigation information includes: and determining the end position in the navigation information as the destination of the target mobile terminal.
Determining the venue type and the venue name of the destination of the target mobile terminal comprises:
searching in a navigation database according to the destination of the target mobile terminal, and determining the place name of the destination according to the search result; and
and searching in a directory database according to the place name of the destination, and determining the place type of the destination according to the search result.
Determining an operational probability at the destination for each of a plurality of user applications within a target mobile terminal based on the venue type and venue name comprises:
performing a combined search in a description information database based on the venue type and the venue name of the destination to determine description information of the destination;
comparing the description information of the destination with the description information of each user application in a plurality of user applications in the target mobile terminal to determine the similarity Si between the description information of each user application and the description information of the destination; and
and determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination.
Determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination comprises the following steps:
determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination and the conversion coefficient F:
pi is Si multiplied by F, Na is more than or equal to i and more than or equal to 1, Na is the number of user applications in the target mobile terminal, Na is a natural number and Na is more than 4.
Wherein F is 0.5 or 1.
Before obtaining the operation statistical file associated with the target mobile terminal in the mobile internet, the method further comprises the following steps:
responding to a data prefetching request initiated by a user and used for prefetching data aiming at a data file, associated with a user application, of a target mobile terminal in a mobile internet, and acquiring a dynamic configuration file associated with the data prefetching;
creating a dynamic index area in a first memory of the target mobile terminal, and creating a plurality of dynamic storage units for storing data files in the first memory according to the dynamic configuration file, wherein the storage capacity of each of the plurality of dynamic storage units is determined according to the dynamic configuration file; and
and generating a dynamic index table in the dynamic index area, wherein the dynamic index table comprises a plurality of index entries, and each index entry is used for recording the application identification, the starting address, the ending address, the storage capacity and the storage level of a corresponding dynamic storage unit in a plurality of dynamic storage units.
The first memory is a random access memory, and the second memory is a read-only memory.
The dynamic profile includes a start address and an end address of a storage area in the first memory for providing a plurality of dynamic storage units, and the dynamic profile further includes a storage capacity of each of the plurality of dynamic storage units.
The application identifier is an identifier of a user application to which the dynamic storage unit belongs, the starting address is a starting address of a storage space of the dynamic storage unit, the ending address is an ending address of the storage space of the dynamic storage unit, and the storage capacity is the storage capacity and the storage level of the storage space of the dynamic storage unit.
And updating the corresponding index entry in the dynamic index table according to the storage level set for the dynamic storage unit.
Wherein selecting at least one data file from the plurality of data files associated with each pre-fetch user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier allocated for each pre-fetch user application of the quantitative storage tier comprises:
grouping a plurality of data files associated with each pre-fetch user application of the quantitative storage tier according to a storage capacity of a dynamic storage unit of the quantitative storage tier allocated to each pre-fetch user application of the quantitative storage tier to generate a plurality of file groups, wherein each file group includes at least one data file, and setting different priorities for the plurality of file groups of each pre-fetch user application of the quantitative storage tier to constitute priority queues, regarding a file group positioned at a head of a queue in each priority queue as a current file group and copying at least one data file in the current file group from a second memory to a dynamic storage unit of the quantitative storage tier allocated to each pre-fetch user application of the quantitative storage tier and setting a third time period for each dynamic storage unit of the quantitative storage tier, whenever the third time period expires, using a next file group in the priority queues as the current file group in order of decreasing priority, until there is no next set of files;
determining a number of pre-fetch user applications associated with the quantitative storage tier based on the at least one data file selected from the plurality of data files;
wherein the size of each file group is smaller than the storage space of the dynamic storage unit of the corresponding quantitative storage tier.
Wherein selecting at least one data file from the plurality of data files associated with each pre-fetch user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier allocated for each pre-fetch user application of the quantitative storage tier comprises:
grouping a plurality of data files associated with each pre-fetch user application of the quantitative storage tier according to a storage capacity of a dynamic storage unit of the quantitative storage tier allocated for each pre-fetch user application of the quantitative storage tier to generate a plurality of file groups, wherein each file group includes at least one data file, randomly selecting one file group from the plurality of file groups as a current file group and copying at least one data file in the current file group from the second memory to the dynamic storage unit of the quantitative storage tier allocated for each pre-fetch user application of the quantitative storage tier and setting a third time period for each dynamic storage unit of the quantitative storage tier, and randomly selecting a next file group from the plurality of file groups as the current file group until there is no next file group whenever the third time period expires;
determining a number of pre-fetch user applications associated with the quantitative storage tier based on the at least one data file selected from the plurality of data files;
wherein the size of each file group is smaller than the storage space of the dynamic storage unit of the corresponding quantitative storage tier.
After copying the selected at least one data file from the second memory to the dynamic storage unit of the quantitative storage tier assigned to each pre-fetching user application of the quantitative storage tier, setting a third time period and whenever the third time period expires, re-selecting at least one data file from the plurality of data files associated with each pre-fetching user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier assigned to each pre-fetching user application of the quantitative storage tier, copying the re-selected at least one data file from the second memory to the dynamic storage unit of the quantitative storage tier assigned to each pre-fetching user application of the quantitative storage tier.
Wherein selecting at least one data file from the plurality of data files associated with each pre-fetch user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier allocated for each pre-fetch user application of the quantitative storage tier comprises:
step 1, grouping a plurality of data files associated with each pre-fetching user application of the quantitative storage tier to generate N file groups according to the storage capacity of a dynamic storage unit of the quantitative storage tier allocated to each pre-fetching user application of the quantitative storage tier, wherein N is a natural number greater than 1 and each file group comprises at least one data file;
step 2, setting different sequence numbers for each file group in the N file groups, wherein the sequence numbers are from 1 to N;
step 3, taking the file group with the serial number i equal to 1 as the current file group, wherein N is more than or equal to i and is more than 0;
step 4, setting a third time period for each dynamic storage unit of the quantitative storage level;
step 5, copying at least one data file included in the current file group from the second memory to a dynamic storage unit of the quantitative storage level allocated to each pre-fetching user application of the quantitative storage level;
step 6, when the third time period expires, judging whether i is true or not, and if yes, ending; if not, taking the file group with the serial number i being i +1 as the current file group, and performing step 5;
wherein the size of each file group is smaller than the storage capacity of the dynamic storage unit of the fixed-amount storage tier.
Wherein determining from the ordered list a plurality of pre-fetch user applications of the plurality of user applications that can be pre-loaded from a second memory into a first memory comprises:
when the number of the user applications with the operation probability larger than the pre-fetching threshold value in the ordered list is larger than 0, determining the user applications with the operation probability larger than the pre-fetching threshold value in the ordered list as the pre-fetching user applications which can be pre-loaded into the first memory from the second memory so as to determine at least one pre-fetching user application;
when the number of user applications in the ordered list having an operating probability greater than the pre-fetch threshold is equal to 0, determining all user applications in the ordered list as pre-fetched user applications that can be pre-loaded from the second memory into the first memory to determine at least one pre-fetched user application.
Wherein setting a storage level for each of at least one pre-fetch user application according to the ordered list comprises:
setting the storage level of the pre-fetching user application with the operation probability larger than the high probability threshold value in the ordered list as a decrement storage level;
setting the storage level of the pre-fetching user application with the running probability less than or equal to the high probability threshold and greater than the medium probability threshold in the sorted list as an incremental storage level;
setting the storage level of the pre-fetching user application with the running probability less than or equal to the middle probability threshold and greater than the low probability threshold in the sorted list as a quantitative storage level;
and setting the storage level of the pre-fetching user application with the operation probability less than or equal to the low probability threshold value in the sorted list as a compression storage level.
Wherein the at least one dynamic storage unit allocated for the pre-fetch user application of each reduced storage tier is capable of holding all data files of the pre-fetch user application of the corresponding reduced storage tier, and the at least one dynamic storage unit allocated for the pre-fetch user application of each compressed storage tier is capable of holding all compressed data files of the pre-fetch user application of the corresponding compressed storage tier.
Wherein the first time period is 30 seconds, the second time period is 60 seconds, and wherein the third time period is 90 seconds.
Wherein the at least one base data file of each pre-fetching user application is at least one data file of the plurality of data files associated with each pre-fetching user application of the incremental storage tier that has a launch order above a priority threshold.
Wherein the first predetermined number is 5 and the second predetermined number is 8.
According to another aspect of the present invention, there is provided a system for data prefetching based on navigation information for mobile internet, the system comprising:
the analysis device is used for acquiring an operation statistical file associated with a target mobile terminal in the mobile Internet, and analyzing the operation statistical file to acquire operation position information of the target mobile terminal, wherein the operation position information is a coordinate point set which comprises a plurality of position coordinate points reached by the target mobile terminal within a preset number of natural days;
the acquiring device is used for acquiring a current position coordinate point of the target mobile terminal in a current natural day, calculating a linear distance between the current position coordinate point and each position coordinate point in the coordinate point set, and acquiring navigation information of the target mobile terminal and determining a destination of the target mobile terminal based on the navigation information when the linear distance between the current position coordinate point and each position coordinate point in the coordinate point set is greater than a distance threshold;
a sorting device for determining the place type and the place name of the destination of the target mobile terminal, determining the operation probability of each user application at the destination in a plurality of user applications in the target mobile terminal based on the place type and the place name, and sorting the plurality of user applications in a descending order of the operation probability based on the operation probability of each user application to generate a sorted list;
setting means for determining at least one pre-fetch user application of the plurality of user applications that can be pre-loaded from the second memory into the first memory according to the ordered list, and setting a storage level for each pre-fetch user application of the at least one pre-fetch user application according to the ordered list, wherein the storage level comprises: a decrement storage stage, an increment storage stage, a quantitative storage stage and a compression storage stage; setting a storage level for a dynamic storage unit allocated to each pre-fetching user application according to the storage level of each pre-fetching user application;
the allocation device allocates at least one dynamic storage unit for each pre-fetching user application of the decrement storage level, allocates at least one dynamic storage unit for each pre-fetching user application of the compression storage level, allocates one dynamic storage unit for each pre-fetching user application of the increment storage level and allocates one dynamic storage unit for each pre-fetching user application of the quantitative storage level;
prefetching means for prefetching data from the second memory for the data file associated with each prefetching user application according to the storage level of the prefetching user application, comprising:
copying a plurality of data files associated with each pre-fetch user application of the reduced storage tier from the second memory to the dynamic storage unit of at least one reduced storage tier allocated for each pre-fetch user application of the reduced storage tier, setting a first time period for the dynamic storage unit of each reduced storage tier upon completion of the copying and starting timing, deleting a first predetermined number of data files in the dynamic storage unit of each reduced storage tier each time the first time period expires;
selecting at least one base data file among the plurality of data files associated with each pre-fetching user application of the incremental storage tier, copying the at least one base data file of each pre-fetching user application of the incremental storage tier from the second memory to the dynamic storage unit of the incremental storage tier allocated for each pre-fetching user application of the incremental storage tier, setting a second time period and starting timing for the dynamic storage unit of the incremental storage tier upon completion of the copying, wherein a second predetermined number of data files among the plurality of data files associated with each pre-fetching user application of the incremental storage tier are copied from the second memory to the dynamic storage unit of the incremental storage tier allocated for each pre-fetching user application of the incremental storage tier each time the second time period expires;
selecting at least one data file from the plurality of data files associated with each pre-fetch user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier assigned for each pre-fetch user application of the quantitative storage tier and copying the selected at least one data file from the second memory to the dynamic storage unit of the quantitative storage tier assigned for each pre-fetch user application of the quantitative storage tier; and
the method further includes compressing the plurality of data files associated with each pre-fetch user application of the compressed storage tier to generate a plurality of compressed data files, copying the plurality of compressed data files of each pre-fetch user application of the compressed storage tier from the second memory to a dynamic storage unit of at least one compressed storage tier allocated for each pre-fetch user application of the compressed storage tier.
The mobile internet comprises a plurality of mobile terminals, the mobile terminal which initiates a data pre-fetching request is determined as a target mobile terminal, and the number of user applications is more than 4.
The operation statistic file includes a location data table including a plurality of data items and the content of each data item is < location coordinate point, start time, end time >.
All position coordinate points in each data item of the position data table are combined into a coordinate point set, and the coordinate point set is used as operation position information, wherein the position data table is used for recording the operation position information of the target mobile terminal in real time.
And in the position data table of the operation statistical file, saving a preset number of data items for each user application, or saving a preset number of data items in a natural day or a preset time length for each user application. Wherein the predetermined number of natural days is 10 natural days, 20 natural days, or 30 natural days, and wherein the predetermined time period is 240 hours.
Wherein no position coordinate point in the coordinate point set has a straight-line distance greater than 5 meters, 6 meters, 8 meters or 10 meters from any single position coordinate point in the plurality of position coordinate points, or whenever the distance between the current position of the target mobile terminal and the last position coordinate point is equal to 5 meters, 6 meters, 8 meters or 10 meters, determining the current position as the current position coordinate point; or determines the current position of the target mobile terminal as the current position coordinate point every time 5 seconds passes.
Wherein the predetermined number of natural days is 10 natural days, 20 natural days, or 30 natural days.
The distance threshold is 50 meters, 100 meters or 200 meters.
Wherein each data item associated with each position coordinate point reached by the target mobile terminal within the current natural day is saved into the position data table at the end of the current natural day.
The acquiring device for acquiring the navigation information of the target mobile terminal comprises:
acquiring a screen image of each user application in at least one user application in a foreground running state in a target mobile terminal;
image recognition is performed on the screen image of each user application to determine navigation information, wherein the navigation information includes a start position, an end position, a path, a distance, and an arrival time.
The acquiring device acquires the navigation information of the target mobile terminal and comprises the following steps:
sending a navigation information acquisition request to a navigation application in a foreground running state or a background running state in a target mobile terminal;
and receiving navigation information from the navigation application in the foreground running state or the background running state.
Determining the destination of the target mobile terminal based on the navigation information includes: and determining the end position in the navigation information as the destination of the target mobile terminal.
The sequencing means determining the venue type and the venue name of the destination of the target mobile terminal includes:
searching in a navigation database according to the destination of the target mobile terminal, and determining the place name of the destination according to the search result; and
and searching in a directory database according to the place name of the destination, and determining the place type of the destination according to the search result.
The ranking means determining an operation probability at the destination for each of a plurality of user applications within the target mobile terminal based on the venue type and the venue name comprises:
performing a combined search in a description information database based on the venue type and the venue name of the destination to determine description information of the destination;
comparing the description information of the destination with the description information of each user application in a plurality of user applications in the target mobile terminal to determine the similarity Si between the description information of each user application and the description information of the destination; and
and determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination.
The sequencing means determining the operation probability Pi of each user application according to the similarity Si between the description information of each user application and the description information of the destination comprises:
determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination and the conversion coefficient F:
and Pi is Si multiplied by F, wherein Na is more than or equal to i and more than or equal to 1, Na is the number of user applications in the target mobile terminal, Na is a natural number and Na is more than 4.
Wherein F is 0.5 or 1.
The system comprises a mobile internet and an initialization device, wherein the initialization device is used for responding to a data prefetching request initiated by a user and used for prefetching data aiming at a data file of a target mobile terminal in the mobile internet and relevant to user application, and acquiring a dynamic configuration file relevant to data prefetching;
creating a dynamic index area in a first memory of the target mobile terminal, and creating a plurality of dynamic storage units for storing data files in the first memory according to the dynamic configuration file, wherein the storage capacity of each of the plurality of dynamic storage units is determined according to the dynamic configuration file; and
and generating a dynamic index table in the dynamic index area, wherein the dynamic index table comprises a plurality of index entries, and each index entry is used for recording the application identification, the starting address, the ending address, the storage capacity and the storage level of a corresponding dynamic storage unit in a plurality of dynamic storage units.
The first memory is a random access memory, and the second memory is a read-only memory.
The dynamic profile includes a start address and an end address of a storage area in the first memory for providing a plurality of dynamic storage units, and the dynamic profile further includes a storage capacity of each of the plurality of dynamic storage units.
The application identifier is an identifier of a user application to which the dynamic storage unit belongs, the starting address is a starting address of a storage space of the dynamic storage unit, the ending address is an ending address of the storage space of the dynamic storage unit, and the storage capacity is the storage capacity and the storage level of the storage space of the dynamic storage unit.
And updating the corresponding index entry in the dynamic index table according to the storage level set for the dynamic storage unit.
Wherein the pre-fetching means selects at least one data file from the plurality of data files associated with each pre-fetching user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier allocated for each pre-fetching user application of the quantitative storage tier comprises:
grouping a plurality of data files associated with each pre-fetch user application of the quantitative storage tier according to a storage capacity of a dynamic storage unit of the quantitative storage tier allocated to each pre-fetch user application of the quantitative storage tier to generate a plurality of file groups, wherein each file group includes at least one data file, and setting different priorities for the plurality of file groups of each pre-fetch user application of the quantitative storage tier to constitute priority queues, regarding a file group positioned at a head of a queue in each priority queue as a current file group and copying at least one data file in the current file group from a second memory to a dynamic storage unit of the quantitative storage tier allocated to each pre-fetch user application of the quantitative storage tier and setting a third time period for each dynamic storage unit of the quantitative storage tier, whenever the third time period expires, using a next file group in the priority queues as the current file group in order of decreasing priority, until there is no next set of files;
determining a number of pre-fetch user applications associated with the quantitative storage tier based on the at least one data file selected from the plurality of data files;
wherein the size of each file group is smaller than the storage space of the dynamic storage unit of the corresponding quantitative storage tier.
Wherein the pre-fetching means selects at least one data file from the plurality of data files associated with each pre-fetching user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier allocated for each pre-fetching user application of the quantitative storage tier comprises:
grouping a plurality of data files associated with each pre-fetch user application of the quantitative storage tier according to a storage capacity of a dynamic storage unit of the quantitative storage tier allocated for each pre-fetch user application of the quantitative storage tier to generate a plurality of file groups, wherein each file group includes at least one data file, randomly selecting one file group from the plurality of file groups as a current file group and copying at least one data file in the current file group from the second memory to the dynamic storage unit of the quantitative storage tier allocated for each pre-fetch user application of the quantitative storage tier and setting a third time period for each dynamic storage unit of the quantitative storage tier, randomly selecting a next file group from the plurality of file groups as the current file group whenever the third time period expires until there is no next file group;
determining a number of pre-fetch user applications associated with the quantitative storage tier based on the at least one data file selected from the plurality of data files;
wherein the size of each file group is smaller than the storage space of the dynamic storage unit of the corresponding quantitative storage tier.
After the pre-fetching means copies the selected at least one data file from the second memory to the dynamic storage unit of the quantitative storage tier assigned to each pre-fetch user application of the quantitative storage tier, the pre-fetching means sets a third time period and re-selects the at least one data file from the plurality of data files associated with each pre-fetch user application of the quantitative storage tier according to the storage capacity of the dynamic storage unit of the quantitative storage tier assigned to each pre-fetch user application of the quantitative storage tier each time the third time period expires, copies the re-selected at least one data file from the second memory to the dynamic storage unit of the quantitative storage tier assigned to each pre-fetch user application of the quantitative storage tier.
Wherein the pre-fetching means selects at least one data file from the plurality of data files associated with each pre-fetching user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier allocated for each pre-fetching user application of the quantitative storage tier comprises:
step 1, grouping a plurality of data files associated with each pre-fetching user application of the quantitative storage tier according to the storage capacity of a dynamic storage unit of the quantitative storage tier allocated to each pre-fetching user application of the quantitative storage tier to generate N file groups, wherein N is a natural number greater than 1 and each file group comprises at least one data file;
step 2, setting different sequence numbers for each file group in the N file groups, wherein the sequence numbers are from 1 to N;
step 3, taking the file group with the serial number i equal to 1 as a current file group, wherein N is more than or equal to i and is more than 0;
step 4, setting a third time period for each dynamic storage unit of the quantitative storage level;
step 5, copying at least one data file included in the current file group from the second memory to a dynamic storage unit of the quantitative storage level allocated to each pre-fetching user application of the quantitative storage level;
step 6, when the third time period expires, judging whether i is true or not, and if yes, ending; if not, taking the file group with the serial number i being i +1 as the current file group, and performing step 5;
wherein the size of each file group is smaller than the storage capacity of the dynamic storage unit of the fixed-amount storage tier.
Wherein the setting means determining, from the ordered list, a plurality of pre-fetched user applications of the plurality of user applications that can be pre-loaded from the second memory into the first memory comprises:
when the number of the user applications with the operation probability larger than the pre-fetching threshold value in the ordered list is larger than 0, determining the user applications with the operation probability larger than the pre-fetching threshold value in the ordered list as the pre-fetching user applications which can be pre-loaded into the first storage from the second storage so as to determine at least one pre-fetching user application;
when the number of user applications in the ordered list having an operating probability greater than the pre-fetch threshold is equal to 0, determining all user applications in the ordered list as pre-fetched user applications that can be pre-loaded from the second memory into the first memory to determine at least one pre-fetched user application.
Wherein the setting means setting a storage level for each of the at least one pre-fetch user application according to the ordered list comprises:
setting the storage level of the pre-fetching user application with the operation probability larger than the high probability threshold value in the ordered list as a decrement storage level;
setting the storage level of the pre-fetching user application with the operation probability smaller than or equal to the high probability threshold and larger than the medium probability threshold in the sorted list as an incremental storage level;
setting the storage level of the pre-fetching user application with the running probability less than or equal to the middle probability threshold and greater than the low probability threshold in the sorted list as a quantitative storage level;
and setting the storage level of the pre-fetching user application with the operation probability less than or equal to the low probability threshold value in the sorted list as a compression storage level.
Wherein the at least one dynamic storage unit allocated by the allocating means for the pre-fetching user application of each reduced storage tier is able to hold all data files of the pre-fetching user application of the corresponding reduced storage tier, and the at least one dynamic storage unit allocated by the allocating means for the pre-fetching user application of each compressed storage tier is able to hold all compressed data files of the pre-fetching user application of the corresponding compressed storage tier.
Wherein the first time period is 30 seconds, the second time period is 60 seconds, and wherein the third time period is 90 seconds.
Wherein the at least one base data file of each pre-fetching user application is at least one data file of the plurality of data files associated with each pre-fetching user application of the incremental storage tier that has a launch order above a priority threshold.
Wherein the first predetermined number is 5 and the second predetermined number is 8.
Drawings
A more complete understanding of exemplary embodiments of the present invention may be had by reference to the following drawings in which:
FIG. 1 is a flow diagram of a method for data prefetching based on navigation information according to an embodiment of the present invention;
FIG. 2 is a logical representation of an ordered list according to an embodiment of the present invention;
FIG. 3 is a logic diagram illustrating a reduced amount store according to an embodiment of the present invention;
FIG. 4 is a logic diagram of incremental storage according to an embodiment of the present invention;
FIG. 5 is a logic diagram of a quantitative store according to an embodiment of the present invention;
FIG. 6 is a logic diagram of compressed storage according to an embodiment of the present invention; and
FIG. 7 is a block diagram of a system for prefetching data based on navigation information according to an embodiment of the present invention.
Detailed Description
FIG. 1 is a flow diagram of a method 100 for data prefetching based on navigation information according to an embodiment of the present invention. As shown in fig. 1, method 100 begins at step 101.
In step 101, an operation statistical file associated with a target mobile terminal in a mobile internet is obtained, and the operation statistical file is parsed to obtain operation position information of the target mobile terminal, where the operation position information is a coordinate point set, and the coordinate point set includes a plurality of position coordinate points that have been reached by the target mobile terminal within a predetermined number of natural days. The mobile internet comprises a plurality of mobile terminals, base stations, content servers and the like. The method and the device determine the mobile terminal which initiates the data prefetching request or the mobile terminal which requests to perform data prefetching as the target mobile terminal. Furthermore, the number of user applications included or installed in each mobile terminal (including the target mobile terminal) is greater than 4, e.g. 5, 10, 20 user applications. Concepts related to user applications include system applications, and system applications are typically system level applications determined by the operating system of the mobile terminal.
The operation statistical file comprises a position data table, and the position data table is set or created for the target mobile terminal. The location data table includes a plurality of data items and the content of each data item is a triplet < location coordinate point, start time, end time > or a quintet < application name, location coordinate point, start time, end time, accumulated time length >. For example, the data item is < caf, 20:00, 8.6.2018, 21:50, 6.8.2018, or < caf, 20:00, 8.6.8.2018, 21:50, 110 minutes.
According to the method and the device, all position coordinate points in each data item of a position data table form a coordinate point set, the coordinate point set is used as operation position information, and the position data table is used for recording the operation position information of the target mobile terminal in real time. That is, in a case where the mobile terminal is operating, the operating system or the control device may count and record location information of the mobile terminal, for example, a location coordinate point, a start time (at the current location coordinate point), an end time (at the current location coordinate point), and the like, in real time. Wherein. The set of coordinate points includes a plurality of location coordinate points that the target mobile terminal has reached during a statistical time interval (a predetermined number of natural days). Therefore, the location data table records location information (location coordinate point, operation location information) within a statistical time interval (a predetermined number of natural days) from a specific time point in the past to a current time point of the mobile terminal. Wherein, in the running statistics file, the application stores a predetermined number (e.g. 100, 200, 300) of data items for the (target) mobile terminal, or stores data items within a predetermined length of time (e.g. 10 days, 20 days, 30 days) for each (target) mobile terminal. Wherein the predetermined number of natural days is 10 natural days, 20 natural days, 30 natural days, or any reasonable number of natural days.
In step 102, a current position coordinate point of the target mobile terminal in a current natural day is obtained, a straight-line distance between the current position coordinate point and each position coordinate point in the coordinate point set is calculated, and when the straight-line distance between the current position coordinate point and each position coordinate point in the coordinate point set is greater than a distance threshold, navigation information of the target mobile terminal is obtained and a destination of the target mobile terminal is determined based on the navigation information.
Wherein no position coordinate point within the set of coordinate points has a linear distance from any single one of the plurality of position coordinate points that is greater than 5 meters, 6 meters, 8 meters, or 10 meters, i.e., any position coordinate point within the set of coordinate points has position coordinate points that are positionally or temporally proximate, and the linear distance between position coordinate points that are positionally or temporally proximate is less than or equal to 5 meters, 6 meters, 8 meters, 10 meters, or any reasonable distance. Alternatively, when the target mobile terminal moves, whenever the current position of the target mobile terminal is a distance equal to 5 meters, 6 meters, 8 meters, 10 meters, or any reasonable distance from the last position coordinate point (a position coordinate point that is positionally or temporally adjacent, or a position coordinate point that is closest in distance) to the current position coordinate point(s), the (coordinate point(s) of the current position is determined as the current position coordinate point. In this case, the distances between the position coordinate points may be equal. Every time 5 seconds, 10 seconds, 15 seconds, 30 seconds, or any reasonable time elapses, (the coordinate point of) the current position of the target mobile terminal is determined as the current position coordinate point. In this case, when the target mobile terminal does not move at the expiration of 5 seconds, 10 seconds, 15 seconds, 30 seconds, or any reasonable time, the current position coordinate point coincides with the last position coordinate point recorded. In this case, the distance between the position coordinate points may be dense (the mobile terminal moves at a low speed) or loose (the mobile terminal moves at a high speed, for example, by riding a car, a train, or the like).
In the present application, at the end of the current natural day, each data item associated with each position coordinate point that the target mobile terminal has reached within the current natural day is saved into the position data table. For example, at 24 pm on 6/8/2018 (i.e., 0 pm on 6/9/2018), each data item < position coordinate point, start time, end time > associated with each position coordinate point reached by the target mobile terminal within 6/8/2018 is saved into the position data table. That is, when the comparison between the straight-line distance between the current position coordinate point and each position coordinate point in the set of coordinate points and the distance threshold is performed within the current natural day, the position coordinate point within the current natural day is not included in the set of coordinate points. For example, when the comparison of the straight-line distance between the current position coordinate point and each position coordinate point in the set of coordinate points with the distance threshold is performed within 6/8 of 2018, the position coordinate points within 6/8 of 2018 are not included in the set of coordinate points. For example, in a case where the predetermined number of natural days is 10 natural days, the coordinate point set includes each of the position coordinate points that the target mobile terminal has reached within 10 natural days, that is, 29 days 5 and 29 days 2018 and 7 days 6 and 7 months 2018.
FIG. 2 is a logic diagram of an ordered list 200 according to an embodiment of the invention. As shown in fig. 2, the residential site 202 is a place where the user of the target mobile terminal lives, the office site 203 is a place where the user of the target mobile terminal works, and the restaurant 204 is a place where the user of the target mobile terminal takes lunch. Within the residence 202, there are a plurality of location coordinate points. The plurality of location coordinate points of the residence 202 are used to represent a plurality of locations, e.g., a bedroom, a living room, and the like, reached by the user holding the target mobile terminal at the residence 202 (home). The plurality of location coordinate points of the office 203 are used to represent a plurality of locations, for example, at a work place, in a conference room, which the user has reached by holding the target mobile terminal at the office 203. The location coordinate point of the restaurant 204 is used to represent the location of the user holding the target mobile terminal for meals in the restaurant.
Wherein the plurality of location coordinate points between the residence 202 and the office 203 are used to indicate a plurality of location coordinate points that have been reached by the user of the target mobile terminal to work or to work. It should be appreciated that the present application demonstrates the multiple location coordinate points that a user has arrived at during work or work in a simple path, while in practice, the user may be routed through different paths during work or work, and possibly at different locations (e.g., one side or the other side of the road, etc.) on the same path. Similarly, a plurality of position coordinate points between the office 203 and the restaurant 204 are used to indicate a plurality of position coordinate points that the user of the destination mobile terminal has reached when going to a meal or returning. As described above, depending on how the position coordinate points are collected, the plurality of position coordinate points of the target mobile terminal may be dense, overlapped, dispersed, and the like. However, no position coordinate point within the set of coordinate points is present that is linearly more than 5, 6, 8 or 10 meters away from any single one of the plurality of position coordinate points, i.e., any position coordinate point within the set of coordinate points has (positionally or temporally) neighboring position coordinate points, and the linear distance between (positionally or practically) neighboring position coordinate points is less than or equal to 5, 6, 8, 10 or any reasonable distance.
The method comprises the steps of obtaining a current position coordinate point of a target mobile terminal in a current natural day, calculating a linear distance between the current position coordinate point and each position coordinate point in a coordinate point set, obtaining navigation information of the target mobile terminal when the linear distance between the current position coordinate point and each position coordinate point in the coordinate point set is larger than a distance threshold value, and determining a destination of the target mobile terminal based on the navigation information. Wherein the distance threshold is any reasonable value such as 50 meters, 100 meters or 200 meters.
For example, the distance between positionally or temporally adjacent or nearby position coordinate points is 10 meters and the distance threshold is 50 meters. As shown in FIG. 2, assuming that the current time is 6/8.2018 and that the distance between current position coordinate point 206 and any position coordinate point in residence 202, route 205, restaurant 204, restaurant route, etc. is greater than 20 meters, position coordinate point 206 is 10 meters apart from office 203 (the distance between current position coordinate point 207 and the closest position coordinate point in office 203 is 20 meters apart from the closest position coordinate point in office 203. the distance between current position coordinate point 208 and the closest position coordinate point in office 203 is 30 meters apart from the closest position coordinate point in office 203. the distance between current position coordinate point 209 and the closest position coordinate point in office 203 is 40 meters apart from the closest position coordinate point in office 203. the distance between current position coordinate point 210 and the closest position coordinate point in office 203 is 50 meters apart from the current position coordinate point 210 and the residence 202 (i.e., the distance between position coordinate point 210 and residence 202, A distance of more than 60 meters from any location coordinate point within the route 205, restaurant 204, restaurant route, etc.). At this time, the condition that the straight-line distance between the current position coordinate point 210 and each position coordinate point in the coordinate point set (including the residence 202, the office 203, the route 205, the restaurant 204, and the restaurant route) is greater than the distance threshold is not satisfied, because the distance between the current position coordinate point 210 and the nearest position coordinate point among the plurality of position coordinate points in the office 203 is exactly 50 meters.
The current position coordinate point changes from position coordinate point 206 to position coordinate point 210 over time because the user is holding the target mobile terminal in continuous motion. When a user holds a target mobile terminal to arrive at a location coordinate point 211, the distance between the current location coordinate point 211 and the nearest location coordinate point of the plurality of location coordinate points in the office 203 is 60 meters, and since 60 meters is greater than 50 meters, it can be determined that the straight-line distance between the current location coordinate point 211 and each (arbitrary) location coordinate point in the set of coordinate points is greater than the distance threshold, because the straight-line distance between the current location coordinate point 211 and the nearest location coordinate point in the set of coordinate points is 60 meters. In this case, a location coordinate point (or a location, or a place, or a road, etc.) that the user (or the target mobile terminal) has traveled 10 natural days, 20 natural days, 30 natural days, or any reasonable number of natural days without having arrived may be scanned.
In this case, the present application acquires navigation information of the target mobile terminal and determines a destination of the target mobile terminal based on the navigation information. As shown in fig. 2, the destination of the target mobile terminal is a location coordinate point 212. Since the location coordinate point 212 is a location coordinate point that the target mobile terminal has not reached within the current time of the current natural day and 10 natural days, 20 natural days, 30 natural days, or any reasonable number of natural days, it is represented by a dashed circle. The method for acquiring the navigation information of the target mobile terminal comprises the following steps: acquiring a screen image of each user application in at least one user application in a foreground running state in a target mobile terminal; image recognition is performed on the screen image of each user application to determine navigation information, wherein the navigation information includes a start position, an end position, a path, a distance, and an arrival time. For example, a user application that has run in the foreground to be in the foreground running state includes: high-navigation, WeChat and Paibao. Then, the application acquires the screen image (screen shot image, screen running image) of each user application in the high-navigation, WeChat and Payment treasures, and performs image recognition on the screen image of the high-navigation map, the WeChat and the Payment treasures. Based on the result of the image recognition, for example, when information such as a map, a start position, an end position, a path, a distance, and an arrival time appears in the image recognition result, it may be determined that the user is navigating using the high-altitude navigation application, and an application including information such as a map, a start position, an end position, a path, a distance, and an arrival time in the screen image is determined as the navigation application. Information such as a map, a start position, an end position, a path, a distance, and an arrival time in the screen image is determined as the navigation information.
Alternatively, wherein the acquiring of the navigation information of the target mobile terminal comprises: the acquisition device sends a navigation information acquisition request to a navigation application in a foreground running state or a background running state in the target mobile terminal. For example, the high-navigation, WeChat and Payment treasures send navigation information acquisition requests. And after receiving the navigation information acquisition request, the navigation application returns the navigation information to the acquisition device, namely, the acquisition device can receive the navigation information from the navigation application in the foreground running state or the background running state. The navigation information includes information such as a map, a start position, an end position, a route, a distance, and an arrival time. For example, after receiving the navigation information acquisition request, the high-altitude navigation device returns the navigation information to the acquisition device, that is, the acquisition device can receive the navigation information from the high-altitude navigation device in the foreground operating state or the background operating state. And the WeChat and Payment treasures do not perform any processing or response to the received navigation information acquisition request.
Determining the destination of the target mobile terminal based on the navigation information comprises: and determining the end position in the navigation information as the destination of the target mobile terminal. I.e., the end location may be equivalent to the destination, and the destination may be an address, a house number, latitude and longitude coordinates, etc.
In step 103, a location type and a location name of a destination of the target mobile terminal are determined, an operation probability of each user application at the destination among a plurality of user applications in the target mobile terminal is determined based on the location type and the location name, and the plurality of user applications are sorted in descending order of the operation probability based on the operation probability of each user application to generate a sorted list.
Wherein determining the venue type and the venue name of the destination of the target mobile terminal comprises:
and searching in a navigation database according to the destination of the target mobile terminal, and determining the place name of the destination according to the search result. For example, if the destination of the target mobile terminal is 10 th east street, which is hewn and new east street in sunny district of beijing city, then a search is performed in the navigation database according to 10 th east street, which is hewn and new east street in sunny district of beijing city, and the place name of which the search result is the destination is university of foreign economic trade.
And searching in a directory database according to the place name of the destination, and determining the place type of the destination according to the search result. For example, a search is performed in the foreign economic trade university directory database according to the place name of the destination, and the type of the place of the destination is determined as an education institution, an advanced school, a university, etc. according to the search result.
Determining an operational probability at the destination for each of a plurality of user applications within a target mobile terminal based on the venue type and venue name comprises:
performing a combined search in a description information database based on the venue type and the venue name of the destination to determine description information of the destination. That is, category information is determined based on the location type of the destination and directory information is determined based on the location name of the destination, a combined search is performed in the descriptive information database based on the category information and the directory information (for example, first category descriptive information is determined in the information database by the location type or the category information, then distinctive descriptive information of the destination is determined from the location name or the directory information, and then the category descriptive information and the distinctive descriptive information are combined to form descriptive information of the destination) to determine descriptive information of the destination. For example, if the location type of the destination (coffee shop) determines that the category information is a coffee shop and the location name of the destination (cafe) determines that the directory information is a cafe, then a combined search is performed in the descriptive information database based on the category information "coffee shop" and the directory information "cafe" to determine that the descriptive information of the destination is "cafe", which is a place where modern people use for party leisure, business communication; prevail in every large, medium and small city. The coffee shop has its unique attractiveness because it sells not only coffee, but also a quality, culture and concept; the gawa cafe features a game theme cafe that provides more comfortable game space for the customer.
And comparing the description information of the destination with the description information of each user application in a plurality of user applications in the target mobile terminal to determine the similarity Si between the description information of each user application and the description information of the destination. The description information of the application used by the user can be, for example, description information provided by an application developer or description information customized by the user. For example, the description information of the royal glory is "the game is a dota-like game, the playing method in the game is mainly competitive fight, the players play PVP fight in various modes such as 1V1, 3V3 and 5V5, the player can also play adventure mode of the game, the player can play a pass mode of PVE, and the player can play a ranking game after the conditions are met. In 2016, 11 months, the book Wang Yang 2016 (Rong of King) the popular classic of Chinese popular entertainment index, namely the Chinese I P price list-Game list top 10; currently, the daily active users are 8000 ten thousand and the like. The content comparison of the description information may be performed by various methods such as semantic comparison of texts and keyword comparison. And the value range of the similarity Si is 0-1, namely 0% to 100%.
According to the method, the operation probability Pi of each user application is determined according to the similarity Si of the description information of each user application and the description information of the destination. Wherein determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination comprises:
determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination and the conversion coefficient F:
pi is Si multiplied by F, Na is larger than 4 and is the number of user applications in the target mobile terminal, wherein Na is larger than or equal to i and larger than or equal to 1. Wherein F is 0.5 or 1.
In the example shown in fig. 2, based on the location type coffee shop of the destination and the location name cafe of the destination, it is determined that the similarity of the description information of each user application and the description information of the destination is 18% for the royal glory, 16% for the tremble short video, 15% for the kukou video, 13% for the mobile phone panning, 10% for the masu takeaway, 9% for the bacu takeaway, 7% for the mastership gallows, 6% for the triband extremely innocent similarity, and 0% for the lazy english, and the conversion coefficient F is 1, then the operation probability of each user application at the destination (cafe) among the plurality of user applications within the target mobile terminal is determined based on the location type and the location name: the running probability of the royal is 18%, the running probability of the tremble short video is 16%, the running probability of the Youkou video is 15%, the running probability of the mobile phone Taobao is 13%, the running probability of the American group takeout is 10%, the running probability of the Baidu takeout is 9%, the running probability of the masterwork flying car is 7%, the running probability of the three kingdoms extremely inexistent is 6%, and the running probability of the lazy English is 0%. Determining an operation probability of each user application of the plurality of user applications within the target mobile terminal at the destination (gawa cafe) based on the venue type and the venue name with a conversion factor F of 0.5: the running probability of the royal is 9%, the running probability of the tremble short video is 8%, the running probability of the Youkou video is 7.5%, the running probability of the mobile phone Taobao is 6.5%, the running probability of the American group takeout is 5%, the running probability of the Baidu takeout is 4.5%, the running probability of the masterwork galloping is 3.5%, the running probability of the three kingdoms extremely none is 3%, and the running probability of the lazy English is 0%.
At step 104, determining at least one of the plurality of user applications that can be preloaded from the second memory into the first memory according to the ordered list, and setting a storage level for each of the at least one pre-fetch user application according to the ordered list, wherein the storage levels include: a decrement storage stage, an increment storage stage, a quantitative storage stage, and a compressed storage stage.
Wherein determining from the ordered list a plurality of pre-fetch user applications of the plurality of user applications that can be pre-loaded from a second memory into a first memory comprises: when the number of user applications in the ordered list having an operating probability greater than a pre-fetch threshold (e.g., 5%, 10%) is greater than 0 (e.g., 10), determining the user applications in the ordered list having an operating probability greater than the pre-fetch threshold as pre-fetch user applications that can be pre-loaded from the second memory into the first memory to determine at least one pre-fetch user application; when the number of user applications in the ordered list having a running probability greater than the pre-fetch threshold (e.g., 5%, 10%) is equal to 0, all user applications (e.g., 15) in the ordered list are determined as pre-fetched user applications that can be pre-loaded from the second memory into the first memory to determine at least one pre-fetched user application.
Wherein setting a storage level for each of the at least one pre-fetching user application according to the ordered list comprises:
setting a storage level of the pre-fetched user applications in the ordered list having an operational probability greater than a high probability threshold (e.g., 15%) to a reduced storage level;
setting a storage level of the pre-fetch user application in the sorted list having a probability of operation less than or equal to a high probability threshold (e.g., 15%) and greater than a medium probability threshold (e.g., 12%) as an incremental storage level;
setting a storage level of the pre-fetched user applications in the sorted list having a probability of operation less than or equal to a medium probability threshold (e.g., 12%) and greater than a low probability threshold (e.g., 8%) as a quantitative storage level;
setting a storage level of the pre-fetched user applications in the sorted list having an operating probability less than or equal to a low probability threshold (e.g., 8%) as a compressed storage level. Wherein the operation probability of pre-fetching user applications is greater than 5%.
As shown in fig. 2, according to the above-described manner, it can be determined that the operation probability of the royal glowing and the operation probability of the tremble short video are 18% and 16%, and therefore the storage level of the royal glowing and the tremble short video is the reduced storage level. The running probability of the Youkou video is 15% and the running probability of the mobile phone panning is 13%, so the storage level of the Youkou video and the mobile phone panning is an incremental storage level. The operation probability of the American college takeout is 10% and the operation probability of the Baidu takeout is 9%, so that the storage level of the American college takeout and the Baidu takeout is a quantitative storage level, the operation probability of the masterpiece flying vehicle is 7% and the operation probability of the masterpiece flying vehicle is 6%, so that the storage level of the masterpiece flying vehicle and the masterpiece flying vehicle is a compression storage level.
Since the number 8 of user applications having an operation probability greater than 5% of the pre-fetch threshold in the sorted list is greater than 0, the user applications having an operation probability greater than the pre-fetch threshold in the sorted list (the operation probability of royal glory is 18%, the operation probability of jittering short video is 16%, the operation probability of kukoku video is 15%, the operation probability of mobile phone panning is 13%, the operation probability of masu takeout is 10%, the operation probability of Baidu takeout is 9%, the operation probability of masterwork galloping is 7%, and the operation probability of tribasic masterless is 6%) are determined as pre-fetch user applications that can be pre-loaded from the second memory into the first memory to determine at least one pre-fetch user application. The operating probability of the lazy english language is 0%, and therefore does not belong to the pre-fetching user application.
At step 105, at least one dynamic memory location is allocated for each pre-fetch user application of the reduced storage tier, at least one dynamic memory location is allocated for each pre-fetch user application of the compressed storage tier, one dynamic memory location is allocated for each pre-fetch user application of the increased storage tier and one dynamic memory location is allocated for each pre-fetch user application of the quantitative storage tier. Wherein the storage capacity of each of the at least one dynamic storage unit allocated for each of the pre-fetched user applications of the reduced storage tier may be the same or different, and the storage capacity of each of the at least one dynamic storage unit allocated for each of the pre-fetched user applications of the compressed storage tier may be the same or different.
The total storage capacity of the at least one dynamic storage unit allocated for the pre-fetching user application of each reduced storage tier is capable of accommodating all data files of the pre-fetching user application of the corresponding reduced storage tier. The total storage capacity of the at least one dynamic storage unit allocated for the pre-fetching user application of each compressed storage tier is capable of accommodating all compressed data files of the pre-fetching user application of the corresponding compressed storage tier. One dynamic memory unit is allocated for each pre-fetching user application of the incremental storage tier that can accommodate all data files of the pre-fetching user application of the corresponding incremental storage tier. One dynamic memory unit is allocated to each pre-fetching user application of a quantitative memory rank to be able to accommodate all data files of the pre-fetching user application of the corresponding quantitative memory rank.
In step 106, a storage level is set for the dynamic storage unit allocated for each pre-fetching user application according to the storage level of each pre-fetching user application. Setting each dynamic memory unit of the at least one dynamic memory unit allocated for each pre-fetching user application of the reduced memory rank as a reduced memory rank, setting each dynamic memory unit of the at least one dynamic memory unit allocated for each pre-fetching user application of the compressed memory rank as a compressed memory rank, setting one dynamic memory unit allocated for each pre-fetching user application of the increased memory rank as an increased memory rank and setting one dynamic memory unit allocated for each pre-fetching user application of the increased memory rank as a quantitative memory rank.
In step 107, data prefetching is performed on the data file associated with each prefetched user application from the second memory according to the storage level of the prefetched user application, including:
preferably, the (all) plurality of data files associated with each pre-fetching user application of a reduced storage tier are copied from the second memory to the dynamic storage unit of at least one reduced storage tier allocated for each pre-fetching user application of a reduced storage tier, and a first time period is set and timed for the dynamic storage unit of each reduced storage tier upon completion of the copying, a first predetermined number of data files being deleted in the dynamic storage unit of each reduced storage tier each time the first time period expires until none of the dynamic storage units of each reduced storage tier has a data file.
FIG. 3 is a logic diagram of an embodiment of a decrement storage 300. The operation probability of the royal glory is 18% and the operation probability of the tremble short video is 16%, so that the storage level of the royal glory and tremble short video is a decrement storage level.
All data files of the royal glowing are copied from the second memory to the dynamic memory units 301, 302 and 303 of at least one reduced memory level allocated for the royal glowing. Each of the dynamic memory units 301, 302, and 303 has a memory capacity of 500M, and an application name and a memory level are labeled in each dynamic memory unit. A first time period (e.g., 30 seconds, 50 seconds, 60 seconds) is set for the dynamic storage units 301, 302, and 303 of each reduced storage rank after the copying is completed, and a first predetermined number (e.g., 3, 5) of data files are deleted in the dynamic storage units 301, 302, and 303 of each reduced storage rank every time the first time period expires (i.e., every time 30 seconds, 50 seconds, 60 seconds elapses).
All data files of the trembling short video are copied from the second memory to the dynamic memory units 311 and 312 of at least one decrement memory level allocated for the trembling short video. Each of the dynamic memory cells 311 and 312 has a memory capacity of 60M, and an application name and a memory level are noted in each dynamic memory cell. And sets a first time period (e.g., 30 seconds, 50 seconds, 60 seconds) for the dynamic storage units 311 and 312 of each reduced storage rank after the copying is completed, and deletes a first predetermined number (e.g., 3, 5) of data files in the dynamic storage unit of each reduced storage rank every time the first time period expires (i.e., every time 30 seconds, 50 seconds, 60 seconds elapses). For example, after the data files of the royal glorious and tremble short videos are all copied to the corresponding dynamic storage units 301, 302, and 303, and 311 and 312, a timer is started, and 3 data files are deleted from each of the dynamic storage units 301, 302, 303, 311, and 312 every time 30 seconds pass. When none of the dynamic storage units 301, 302, and 303, and 311 and 312 have a data file, deletion of the file is stopped.
Preferably, at least one base data file is selected among the (all) plurality of data files associated with each pre-fetching user application of the incremental storage tier, the at least one base data file of each pre-fetching user application of the incremental storage tier is copied from the second memory to the dynamic storage unit of the incremental storage tier allocated for each pre-fetching user application of the incremental storage tier, and a second time period is set and timed for the dynamic storage unit of the incremental storage tier upon completion of the copying, wherein a second predetermined number of data files, other than already copied files, of the plurality of data files associated with each pre-fetching user application of the incremental storage tier are copied from the second memory to the dynamic storage unit of the incremental storage tier allocated for each pre-fetching user application of the incremental storage tier each time period expires until all data files associated with each pre-fetching user application are copied to the corresponding allocated incremental storage tier Dynamic memory cells of a rank. Wherein the at least one base data file of each pre-fetching user application is at least one data file of the plurality of data files associated with each pre-fetching user application of the incremental storage tier having a firing order above a priority threshold (e.g., a priority threshold of 3, i.e., the firing order for each of the plurality of data files is set to 1, 2, 3, 4, or 5 levels, with the level of the firing order for 1, 2, 3, 4, or 5 levels increasing in order).
Wherein one dynamic storage unit of the incremental storage tier allocated for each pre-fetching user application is capable of accommodating/storing all data file(s) of the corresponding/attributed pre-fetching user application.
FIG. 4 is a logic diagram of an incremental store 400 according to an embodiment of the present invention. The operation probability of the Youkou video is 15% and the operation probability of the mobile phone panning is 13%, so that the storage level of the Youkou video and the mobile phone panning is an incremental storage level.
The 10 base data files are selected from the (all) plurality of data files associated with the youth video and copied from the second memory to the dynamic storage unit 401 of the incremental storage tier allocated for the youth video. The storage capacity of the dynamic storage units 401 is 200M each, and an application name and a storage level are labeled in each dynamic storage unit. A second time period (e.g., 30 seconds, 50 seconds, 60 seconds) is set for the dynamic storage unit 401 of the incremental storage tier after the copying is completed, and a second predetermined number (e.g., 3, 5, 8) of data files (other than the already copied files) of the plurality of data files associated with the use of the kukov video are copied from the second memory to the dynamic storage unit 401 every time the second time period expires (i.e., every time 30 seconds, 50 seconds, 60 seconds elapses).
The 10 base data files are selected from the (all) plurality of data files associated with the mobile phone pan, and the 10 base files are copied from the second memory to the dynamic storage unit 402 of the incremental storage level allocated for the mobile phone pan. The dynamic memory units 402 each have a memory capacity of 300M, and an application name and a memory level are labeled in each dynamic memory unit. A second time period (e.g., 30 seconds, 50 seconds, 60 seconds) is set for the dynamic storage unit 402 of the incremental storage stage after the copying is completed, and a second predetermined number (e.g., 3, 5, 8) of data files (other than the already copied files) of the plurality of data files associated with the mobile phone panning is copied from the second memory to the dynamic storage unit 402 every time the second time period expires (i.e., every time 30 seconds, 50 seconds, 60 seconds elapses).
For example, after all 10 basic data files of the you ku video and the cell phone pan are copied to the corresponding dynamic storage units 401 and 402, a timer is started, and 8 data files (initially 100 data files) out of 90 data files associated with the you ku video are copied from the second memory to the dynamic storage unit 401 every time 60 seconds elapse; and copying 8 data files (initially 160 data files) of the 150 data files associated with the mobile phone panning function from the second memory to the dynamic storage unit 401 every time 60 seconds pass. When all 100 data files of the Youkou video are copied into the Olympic dynamic storage unit 401, the copying operation is not performed, and when all 160 data files of the mobile phone Taobao are copied into the Olympic dynamic storage unit 402, the copying operation is not performed
Preferably, at least one data file is selected from the (all) plurality of data files associated with each pre-fetching user application of the quantitative storage tier (the total storage capacity required for the selected at least one data file being smaller than the storage capacity of the dynamic storage units of the quantitative storage tier) in dependence on the storage capacity of the dynamic storage units of the quantitative storage tier allocated for each pre-fetching user application of the quantitative storage tier, and the selected at least one data file is copied from the second memory to the dynamic storage units of the quantitative storage tier allocated for each pre-fetching user application of the quantitative storage tier.
FIG. 5 is a logic diagram of a quantitative storage 500 according to an embodiment of the present invention. Wherein the operation probability of the American group take-out is 10% and the operation probability of the hundred degree take-out is 9%, so the storage level of the American group take-out and the hundred degree take-out is a quantitative storage level. At least one data file is selected from (all) the plurality of data files associated with the massa takeaway (the selected at least one data file requiring a storage capacity of less than 20M) according to the storage capacity 20M of the dynamic storage unit of the quantitative storage tier assigned for the massa takeaway, and the selected at least one data file is copied from the second storage to the dynamic storage unit 501. At least one data file is selected from (all) the plurality of data files associated with the massa takeaway (the selected at least one data file requiring less than 10M of storage capacity) based on the storage capacity 10M of the dynamic storage unit of the quantitative storage tier assigned for the hundred degrees takeaway, and the selected at least one data file is copied from the second storage to the dynamic storage unit 511.
Alternatively, wherein selecting at least one data file from the plurality of data files associated with each pre-fetching user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier allocated for each pre-fetching user application of the quantitative storage tier comprises:
the plurality of data files associated with each pre-fetching user application of the quantitative storage tier are grouped according to a storage capacity of a dynamic storage unit (501 or 511) of the quantitative storage tier allocated for each pre-fetching user application of the quantitative storage tier (american or centurie takeout) to generate a plurality of file groups, wherein each file group includes at least one data file. Wherein the total storage capacity required for at least one data file of each file group is less than the storage capacity of the dynamic storage unit of the corresponding quantitative storage tier. That is, the total storage capacity of all data files in each file group for the U.S. take-out is less than 20M, and the total storage capacity of all data files in each group for the hundred degree take-out is less than 10M. Different priorities are set for each of the plurality of file groups of the pre-fetching user application of the quantitative storage tier to form a priority queue. For example, the consortium take-out includes 5 file groups, and the priorities of the 5 file groups are 1, 2, 3, 4, and 5 (where the smaller the number, the higher the priority). The group of files at the head of the queue (the group of files with priority 1) in each priority queue is taken as the current group of files and at least one data file in the current group of files is copied from the second memory to a dynamic storage unit (e.g., dynamic storage unit 501) of the quantitative storage level allocated for each pre-fetching user application of the quantitative storage level. A third time period (e.g., 30 seconds, 60 seconds, or 90 seconds) is set for each dynamic memory cell (501 or 511) of the quantitative memory rank after the copying is complete. Every time the third time period expires (i.e., every time 30 seconds, 60 seconds pass), the next file group in the priority queue (e.g., file group of priority 2) is used as the current file group in order of decreasing priority until there is no next file group. That is, the file groups of priorities 1, 2, 3, 4, and 5 are copied to the dynamic storage unit 501 or 511. It can be seen that when the time is long enough (sufficiently longer than the plurality of third time period periods), for example, the third time period is 90 seconds, and the 450 th second is reached (i.e., when the 5 third time periods are reached), all of the 5 file groups are used as the current file group. In this case, the content in the dynamic storage unit (501 or 511) is not being updated, i.e., at least one data file of the file group having the priority of 5 is retained in the dynamic storage unit 501.
At least one data file in the current set of files (possibly a set of files with a priority of 1, 2, 3, 4 or 5) is taken as the at least one data file selected from the plurality of data files associated with each pre-fetching user application of a quantitative storage tier. Wherein the size of each file group (i.e., the size of all data files in the file group) is smaller than the storage space of the dynamic storage unit of the corresponding quantitative storage tier.
Alternatively, wherein selecting at least one data file from the plurality of data files associated with each pre-fetch user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier allocated for each pre-fetch user application of the quantitative storage tier comprises:
the plurality of data files associated with each pre-fetching user application of the quantitative storage tier are grouped according to the storage capacity of the dynamic storage unit (501 or 511) of the quantitative storage tier allocated for each pre-fetching user application of the quantitative storage tier (American takeaway or Baidu takeaway) to generate a plurality of file groups, wherein each file group includes at least one data file wherein the total storage capacity required for the at least one data file of each file group is less than the storage capacity of the dynamic storage unit of the corresponding quantitative storage tier. That is, the total storage capacity of all data files in each file group for the U.S. take-out is less than 20M, and the total storage capacity of all data files in each group for the centurie take-out is less than 10M. For example, the beauty group takeout includes 5 file groups, and the 5 file groups have sequence numbers of 1, 2, 3, 4, and 5. Randomly selecting one file group (file group with sequence number 5) from the plurality of file groups as a current file group, copying at least one data file in the current file group from the second memory to a dynamic storage unit (for example, a dynamic storage unit 501) of a quantitative storage class allocated for each pre-fetching user application of the quantitative storage class, and setting a third time period (for example, 30 seconds, 60 seconds or 90 seconds) for each dynamic storage unit (501 or 511) of the quantitative storage class after the copying is completed. Every time the third time period expires (i.e., every 30, 60 seconds elapses), a next file group (e.g., file group with sequence number 2) is randomly selected from the plurality of file groups as the current file group until there is no next file group. The file groups with sequence numbers 1, 2, 3, 4 and 5 are copied to the dynamic storage unit 501 or 511. It can be seen that when the time is long enough (sufficiently longer than the plurality of third time period periods), for example, the third time period is 90 seconds, and the 450 th second is reached (i.e., when 5 third time periods are reached), all of the 5 file groups are used as the current file group. In this case, the content in the dynamic storage unit (501 or 511) is not updated, i.e. at least one data file of the last file group (e.g. file group 1) selected randomly is kept in the dynamic storage unit 501.
At least one data file in the current set of files (possibly a set of files with sequence number 1, 2, 3, 4 or 5) is taken as the at least one data file selected from the plurality of data files associated with each pre-fetching user application of the quantitative storage tier. Wherein the size of each file group (i.e., the size of all data files in the file group) is smaller than the storage space of the dynamic storage unit of the corresponding quantitative storage tier.
Alternatively, after copying the selected at least one data file from the second memory to the dynamic storage unit (501 or 511) of the quantitative storage tier assigned for each pre-fetched user application (mezzo takeaway or hectometre takeaway) of the quantitative storage tier, setting a third time period (e.g., 30 seconds, 60 seconds, or 90 seconds) and starting timing, whenever the third time period (e.g., 30 seconds, 60 seconds, or 90 seconds) expires, re-selecting at least one data file randomly/sequentially from the plurality of data files associated with each pre-fetched user application of the quantitative storage tier based on the storage capacity (20M or 10M) of the dynamic storage unit (501 or 511) of the quantitative storage tier assigned for each pre-fetched user application (mezzo takeaway or hectometre takeaway) of the quantitative storage tier, copying the re-selected at least one data file from the second memory to each pre-fetched user application (mezzo takeaway or hectometer) of the quantitative storage tier Dynamic memory cells (20M or 10M) of the assigned fixed-amount storage rank. Wherein the data file of the at least one data file reselected by the random selection may be the same as the previously randomly selected data file. The data file of the at least one data file reselected by the sequential selection may not be identical to any data file previously selected in the sequential selection.
Alternatively, wherein selecting at least one data file from the plurality of data files associated with each pre-fetching user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier allocated for each pre-fetching user application of the quantitative storage tier comprises:
step 1, grouping a plurality of data files associated with each pre-fetching user application of the quantitative storage tier according to a storage capacity (20M or 10M) of a dynamic storage unit (501 or 511) of the quantitative storage tier allocated for each pre-fetching user application of the quantitative storage tier (american takeout or hundredth takeout) to generate N (e.g., N ═ 5) file groups, where N is a natural number greater than 1 and each file group includes at least one data file;
step 2, setting different sequence numbers for each file group in the N file groups, wherein the sequence numbers are from 1 to N (for example, 1, 2, 3, 4 and 5);
step 3, taking the file group with the serial number i equal to 1 as the current file group, wherein N is more than or equal to i and is more than 0;
step 4, setting a third time period (for example, 30 seconds, 60 seconds or 90 seconds) for each dynamic memory unit (501 or 511) of the quantitative memory stage;
step 5, copying at least one data file included in the current file group from the second memory to a dynamic storage unit of the quantitative storage level allocated to each pre-fetching user application of the quantitative storage level, and starting timing;
step 6, when the third time period expires, determining whether i-N (i.e. whether i-5 holds true) holds true, and if yes, ending; if not, taking the file group with the serial number i being i +1 as the current file group, and performing step 5;
wherein the size of each file group is smaller than the storage capacity (20M or 10M) of the dynamic storage unit (501 or 511) of the quantitative storage tier. That is, the total storage capacity of all data files in each file group for the U.S. take-out is less than 20M, and the total storage capacity of all data files in each group for the centurie take-out is less than 10M. For example, the beauty group takeout includes 5 file groups, and the 5 file groups have sequence numbers of 1, 2, 3, 4, and 5.
In step 6, if true, the process ends, meaning that: the file groups with sequence numbers 1, 2, 3, 4 and 5 are copied to the dynamic storage unit 501 or 511, and then the copying is stopped. It can be seen that when the time is long enough (sufficiently longer than the plurality of third time period periods), for example, the third time period is 90 seconds, and the 450 th second is reached (i.e., when 5 third time periods are reached), all of the 5 file groups are used as the current file group. In this case, the content in the dynamic storage unit (501 or 511) is not updated, i.e. at least one data file of the last file group (e.g. file group 5) selected randomly is kept in the dynamic storage unit 501.
Preferably, the (all) plurality of data files associated with each pre-fetching user application of the compressed storage tier are compressed to generate a plurality of compressed data files, the plurality of compressed data files of each pre-fetching user application of the compressed storage tier are copied from the second memory to the dynamic storage unit of the at least one compressed storage tier allocated for each pre-fetching user application of the compressed storage tier.
FIG. 6 is a logic diagram of a compressed store 600 according to an embodiment of the present invention. The running probability of the super-quality aerodyne is 7 percent and the running probability of the super-quality aerodyne of three kingdoms is 6 percent, so the storage level of the royal glory and tremble short video is a compressed storage level. The (all) plurality of data files associated with each pre-fetch user application of the compressed storage tier (either mastership or tribune) are compressed to generate a plurality of compressed data files, the plurality of compressed data files of each pre-fetch user application of the compressed storage tier (mastership or tribune) are copied from the second memory to the dynamic storage units 601, 602, and 603, and 611 and 612 of the at least one compressed storage tier allocated for each pre-fetch user application of the compressed storage tier.
For example, the (all) plurality of data files associated with the mastership aircraft are compressed to generate a plurality of compressed data files, which are copied from the second memory to the dynamic storage units 601, 602 and 603. For example, the (all) plurality of data files associated with the tribune pair are compressed to generate a plurality of compressed data files, and the tribune plurality of compressed data files are copied from the second memory to the dynamic storage units 611 and 612.
Preferably, before obtaining the operation statistic file associated with the target mobile terminal in the mobile internet, the method further includes:
the method comprises the steps of responding to a data prefetching request initiated by a user and used for prefetching data aiming at a data file, associated with a user application, of a target mobile terminal in the mobile Internet, and obtaining a dynamic configuration file associated with the data prefetching. The mobile internet includes a plurality of mobile terminals, base stations, content servers, and the like. The method and the device determine the mobile terminal which initiates the data prefetching request or the mobile terminal which requests to perform data prefetching as the target mobile terminal. Furthermore, the number of user applications included or installed in each mobile terminal (including the target mobile terminal) is greater than 4, e.g. 5, 10, 20 user applications. Concepts related to user applications include system applications, and system applications are typically system level applications determined by the operating system of the mobile terminal.
The dynamic profile includes a start address and an end address of a storage area in the first memory for providing a plurality of dynamic storage units. The storage area in which the plurality of dynamic memory cells are provided may be a continuous storage area at an address or a discontinuous storage area at an address in the first memory. The dynamic profile further includes a storage capacity of each of the plurality of dynamic storage units. In general, the storage capacity of each dynamic storage unit may be set according to the size and number of a plurality of data files applied per user within a mobile terminal (target mobile terminal) so that the storage capacity of each dynamic storage unit can accommodate a corresponding at least one data file.
Creating a dynamic index area in a first memory of the target mobile terminal, and creating a plurality of dynamic storage units for storing data files in the first memory according to the dynamic configuration file, wherein the storage capacity of each dynamic storage unit in the plurality of dynamic storage units is determined according to the dynamic configuration file. Therefore, the method creates a plurality of dynamic storage units for storing the data files in the first storage according to the storage capacity of each dynamic storage unit.
And generating a dynamic index table in the dynamic index area, wherein the dynamic index table comprises a plurality of index entries, and each index entry is used for recording the application identification, the starting address, the ending address, the storage capacity and the storage level of a corresponding dynamic storage unit in a plurality of dynamic storage units. The application identifier is an identifier of a user application to which the dynamic storage unit belongs, the starting address is a starting address of a storage space of the dynamic storage unit, the ending address is an ending address of the storage space of the dynamic storage unit, and the storage capacity is the storage capacity and the storage level of the storage space of the dynamic storage unit. For example, the index entry of the dynamic storage unit includes: payment treasure application, 7000H00, 8FFFH, 8Kb, decrement storage level. When any index entry in the dynamic index table relates to updated data, the corresponding index entry in the dynamic index table is updated with the updated data.
Wherein the first memory is a random access memory and the second memory is a read only memory. And updating the corresponding index entry in the dynamic index table according to the storage level set for the dynamic storage unit. Wherein the first time period is 30 seconds, the second time period is 60 seconds, and wherein the third time period is 90 seconds. Wherein the first predetermined number is 5 and the second predetermined number is 8.
It should be understood that, in the present application, when copying one or more data files from the second memory or other locations to the dynamic storage unit of any storage rank, the original data files in the dynamic storage unit of any storage rank are deleted and the new one or more data files are copied to the dynamic storage unit of any storage rank.
Further, when data prefetching ends, or according to a user's operation, the dynamic index area or all the dynamic memory cells are deleted/reset/cleared.
FIG. 7 is a block diagram of a system 700 for prefetching data based on navigation information according to an embodiment of the present invention. As shown in fig. 7, the system 700 includes: parsing means 701, obtaining means 702, sorting means 703, setting means 704, allocating means 705, prefetching means 706 and initializing means 707.
The parsing device 701 is configured to obtain an operation statistics file associated with a target mobile terminal in the mobile internet, and parse the operation statistics file to obtain operation location information of the target mobile terminal, where the operation location information is a set of coordinate points, and the set of coordinate points includes a plurality of location coordinate points that have been reached by the target mobile terminal within a predetermined number of natural days. The mobile internet includes a plurality of mobile terminals, base stations, content servers, and the like. The method and the device determine the mobile terminal which initiates the data prefetching request or the mobile terminal which requests to perform data prefetching as the target mobile terminal. Furthermore, the number of user applications included or installed in each mobile terminal (including the target mobile terminal) is greater than 4, e.g. 5, 10, 20 user applications. Concepts related to user applications include system applications, and system applications are typically system level applications determined by the operating system of the mobile terminal.
The operation statistical file comprises a position data table, and the application sets or creates the position data table for the target mobile terminal. The location data table includes a plurality of data items and the content of each data item is a triplet < location coordinate point, start time, end time > or a triplet < application name, location coordinate point, start time, end time, accumulated time length >. For example, the data item is < caf, 20:00, 8.6.2018, 21:50, 6.8.2018, or < caf, 20:00, 8.6.8.2018, 21:50, 110 minutes.
According to the method and the device, all position coordinate points in each data item of a position data table form a coordinate point set, the coordinate point set is used as operation position information, and the position data table is used for recording the operation position information of the target mobile terminal in real time. That is, in a case where the mobile terminal is operating, the operating system or the control device may count and record location information of the mobile terminal, for example, a location coordinate point, a start time (at the current location coordinate point), an end time (at the current location coordinate point), and the like, in real time. Wherein. The set of coordinate points includes a plurality of location coordinate points that the target mobile terminal has reached during a statistical time interval (a predetermined number of natural days). Therefore, the location data table records location information (location coordinate point, operation location information) within a statistical time interval (a predetermined number of natural days) from a specific time point in the past to a current time point of the mobile terminal. Wherein the application stores a predetermined number (e.g. 100, 200, 300) of data items for the (target) mobile terminal or stores data items for each (target) mobile terminal for a predetermined length of time (e.g. 10 days, 20 days, 30 days) in the operation statistics file. Wherein the predetermined number of natural days is 10 natural days, 20 natural days, 30 natural days, or any reasonable number of natural days. The method comprises the steps of obtaining a current position coordinate point of a target mobile terminal in a current natural day, calculating a linear distance between the current position coordinate point and each position coordinate point in a coordinate point set, obtaining navigation information of the target mobile terminal when the linear distance between the current position coordinate point and each position coordinate point in the coordinate point set is larger than a distance threshold value, and determining a destination of the target mobile terminal based on the navigation information.
Wherein no position coordinate point within the set of coordinate points has a linear distance from any single one of the plurality of position coordinate points that is greater than 5 meters, 6 meters, 8 meters, or 10 meters, i.e., any position coordinate point within the set of coordinate points has position coordinate points that are positionally or temporally proximate, and the linear distance between position coordinate points that are positionally or temporally proximate is less than or equal to 5 meters, 6 meters, 8 meters, 10 meters, or any reasonable distance. Alternatively, when the target mobile terminal moves, whenever the current position of the target mobile terminal is a distance equal to 5 meters, 6 meters, 8 meters, 10 meters, or any reasonable distance from the last position coordinate point (a position coordinate point that is positionally or temporally adjacent, or a position coordinate point that is closest in distance) to the current position coordinate point(s), the (coordinate point(s) of the current position is determined as the current position coordinate point. In this case, the distances between the position coordinate points may be equal. Every time 5 seconds, 10 seconds, 15 seconds, 30 seconds, or any reasonable time elapses, (the coordinate point of) the current position of the target mobile terminal is determined as the current position coordinate point. In this case, when the target mobile terminal does not move at the expiration of 5 seconds, 10 seconds, 15 seconds, 30 seconds, or any reasonable time, the current position coordinate point coincides with the last position coordinate point recorded. In this case, the distance between the position coordinate points may be dense (the mobile terminal moves at a low speed) or loose (the mobile terminal moves at a high speed, for example, by riding a car, a train, or the like).
In the present application, at the end of the current natural day, each data item associated with each position coordinate point that the target mobile terminal has reached within the current natural day is saved into the position data table. For example, at 24 pm on 6/8/2018 (i.e., 0 pm on 6/9/2018), each data item < position coordinate point, start time, end time > associated with each position coordinate point reached by the target mobile terminal within 6/8/2018 is saved into the position data table. That is, when the comparison between the straight-line distance between the current position coordinate point and each position coordinate point in the set of coordinate points and the distance threshold is performed within the current natural day, the position coordinate point within the current natural day is not included in the set of coordinate points. For example, when the comparison of the straight-line distance between the current position coordinate point and each position coordinate point in the set of coordinate points with the distance threshold is performed within 6/8 of 2018, the position coordinate points within 6/8 of 2018 are not included in the set of coordinate points. For example, in a case where the predetermined number of natural days is 10 natural days, the coordinate point set includes each of the position coordinate points that the target mobile terminal has reached within 10 natural days, that is, 29 days 5 and 29 days 2018 and 7 days 6 and 7 months 2018.
FIG. 2 is a logic diagram of an ordered list 200 according to an embodiment of the invention. As shown in fig. 2, the residential site 202 is a place where the user of the target mobile terminal lives, the office site 203 is a place where the user of the target mobile terminal works, and the restaurant 204 is a place where the user of the target mobile terminal takes lunch. Within the residence 202, there are a plurality of location coordinate points. The plurality of location coordinate points of the residence 202 are used to represent a plurality of locations, e.g., a bedroom, a living room, and the like, reached by the user holding the target mobile terminal at the residence 202 (home). The plurality of location coordinate points of the office 203 are used to represent a plurality of locations, for example, at a work place, in a conference room, which the user has reached by holding the target mobile terminal at the office 203. The location coordinate point of the restaurant 204 is used to represent the location of the user holding the target mobile terminal for meals in the restaurant.
Wherein the plurality of location coordinate points between the residence 202 and the office 203 are used to indicate a plurality of location coordinate points that have been reached by the user of the target mobile terminal to work or to work. It should be appreciated that the present application demonstrates the multiple location coordinate points that a user has arrived at during work or work in a simple path, while in practice, the user may be routed through different paths during work or work, and possibly at different locations (e.g., one side or the other side of the road, etc.) on the same path. Similarly, a plurality of location coordinate points between the office 203 and the restaurant 204 are used to indicate a plurality of location coordinate points that the user of the target mobile terminal has reached when going to a meal or returning. As described above, depending on how the position coordinate points are collected, the plurality of position coordinate points of the target mobile terminal may be dense, overlapped, dispersed, and the like. However, no position coordinate point within the set of coordinate points is present that is linearly more than 5, 6, 8 or 10 meters away from any single one of the plurality of position coordinate points, i.e., any position coordinate point within the set of coordinate points has (positionally or temporally) neighboring position coordinate points, and the linear distance between (positionally or practically) neighboring position coordinate points is less than or equal to 5, 6, 8, 10 or any reasonable distance.
An obtaining device 702, configured to obtain a current position coordinate point of the target mobile terminal in a current natural day, calculate a linear distance between the current position coordinate point and each position coordinate point in the coordinate point set, and obtain navigation information of the target mobile terminal and determine a destination of the target mobile terminal based on the navigation information when the linear distance between the current position coordinate point and each position coordinate point in the coordinate point set is greater than a distance threshold. Wherein the distance threshold is any reasonable value such as 50 meters, 100 meters or 200 meters.
For example, the distance between positionally or temporally adjacent or nearby position coordinate points is 10 meters and the distance threshold is 50 meters. As shown in FIG. 2, assuming that the current time is 6/8.2018 and that the distance between current position coordinate point 206 and any position coordinate point in residence 202, route 205, restaurant 204, restaurant route, etc. is greater than 20 meters, position coordinate point 206 is 10 meters apart from office 203 (the distance between current position coordinate point 207 and the closest position coordinate point in office 203 is 20 meters apart from the closest position coordinate point in office 203. the distance between current position coordinate point 208 and the closest position coordinate point in office 203 is 30 meters apart from the closest position coordinate point in office 203. the distance between current position coordinate point 209 and the closest position coordinate point in office 203 is 40 meters apart from the closest position coordinate point in office 203. the distance between current position coordinate point 210 and the closest position coordinate point in office 203 is 50 meters apart from the current position coordinate point 210 and the residence 202 (i.e., the distance between position coordinate point 210 and residence 202, A distance of more than 60 meters from any location coordinate point within the route 205, restaurant 204, restaurant route, etc.). At this time, the condition that the straight-line distance between the current position coordinate point 210 and each position coordinate point in the coordinate point set (including the residence 202, the office 203, the route 205, the restaurant 204, and the restaurant route) is greater than the distance threshold is not satisfied, because the distance between the current position coordinate point 210 and the nearest position coordinate point among the plurality of position coordinate points in the office 203 is exactly 50 meters.
The current position coordinate point changes from position coordinate point 206 to position coordinate point 210 over time because the user is holding the target mobile terminal in continuous motion. When a user holds a target mobile terminal to arrive at a location coordinate point 211, the distance between the current location coordinate point 211 and the nearest location coordinate point of the plurality of location coordinate points in the office 203 is 60 meters, and since 60 meters is greater than 50 meters, it can be determined that the straight-line distance between the current location coordinate point 211 and each (arbitrary) location coordinate point in the set of coordinate points is greater than the distance threshold, because the straight-line distance between the current location coordinate point 211 and the nearest location coordinate point in the set of coordinate points is 60 meters. In this case, a location coordinate point (or a location, or a place, or a road, etc.) that the user (or the target mobile terminal) has traveled 10 natural days, 20 natural days, 30 natural days, or any reasonable number of natural days without having arrived may be scanned.
In this case, the present application acquires navigation information of the target mobile terminal and determines a destination of the target mobile terminal based on the navigation information. As shown in fig. 2, the destination of the target mobile terminal is a location coordinate point 212. Since the location coordinate point 212 is a location coordinate point that the target mobile terminal has not reached within the current time of the current natural day and 10 natural days, 20 natural days, 30 natural days, or any reasonable number of natural days, it is represented by a dashed circle. The method for acquiring the navigation information of the target mobile terminal comprises the following steps: acquiring a screen image of each user application in at least one user application in a foreground running state in a target mobile terminal; image recognition is performed on the screen image of each user application to determine navigation information, wherein the navigation information includes a start position, an end position, a path, a distance, and an arrival time. For example, a user application that has run in the foreground to be in the foreground running state includes: high-navigation, WeChat and Paibao. Then, the application acquires the screen image (screen shot image, screen running image) of each user application in the high-navigation, WeChat and Payment treasures, and performs image recognition on the screen image of the high-navigation map, the WeChat and the Payment treasures. Based on the result of the image recognition, for example, when information such as a map, a start position, an end position, a path, a distance, and an arrival time appears in the image recognition result, it may be determined that the user is navigating using a high-navigation application, and that an application including information such as a map, a start position, an end position, a path, a distance, and an arrival time in the screen image is a navigation application. Information such as a map, a start position, an end position, a path, a distance, and an arrival time in the screen image is determined as the navigation information.
Alternatively, wherein the acquiring of the navigation information of the target mobile terminal comprises: the acquisition device sends a navigation information acquisition request to a navigation application in a foreground running state or a background running state in the target mobile terminal. For example, the high-navigation, WeChat and Payment treasures send navigation information acquisition requests. And after receiving the navigation information acquisition request, the navigation application returns the navigation information to the acquisition device, namely, the acquisition device can receive the navigation information from the navigation application in the foreground running state or the background running state. The navigation information includes information such as a map, a start position, an end position, a route, a distance, and an arrival time. For example, after receiving the navigation information acquisition request, the high-altitude navigation device returns the navigation information to the acquisition device, that is, the acquisition device can receive the navigation information from the high-altitude navigation device in the foreground operating state or the background operating state. And the WeChat and Payment treasures do not perform any processing or response to the received navigation information acquisition request.
Determining a destination of a target mobile terminal based on the navigation information includes: and determining the end position in the navigation information as the destination of the target mobile terminal. I.e., the end location may be equivalent to the destination, and the destination may be an address, a house number, latitude and longitude coordinates, etc.
The sorting device 703 is configured to determine a location type and a location name of a destination of the target mobile terminal, determine an operation probability of each user application at the destination of a plurality of user applications in the target mobile terminal based on the location type and the location name, and sort the plurality of user applications in a descending order of the operation probability based on the operation probability of each user application to generate a sorted list.
Wherein determining the venue type and the venue name of the destination of the target mobile terminal comprises:
and searching in a navigation database according to the destination of the target mobile terminal, and determining the place name of the destination according to the search result. For example, if the destination of the target mobile terminal is 10, the country is 10, the navigation database is searched according to 10, and the place name of which the search result is the destination is the university of foreign economic trade.
And searching in a directory database according to the place name of the destination, and determining the place type of the destination according to the search result. For example, a search is made in the foreign economic trade university directory database according to the place name of the destination, and the place type of the destination is determined as an educational institution, a higher school, a university, or the like according to the search result.
Determining an operational probability at the destination for each of a plurality of user applications within a target mobile terminal based on the venue type and venue name comprises:
performing a combined search in a description information database based on the venue type and venue name of the destination to determine description information of the destination. That is, category information is determined based on the location type of the destination and directory information is determined based on the location name of the destination, a combined search is performed in the descriptive information database based on the category information and the directory information (for example, first category descriptive information is determined in the information database by the location type or the category information, then distinctive descriptive information of the destination is determined from the location name or the directory information, and then the category descriptive information and the distinctive descriptive information are combined to form descriptive information of the destination) to determine descriptive information of the destination. For example, if the type of place (coffee shop) of the destination determines that the category information is a coffee shop and the name of place (cafe) of the destination determines that the directory information is a cafe, then a combined search is performed in the description information database based on the category information "coffee shop" and the directory information "cafe" to determine that the description information of the destination is "cafe", which is a place where modern people use for party leisure, business communication; prevail in every large, medium and small city. The coffee shop has its unique attractiveness because it sells not only coffee, but also a quality, culture and concept; the gawa cafe features a game theme cafe that provides more comfortable game space for the customer.
And comparing the description information of the destination with the description information of each user application in a plurality of user applications in the target mobile terminal to determine the similarity Si between the description information of each user application and the description information of the destination. The description information of the application used by the user can be, for example, description information provided by an application developer or description information customized by the user. For example, the description information of the royal glory is "the game is a dota-like game, the playing method in the game is mainly competitive fight, the players play PVP fight in various modes such as 1V1, 3V3 and 5V5, the player can also play adventure mode of the game, the player can play a pass mode of PVE, and the player can play a ranking game after the conditions are met. In 2016, 11 months, the grand book of Rong of King 2016, the grand ceremony of the Chinese entertainment index, "the price board of Chinese I P-the game board top 10; currently, the daily active users are 8000 ten thousand and the like. The content comparison of the description information may be performed by various methods such as semantic comparison of texts and keyword comparison. And the value range of the similarity Si is 0-1, namely 0% to 100%.
According to the method, the operation probability Pi of each user application is determined according to the similarity Si of the description information of each user application and the description information of the destination. Wherein determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination comprises:
determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination and the conversion coefficient F:
and Pi is Si multiplied by F, wherein Na is more than or equal to i and more than or equal to 1, Na is the number of user applications in the target mobile terminal, Na is a natural number and Na is more than 4. Wherein F is 0.5 or 1.
In the example shown in fig. 2, based on the location type coffee shop of the destination and the location name cafe of the destination, it is determined that the similarity of the description information of each user application to the description information of the destination is 18% for the wanner, 16% for the tremble short video, 15% for the kuly video, 13% for the mobile phone panning, 10% for the mei group takeout, 9% for the kumi takeout, 7% for the mastership, 6% for the triband very little for the three kingdoms, and 0% for the lazy english, and the conversion coefficient F is 1, then the operation probability of each user application at the destination (cafe) among the plurality of user applications in the target mobile terminal is determined based on the location type and the location name: the operational probability of the royal is 18%, the operational probability of the tremble short video is 16%, the operational probability of the kukou video is 15%, the operational probability of the mobile phone panning is 13%, the operational probability of the American group takeout is 10%, the operational probability of the Baidu takeout is 9%, the operational probability of the masterwork runaway is 7%, the operational probability of the Sanguo super-duality is 6%, and the operational probability of the lazy English is 0%. Determining an operation probability of each user application of the plurality of user applications within the target mobile terminal at the destination (gawa cafe) based on the venue type and the venue name with a conversion factor F of 0.5: the running probability of the royal is 9%, the running probability of the tremble short video is 8%, the running probability of the Youkou video is 7.5%, the running probability of the mobile phone Taobao is 6.5%, the running probability of the American group takeout is 5%, the running probability of the Baidu takeout is 4.5%, the running probability of the masterwork galloping is 3.5%, the running probability of the three kingdoms extremely none is 3%, and the running probability of the lazy English is 0%.
Setting means 704 is configured to determine at least one pre-fetch user application of the plurality of user applications that can be pre-loaded from the second memory into the first memory according to the ordered list, and set a storage level for each pre-fetch user application of the at least one pre-fetch user application according to the ordered list, wherein the storage level comprises: a decrement storage stage, an increment storage stage, a quantitative storage stage and a compression storage stage; and setting the storage level of the dynamic storage unit allocated to each pre-fetching user application according to the storage level of each pre-fetching user application.
Wherein determining from the ordered list a plurality of pre-fetch user applications of the plurality of user applications that can be pre-loaded from a second memory into a first memory comprises: when the number of user applications in the ordered list having an operating probability greater than the pre-fetch threshold (e.g., 5%, 10%) is greater than 0 (e.g., 10), determining the user applications in the ordered list having an operating probability greater than the pre-fetch threshold as pre-fetch user applications that can be pre-loaded from the second memory into the first memory to determine at least one pre-fetch user application; when the number of user applications in the ordered list having a running probability greater than the pre-fetch threshold (e.g., 5%, 10%) is equal to 0, all user applications (e.g., 15) in the ordered list are determined as pre-fetched user applications that can be pre-loaded from the second memory into the first memory to determine at least one pre-fetched user application.
Wherein setting a storage level for each of at least one pre-fetch user application according to the ordered list comprises:
setting a storage level of the pre-fetch user application in the ordered list having an operational probability greater than a high probability threshold (e.g., 15%) as a decrement storage level;
setting a storage level of the pre-fetch user application in the sorted list having a probability of operation less than or equal to a high probability threshold (e.g., 15%) and greater than a medium probability threshold (e.g., 12%) as an incremental storage level;
setting a storage level of the pre-fetched user applications in the sorted list having an operating probability less than or equal to a medium probability threshold (e.g., 12%) and greater than a low probability threshold (e.g., 8%) as a quantitative storage level;
setting a storage level of the pre-fetched user applications in the sorted list having an operating probability less than or equal to a low probability threshold (e.g., 8%) as a compressed storage level. Wherein the pre-fetching of user applications has a running probability of more than 5%.
The allocating means 705 is adapted to allocate at least one dynamic memory location for each pre-fetch user application of the reduced memory level, at least one dynamic memory location for each pre-fetch user application of the compressed memory level, one dynamic memory location for each pre-fetch user application of the increased memory level and one dynamic memory location for each pre-fetch user application of the quantitative memory level. Wherein the storage capacity of each of the at least one dynamic storage unit allocated for each of the pre-fetched user applications of the reduced storage tier may be the same or different, and the storage capacity of each of the at least one dynamic storage unit allocated for each of the pre-fetched user applications of the compressed storage tier may be the same or different.
The total storage capacity of the at least one dynamic storage unit allocated for the pre-fetching user application of each reduced storage tier is capable of accommodating all data files of the pre-fetching user application of the corresponding reduced storage tier. The total storage capacity of the at least one dynamic storage unit allocated for the pre-fetching user application of each compressed storage tier is capable of accommodating all compressed data files of the pre-fetching user application of the corresponding compressed storage tier. Each pre-fetching user application of a respective incremental storage tier is allocated a dynamic storage unit capable of holding all data files of the pre-fetching user application of the respective incremental storage tier. One dynamic memory unit is allocated to each pre-fetching user application of a quantitative memory rank to be able to accommodate all data files of the pre-fetching user application of the corresponding quantitative memory rank.
The prefetching means 706 is configured to prefetch data from the second memory for the data file associated with each prefetching user application according to the storage level of the prefetching user application, and includes:
copying a plurality of data files associated with each pre-fetch user application of the reduced storage tier from the second memory to the dynamic storage unit of at least one reduced storage tier allocated for each pre-fetch user application of the reduced storage tier, setting a first time period for the dynamic storage unit of each reduced storage tier upon completion of the copying and starting timing, deleting a first predetermined number of data files in the dynamic storage unit of each reduced storage tier each time the first time period expires;
selecting at least one base data file among the plurality of data files associated with each pre-fetching user application of the incremental storage tier, copying the at least one base data file of each pre-fetching user application of the incremental storage tier from the second memory to the dynamic storage unit of the incremental storage tier allocated for each pre-fetching user application of the incremental storage tier, setting a second time period and starting timing for the dynamic storage unit of the incremental storage tier upon completion of the copying, wherein a second predetermined number of data files among the plurality of data files associated with each pre-fetching user application of the incremental storage tier are copied from the second memory to the dynamic storage unit of the incremental storage tier allocated for each pre-fetching user application of the incremental storage tier each time the second time period expires;
selecting at least one data file from the plurality of data files associated with each pre-fetch user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier assigned for each pre-fetch user application of the quantitative storage tier and copying the selected at least one data file from the second memory to the dynamic storage unit of the quantitative storage tier assigned for each pre-fetch user application of the quantitative storage tier; and
the method further includes compressing the plurality of data files associated with each pre-fetch user application of the compressed storage tier to generate a plurality of compressed data files, copying the plurality of compressed data files of each pre-fetch user application of the compressed storage tier from the second memory to a dynamic storage unit of at least one compressed storage tier allocated for each pre-fetch user application of the compressed storage tier.
The initialization device 707 is configured to, in response to a data prefetching request initiated by a user for prefetching data of a data file associated with a user application of a target mobile terminal in the mobile internet, obtain a dynamic configuration file associated with the data prefetching;
creating a dynamic index area in a first memory of the target mobile terminal, and creating a plurality of dynamic storage units for storing data files in the first memory according to the dynamic configuration file, wherein the storage capacity of each of the plurality of dynamic storage units is determined according to the dynamic configuration file; and
and generating a dynamic index table in the dynamic index area, wherein the dynamic index table comprises a plurality of index entries, and each index entry is used for recording the application identification, the starting address, the ending address, the storage capacity and the storage level of a corresponding dynamic storage unit in a plurality of dynamic storage units.

Claims (10)

1. A method for data prefetching based on navigation information for mobile internet, the method comprising:
acquiring an operation statistical file associated with a target mobile terminal in a mobile internet, and analyzing the operation statistical file to acquire operation position information of the target mobile terminal, wherein the operation position information is a coordinate point set which comprises a plurality of position coordinate points reached by the target mobile terminal within a preset number of natural days;
acquiring a current position coordinate point of a target mobile terminal in a current natural day, calculating a linear distance between the current position coordinate point and each position coordinate point in the coordinate point set, and acquiring navigation information of the target mobile terminal and determining a destination of the target mobile terminal based on the navigation information when the linear distances between the current position coordinate point and each position coordinate point in the coordinate point set are both greater than a distance threshold;
determining a place type and a place name of a destination of the target mobile terminal, determining an operation probability of each user application at the destination in a plurality of user applications in the target mobile terminal based on the place type and the place name, and sorting the plurality of user applications in a descending order of the operation probability based on the operation probability of each user application to generate a sorted list;
determining at least one of the plurality of user applications that can be preloaded from the second memory into the first memory according to the ordered list, and setting a storage level for each of the at least one pre-fetching user application according to the ordered list, wherein the storage level comprises: a decrement storage stage, an increment storage stage, a quantitative storage stage and a compression storage stage;
allocating at least one dynamic memory unit for each pre-fetching user application of the decrement storage level, allocating at least one dynamic memory unit for each pre-fetching user application of the compression storage level, allocating one dynamic memory unit for each pre-fetching user application of the increment storage level and allocating one dynamic memory unit for each pre-fetching user application of the quantitative storage level;
setting a storage level for a dynamic storage unit allocated to each pre-fetching user application according to the storage level of each pre-fetching user application;
prefetching data from the second memory for the data file associated with each prefetched user application according to the storage level of the prefetched user application, comprising:
copying all data files associated with each pre-fetching user application of the reduced storage tier from the second memory to the dynamic storage unit of at least one reduced storage tier allocated for each pre-fetching user application of the reduced storage tier, setting a first time period for the dynamic storage unit of each reduced storage tier upon completion of the copying and starting timing, deleting a first predetermined number of data files in the dynamic storage unit of each reduced storage tier each time the first time period expires;
selecting at least one base data file among the plurality of data files associated with each of the pre-fetch user applications of the incremental storage tier, copying the at least one base data file of each of the pre-fetch user applications of the incremental storage tier from the second memory to a dynamic storage unit of the incremental storage tier allocated for each of the pre-fetch user applications of the incremental storage tier, setting a second time period for the dynamic storage unit of the incremental storage tier and starting clocking when the copying is complete, wherein a second predetermined number of data files of the plurality of data files associated with each of the pre-fetch user applications of the incremental storage tier are copied from the second memory to the dynamic storage unit of the incremental storage tier allocated for each of the pre-fetch user applications of the incremental storage tier each time period expires;
selecting at least one data file from the plurality of data files associated with each pre-fetch user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier assigned for each pre-fetch user application of the quantitative storage tier and copying the selected at least one data file from the second memory to the dynamic storage unit of the quantitative storage tier assigned for each pre-fetch user application of the quantitative storage tier; and
the method further includes compressing the plurality of data files associated with each pre-fetch user application of the compressed storage tier to generate a plurality of compressed data files, copying the plurality of compressed data files of each pre-fetch user application of the compressed storage tier from the second memory to a dynamic storage unit of at least one compressed storage tier allocated for each pre-fetch user application of the compressed storage tier.
2. The method of claim 1, comprising a plurality of mobile terminals within the mobile internet and determining a mobile terminal initiating a data pre-fetch request as a target mobile terminal, wherein the number of user applications is greater than 4; the operation statistical file comprises a position data table, wherein the position data table comprises a plurality of data items, and the content of each data item is < position coordinate point, starting time and ending time >; and all position coordinate points in each data item in a position data table are combined into a coordinate point set, and the coordinate point set is used as the running position information, wherein the position data table is used for recording the running position information of the target mobile terminal in real time.
3. The method according to any of claims 1-2, wherein a predetermined number of data items are kept for each user application or a predetermined number of data items within a natural day or a predetermined length of time are kept for each user application in the location data table of the running statistics file; wherein the predetermined number of natural days is 10 natural days, 20 natural days, or 30 natural days, wherein the predetermined time length is 240 hours; wherein no position coordinate point in the coordinate point set has a straight-line distance greater than 5 meters, 6 meters, 8 meters or 10 meters from any single position coordinate point in the plurality of position coordinate points, or whenever the distance between the current position of the target mobile terminal and the last position coordinate point is equal to 5 meters, 6 meters, 8 meters or 10 meters, determining the current position as the current position coordinate point; or determining the current position of the target mobile terminal as a current position coordinate point every time 5 seconds passes; the distance threshold is 50 meters, 100 meters or 200 meters; wherein each data item associated with each position coordinate point reached by the target mobile terminal within the current natural day is saved into the position data table at the end of the current natural day.
4. The method of claim 3, wherein obtaining navigation information for the target mobile terminal comprises:
acquiring a screen image of each user application in at least one user application in a foreground running state in a target mobile terminal;
performing image recognition on a screen image of each user application to determine navigation information, wherein the navigation information comprises a start position, an end position, a path, a distance and an arrival time;
or wherein the acquiring of the navigation information of the target mobile terminal comprises:
sending a navigation information acquisition request to a navigation application in a foreground running state or a background running state in a target mobile terminal;
and receiving navigation information from the navigation application in the foreground running state or the background running state.
5. The method of claim 4, determining a destination of a target mobile terminal based on the navigation information comprises: determining the end position in the navigation information as the destination of the target mobile terminal; determining the venue type and the venue name of the destination of the target mobile terminal includes:
searching in a navigation database according to the destination of the target mobile terminal, and determining the place name of the destination according to the search result; and
searching in a directory database according to the place name of the destination, and determining the place type of the destination according to a search result;
determining an operational probability at the destination for each of a plurality of user applications within a target mobile terminal based on the venue type and venue name comprises:
performing a combined search in a description information database based on the venue type and the venue name of the destination to determine description information of the destination;
comparing the description information of the destination with the description information of each user application in a plurality of user applications in the target mobile terminal to determine the similarity Si between the description information of each user application and the description information of the destination; and
determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination;
determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination comprises the following steps:
determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination and the conversion coefficient F:
pi is Si multiplied by F, wherein Na is more than or equal to i and more than or equal to 1, Na is the number of user applications in the target mobile terminal, Na is a natural number and N is more than 4;
wherein F is 0.5 or 1.
6. A system for data prefetching based on navigation information for mobile internet, the system comprising:
the analysis device is used for acquiring an operation statistical file associated with a target mobile terminal in the mobile Internet, and analyzing the operation statistical file to acquire operation position information of the target mobile terminal, wherein the operation position information is a coordinate point set which comprises a plurality of position coordinate points reached by the target mobile terminal within a preset number of natural days;
the acquiring device is used for acquiring a current position coordinate point of the target mobile terminal in a current natural day, calculating a linear distance between the current position coordinate point and each position coordinate point in the coordinate point set, and acquiring navigation information of the target mobile terminal and determining a destination of the target mobile terminal based on the navigation information when the linear distance between the current position coordinate point and each position coordinate point in the coordinate point set is greater than a distance threshold;
a sorting device for determining the place type and the place name of the destination of the target mobile terminal, determining the operation probability of each user application at the destination in a plurality of user applications in the target mobile terminal based on the place type and the place name, and sorting the plurality of user applications in a descending order of the operation probability based on the operation probability of each user application to generate a sorted list;
setting means for determining at least one pre-fetch user application of the plurality of user applications that can be pre-loaded from the second memory into the first memory according to the ordered list, and setting a storage level for each pre-fetch user application of the at least one pre-fetch user application according to the ordered list, wherein the storage level comprises: a decrement storage stage, an increment storage stage, a quantitative storage stage and a compression storage stage; setting a storage level for a dynamic storage unit allocated to each pre-fetching user application according to the storage level of each pre-fetching user application;
the allocation device allocates at least one dynamic storage unit for each pre-fetching user application of the decrement storage level, allocates at least one dynamic storage unit for each pre-fetching user application of the compression storage level, allocates one dynamic storage unit for each pre-fetching user application of the increment storage level and allocates one dynamic storage unit for each pre-fetching user application of the quantitative storage level;
prefetching means for prefetching data from the second memory for the data file associated with each prefetched user application according to the storage level of the prefetched user application, comprising:
copying all data files associated with each pre-fetching user application of the reduced storage tier from the second memory to the dynamic storage unit of at least one reduced storage tier allocated for each pre-fetching user application of the reduced storage tier, setting a first time period for the dynamic storage unit of each reduced storage tier upon completion of the copying and starting timing, deleting a first predetermined number of data files in the dynamic storage unit of each reduced storage tier each time the first time period expires;
selecting at least one base data file among the plurality of data files associated with each pre-fetching user application of the incremental storage tier, copying the at least one base data file of each pre-fetching user application of the incremental storage tier from the second memory to the dynamic storage unit of the incremental storage tier allocated for each pre-fetching user application of the incremental storage tier, setting a second time period and starting timing for the dynamic storage unit of the incremental storage tier upon completion of the copying, wherein a second predetermined number of data files among the plurality of data files associated with each pre-fetching user application of the incremental storage tier are copied from the second memory to the dynamic storage unit of the incremental storage tier allocated for each pre-fetching user application of the incremental storage tier each time the second time period expires;
selecting at least one data file from the plurality of data files associated with each pre-fetch user application of the quantitative storage tier based on the storage capacity of the dynamic storage unit of the quantitative storage tier assigned for each pre-fetch user application of the quantitative storage tier and copying the selected at least one data file from the second memory to the dynamic storage unit of the quantitative storage tier assigned for each pre-fetch user application of the quantitative storage tier; and
the method further includes compressing the plurality of data files associated with each pre-fetch user application of the compressed storage tier to generate a plurality of compressed data files, copying the plurality of compressed data files of each pre-fetch user application of the compressed storage tier from the second memory to a dynamic storage unit of at least one compressed storage tier allocated for each pre-fetch user application of the compressed storage tier.
7. The system of claim 6, comprising a plurality of mobile terminals within the mobile internet and determining a mobile terminal initiating a data prefetch request as a target mobile terminal, wherein the number of user applications is greater than 4; the operation statistical file comprises a position data table, wherein the position data table comprises a plurality of data items, and the content of each data item is < position coordinate point, starting time and ending time >; all position coordinate points in each data item of the position data table are combined into a coordinate point set, and the coordinate point set is used as operation position information, wherein the position data table is used for recording the operation position information of the target mobile terminal in real time.
8. The system according to any one of claims 6 to 7, wherein a predetermined number of data items are stored for each user application, or a predetermined number of data items within a natural day or a predetermined length of time are stored for each user application in the location data table of the running statistics file; wherein the predetermined number of natural days is 10 natural days, 20 natural days, or 30 natural days, wherein the predetermined time length is 240 hours; wherein no position coordinate point in the coordinate point set has a straight-line distance greater than 5 meters, 6 meters, 8 meters or 10 meters from any single position coordinate point in the plurality of position coordinate points, or whenever the distance between the current position of the target mobile terminal and the last position coordinate point is equal to 5 meters, 6 meters, 8 meters or 10 meters, determining the current position as the current position coordinate point; or determining the current position of the target mobile terminal as a current position coordinate point every time 5 seconds passes; the distance threshold is 50 meters, 100 meters or 200 meters; wherein at the end of the current natural day, each data item associated with each location coordinate point reached by the target mobile terminal within the current natural day is saved into the location data table.
9. The system of claim 8, wherein the means for obtaining navigation information of the target mobile terminal comprises:
acquiring a screen image of each user application in at least one user application in a foreground running state in a target mobile terminal;
performing image recognition on a screen image of each user application to determine navigation information, wherein the navigation information comprises a start position, an end position, a path, a distance and an arrival time;
or, the acquiring means acquiring the navigation information of the target mobile terminal includes:
sending a navigation information acquisition request to a navigation application in a foreground running state or a background running state in a target mobile terminal;
and receiving navigation information from the navigation application in the foreground running state or the background running state.
10. The system of claim 9, determining a destination of a target mobile terminal based on the navigation information comprises: determining the end position in the navigation information as the destination of the target mobile terminal; the determining, by the ranking means, the venue type and the venue name of the destination of the target mobile terminal includes:
searching in a navigation database according to the destination of the target mobile terminal, and determining the place name of the destination according to the search result; and
searching in a directory database according to the place name of the destination, and determining the place type of the destination according to a search result;
the ranking means determining an operation probability at the destination for each of a plurality of user applications within the target mobile terminal based on the venue type and the venue name comprises:
performing a combined search in a description information database based on the venue type and the venue name of the destination to determine description information of the destination;
comparing the description information of the destination with the description information of each user application in a plurality of user applications in the target mobile terminal to determine the similarity Si between the description information of each user application and the description information of the destination; and
determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination;
the sequencing means determining the operation probability Pi of each user application according to the similarity Si between the description information of each user application and the description information of the destination comprises:
determining the operation probability Pi of each user application according to the similarity Si of the description information of each user application and the description information of the destination and the conversion coefficient F:
pi is Si multiplied by F, wherein Na is more than or equal to i and more than or equal to 1, Na is the number of user applications in the target mobile terminal, Na is a natural number and Na is more than 4;
wherein F is 0.5 or 1.
CN201810943816.6A 2018-08-18 2018-08-18 Method and system for prefetching data based on navigation information in mobile internet Active CN109271345B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210163589.1A CN115098754A (en) 2018-08-18 2018-08-18 Method and system for prefetching data based on navigation information in mobile internet
CN201810943816.6A CN109271345B (en) 2018-08-18 2018-08-18 Method and system for prefetching data based on navigation information in mobile internet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810943816.6A CN109271345B (en) 2018-08-18 2018-08-18 Method and system for prefetching data based on navigation information in mobile internet

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210163589.1A Division CN115098754A (en) 2018-08-18 2018-08-18 Method and system for prefetching data based on navigation information in mobile internet

Publications (2)

Publication Number Publication Date
CN109271345A CN109271345A (en) 2019-01-25
CN109271345B true CN109271345B (en) 2022-09-30

Family

ID=65154039

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210163589.1A Pending CN115098754A (en) 2018-08-18 2018-08-18 Method and system for prefetching data based on navigation information in mobile internet
CN201810943816.6A Active CN109271345B (en) 2018-08-18 2018-08-18 Method and system for prefetching data based on navigation information in mobile internet

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210163589.1A Pending CN115098754A (en) 2018-08-18 2018-08-18 Method and system for prefetching data based on navigation information in mobile internet

Country Status (1)

Country Link
CN (2) CN115098754A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870126A (en) * 2014-03-27 2014-06-18 上海斐讯数据通信技术有限公司 Method and mobile terminal for intelligently recommending application program
CN105843367A (en) * 2016-03-24 2016-08-10 维沃移动通信有限公司 Application processing method and electronic device
CN105988805A (en) * 2015-02-12 2016-10-05 广东欧珀移动通信有限公司 Management method for application programs and mobile terminal
CN107273011A (en) * 2017-06-26 2017-10-20 努比亚技术有限公司 Application program fast switch over method and mobile terminal
CN108009014A (en) * 2017-12-25 2018-05-08 广东小天才科技有限公司 One kind is using management method and mobile terminal

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160352A1 (en) * 2001-06-14 2005-07-21 Samsung Electronics Co., Ltd. Information storage medium containing preload information, apparatus for and method of reproducing therefor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870126A (en) * 2014-03-27 2014-06-18 上海斐讯数据通信技术有限公司 Method and mobile terminal for intelligently recommending application program
CN105988805A (en) * 2015-02-12 2016-10-05 广东欧珀移动通信有限公司 Management method for application programs and mobile terminal
CN105843367A (en) * 2016-03-24 2016-08-10 维沃移动通信有限公司 Application processing method and electronic device
CN107273011A (en) * 2017-06-26 2017-10-20 努比亚技术有限公司 Application program fast switch over method and mobile terminal
CN108009014A (en) * 2017-12-25 2018-05-08 广东小天才科技有限公司 One kind is using management method and mobile terminal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
移动数据库中数据预取系统研究与实现;李靖;《中国优秀硕士学位论文全文数据库 信息科技辑(月刊)》;20110915(第09期);全文 *

Also Published As

Publication number Publication date
CN115098754A (en) 2022-09-23
CN109271345A (en) 2019-01-25

Similar Documents

Publication Publication Date Title
US9582587B2 (en) Real-time content searching in social network
Li et al. The where in the tweet
CN107832437B (en) Audio/video pushing method, device, equipment and storage medium
US9292863B2 (en) Representative keyword selection
US9183497B2 (en) Performance-efficient system for predicting user activities based on time-related features
CN109982128B (en) Video bullet screen generation method and device, storage medium and electronic device
TW201604698A (en) Method and device for pushing track information
US20100088314A1 (en) Method and system for searching on internet
CN109246451A (en) A kind of direct broadcasting room recommended method, device, server and storage medium
CN107092645B (en) Book resource management method and device
CN106202260B (en) Search method and device and search engine
KR20200102500A (en) Method, apparatus and selection engine for classification matching of videos
KR20200023013A (en) Video Service device for supporting search of video clip and Method thereof
JP4114509B2 (en) Information presentation method, information presentation system, and information presentation processing program
KR101682659B1 (en) Method for customized news alarm based on keyword and management server for news search for the same
CN116628335A (en) Personalized travel route customization method and device
CN107111650B (en) Information processing system and information processing apparatus
CN109271345B (en) Method and system for prefetching data based on navigation information in mobile internet
CN109240574B (en) Method and system for prefetching files in mobile internet based on operation heat
CN109144960B (en) Method and system for prefetching data in mobile internet according to area range
CN109151196B (en) Method and system for prefetching data in mobile internet based on current position
CN109033445B (en) Method and system for prefetching files in mobile internet according to running application
CN109240987B (en) Method and system for prefetching data based on time for mobile internet
CN109614558A (en) A kind of more locating travel log automatic generation methods and system
JP7426176B2 (en) Information processing system, information processing method, information processing program, and server

Legal Events

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