CN107341193B - Method for inquiring mobile object in road network - Google Patents

Method for inquiring mobile object in road network Download PDF

Info

Publication number
CN107341193B
CN107341193B CN201710446636.2A CN201710446636A CN107341193B CN 107341193 B CN107341193 B CN 107341193B CN 201710446636 A CN201710446636 A CN 201710446636A CN 107341193 B CN107341193 B CN 107341193B
Authority
CN
China
Prior art keywords
data
query
mobile object
road network
querying
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
CN201710446636.2A
Other languages
Chinese (zh)
Other versions
CN107341193A (en
Inventor
薛忠斌
何宁
晋世仲
刘明洋
李艾宸
王长周
汤杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Shenhua Energy Co Ltd
Beijing Guohua Electric Power Co Ltd
Shenhua Guohua Beijing Electric Power Research Institute Co Ltd
Original Assignee
China Shenhua Energy Co Ltd
Beijing Guohua Electric Power Co Ltd
Shenhua Guohua Beijing Electric Power Research Institute Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Shenhua Energy Co Ltd, Beijing Guohua Electric Power Co Ltd, Shenhua Guohua Beijing Electric Power Research Institute Co Ltd filed Critical China Shenhua Energy Co Ltd
Priority to CN201710446636.2A priority Critical patent/CN107341193B/en
Publication of CN107341193A publication Critical patent/CN107341193A/en
Application granted granted Critical
Publication of CN107341193B publication Critical patent/CN107341193B/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/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

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)
  • Remote Sensing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The embodiment of the invention provides a method for querying a mobile object in a road network, belonging to the field of high-performance calculation and the field of databases. The method for querying the mobile object in the road network is used for a server side and comprises the following steps: acquiring updating data of a mobile object and query data input by a user; adopting a multi-core CPU to perform aggregate indexing on the obtained updated data of the mobile object based on the node where the mobile object is located in the road network and perform aggregate indexing on the obtained query data based on the edge where the query data is located in the road network; and putting the data after the index aggregation into a GPU for calculation based on a nearest neighbor KNN algorithm to obtain a query result. The embodiment of the invention provides a method for querying a mobile object in a high-throughput road network based on a new hardware environment, which gives full play to the characteristics of a large memory, a multi-core CPU and a GPU, thereby improving the query processing efficiency of the mobile object and meeting the user query requirement based on location-based service under large data.

Description

Method for inquiring mobile object in road network
Technical Field
The invention relates to the field of high-performance calculation and the field of databases, in particular to a method for querying a mobile object in a road network.
Background
With the wide popularization of mobile devices and the continuous development of location services, query processing for mobile objects becomes a hot spot of research. Typical queries, for example: searching a supermarket or a gas station closest to the user; a taxi closest to the user, etc. In daily life, all objects move based on a road network. For any object X and Y in the road network, the road network distance d (X, Y) between the objects can better reflect the actual distance between the objects than the Euclidean distance | | | X-Y | |. For example, in a bidirectional lane, the road network distance d (q, p) from the vehicle q to the gas station p on the other side is much greater than the Euclidean distance q-p between the two. Therefore, the road network distance d (q, p) between two objects is more significant than the euclidean distance q-p |.
However, in the process of implementing the present invention, the inventor of the present application finds that the existing query algorithm for moving objects in a road network has the following defects: with the increasing number of users and the continuous richness of application scenes, the conventional KNN algorithm cannot well cope with emerging applications.
For example, for a typical taxi taking application, a vehicle location update data stream is generated during operation of the vehicle. Meanwhile, a large number of taxi taking requests initiated by users form a query data stream. The system firstly needs to update the vehicle position information in real time to ensure the validity of the query result, and simultaneously needs to respond to the query requests of all users in real time to ensure the service quality. For such application scenarios, when the KNN algorithm employs a manner of processing one query (one by one) at a time, a large number of users need to queue for query responses, and the queuing waiting time of the users will seriously affect the service quality.
Therefore, the existing mobile object query algorithm in the road network cannot well meet the emerging requirements, and a new mobile object query scheme needs to be found to meet the query requirements of the big data lower position service.
Disclosure of Invention
The embodiment of the invention aims to provide a mobile object query method in a road network, which is used for realizing a mobile object query scheme meeting the query requirement of big data lower position service.
In order to achieve the above object, an embodiment of the present invention provides a method for querying a mobile object in a road network, where the method is used at a server side, and the method for querying a mobile object in a road network includes: acquiring updating data of a mobile object and query data input by a user; adopting a multi-core CPU to perform aggregate indexing on the obtained updated data of the mobile object based on the node where the mobile object is located in the road network and perform aggregate indexing on the obtained query data based on the edge where the query data is located in the road network; and putting the data after the index aggregation into a GPU for calculation based on a nearest neighbor KNN algorithm to obtain a query result.
Optionally, the obtaining of the mobile object update data and the query data input by the user includes: periodically acquiring updating data of a moving object, wherein the updating data of the moving object comprises a moving object identification number and a moving object coordinate; receiving query data input by a user in real time; and caching the updating data and the query data of the mobile object by adopting a cache, and dividing the data in the cache according to the number of threads required to be used, wherein each thread processes a block of updating data or query data of the mobile object.
Optionally, the mobile object update data and the query data are stored in the cache in a snapshot manner.
Optionally, the performing aggregation indexing on the obtained mobile object update data based on the node where the mobile object is located in the road network includes: calculating the distance between the mobile object and the nodes at two end points in the path where the mobile object is located; aggregating moving object update data of a moving object located at an endpoint at a distance of no more than half of its path length from the node at the endpoint at the node; and putting the aggregated mobile object update data into an object table structure.
Optionally, the performing aggregate indexing on the obtained query data based on the edge of the query data in the road network includes: and aggregating all query data according to the path, and putting the query data on the same path into an adjacent storage position of a query table structure.
Optionally, the step of putting the data after the aggregation index into the GPU for computation based on the KNN algorithm includes: calculating KNN result sets of two end points of a path where any node in the path is located based on the data after the index is gathered; based on the data after the index is gathered, calculating a moving object set in the path; and querying the KNN result set of the selected node from the KNN result set and the union set of the mobile object set.
Optionally, the aggregation index performed by using the multi-core CPU is a mesh index, and the mesh index includes: indexing each piece of moving object updating data into a cell corresponding to the two-dimensional Euclidean space coordinate of the moving object updating data in the grid; and indexing each query datum to a cell in the grid where the mobile object update data matched with the query datum is located.
Optionally, the grid index further includes: when the amount of the data gathered in the cells in the grid exceeds a set threshold value, the cells are divided into at least two sub-cells at the GPU end, and each data is correspondingly stored in the corresponding sub-cells.
Optionally, the method for querying a moving object in a road network further includes: and distributing the query result to a user, and deleting an intermediate result generated in the calculation process.
In another aspect, the present invention provides a computer-readable storage medium having stored thereon computer instructions for causing the computer to perform the method described above in the present application.
Through the technical scheme, the embodiment of the invention has the beneficial effects that: the embodiment of the invention provides a method for querying a mobile object in a high-throughput road network based on a new hardware environment, which gives full play to the characteristics of a large memory, a multi-core CPU and a GPU, thereby improving the query processing efficiency of the mobile object and meeting the user query requirement based on location-based service under large data.
Additional features and advantages of embodiments of the invention will be set forth in the detailed description which follows.
Drawings
The accompanying drawings, which are included to provide a further understanding of the embodiments of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the embodiments of the invention without limiting the embodiments of the invention. In the drawings:
fig. 1 is a schematic flow chart of a method for querying a mobile object in a road network according to an embodiment of the present invention;
FIG. 2 is a schematic flow chart of obtaining mobile object update data and query data according to an embodiment of the present invention;
FIG. 3 is a schematic flow chart of aggregate indexing of mobile object update data according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of an example of aggregate indexing of moving objects;
FIG. 5 is a schematic flow chart of the calculation of aggregated indexed data by a GPU;
FIG. 6 is an architectural diagram of a GPGPU model according to an embodiment of the invention; and
fig. 7 is a schematic diagram of a mobile object KNN query based on a large memory and GPGPU model according to an embodiment of the present invention.
Detailed Description
The following detailed description of embodiments of the invention refers to the accompanying drawings. It should be understood that the detailed description and specific examples, while indicating embodiments of the invention, are given by way of illustration and explanation only, not limitation.
The inventor of the application finds that for most applications, the response time of a single query can meet the requirement as long as the response time reaches the second level, and the response time of the single query does not need to be deliberately pursued. Therefore, in order to ensure the service quality, it is necessary to respond to the query of the user as much as possible in a unit time, that is, the throughput of the system becomes a key factor for satisfying the query requirement of the location service under the large data.
Based on the thought, the embodiment of the invention provides a method for querying a mobile object in a road network. Before describing this method in detail, a road network according to an embodiment of the present invention will be described.
In the embodiment of the present invention, the road network is represented by an unadditive weighted graph G ═ V, E, where V is a set of nodes and represents a junction in the road network, E is a set of non-phase edges and represents a line segment between two nodes in the road network, and meanwhile, the road network is represented by a graph G ═ V, E
Figure BDA0001321325520000051
For any road network G (E, V), each edge can be represented as E (V1, V2), where V1 and V2 are two connected nodes, V1 is a starting node, V2 is a final node, and the weight of each edge is a non-negative value. The parameters are used to represent the concept of the road network, and in practice, the meaning of the parameters may be indicated by different characters as needed, and for example, the nodes may be indicated by n1 and n 2.
Fig. 1 shows a schematic flow chart of a mobile object query method in a road network according to an embodiment of the present invention, where the mobile object query method is applied to a server, and may include the following steps:
step S100, update data of the mobile object and query data input by the user are acquired.
The moving object update data includes information such as a moving object identification number (ID) and a moving object coordinate, for example, information representing a change in a real-time position of a vehicle involved in a typical taxi taking application; the query data is, for example, a query of taxis within two kilometers of the vicinity by a user involved in a typical taxi-taking application.
Preferably, as shown in fig. 2, the step S100 may include the steps of:
step S101, updating data of the moving object is periodically collected.
And step S102, receiving query data input by a user in real time.
Step S103, a Buffer (hereinafter referred to as Buffer) is used to Buffer the updated data of the moving object and the query data, and the data in the Buffer is divided according to the number of threads that need to be used.
Wherein each thread can be set to process a block of moving object update data or a block of query data.
More preferably, the embodiment of the present invention stores the moving object update data and the query data in the Buffer by using a snapshot, and the subsequent calculation may also be performed based on the snapshot, for example, the query submitted by the user at time T1 is calculated based on the location snapshot formed at time T0, where T0 is not greater than T1, T1-T0 is less than Δ T, Δ T is a fixed time interval, and the query result is valid in the time period T0+ Δ T.
For the snapshot principle and the specific method, reference may be made to the existing relevant documents, and the embodiments of the present invention are not described herein again.
Step S200, adopting a multi-core CPU to perform aggregate indexing on the acquired updated data of the mobile object based on the node where the mobile object is located in the road network and perform aggregate indexing on the acquired query data based on the edge where the query data is located in the road network.
Preferably, as shown in fig. 3, the aggregating and indexing the acquired mobile object update data based on the node where the mobile object is located in the road network may include the following steps:
in step S201, the distances between the mobile object and the nodes at the two end points in the path where the mobile object is located are calculated.
Step S202, the mobile object updating data of the mobile object with the distance from the node at the end point not more than half of the path length is gathered at the node.
Step S203, putting the aggregated moving object update data into an object table structure.
For steps S201 to S203, the following is described by way of example. Fig. 4 shows an example of clustering indexing of moving objects, where n1-n8 represents nodes, p1-p5 represents moving objects, and it can be seen from the figure that the distance from p2 and p3 to the node n4 does not exceed half the length of the corresponding paths n3n4 and n5n4, thereby clustering p2 and p3 at adjacent positions of the object table structure. Similarly, the positions of p4 and p5 in the object table structure are determined by a similar method.
Preferably, the aggregating and indexing the acquired query data based on the edge of the query data in the road network may include: and aggregating all query data according to the path, and putting the query data on the same path into an adjacent storage position of a query table structure. Therefore, different from the way of processing the update data of the moving object, all the query data are gathered according to the path, and the storage positions of the query data on the same path in the query table structure are close.
Through the above operations, the update data and the query data of the mobile object are aggregated and indexed according to the nodes and the edges where the update data and the query data are located, and are respectively stored in the object table and the query table, so that a plurality of queries can be processed at one time in a batch processing mode by utilizing the multi-core characteristic of the multi-core CPU.
In addition, the adoption of the multi-core CPU also relates to the utilization of a large-capacity memory technology, namely, the workload (namely query data of Buffer cache and update data of a moving object) is completely put into the multi-core CPU for processing, so that the spatial locality of the data is fully utilized, the hit rate of the cache is increased, and the execution efficiency of a related algorithm is favorably improved subsequently.
Furthermore, the aggregation index performed by the multi-core CPU in the embodiment of the present invention is a Grid (Grid) index, and the specific steps include: indexing each piece of moving object updating data into a cell corresponding to the two-dimensional Euclidean space coordinate of the moving object updating data in the grid; and indexing each query datum to a cell in the grid where the mobile object update data matched with the query datum is located.
In addition, in step 200, the multi-core CPU transmits the constructed Grid index data to the GPU side in units of cells to execute step S300.
And step S300, the data after the index aggregation is placed into a GPU for calculation based on a KNN algorithm so as to obtain a query result.
Here, it should be noted that, when the mobile object update data and the query data are gathered in the cells in step S200, a data distortion phenomenon may occur, that is, excessive data is gathered in one or several cells to cause data distortion. For this, it may be set that, when the amount of data aggregated in the cells in the Grid exceeds a set threshold, the cells are divided into at least two sub-cells at the GPU terminal, and each data is correspondingly stored in the corresponding sub-cell. In this way, the cells are divided twice to obtain sub-cells with smaller granularity, wherein the secondary division can be performed preferably in the same way as the primary division of the cells, for example, 3 × 3 cells are formed after the primary division, and when the data amount in two cells exceeds a set threshold, the two cells are separately divided into 3 × 3 cells.
In addition, the core idea of the KNN algorithm is that if most of k nearest neighbor samples of a sample in the feature space belong to a certain class, the sample also belongs to the class and has the characteristics of the sample on the class. The method of the embodiment of the invention essentially provides an improved KNN algorithm utilizing a multi-core CPU, a GPU and characteristics, and the improved algorithm principle is as follows: for on-path
Figure BDA0001321325520000071
KNN query q in (1), the query result
Figure BDA0001321325520000072
Where Rq is the KNN result of query q, O (ni, nj) is the moving object in path ni, nj, Rni is the sectionThe KNN result of the point ni, Rnj, is the KNN result of the node nj, so that the KNN result set of a certain node in the path is known to be a subset of the two end KNN result sets where the node is located and the object set in the path.
Accordingly, as shown in fig. 5, the step of putting the data after the aggregation index into the GPU for computation based on the KNN algorithm may be as follows:
step S301, based on the data after the aggregation index, calculates KNN ((K-nearest neighbor, K-nearest neighbor) result sets of two end points of the path where any node in the path is located.
The KNN result set may be calculated by referring to the existing relevant documents, and will not be described herein again.
Step S302, based on the data after the index aggregation, a moving object set in the path is calculated.
Step S303, querying the KNN result set of the selected node from the KNN result set and the union set of the moving object set.
Through the operation, the GPU executes the corresponding cell of the Grid so as to associate the mobile object with the query and obtain a corresponding query result. In addition, in a preferred embodiment, the query result, that is, the calculation result of the GPU, needs to be distributed to the user, so that the intermediate result generated in the calculation process can be deleted while the query result is distributed, so as to ensure the execution efficiency of the GPU.
Thus, the combination of the step S200 and the step S300 realizes a scheme of carrying out KNN query on the moving object based on the multi-core CPU and the GPU, fully utilizes the characteristics of the multi-core CPU and the GPU, updates the KNN query on the moving object coming in the Buffer, and fully exerts the characteristics of the multi-core CPU in a mode of reconstructing an index; for the constructed index structure, the characteristic that the GPU is precise in efficient data operation is utilized, the performance of algorithm query is improved, a plurality of queries are executed, parallelism in the queries and among the queries is fully utilized, and the efficiency of the algorithm is improved.
Therefore, it can be seen that the moving object KNN query scheme of the embodiment of the present invention configures a query framework based on a new hardware environment with a large-capacity memory, a multi-core CPU, and a GPU, and the specific configuration of the query framework may be, for example: configuring a plurality of 8 servers which can provide 12TB memories, configuring a maximum number of 18 servers of CPU cores, and configuring a GPU for large-scale parallel operation. The Buffer caches data, the CPU is responsible for executing complex logic processing, transaction management and other calculations which are not suitable for data parallel, and the GPU is responsible for calculating intensive large-scale parallel calculation.
Here, the cooperation of the multicore CPU and the GPU constitutes a GPGPU (General Purpose GPU) model. As shown in fig. 6, in the GPGPU model, the CPU functions as a Host (Host) and the GPU functions as a coprocessor or Device (Device). There may be one host and several devices in one system, that is to say: and reconstructing indexes of the update data and the query data of the mobile object through a multi-core CPU, and calculating the constructed index structure through a plurality of GPUs.
In addition, the multi-core CPU transmits the constructed Grid index data to the GPU side in units of cells, as shown in fig. 6, the GPU side reserves a Grid index-based data storage scheme of the multi-core CPU side, the GPU calculates the update data and the query data of the mobile object in the same cell, and the cells are independent from each other and can be executed in parallel. For example, the cell (2,0) in fig. 6 refers to a cell with two-dimensional euclidean space coordinates of (2,0), and the GPU calculates data in the cell to obtain a relevant query result.
In the GPGPU model, a CPU and a GPU work cooperatively and each plays its own role, the CPU is responsible for performing highly logical transaction processing and serial computation, and the GPU is dedicated to executing highly threaded parallel processing tasks. Thus, once the parallel portion of the program is determined, it may be considered to hand this portion of the computational work to the GPU.
It should be noted that the CPU and the GPU respectively have mutually independent memory address spaces, that is: the memory of the host end and the display memory of the equipment end.
In addition, the steps S100 to S300 are all executed by a server, that is, in the embodiment of the present invention, the mobile object may be managed by only one server, which is beneficial to simplifying the system.
The following specifically describes details of implementation of the mobile object KNN query based on the large memory and the GPGPU model in this embodiment by way of example.
As shown in FIG. 7, when two threads are executed, thread 1 first processes a path
Figure BDA0001321325520000101
Query q1, q2, thread 2 processing path
Figure BDA0001321325520000102
Query q3 above. In the course of execution, thread 1 needs to query the KNN result sets of nodes n1, n2, and thread 2 needs to query the KNN result sets on paths n3, n 4. Thread 1 processing as queries continue execution
Figure BDA0001321325520000103
Query q5 on the path, thread 2 processing
Figure BDA0001321325520000104
Query q6 on the path. For thread 1, because the KNN result set for node n3 is already available, the index need only query the result set for node n 5. The KNN result sets for nodes n5 and n6 need to be queried for thread 2, which is common in both queries for node n5, so only one thread query is needed. When querying the KNN result set of node n5, no more search to nodes n2 and n4 is needed after searching node n 3. The scope of the search is reduced because the KNN result set of n3 is already available. It can be seen from the example of fig. 2 that in the query execution process, the KNN query can be completed only by searching a few nodes, and meanwhile, in the multi-thread execution process, the KNN result sets of many nodes are already obtained, and repeated calculation is not needed, so that the query efficiency of the algorithm is improved.
In summary, the embodiments of the present invention provide a method for querying a mobile object in a high throughput road network based on a new hardware environment, which fully utilizes the characteristics of a large memory, a multi-core CPU, and a GPU, thereby improving the query processing efficiency of the mobile object and better meeting the user query requirement based on location-based services under large data.
Although the embodiments of the present invention have been described in detail with reference to the accompanying drawings, the embodiments of the present invention are not limited to the details of the above embodiments, and various simple modifications can be made to the technical solutions of the embodiments of the present invention within the technical idea of the embodiments of the present invention, and these simple modifications all belong to the protection scope of the embodiments of the present invention.
It should be noted that the various features described in the above embodiments may be combined in any suitable manner without departing from the scope of the invention. In order to avoid unnecessary repetition, the embodiments of the present invention do not describe every possible combination.
Those skilled in the art can understand that all or part of the steps in the method for implementing the above embodiments may be implemented by a program instructing related hardware, where the program is stored in a storage medium and includes several instructions to enable a (may be a single chip, a chip, etc.) or a processor (processor) to execute all or part of the steps of the method described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
In addition, any combination of various different implementation manners of the embodiments of the present invention is also possible, and the embodiments of the present invention should be considered as disclosed in the embodiments of the present invention as long as the combination does not depart from the spirit of the embodiments of the present invention.

Claims (7)

1. A method for querying a mobile object in a road network is used at a server end, and is characterized in that the method for querying the mobile object in the road network comprises the following steps:
acquiring updating data of a mobile object and query data input by a user;
adopting a multi-core CPU to perform aggregate indexing on the obtained updated data of the mobile object based on the node where the mobile object is located in the road network and perform aggregate indexing on the obtained query data based on the edge where the query data is located in the road network; and
the multi-core CPU transmits the constructed grid index data to the GPU by taking the cell as a unit, the GPU performs calculation based on a nearest neighbor KNN algorithm on the updated data and the query data of the moving object in the same cell to obtain a query result, and the cells are independent from each other and can be executed in parallel;
wherein the aggregation index performed by the multi-core CPU is a mesh index, and the mesh index includes: indexing each piece of moving object updating data into a cell corresponding to the two-dimensional Euclidean space coordinate of the moving object updating data in the grid; and indexing each query data to a cell in which the mobile object update data matched with the query data is located in the grid;
when the amount of the data gathered in the cells in the grid exceeds a set threshold value, the cells are divided into at least two sub-cells at the GPU end, and each data is correspondingly stored in the corresponding sub-cells.
2. The method for querying mobile objects in road network according to claim 1, wherein said obtaining mobile object update data and query data inputted by a user comprises:
periodically acquiring updating data of a moving object, wherein the updating data of the moving object comprises a moving object identification number and a moving object coordinate;
receiving query data input by a user in real time; and
and caching the updating data and the query data of the mobile object by adopting a cache, and dividing the data in the cache according to the number of threads required to be used, wherein each thread processes a block of updating data or query data of the mobile object.
3. The method according to claim 2, wherein said mobile object update data and said query data are stored in said cache in a snapshot manner.
4. The method for querying a mobile object in a road network according to claim 1, wherein the performing of the aggregated indexing on the obtained update data of the mobile object based on the node in the road network where the mobile object is located comprises:
calculating the distance between the mobile object and the nodes at two end points in the path where the mobile object is located;
aggregating moving object update data of a moving object located at an endpoint at a distance of no more than half of its path length from the node at the endpoint at the node; and
and putting the mobile object updating data after the aggregation is completed into an object table structure.
5. The method for querying mobile objects in a road network according to claim 1, wherein performing an aggregated index on the obtained query data based on the edge of the query data in the road network comprises:
and aggregating all query data according to the path, and putting the query data on the same path into an adjacent storage position of a query table structure.
6. The method for querying the mobile object in the road network according to claim 1, wherein the step of putting the data after the aggregation index into the GPU for computation based on the KNN algorithm comprises:
calculating KNN result sets of two end points of a path where any node in the path is located based on the data after the index is gathered;
based on the data after the index is gathered, calculating a moving object set in the path; and
and inquiring the KNN result set of the selected node from the KNN result set and the union set of the mobile object set.
7. The method for querying mobile objects in road network according to any one of claims 1 to 6, wherein said method for querying mobile objects in road network further comprises:
and distributing the query result to a user, and deleting an intermediate result generated in the calculation process.
CN201710446636.2A 2017-06-14 2017-06-14 Method for inquiring mobile object in road network Active CN107341193B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710446636.2A CN107341193B (en) 2017-06-14 2017-06-14 Method for inquiring mobile object in road network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710446636.2A CN107341193B (en) 2017-06-14 2017-06-14 Method for inquiring mobile object in road network

Publications (2)

Publication Number Publication Date
CN107341193A CN107341193A (en) 2017-11-10
CN107341193B true CN107341193B (en) 2021-02-02

Family

ID=60221583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710446636.2A Active CN107341193B (en) 2017-06-14 2017-06-14 Method for inquiring mobile object in road network

Country Status (1)

Country Link
CN (1) CN107341193B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107917716B (en) * 2018-01-02 2021-07-06 广东工业大学 Fixed line navigation method, device, terminal and computer readable storage medium
CN109408738B (en) * 2018-09-10 2021-04-06 中南民族大学 Method and system for querying space entity in traffic network
CN110515972A (en) * 2019-08-27 2019-11-29 陈东升 Database quick reference system and data query method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182210A (en) * 2014-09-02 2014-12-03 重庆大学 Multiple GPU (graphics processing unit) data parallel comparison method based on CUDA (compute unified device architecture)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473248B (en) * 2012-12-17 2017-06-23 东北大学 A kind of continuous moving K-nearest neighbor query method under road network environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182210A (en) * 2014-09-02 2014-12-03 重庆大学 Multiple GPU (graphics processing unit) data parallel comparison method based on CUDA (compute unified device architecture)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
一种基于GPU的移动对象并行处理框架;韦春丹;《计算机应用与软件》;20161031;第33卷(第10期);引言和第2-3节 *
双流模式下高吞吐量移动对象范围查询算法;薛忠斌等;《软件学报》;20151031;第26卷(第10期);2632-2635 *
路网中高吞吐量移动对象实时查询算法;薛忠斌等;《计算机科学》;20170331;第44卷(第3期);17-19 *

Also Published As

Publication number Publication date
CN107341193A (en) 2017-11-10

Similar Documents

Publication Publication Date Title
CN105589951B (en) A kind of mass remote sensing image meta-data distribution formula storage method and parallel query method
CN110134714B (en) Distributed computing framework cache index method suitable for big data iterative computation
CN103455531B (en) A kind of parallel index method supporting high dimensional data to have inquiry partially in real time
CN107341193B (en) Method for inquiring mobile object in road network
CN104361113A (en) OLAP (On-Line Analytical Processing) query optimization method in memory and flesh memory hybrid storage mode
CN111258978A (en) Data storage method
CN103236989A (en) Cache control method, devices and system in content delivery network
CN106570145B (en) Distributed database result caching method based on hierarchical mapping
CN103294912B (en) A kind of facing mobile apparatus is based on the cache optimization method of prediction
Sarwat Interactive and scalable exploration of big spatial data--a data management perspective
JP2022137281A (en) Data query method, device, electronic device, storage medium, and program
CN107257356B (en) Social user data optimal placement method based on hypergraph segmentation
CN108319604B (en) Optimization method for association of large and small tables in hive
Chen et al. DBSCAN-PSM: an improvement method of DBSCAN algorithm on Spark
CN115617859A (en) Data query method and device based on knowledge graph cluster
CN109254844A (en) A kind of triangle calculation method of Large Scale Graphs
CN110618963A (en) Heterogeneous computing hardware acceleration system and method integrating computing and storage
CN107357820B (en) Method for inquiring range of moving object
Akdogan et al. Cost-efficient partitioning of spatial data on cloud
CN108009099B (en) Acceleration method and device applied to K-Mean clustering algorithm
CN109446294B (en) Parallel mutual subspace Skyline query method
Qin et al. Massive AIS data management based on HBase and Spark
CN108614889B (en) Moving object continuous k nearest neighbor query method and system based on Gaussian mixture model
CN113377523A (en) Heterogeneous sensing stream graph partitioning method
Shi et al. UPBI: an efficient index for continues probabilistic range query of moving objects on road network

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