CN110832811B - System and method for transmitting spatial data - Google Patents

System and method for transmitting spatial data Download PDF

Info

Publication number
CN110832811B
CN110832811B CN201880001006.7A CN201880001006A CN110832811B CN 110832811 B CN110832811 B CN 110832811B CN 201880001006 A CN201880001006 A CN 201880001006A CN 110832811 B CN110832811 B CN 110832811B
Authority
CN
China
Prior art keywords
data
index value
reference index
buffer range
queue
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
CN201880001006.7A
Other languages
Chinese (zh)
Other versions
CN110832811A (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.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Publication of CN110832811A publication Critical patent/CN110832811A/en
Application granted granted Critical
Publication of CN110832811B publication Critical patent/CN110832811B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G06Q50/40
    • 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

Abstract

A system includes a storage device storing a set of instructions and a processor in communication with the storage device. When executing the set of instructions, the processor is configured to cause the system to obtain a request for data relating to a geographic area and determine a plurality of data sets for storing the data. The processor also causes the system to generate a priority queue including the first buffer range data based on the plurality of data sets and traverse the plurality of data sets. The processor further causes the system to determine whether a spatial index value of a currently traversed data set is equal to or greater than a first reference index value and, in response to determining that the spatial index value is equal to or greater than the first reference index value, transmit the first buffer range data to the user terminal.

Description

System and method for transmitting spatial data
Technical Field
The present application relates generally to systems and methods for data processing, and more particularly to systems and methods for traversing spatial data.
Background
When using conventional data processing methods, the engineer needs to read all the data. It may take a long time to read all the data. Also, in large data scenarios, caching all data may require a large amount of internal memory. For example, in an online-to-offline service system, spatial element data is large, such as driver's trajectories and passenger's trajectories, requiring a large amount of internal memory. Therefore, a method of efficiently processing spatial element data is required.
Disclosure of Invention
According to one aspect of the invention, a system may include a storage device, one or more processors storing a set of instructions and in communication with the storage device. When executing the instructions, the one or more processors may be configured to cause the system to obtain a request for data relating to the geographical area from the user terminal via the network, and determine a plurality of data sets for storing data relating to a plurality of geographical location points. In some embodiments, the geographic area may include a plurality of geographic location points. In some embodiments, multiple data sets may be associated with multiple spatial index values. The one or more processors may be configured to cause the system to generate a priority queue including first buffer range data based on the plurality of data sets and traverse the plurality of data sets starting with a data set associated with a smallest spatial index value of the plurality of spatial index values. In some embodiments, the first buffer range data may be associated with a plurality of first queue index values, a first reference index value, and a first portion of the geographic area. The one or more processors may be further configured to cause the system to determine whether a spatial index value of a currently traversed data set is equal to or greater than the first reference index value; and in response to said determining that the spatial index value of the currently traversed data set is equal to or greater than the first reference index value, sending data related to the first portion of the geographic area to the user terminal.
In some embodiments, the one or more processors may also be configured to cause the system to determine a plurality of hilbert distances associated with the plurality of geographic location points and store data associated with geographic location points having the same hilbert distance in the same data set. In some embodiments, the one or more processors may further cause the system to designate the plurality of hilbert distances as the plurality of spatial index values.
In some embodiments, the one or more processors may also cause the system to determine spatial index values related to the plurality of geographic location points based on the plurality of hilbert distances.
In some embodiments, the data relating to the plurality of geographical location points may comprise at least one of: a trajectory of a person, a trajectory of an animal, a trajectory of a vehicle, building-related information, or road-related information.
In some embodiments, the first buffer range data may include a first range data and a first buffer data. In some embodiments, the first range data may correspond to geographic location points of the first portion of the geographic area. In some embodiments, the first buffered data may correspond to geographic location points surrounding the first portion of the geographic area.
In some embodiments, the first reference index value may be a maximum value of the plurality of first queue index values.
In some embodiments, the one or more processors may also be configured to cause the system to sort the plurality of data groups in ascending order to generate an ordered data group based on the plurality of spatial index values, and traverse the ordered data group.
In some embodiments, the first buffer range data may include a plurality of caches, each cache associated with a first queue index value in some embodiments.
In some embodiments, the one or more processors may be further configured to cause the system to traverse the ordered data sets starting with the data set associated with the smallest spatial index value of the plurality of spatial index values, and determine data of the traversed data set. In some embodiments, the one or more processors may be further configured to cause the system to store data of the traversed data group in a cache, a first queue index value of the cache being equal to a spatial index value associated with the traversed data group.
In some embodiments, the one or more processors may be further configured to cause the system to obtain second buffer range data from the priority queue and designate a largest second queue index value of the plurality of second queue index values as a second reference index value. In some embodiments, the second buffer range data may be associated with a plurality of second queue index values, a second reference index value, and a second portion of the geographic area. In some embodiments, the one or more processors may be further configured to cause the system to determine whether the second reference index value is less than the first reference index value, and designate the second buffer range data as the first buffer range data in response to the determination that the second reference index value is less than the first reference index value. In some embodiments, the one or more processors may be further configured to cause the system to designate the second reference index value as the first reference index value in response to the determination that the second reference index value is less than the first reference index value, and determine whether the spatial index value of the currently traversed data set is equal to or greater than the designated first reference index value.
In some embodiments, the one or more processors may be further configured to cause the system to determine whether each cache in the first buffer range data stores data of a corresponding data group, and output the first buffer range data from a priority queue in response to the determination that each cache in the buffer range data stores data of a respective data group. In some embodiments, the one or more processors may be further configured to cause the system to update the priority queue by removing the first buffer range data from the priority queue, and obtain new first buffer range data and a new first reference index value based on the updated priority queue.
According to another aspect of the disclosure, a computer-implemented method may include performing, by one or more processors, one or more of the following operations. The method may include obtaining a request for data relating to a geographical area from a user terminal via a network and determining a plurality of data sets for storing data relating to the plurality of geographical location points. In some embodiments, the geographic area may include a plurality of geographic location points. In some embodiments, the plurality of data sets may be associated with a plurality of spatial index values. The method may also include generating a priority queue including first buffer range data based on the plurality of data sets, and traversing the plurality of data sets starting with a data set associated with a smallest spatial index value of the plurality of spatial index values. In some embodiments, the first buffer range data is associated with a plurality of first queue index values, a first reference index value, and a first portion of the geographic area. The method may also include determining whether a spatial index value of a currently traversed data set is equal to or greater than the first reference index value, and transmitting data related to the first portion of the geographic area to the user terminal in response to the determination that the spatial index value of the currently traversed data set is equal to or greater than the first reference index value.
According to yet another aspect of the disclosure, a non-transitory computer-readable medium may store instructions. The instructions, when executed by one or more processors of a system, may cause the system to obtain a request for data relating to the geographic area from the user terminal via a network and determine a plurality of data sets for storing data relating to the plurality of geographic location points. In some embodiments, the geographic area may include a plurality of geographic location points. In some embodiments, multiple data sets may be associated with multiple spatial index values. The instructions may also cause the system to generate a priority queue including first buffer range data based on the plurality of data sets and traverse the plurality of data sets starting with the data set associated with the smallest spatial index value of the plurality of spatial index values. In some embodiments, the first buffer range data may be associated with a plurality of first queue index values, a first reference index value, and a first portion of the geographic area. The instructions may also cause the system to determine whether a spatial index value of a currently traversed data set is equal to or greater than a first reference index value, and in response to determining that the spatial index value of the currently traversed data set is equal to or greater than the first reference index value, send data related to the first portion of the geographic area to the user terminal.
According to yet another aspect of the present disclosure, a system may include an acquisition module, a determination module, a generation module, a traversal module, a comparison module, and a transmission module. The acquisition module is configured to acquire a request for data relating to a geographical area from a user terminal via a network. In some embodiments, the geographic area may include a plurality of geographic location points. The determination module may be configured to determine a plurality of data sets for storing data related to the plurality of geographical location points. In some embodiments, multiple data sets may be associated with multiple spatial index values. The generation module is configured to generate a priority queue including first buffer range data based on the plurality of data groups. In some embodiments, the first buffer range data may be associated with a plurality of first queue index values, a first reference index value, and a first portion of the geographic area. The traversal module is configured to traverse the plurality of data sets starting with the data set associated with the smallest spatial index value of the plurality of spatial index values. The comparison module is configured to determine whether a spatial index value of a currently traversed data set is equal to or greater than the first reference index value. The transmission module is configured to transmit data related to the first portion of the geographic area to the user terminal in response to the determination that the spatial index value of the currently traversed data set is equal to or greater than the first reference index value.
Drawings
The present application may be further described in terms of exemplary embodiments. The exemplary embodiments may be described in detail with reference to the accompanying drawings. The described embodiments are not limiting exemplary embodiments in which like reference numerals represent similar structures throughout the several views of the drawings and wherein:
FIG. 1 is a block diagram of an exemplary on-demand service system shown in accordance with some embodiments;
FIG. 2 is a schematic diagram of components and software components of an exemplary computing device, shown in accordance with some embodiments;
FIG. 3 is a schematic diagram of exemplary hardware and/or software components of a mobile device, shown in accordance with some embodiments of the present disclosure;
FIG. 4 is a block diagram of an exemplary processing engine 112 shown in accordance with some embodiments of the present disclosure;
FIG. 5 is a flow diagram illustrating an exemplary process for transmitting data relating to a first portion of a geographic area to a client terminal according to some embodiments of the present disclosure;
FIG. 6 is a flow diagram illustrating an exemplary process for storing data traversing a data set to a cache in accordance with some embodiments disclosed herein;
FIG. 7 is a flow diagram illustrating an exemplary process for determining specified first buffer range data and specified first reference index value according to some embodiments of the present disclosure;
FIG. 8 is a flow diagram illustrating an exemplary process for traversing multiple data sets in accordance with some embodiments disclosed herein; and;
FIG. 9 is a schematic diagram of a priority queue shown in accordance with some embodiments of the present disclosure.
Detailed Description
The following description is presented to enable one of ordinary skill in the art to make and use the application and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present application. Thus, the present application is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the claims.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of the present application. As used herein, the terms "a," "an," "the," and "the" are not intended to be exhaustive or to include the plural forms as well, unless the context clearly indicates otherwise. It will be understood that the terms "comprises," "comprising," "includes" and/or "including," when used in this application, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The foregoing and other features, aspects of the operation, and functions of the related elements of the present application, as well as the related elements of the present application, will become more apparent from the following description of the drawings, which are to be read in connection with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for the purposes of illustration and description and are not intended as a definition of the limits of the application. It should be understood that the drawings are not to scale.
Flow charts are used herein to illustrate steps performed by systems according to embodiments of the present application. It should be expressly understood that the operations in the flowcharts may be performed out of order. Rather, various steps may be processed in reverse order or simultaneously. One or more other operations may also be added to the flowcharts. Or remove one or more operations from the flowcharts.
Further, while the system and method of the present application are described primarily with respect to requests for distribution of transportation services, it should be understood that this is merely one exemplary embodiment. The system or method of the present application may be applied to any other type of online-to-offline service. For example, the systems or methods of the present application may be applied to transportation systems in different environments, including terrestrial, marine, aerospace, or the like, or any combination thereof. The vehicles involved in the transportation system may include taxis, private cars, tailplanes, buses, trains, bullet trains, high speed railways, subways, ships, airplanes, spacecraft, hot air balloons, unmanned vehicles, and the like, or any combination thereof. The transport system may also include any transport system for operation and/or distribution, such as a system for sending and/or receiving courier. Application scenarios of the system or method of the present application may include web pages, browser plug-ins, client terminals, customization systems, internal analysis systems, artificial intelligence robots, and the like, or any combination of the above.
In this application, the terms "passenger," "requestor," "service requestor," and "customer" may be used interchangeably to refer to an individual, entity, or tool that may request or subscribe to a service. In this application, the terms "driver," "provider," and "service provider" are also used interchangeably to refer to an individual, entity, or tool that can provide a service or facilitate the provision of the service.
In this application, the terms "service request" and "order" may be used interchangeably to refer to a request initiated by a passenger, requester, service requester, customer, driver, provider, service provider, etc., or any combination of the above examples. The service request may be accepted by any of a passenger, a service requester, a customer, a driver, a provider, a service provider. The service request may be charged or free.
The terms "service provider terminal" and "driver terminal" are used interchangeably in this application to refer to a mobile terminal used by a service provider for providing services or facilitating the provision of services. The terms "service requester terminal" and "passenger terminal" are used interchangeably in this application and refer to a mobile terminal used by a service requester for requesting or subscribing to a service.
Positioning technologies used in the present application may include Global Positioning System (GPS), global navigation satellite system (GLONASS), COMPASS navigation system (COMPASS), galileo positioning system, quasi-zenith satellite system (QZSS), wireless fidelity (WIFI) positioning technologies, and the like, or any combination thereof. One or more of the above-described positioning techniques may be used interchangeably in this application.
One aspect of the present application relates to an online system and method for traversing spatial data. A plurality of spatial index values (hilbert distances) associated with a geographic region may be determined. A plurality of data sets for storing data related to a geographic area may be determined. Each data set may be associated with a spatial index value. The priority queue may be determined based on a plurality of spatial index values and a geographic region. The priority queue may include first buffer range data associated with a first reference index value and a first portion of the geographic area. The data set traverses the plurality of data sets beginning with the data set associated with the smallest spatial index value of the plurality of spatial index values. Sending data related to the first portion of the geographic area to the user terminal if it is determined that the spatial index value of the currently traversed data set is equal to or greater than the first reference index value.
The present application employs hilbert distance to determine spatial index values in the geographic region. A processing engine traverses the data set based on the spatial index.
Fig. 1 is a block diagram of an exemplary online-to-offline service system 100, shown in accordance with some embodiments. For example, the online-to-offline service system 100 may be an online transportation service platform for transportation services. The online-to-offline service system 100 may include a server 110, a network 120, a service requester terminal 130, a service provider terminal 140, a vehicle 150, a storage device 160, and a navigation system 170.
The online-to-offline service system 100 may provide a plurality of services. Exemplary services may include taxi calling services, designated driving services, express services, carpooling services, bus services, driver rental services, and regular bus services. In some embodiments, the online-to-offline service may be any online service, such as ordering, shopping, etc., or any other combination.
In some embodiments, the server 110 may be a single server or a group of servers. The set of servers can be centralized or distributed (e.g., the servers 110 can be a distributed system). In some embodiments, the server 110 may be local or remote. For example, the server 110 may access information and/or data stored in the service requester terminal 130, the service provider terminal 140, and/or the storage device 160 via the network 120. As another example, the server 110 may be directly connected to the service requester terminal 130, the service provider terminal 140, and/or the storage device 160 to access stored information and/or data. In some embodiments, the server 110 may be implemented on a cloud platform. By way of example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an intermediate cloud, a multi-cloud, and the like, or any combination thereof. In some embodiments, server 110 may be implemented on a computing device having one or more components.
In some embodiments, the server 110 may include a processing engine 112. Processing engine 112 may process information and/or data related to the service request to perform one or more functions in the present application. For example, the processing engine 112 may traverse the spatial data. In some embodiments, processing engine 112 may include one or more processing engines (e.g., a single-core processor or a multi-core processor). For example only, the processing engine 112 may include a Central Processing Unit (CPU), an Application Specific Integrated Circuit (ASIC), an application specific instruction set processor (ASIP), a Graphics Processing Unit (GPU), a physical arithmetic processing unit (PPU), a Digital Signal Processor (DSP), a Field Programmable Gate Array (FPGA), a Programmable Logic Device (PLD), a controller, a microcontroller unit, a Reduced Instruction Set Computer (RISC), a microprocessor, or the like, or any combination thereof.
Network 120 may facilitate the exchange of information and/or data. In some embodiments, one or more components of the online-to-offline service system 100 (e.g., the server 110, the service requester terminal 130, the service provider terminal 140, the vehicle 150, the storage device 160, and the navigation system 170) may send information and/or data to other components of the online-to-offline service system 100 via the network 120. For example, the server 110 may receive the service request from the service requester terminal 130 via the network 120 in some embodiments, the network 120 may be any type of wired network, wireless network, or combination thereof. By way of example only, network 120 may include a cable network, a wireline network, a fiber optic network, a telecommunications network, an intranet, the internet, a Local Area Network (LAN), a Wide Area Network (WAN), a Wireless Local Area Network (WLAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), a Public Switched Telephone Network (PSTN), a bluetooth network, a ZigBee network, a Near Field Communication (NFC) network, the like, or any combination of the above. In some embodiments, network 120 may include one or more network access points. For example, the network 120 may include wired or wireless network access points such as base stations and/or Internet switching points 120-1, 120-2 …. Through which one or more components of the online-to-offline service system 100 may connect to the network 120 to exchange information and or data.
In some embodiments, the passenger may be the owner of the service requester terminal 130. In some embodiments, the owner of the service requester terminal 130 may be someone other than the passenger. For example, the owner a of the service requester terminal 130 may send a service request for the passenger B using the service requester terminal 130 or receive a service confirmation and/or information or instructions from the server 110. In some embodiments, the service provider may be a user of the service provider terminal 140. In some embodiments, the user of the service provider terminal 140 may be someone other than the service provider. For example, user C of service provider terminal 140 may receive a service request for service provider D using service provider terminal 140, and/or information or instructions from server 110. In some embodiments, "passenger" and "passenger terminal" may be used interchangeably, and "service provider" and "service provider terminal" may be used interchangeably. In some embodiments, the service provider terminal may be associated with one or more service providers (e.g., night shift service providers, or white shift service providers).
In some embodiments, the service requester terminal 130 may include a mobile device 130-1, a tablet computer 130-2, a laptop computer 130-3, a vehicle-mounted device 130-4, the like, or any combination of the above. In some embodiments, the mobile device 130-1 may include smart home devices, wearable devices, smart mobile devices, virtual reality devices, augmented reality devices, and the like, or any combination thereof. In some embodiments, the smart home devices may include smart lighting devices, control devices for smart appliances, smart monitoring devices, smart televisions, smart cameras, interphones, and the like, or any combination thereof. In some embodiments, the wearable device may include a smart bracelet, smart footwear, smart glasses, smart helmet, smart watch, smart clothing, smart backpack, smart accessory, or the like, or any combination thereof. In some embodiments, the smart mobile device may include a smart phone, a Personal Digital Assistant (PDA), a gaming apparatus, a navigation device, a point of sale (POS) device, or the like, or any combination thereof. In some embodiments, the virtual reality device and/or augmented reality device may include a virtual reality helmet, virtual reality glasses, virtual reality eyecups, augmented reality helmets, augmented reality glasses, augmented reality eyecups, and the like, or any combination thereof. For example, virtual reality devices and/or augmented reality devices may include Google Glass, Oculus Rift, Hololens, Gear VR, and the like. In some embodiments, the in-vehicle device 130-4 may include an in-vehicle computer, an in-vehicle television, or the like. In some embodiments, the service requester terminal 130 may be a device having a location technology for locating the position of the passenger and/or the service requester terminal 130.
The service provider terminal 140 may include a plurality of service provider terminals 140-1, 140-2, … …, 140-n. In some embodiments, the service provider terminal 140 may be a similar or identical device as the service requestor terminal 130. In some embodiments, the service provider terminal 140 may be customized to enable online-to-offline services. In some embodiments, the service provider terminal 140 may be a device with location technology that may be used to locate the location of the service provider, the service provider terminal 140, and/or the vehicle 150 associated with the service provider terminal. In some embodiments, the service requester terminal 130 and/or the service provider terminal 140 may communicate with another location device to determine the location of the passenger, the service requester terminal 130, the service provider, and/or the service provider terminal 140. In some embodiments, the service requester terminal 130 and/or the service provider terminal 140 may periodically send the location information to the server 110. In some embodiments, the service provider terminal 140 may also periodically send the availability status to the server 110. The availability status may indicate whether a vehicle 150 associated with the service provider terminal 140 may pick up a passenger. For example, the service requester terminal 130 and/or the service provider terminal 140 may send the location information and the availability status to the server 110 every 30 minutes. As another example, the service requester terminal 130 and/or the service provider terminal 140 may send location information and availability status to the server 110 each time a user logs into a mobile application associated with an online-to-offline service.
In some embodiments, the service provider terminal 140 may correspond to one or more vehicles 150. Vehicle 150 may pick up passengers and deliver them to a destination. Vehicle 150 may include a plurality of vehicles 150-1, 150-2, … …, 150-n. A vehicle may correspond to a type of service (e.g., a taxi calling service, a designated driving service, a express service, a carpool service, a bus service, a driver recruitment service, and a pickup service).
Storage device 160 may store data and/or instructions. In some embodiments, the storage device 160 may store data obtained from the service requester terminal 130 and/or the service provider terminal 140. In some embodiments, storage device 160 may store data and/or instructions that server 110 uses to perform or use to perform the exemplary methods described in this application. In some embodiments, storage device 160 may include mass storage, removable storage, volatile read-write memory, read-only memory (ROM), or the like, or any combination thereof. Exemplary mass storage devices may include magnetic disks, optical disks, floppy disks, solid state drives, and the like. Exemplary removable memory may include flash drives, floppy disks, optical disks, memory cards, compact disks, magnetic tape, and the like. Exemplary volatile read and write memories can include Random Access Memory (RAM). Exemplary random access memories may include Dynamic Random Access Memory (DRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Static Random Access Memory (SRAM), silicon controlled random access memory (T-RAM), zero capacitance memory (Z-RAM), and the like. Exemplary read-only memories may include mask read-only memory (MROM), programmable read-only memory (PROM), erasable programmable read-only memory (perrom), electrically erasable programmable read-only memory (EEPROM), compact disk read-only memory (CD-ROM), digital versatile disk read-only memory (dfrom), etc. in some embodiments, storage device 160 may be implemented on a cloud platform. By way of example only, the cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, an intermediate cloud, a multi-cloud, and the like, or any combination thereof.
In some embodiments, a storage device 160 may be connected with the network 120 to communicate with one or more components of the online-to-offline service system 100 (e.g., the server 110, the service requester terminal 130, the service provider terminal 140, etc.). One or more components of the online-to-offline service system 100 may access data or instructions stored in the storage device 160 through the network 120. In some embodiments, the storage device 160 may be directly connected to or in communication with one or more components of the online-to-offline service system 100 (e.g., the server 110, the service requestor terminal 130, the service provider terminal 140, etc.). In some embodiments, storage device 160 may be part of server 110.
The navigation system 170 may determine information related to an object, such as one or more of the service requester terminal 130, the service provider terminal 140, the vehicle 150, etc. In some embodiments, the navigation system 170 may be a Global Positioning System (GPS), a global navigation satellite system (GLONASS), a COMPASS navigation system (COMPASS), a beidou navigation satellite system, a galileo positioning system, a quasi-zenith satellite system (QZSS), or the like. The information may include a position, altitude, velocity, acceleration, or current time of the object. The navigation system 170 may include one or more satellites, such as satellite 170-1, satellite 170-2, and satellite 170-3. The satellites 170-1 to 170-3 may independently or collectively determine the above information. Satellite navigation system 170 may transmit the information to network 120, service requester terminal 130, service provider terminal 140, or vehicle 150 via a wireless connection.
In some embodiments, one or more components of the online-to-offline service system 100 (e.g., the server 110, the service requestor terminal 130, the service provider terminal 140, etc.) may possess access to the storage device 160. In some embodiments, one or more components of the online-to-offline service system 100 may read and/or modify information related to the passenger, the service provider, and/or the public when one or more conditions are satisfied. For example, after a service is completed, the server 110 may read and/or modify information for one or more passengers. As another example, after a service is completed, server 110 may read and/or modify information for one or more service providers.
In some embodiments, the exchange of information for one or more components of the online-to-offline service system 100 may be accomplished by requesting a service. The object of the service request may be any product. In some embodiments, the product may include food, medicine, merchandise, chemical products, appliances, clothing, cars, houses, luxury goods, and the like, or any combination of the above. In some embodiments, the products may include service products, financial products, knowledge products, internet products, and the like, or any combination of the above. The internet products may include personal host products, website products, mobile internet products, commercial host products, embedded products, and the like, or any combination of the above. The mobile internet product may be used for software, programs, systems, etc. of the mobile terminal or any combination of the above examples. The mobile terminal may include a tablet computer, laptop computer, mobile handset, Personal Digital Assistant (PDA), smart watch, point of sale (POS) device, on-board computer, on-board television, on-board device, etc., or any combination of the above. The product may be any software and/or application used in a computer or mobile handset, for example. The software and/or applications may relate to social interaction, shopping, transportation, entertainment, learning, investment, etc., or any combination of the above. In some embodiments, the traffic-related software and/or applications may include travel software and/or applications, vehicle scheduling software and/or applications, mapping software and/or applications, and/or the like. In the vehicle scheduling software and/or application, the vehicle may include horses, human powered vehicles (e.g., wheelbarrows, bicycles, tricycles, etc.), automobiles (e.g., taxis, buses, private cars, etc.), trains, subways, ships, aircraft (e.g., airplanes, helicopters, space shuttles, rockets, hot air balloons, etc.), and any combination thereof.
FIG. 2 is a schematic diagram of exemplary hardware and software of a computing device 200, shown according to some embodiments of the present application. The server 110, the service requester terminal 130 and/or the service provider terminal 140 may be implemented on a computing device 200. For example, the processing engine 112 may be implemented on the computing device 200 and configured to implement the functionality disclosed herein.
Computing device 200 may be a general purpose computer or a special purpose computer; both may be used to implement the online-to-offline service system disclosed herein. Computing device 200 may be used to implement any of the components of the online-to-offline services described herein. For example, the processing engine 112 may be implemented on the computing device 200 by its hardware, software programs, firmware, or a combination thereof. Although only one such computer is shown, for convenience, computer functionality associated with the online-to-offline services described herein may be implemented in a distributed manner across multiple similar platforms to spread processing load.
For example, the computing device 200 may include a communication port 250 for connecting to a network to facilitate data communication. Computing device 200 may also include a processor (e.g., processor 220) in the form of one or more processors for executing program instructions. An exemplary computing device may include an internal communication bus 210, different forms of program memory and data storage, including, for example, a disk 270 and Read Only Memory (ROM)230, or Random Access Memory (RAM)240 for processing and/or transmission of various data files by the computing device. The exemplary computing device may also include program instructions stored in Read Only Memory (ROM)230, Random Access Memory (RAM)240, and/or other forms of non-transitory storage media that are capable of being executed by processor 220. The methods and/or processes disclosed herein may be implemented as program instructions. Computing device 200 also includes I/O components 260 that support input/output between the computer and other components. The computing device 200 may also receive programs and data via network communications.
For illustration only, only one CPU and/or processor is shown in FIG. 2. Multiple CPUs and/or processors are also contemplated; thus, operations and/or method steps described in the present invention as being performed by one CPU and/or processor may also be performed by multiple CPUs and/or processors, collectively or independently. For example, if in the present application the CPUs and/or processors of computing device 200 perform steps a and B, it should be understood that steps a and B may also be performed by two different CPUs and/or processors of computing device 200, either collectively or independently (e.g., a first processor performing step a, a second processor performing step B, or a first and second processor collectively performing steps a and B).
Fig. 3 is a schematic diagram of exemplary hardware and/or software components of a mobile device 300, shown in accordance with some embodiments of the present disclosure. As shown in FIG. 3, mobile device 300 may include a communication module 310, a display 320, a graphics data processing unit (GPU)330, a processor 340, an input/output interface 350, a memory 360, and a storage 390. in some embodiments, any other suitable component, including but not limited to a system bus or controller (not shown), may also be included in mobile device 300. In some embodiments, the operating system 370 is mobile (e.g., iOS)TM,AndroidTM,Windows PhoneTM) And one or more applications 380 may be loaded from storage 390 into memory 360 for execution by CPU 340. The applications 380 may include a browser or any other suitable application for sending, receiving, and presenting information from the server 110 related to the status of the vehicle 150 (e.g., the location of the vehicle 150). User interaction information may be obtained via input/output 350 and provided to processing engine 112 and/or other components of online-to-offline service system 100 via network 120.
FIG. 4 is a block diagram of an exemplary processing engine shown in accordance with some embodiments of the present disclosure. The processing engine 112 may include an acquisition module 402, a determination module 404, a generation module 406, a traversal module 408, a comparison module 410, and a transmission module 412. At least a portion of processing engine 112 may be implemented on a computing device as shown in FIG. 2 or a mobile device as shown in FIG. 3.
The acquisition module 402 is configured to acquire a request for data related to a geographic area via the network 120. The geographic area includes a plurality of geographic location points. The plurality of geographic location points are associated with at least one of: a trajectory of a person, a trajectory of an animal, a trajectory of a vehicle, building-related information, or road-related information. The data relating to the geographical area may be embodied in the form of map information.
The determination module 404 may be configured to determine a plurality of data sets for storing data related to the plurality of geographical areas. The data may be associated with a plurality of geographic location points of a geographic area. In some embodiments, the data may include spatial element data related to a geographic area. The determination module 404 may determine a plurality of hilbert distances associated with the plurality of geographic location points. For each geographic location point, the determination module 404 may determine a hilbert distance. The determination module 404 may specify the plurality of hilbert distances as the plurality of spatial index values. In some embodiments, the determination module 404 may determine data associated with geographic location points having the same spatial index value. The determination module 404 may further store data associated with the same spatial index value into a data group. In this way, the processing engine 112 may determine a plurality of data sets, each data set corresponding to a spatial index value (and a Hilbert distance).
The generation module 406 is configured to generate a priority queue based on the plurality of data groups. The generation module 406 may determine a priority queue based on the plurality of spatial index values and the geographic region. In some embodiments, the priority queue may include a plurality of buffer range data. Each buffer range data may include a plurality of queue index values. The buffer range data may be associated with a portion of the geographic area. In some embodiments, the buffered range data may include range data and buffered data. The buffered data may correspond to geographic location points surrounding a first portion of the geographic area; the buffered data may correspond to a geographic location point surrounding a portion of the geographic area.
Traversal module 408 may be configured to traverse the data groups associated with the smallest of the spatial index values, starting with the data group. Traversal module 408 may also arrange the data sets in ascending order based further on the plurality of spatial index values. The traversal module 408 may also generate an ordered data group. The traversal module 408 may traverse the ordered data groups starting with the data group containing the smallest spatial index value.
The traversal module 408 may traverse the ordered set of data. In some embodiments, processing engine 112 may determine a smallest spatial index value of the plurality of spatial index values. The processing engine 112 may traverse the ordered data set starting with the data set having the smallest spatial index value.
The comparison module 410 may be configured to determine whether the spatial index value of the currently traversed data set is equal to or greater than the first reference index value. If the comparison module 410 determines that the spatial index value of the currently traversed data set is equal to or greater than the first reference index value, the comparison module 410 may determine that each of the plurality of first caches may have stored the corresponding data. In this case, the first buffer range data may be ready for transmission to the user. In some embodiments, data related to a first portion of a geographic area (e.g., first buffer range data) may be transmitted to a user in the form of a map. The map may include at least one of: human tracks, animal tracks, vehicle tracks, building related information or road related information.
In some embodiments, the comparison module 410 may determine the first buffer range data from the priority queue. The first buffer range data may include a reference index value. The comparison module 410 may update the priority queue. The comparison module 410 may also update the first buffer range data and the first reference index value based on the updated priority queue.
The transmission module 412 may be configured to transmit first buffer range data to the user terminal (e.g., service requestor terminal 130, service provider terminal 140) in response to determining that the spatial index value of the currently traversed cache is equal to or greater than the first reference index value. The first buffer range data may be transmitted to the user terminal in the form of map information.
The storage module 414 may be configured to store data traversing the data groups to corresponding caches. The storage module 414 may determine a spatial index value associated with the traversal data set. The queue index value of the corresponding cache may be equal to the spatial index value of the traversed data group. The storage module 414 may store the data of the traversed data group in the corresponding cache.
It should be noted that the above description of the processing engine 112 is merely for convenience of description and is not intended to limit the present application to the scope of the illustrated embodiments. Various changes and modifications will occur to those skilled in the art based on the description herein. However, variations and modifications may be made without departing from the scope of the present application. For example, the determining module 404 and the generating module 406 may be integrated into a single module to perform their functions.
Fig. 5 is a flow diagram illustrating an exemplary process for transmitting data relating to a first portion of a geographic area to a client terminal according to some embodiments of the present disclosure. In some embodiments, the processing engine 112 may perform step 500 to transmit data relating to a first portion of the geographic area to the user terminal. In some embodiments, one or more operations of the flow 500 for sending data related to a first portion of a geographic area to a user terminal illustrated in fig. 5 may be implemented in the online-to-offline service system 100 illustrated in fig. 1. For example, the flow 500 illustrated in fig. 5 may be stored in the storage device 160 in the form of instructions and invoked and/or executed by the processing engine 112 (e.g., the processor 220 of the computing apparatus 200 illustrated in fig. 2, the processor 340 of the mobile apparatus 300 illustrated in fig. 3).
In 502, the processing engine 112 (e.g., the acquisition module 402) may acquire a request for the geographic area data via the network 120. The geographic area includes a plurality of geographic location points. The plurality of geographic location points are associated with at least one of: a trajectory of a person, a trajectory of an animal, a trajectory of a vehicle, building-related information, or road-related information. The data relating to the geographical area may be embodied in the form of map information. In some embodiments, the user may open an application to call a taxi (or operate a navigation application) at a starting location of the geographic area via a user terminal (e.g., service requester terminal 130), meaning that the user may request data related to the geographic area. The service requester terminal 130 may send the request to the server 110 via the network 120.
In some embodiments, the user may be interested in a geographic area. For example, the user wishes to travel in the geographic area. The user may plan to reach the destination from the origin. The geographic region may include an origin and a destination. A user may request data related to a geographic region via a user terminal (e.g., service requestor terminal 130, service provider terminal 140). In this way, the processing engine 112 can obtain a request for data relating to a geographic area directly or indirectly from a user terminal.
In some embodiments, the geographic region may be associated with a historical service order. As used herein, the term "historical service order" generally refers to a service request that has been completed. For example, a requestor may send a service (e.g., a transport service) request to the online-to-offline service system 100. The service provider may accept the service request and provide the service to the requestor indicating that the service request is complete. The online-to-offline service system 100 may save the service request as a historical service order in a storage device (e.g., storage device 160).
The historical service order may include a historical origin and a historical destination. The geographic area may include historical origin points, historical destination points, and geographic location points associated with the route. The service provider may drive to take the requester from the origin to the destination on the route. The route may indicate a trajectory associated with a user (e.g., a service requester, a service provider) or a vehicle. When a user wishes to search for a historical origin or historical destination associated with a historical order, the user may request data related to a geographic area via a user terminal (e.g., service requester terminal 130, service provider terminal 140). In this way, the processing engine 112 may obtain requests for data related to a geographic region directly from a user terminal or a storage device (e.g., storage device 160, disk 270) storing historical service orders.
At 504, the processing engine 112 (e.g., determination module 404) may determine a plurality of data sets for storing data associated with the geographic area. The data may be associated with a plurality of geographic location points of a geographic area. In some embodiments, the data may include spatial element data related to a geographic area. For example, the data may include at least one of the following in the geographic region: human tracks, animal tracks, vehicle tracks, building related information or road related information. The information related to the building may include a height of the building, a location of the building, one or more exits of the building, one or more entrances of the building, and the like or combinations thereof. The information about the link may include the link, the width of the link, intersections associated with the link, traffic conditions of the link, or the like, or combinations thereof.
In some embodiments, the processing engine 112 may determine a plurality of hilbert distances associated with the plurality of geographic location points. For each geographic location point, the processing engine 112 may determine a hilbert distance. As used herein, hilbert distance refers to a distance in hilbert space. The processing engine 112 may specify the hilbert distance as a plurality of spatial index values. In this application, "hilbert distance" and "spatial index value" may be used interchangeably. The processing engine 112 may determine spatial index values associated with a plurality of geographic location points based on a plurality of hilbert distances. The spatial index value may be an extended index that allows a user to index spatial data (e.g., data related to a geographic location point).
In some embodiments, the processing engine 112 may determine data for geo-location points having the same spatial index value (i.e., the same hilbert distance). Processing engine 112 may also store data associated with the same spatial index value into a data set. In this way, the processing engine 112 may determine a plurality of data sets, each data set corresponding to a spatial index value (i.e., a hilbert distance). Geographical location points having the same hilbert distance may be grouped and form a sub-area of the geographical area.
In 506, the processing engine 112 (e.g., the generation module 406) may generate a priority queue based on the plurality of data groups. The priority queue may include first buffer range data. The first buffer range data may be associated with a plurality of first queue index values, a first reference index value, and a first portion of the geographic area. In some embodiments, the priority queue may be a data type similar to a conventional queue or stack data structure.
The processing engine 112 may determine a priority queue based on the plurality of spatial index values and the geographic region. In some embodiments, the priority queue includes a plurality of buffer range data. Fig. 9 is a schematic diagram of an exemplary priority queue shown in accordance with some embodiments of the present disclosure. As shown in fig. 9, the priority queue 900 may include first buffer range data 902 and second buffer range data 904. The first buffer range data 902 may correspond to 6 by 6 squares. The second buffer range data 904 may correspond to another 6 x 6 square. As used herein, a 6 x 6 square may refer to a 6 x 6 square having both a width and a length of 6, assuming that the length of the side of each smallest square is 1.
Each buffer range data may include a plurality of queue index values. For example, first buffer range data 902 may include a plurality of first queue index values. As shown in fig. 9, the plurality of first queue index values may include 8-11 and 24-55. The first reference index value may be the maximum value of the plurality of first queue index values, i.e., 55. The first buffer range data 902 may be associated with a first portion of a geographic area. The plurality of first queue index values may correspond to a plurality of spatial index values associated with a first portion of the geographic area.
The second buffer range data 904 may include a plurality of second queue index values. As shown in fig. 9, the plurality of second queue index values may include 0-19,28-35, and 52-59. The second reference index value may be the maximum value of the plurality of second queue index values, i.e., 59. The second buffer range data may be associated with a second portion of the geographic area. The plurality of second queue index values may correspond to a plurality of spatial index values associated with a second portion of the geographic area.
In some embodiments, the plurality of buffer range data in each priority queue may include a plurality of queue index values. For each of the plurality of buffer range data, processing engine 112 may determine a maximum queue index value of the plurality of queue index values. Processing engine 112 may determine a plurality of maximum queue index values, each maximum queue index value associated with one of the plurality of buffer range data. The processing engine 112 may determine the minimum of the maximum queue index values. The processing engine 112 may take the buffer range data associated with the minimum value as the first buffer range data. As shown in fig. 9, for example, the second reference index value associated with the second buffer range data is 59. The first reference index value associated with the first buffer range data is 55 and is smaller than the second reference index value (i.e., 59).
In some embodiments, the two buffer range data may overlap. As shown in fig. 9, first buffer range data 902 and second buffer range data 904 may comprise a shared cache. The shared cache may correspond to the smallest square with queue index values of 8-11, 28-35, and 52-55.
In some embodiments, the buffered range data may include range data and buffered data. For example, as shown in fig. 9, the first buffer range data may include a first range data 906 and a first buffer data 908. The first range data 906 may correspond to 4 x 4 squares. The first buffered data 908 may correspond to an area equal to the area of the first buffered range data 902 minus the area of the first range data 906. As shown in fig. 9, the first range data corresponds to the smallest square whose first queue index value is 32-47. The first buffered data corresponds to the smallest square having the first queue index values of 8-11, 24-31, and 48-55. The first buffered data 908 may surround the first range data 906.
The second range data 910 may correspond to 4 x 4 squares. The second buffer data 912 may correspond to an area equal to the area of the second buffer range data 904 minus the area of the second range data 910. As shown in fig. 9, the second range of data corresponds to the smallest square having second queue index values of 0-15. The second buffered data corresponds to the smallest square whose second queue index values are 16-19, 28-35, and 52-59. The second buffered data 912 may surround the second range data 910.
It should be noted that the above description of the first buffer range data 902 and the buffer range data 904 is provided for illustrative purposes and should not be specified as the only actual embodiment. For example, the buffer range data may be located in the middle of the priority queue. The size of the first buffer range data 902 and the size of the second buffer range data 904 may be different. The first buffer range data 902 and the second buffer range data 904 may be spaced apart.
In some embodiments, the first range data may correspond to geographic location points of a first portion of a geographic area; the second range data may correspond to geographic location points of a second portion of the geographic area; and so on. The first buffered data may correspond to a geographic location point surrounding a first portion of a geographic area; the second buffered data may correspond to geographic location points surrounding a second portion of the geographic area; and so on.
In some embodiments, each buffer range data may include multiple caches. As shown in fig. 9, each of the smallest squares may be a cache. For example, the first buffer range data may include a plurality of first caches. The first cache may correspond to the smallest square having first queue index values of 0-19,28-35, and 52-59. The cache may correspond to a queue index value. Different caches may correspond to different queue index values. These caches may store data associated with the data groups. The cache may store the data in the corresponding data group. The cached queue index value and the spatial index value associated with the corresponding data set may be the same. For example, the cache may store data associated with a data group having a spatial index value of 1 in response to a queue index value of 1.
At 508, the processing engine 112 (e.g., traversal module 408) may traverse the data set starting with the data set associated with the smallest spatial index value. As described in connection with step 504, each data set may have a corresponding spatial index value. The processing engine 112 may arrange the data sets in ascending order based on the plurality of spatial index values. The processing engine 112 may also generate ordered data sets.
The processing engine 112 may traverse the ordered data set. In some embodiments, processing engine 112 may determine a smallest spatial index value of the plurality of spatial index values. The processing engine 112 may traverse the ordered data set starting with the data set having the smallest spatial index value.
In some embodiments, processing engine 112 may determine a spatial index value for the current traversal data set. The processing engine 112 may determine a corresponding cache associated with the current traversal data set. The queue index value of the corresponding cache may be equal to the spatial index value of the current traversal dataset. The processing engine 112 may store the data of the currently traversed data set in the corresponding cache.
For example, the minimum spatial index value may be 1. Processing engine 112 may first traverse the data group with the smallest spatial index value (i.e., 1). Processing engine 112 may store the data of the data group having the smallest spatial index value into a cache having a queue index value of 1 (hereinafter also referred to as "cache 1"). Processing engine 112 may traverse the data set having a spatial index value of 2 (hereinafter also referred to as "data set 2"). Processing engine 112 may store data for data set 2 in cache 2. Processing engine 112 may traverse data set 3. Processing engine 112 may store data for data set 3 in cache 3, and so on. The processing engine 112 may traverse all of the data sets.
At 510, the processing engine 112 (e.g., the comparison module 410) may determine whether the spatial index value of the current traversal data set is equal to or greater than the first reference index value. The first reference index value may be a largest spatial index value among the plurality of first spatial index values. If processing engine 112 determines that the spatial index value of the current traversal data set is equal to or greater than the first reference index value, processing engine 112 may determine that each of the plurality of first caches may own the corresponding data stored. In this case, the first buffer range data may be prepared for delivery to the user. In some embodiments, the first buffer range data may be transmitted to the user in the form of a map. The map may include at least one of: a trajectory of a person, a trajectory of an animal, a trajectory of a vehicle, building-related information or road-related information.
At 512, the processing engine 112 (e.g., the transmission module 412) may transmit first buffer range data (e.g., data associated with a first portion of the geographic area) to the user terminal (e.g., the service requester terminal 130, the service provider terminal 140) in response to determining that the currently traversed cached spatial index value is equal to or greater than the first reference index value. If processing engine 112 determines that the spatial index value of the current traversal data set is less than the first parameter index value, processing engine 112 may determine that at least some of the first cache may be empty. In this case, the first buffer range data may not be ready yet. The processing engine 112 may continue to traverse the remaining data sets. While traversing the remaining data sets, the processing engine 112 may store the data in the empty first cache.
It should be noted that the above flow relating to the transmission of data associated with the first portion of the geographical area to the user terminal is provided for illustrative purposes and should not be specified as the only practical embodiment. It will be apparent to those skilled in the art, having the benefit of understanding the general principles of the process of transmitting data associated with a first part of a geographical area to a user terminal, that modifications or changes in form or detail of specific actual methods and steps may be made and further simple derivations or substitutions may be made or certain steps may be modified or combined without the use of inventive effort without departing from the principles. However, variations and modifications do not depart from the scope of the present application. Additionally or alternatively, one or more steps may be omitted. In some embodiments, two or more steps may be integrated into one step, or one step may be divided into two steps. In some embodiments, 504 and 506 may be combined into one operation.
FIG. 6 is a flow diagram illustrating an exemplary process for storing data traversing a data set to a corresponding cache according to some embodiments disclosed herein. In some embodiments, processing engine 112 may perform flow 600 to store data traversing a data set in a cache. In some embodiments, one or more operations of the flow 600 illustrated in FIG. 6 for storing data traversing a data group to a cache may be implemented on the inline to offline service system 100 illustrated in FIG. 1. For example, flow 600 as shown in fig. 6 may be stored in storage device 160 in the form of instructions and invoked and/or executed by processing engine 112 (e.g., processor 220 of computing device 200 as shown in fig. 2, processor 340 of mobile device 300 as shown in fig. 3).
In 602, the processing engine 112 (e.g., traversal module 408) may sort the plurality of data groups in ascending order based on the plurality of spatial index values to generate an ordered data group. In some embodiments, the data set to be arranged may be the data set generated in step 506 of the process 500 described elsewhere herein, and steps 508 and 512 of the process 500 may be performed in accordance with steps 604 and 608. In some embodiments, each data group may correspond to a spatial index value. The processing engine 112 may arrange the plurality of data sets in ascending order based on the plurality of spatial index values. The processing engine 112 may also generate ordered data sets.
At 604, the processing engine 112 (e.g., traversal module 408) may traverse the ordered data group starting with the data group associated with the smallest spatial index value of the plurality of spatial index values. The processing engine 112 may determine a smallest spatial index value of the plurality of spatial index values. The processing engine 112 may determine the data group associated with the smallest spatial index value. Processing engine 112 may traverse the plurality of data sets starting with the data set associated with the smallest spatial index value.
In 606, the processing engine 112 (e.g., traversal module 408) can determine data to traverse the data set. The processing engine 112 may also determine a spatial index value associated with the traversal data set.
At 608, the processing engine 112 (e.g., storage module 414) may store the data traversing the data groups to a corresponding cache. As depicted in step 606, the data of the traversal data set can be associated with a spatial index value (hereinafter referred to as a "traversal spatial index value"). The queue index value of the corresponding cache may be equal to the traversal spatial index value. The processing engine 112 may store the data of the traversed data set in the corresponding cache.
In some embodiments, the two buffer range data may comprise a shared cache, as depicted in step 506. If processing engine 112 stores the data traversing the dataset in the shared cache, processing engine 112 may store the data traversing the dataset in two buffer ranges of data comprising the shared cache. For example, as shown in FIG. 9, if the spatial index value of the currently traversed data set is 28, the processing engine 112 may store the data of the traversed data set in the cache 28 in the first buffer data 902, and in the cache 28 in the second buffer data 904. As used herein, cache 28 may refer to a cache whose queue index value is 28. For data groups whose spatial index value is less than the spatial index value of the currently traversed data group, processing engine 112 may store the data of the data group into a priority queue (e.g., one or more buffer range data).
It should be noted that the above description of the flow of storing the data of the traversal data set into the cache is provided for illustrative purposes and should not be specified as the only practical embodiment. It will be apparent to those skilled in the art having the benefit of this disclosure that the basic principles of the process for storing data in a cache for traversing a data set in a cache, may be modified or altered in form or detail of specific actual methods and steps and further that certain steps may be modified or combined without departing from the principles of the invention. However, variations and modifications do not depart from the scope of the present application. Additionally or alternatively, one or more steps may be omitted. In some embodiments, two or more steps may be integrated into one step, or one step may be divided into two steps. In some embodiments, 606 and 608 may be combined into one operation.
FIG. 7 is a flow diagram illustrating an exemplary process for determining specified first buffer range data and specified first reference index value according to some embodiments of the present disclosure. In some embodiments, processing engine 112 may perform flow 700 to determine the specified first buffer range data and the specified first reference index value. In some embodiments, one or more operations of the flow 700 for determining the specified first buffer range data and the specified first reference index value illustrated in fig. 7 may be implemented on the online-to-offline service system 100 as illustrated in fig. 1. For example, flow 700 as shown in fig. 7 may be stored in storage device 160 in the form of instructions and invoked and/or executed by processing engine 112 (e.g., processor 220 of computing apparatus 200 as shown in fig. 2, processor 340 of mobile apparatus 300 as shown in fig. 3). In some embodiments, step 510 of flow 500 may be performed based on flow 700 determining whether the spatial index value of the current traversal data set is equal to or greater than the first reference value index value.
At 702, processing engine 112 (e.g., comparison module 410) may obtain second buffer range data associated with a plurality of second queue index values from the priority queue. Similar to the first buffer range data, the second buffer range data may be associated with a plurality of second queue index values, a second portion of the geographic area, and a second reference index value. In some embodiments, the first portion of the geographic area and the second portion of the geographic area may overlap, abut, or be spaced apart from each other.
The second buffer range data may include a plurality of second caches. The plurality of second queue index values may correspond to a plurality of second caches. For example, each second cache may correspond to a second queue index value. A different second cache may have a different second queue index value.
At 704, the processing engine 112 (e.g., the comparison module 410) may determine the index value of the largest second queue of the plurality of second queue index values and designate it as the second reference index value.
In 706, the processing engine 112 (e.g., the comparison module 410) may determine whether the second reference index value is less than the first reference index value. The processing engine 112 may compare the second reference index value to the first reference index value. The processing engine 112 may determine whether the second reference index value is less than the first reference index value.
In 708, the processing engine 112 (e.g., the comparison module 410) may designate the second buffer range data as the first buffer range data in response to determining that the second reference index value is less than the first reference index value.
In 710, the processing engine 112 (e.g., the comparison module 410) may designate the second reference index value as the first index value in response to determining that the second reference index value is less than the first reference index value. The processing engine 112 may also designate a second portion of the geographic area as the first portion of the geographic area in response to determining that the second reference index value is less than the first reference index value. If the processing engine 112 determines that the second reference index value is equal to or greater than the first reference index value, the first buffer range data may remain as the first buffer range data.
At 712, the processing engine 112 (e.g., the comparison module 410) may determine whether the spatial index value of the current traversal data set is equal to or greater than the specified first reference index value. The processing engine 112 may obtain or determine a spatial index value for the current traversal data set. The processing engine 112 may compare the spatial index value of the current traversal data set to the specified first reference index value. The processing engine 112 may determine a larger value and/or a smaller value between the spatial index value of the current traversal data set and the specified first reference index value.
If processing engine 112 determines that the spatial index value of the current traversal data set is equal to or greater than the specified first reference index value, processing engine 112 may output the specified first buffered data range. The processing engine 112 may transmit the first buffer range data to a user terminal (e.g., service requestor terminal 130, service provider terminal 140). If processing engine 112 determines that the spatial index value of the currently traversed data set is less than the specified first reference index value, processing engine 112 may continue traversing the data set.
It should be noted that the above description regarding the flow of determining the specified first buffer range data and first reference index value is provided for illustrative purposes and should not be specified as the only actual embodiment. It will be apparent to those skilled in the art having the benefit of the general principles of the procedures for specifying first buffer range data and specifying first reference index values that may be modified or varied in form or detail of specific actual methods and steps and further that simple derivations or substitutions may be made or that certain steps may be modified or combined without the use of inventive effort without departing from the principles. However, variations and modifications do not depart from the scope of the present application. Additionally or alternatively, one or more steps may be omitted. In some embodiments, two or more steps may be integrated into one step, or one step may be divided into two steps. In some embodiments, 708 and 710 may be combined into one operation.
FIG. 8 is a flow diagram illustrating an exemplary process for traversing multiple data sets in accordance with some embodiments disclosed herein. In some embodiments, the processing engine 112 may perform the flow 800 to traverse multiple data sets. In some embodiments, one or more of the operations illustrated in FIG. 8 for traversing multiple data group placement processes 800 may be implemented on the inline to offline service system 100 illustrated in FIG. 1. For example, the process 800 as shown in fig. 8 may be stored in the storage device 160 in the form of instructions and invoked and/or executed by the processing engine 112 (e.g., the processor 220 of the computing apparatus 200 as shown in fig. 2, the processor 340 of the mobile apparatus 300 as shown in fig. 3).
In 802, the processing engine 112 (e.g., traversal module 408) can traverse a plurality of data sets. Further description of traversing multiple data sets may be found elsewhere in the present application (e.g., fig. 5-7 and their descriptions).
In 804, processing engine 112 (e.g., storage module 414) may store the data traversing the data set to a cache. Further description of storing data of a traversed dataset in a cache may be found elsewhere in this application (e.g., fig. 5-7 and their descriptions).
At 806, the processing engine 112 (e.g., the comparison module 410) may determine whether each cache in the first buffer range data already stores data of the corresponding data group. The processing engine 112 may determine the spatial index value of the current traversal data set. The processing engine 112 may compare the spatial index value of the current traversal data set to the first reference index value. If the spatial index value of the currently traversed data set is equal to or greater than the first reference index value, the processing engine 112 may determine that each cache in the first buffer range data stores data of the corresponding data set. If the spatial index value of the currently traversed data set is less than the first reference index value, the processing engine 112 may traverse the remaining data sets and store the data in an empty cache in the first buffer range data.
In some embodiments, the first buffer range data may include data relating to a first portion of the geographic area. The data relating to the first portion of the geographic area may be in the form of map information. The map information may include at least one of: human tracks, animal tracks, vehicle tracks, building related information or road related information.
At 808, the processing engine 112 (e.g., the transmission module 412) may output the first buffer range data from the priority queue in response to determining that each cache in the first buffer range data stores data of a corresponding data group. In some embodiments, the processing engine 112 may transmit the first buffer range data in the form of map information to the user terminal (e.g., service requestor terminal 130, service provider terminal 140).
At 810, the processing engine 112 (e.g., the generation module 406) may update the priority queue by removing the first buffer range data from the priority queue. In this way, the processing engine 112 may determine or obtain an updated priority queue.
At 812, the processing engine 112 (e.g., the generation module 406) may obtain the new first buffer range data and a new first reference value index value based on the updated priority queue. As described in connection with step 506, the processing engine 112 may determine a plurality of maximum queue index values associated with the updated priority queue. Processing engine 112 may determine the smallest queue index value of the plurality of largest queue index values. The processing engine 112 may designate the buffer range data associated with the minimum value as the new first buffer range data from the updated priority queue.
The new first buffered data range may include a plurality of new first queue index values. The processing engine 112 may designate a largest first queue index value of the plurality of new first queue index values as a new first reference index value.
At 814, the processing engine 112 (e.g., the comparison module 410) may determine whether the spatial index value of the current traversal data set is equal to the largest spatial index value of the plurality of spatial index values. If the spatial index value of the current traversal data set is less than the largest spatial index value of the plurality of spatial index values, the processing engine 112 may return to 802 and perform steps 802 through 814 described herein. In 802, the processing engine 112 may continue to traverse the remaining data sets. At 804, processing engine 112 may store the data of the new traversal data set in a corresponding cache. At 806, the processing engine 112 may determine whether each cache in the new first buffer range data stores data of the corresponding data group. At 808, the processing engine 112 may output new first buffer range data from the priority queue in response to determining that each cache in the buffer range data has stored data for the corresponding data set. At 810, the processing engine 112 may update the updated priority queue by removing new first buffer range data from the updated priority queue. At 812, the processing engine 112 may continue to update the new first buffer range data and update the new first reference index value.
If the spatial index value of the currently traversed data set is equal to the largest spatial index value of the plurality of spatial index values, processing engine 112 may traverse all of the plurality of data sets. The process 800 may end at 816.
It should be noted that the above description of the flow of traversing multiple data sets, provided for purposes of illustration, should not be specified as the only actual embodiment. It will be apparent to those skilled in the art that the general principles of traversing multiple data sets can be applied to modify or change the form or details of specific practical arrangements and steps and further that simple derivations or substitutions can be made or certain steps can be modified or combined without inventive effort without departing from the principles. However, variations and modifications do not depart from the scope of the present application. Additionally or alternatively, one or more steps may be omitted. In some embodiments, two or more steps may be integrated into one step, or one step may be divided into two steps.
Having thus described the basic concepts, it will be apparent to those of ordinary skill in the art having read the detailed disclosure that the foregoing detailed disclosure is to be construed as exemplary only and is not limiting of the application. Various modifications, improvements and adaptations to the present application may occur to those skilled in the art, although not explicitly described herein. Such alterations, improvements, and modifications are intended to be suggested by this application and are within the spirit and scope of the exemplary embodiments of the application.
Also, this application uses specific terminology to describe embodiments of the application. Reference throughout this specification to "one embodiment," "an embodiment," and/or "some embodiments" means that a particular feature, structure, or characteristic described in connection with at least one embodiment of the present application is included in at least one embodiment of the present application. Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment," "one embodiment," or "an alternative embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, some features, structures, or characteristics of one or more embodiments of the present application may be combined as appropriate.
Moreover, it will be apparent to those skilled in the art that the embodiments of the present application may be directed to new processes, methods, machines, manufacture, or improvements related thereto. Accordingly, embodiments of the present application may be embodied in pure hardware or in pure software, including but not limited to operating systems, resident software, microcode, etc.; but may also be embodied in "systems," "modules," "sub-modules," "units," etc., which may contain both hardware and software. Furthermore, aspects of the present application may be presented as a computer product, having computer-readable program code, in one or more computer-readable media.
A computer readable signal medium may comprise a propagated data signal with computer program code embodied therein, for example, on a baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electro-magnetic, optical, and the like, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code on a computer readable signal medium may be propagated over any suitable medium, including radio, electrical cable, fiber optic cable, RF, or the like, or any combination of the preceding.
Computer program code required for various steps of the present application may be written in any combination of one or more programming languages, including object oriented programming, such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C + +, C #, VB.NET, Python, or similar conventional programming languages, such as the "C" programming language, Visual Basic, Fortran 1703, Perl, COBOL 1702, PHP, ABAP, dynamic programming languages, such as Python, Ruby, and Groovy, or other programming languages. The programming code may run entirely on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any network format, such as a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet), or in a cloud computing environment, or as a service, such as a software as a service (SaaS).
Additionally, the order in which elements and sequences of the processes described herein are processed, the use of alphanumeric characters, or the use of other designations, is not intended to limit the order of the processes and methods described herein, unless explicitly claimed. While various presently contemplated embodiments of the invention have been discussed in the foregoing disclosure by way of example, it is to be understood that such detail is solely for that purpose and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover all modifications and equivalent arrangements that are within the spirit and scope of the embodiments herein. For example, although the system components described above may be implemented by hardware means, they may also be implemented by software-only solutions, such as installing the described system on an existing server or mobile device.
Similarly, it should be noted that in the preceding description of embodiments of the application, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the embodiments. This method of disclosure, however, is not intended to require more features than are expressly recited in the claims. Rather, claimed subject matter may lie in less than all features of a single foregoing disclosed embodiment.

Claims (31)

1. A system for transmitting data of a geographical area to a user terminal, the system comprising:
a storage device storing a set of instructions; and
one or more processors in communication with the storage device, wherein the one or more processors are configured to, when executing the set of instructions, cause the system to:
a request to obtain data relating to the geographical area from the user terminal via a network, the geographical area comprising a plurality of geographical location points;
determining a plurality of data sets for storing data related to the plurality of geographic location points, the plurality of data sets being associated with a plurality of spatial index values;
generating a priority queue including first buffer range data based on the plurality of data groups, wherein,
the first buffer range data is associated with a plurality of first queue index values, a first reference index value, and a first portion of the geographic area, the first buffer range data including first range data and first buffer data, the first range data corresponding to geographic location points of the first portion of the geographic area, the first buffer data corresponding to geographic location points surrounding the first portion of the geographic area;
traversing the plurality of data sets starting with the data set associated with the smallest spatial index value of the plurality of spatial index values;
determining whether a spatial index value of a currently traversed data group is equal to or greater than the first reference index value; and
sending data related to the first portion of the geographic area to the user terminal in response to the determination that the spatial index value of the currently traversed data set is equal to or greater than the first reference index value.
2. The system of claim 1, wherein to determine the plurality of data sets for storing data related to the plurality of geographic location points, the one or more processors are further configured to cause the system to:
determining a plurality of Hilbert distances associated with the plurality of geographic location points;
storing data associated with geographic location points having the same Hilbert distance into the same data set; and
designating the plurality of Hilbert distances as the plurality of spatial index values.
3. The system of claim 2, the one or more processors further configured to cause the system to:
determining spatial index values related to the plurality of geographic location points based on the plurality of Hilbert distances.
4. The system of any one of claims 1 to 3, wherein the data relating to the plurality of geographic location points comprises at least one of: a trajectory of a person, a trajectory of an animal, a trajectory of a vehicle, building-related information, or road-related information.
5. The system of claim 1, wherein the first reference index value is a maximum of the plurality of first queue index values.
6. The system of claim 1, wherein to traverse the plurality of data sets starting from the data set associated with the smallest spatial index value of the plurality of spatial index values, the one or more processors are further configured to cause the system to:
arranging the plurality of data groups in ascending order based on the plurality of spatial index values to generate an ordered data group; and
and traversing the ordered data group.
7. The system of claim 6, wherein the first buffer range data comprises a plurality of caches, each cache associated with a first queue index value.
8. The system of claim 7, wherein the one or more processors are further configured to cause the system to:
traversing the ordered data set starting with the data set associated with the smallest spatial index value of the plurality of spatial index values;
determining data of the traversed data group; and
storing data of the traversed data group in a cache, a first queue index value of the cache being equal to the spatial index value associated with the traversed data group.
9. The system of claim 8, wherein to determine whether the spatial index value of the currently traversed data set is equal to or greater than the first reference index value, the one or more processors are further configured to cause the system to:
obtaining second buffer range data from the priority queue, wherein
The second buffer range data is associated with a plurality of second queue index values, a second reference index value, and a second portion of the geographic area;
designating a largest second queue index value of the plurality of second queue index values as a second reference index value;
determining whether the second reference index value is less than the first reference index value;
designating the second buffer range data as the first buffer range data in response to the determination that the second reference index value is less than the first reference index value;
designating the second reference index value as the first reference index value in response to the determination that the second reference index value is less than the first reference index value; and
determining whether the spatial index value of the currently traversed data set is equal to or greater than the specified first reference index value.
10. The system of claim 9, wherein the one or more processors are further configured to cause the system to:
determining whether each cache in the first buffer range data stores data of a corresponding data group;
in response to said determining that each cache in said buffer range data stores data for a respective set of data, outputting first buffer range data from a priority queue;
updating the priority queue by removing the first buffer range data from the priority queue; and
new first buffer range data and a new first reference index value are obtained based on the updated priority queue.
11. A method implemented on a computing device having one or more processors and storage devices, the method comprising:
a request to obtain data relating to a geographical area from a user terminal via a network, the geographical area comprising a plurality of geographical location points;
determining a plurality of data sets for storing data related to the plurality of geographic location points, the plurality of data sets being associated with a plurality of spatial index values;
generating a priority queue including first buffer range data based on the plurality of data groups, wherein,
the first buffer range data is associated with a plurality of first queue index values, a first reference index value, and a first portion of the geographic area, the first buffer range data including first range data and first buffer data, the first range data corresponding to geographic location points of the first portion of the geographic area, the first buffer data corresponding to geographic location points surrounding the first portion of the geographic area;
traversing the plurality of data sets starting with the data set associated with the smallest spatial index value of the plurality of spatial index values;
determining whether a spatial index value of a currently traversed data group is equal to or greater than the first reference index value; and
sending data related to the first portion of the geographic area to the user terminal in response to the determination that the spatial index value of the currently traversed data set is equal to or greater than the first reference index value.
12. The method of claim 11, wherein determining the plurality of data sets for storing data related to the plurality of geographic location points comprises:
determining a plurality of Hilbert distances associated with the plurality of geographic location points;
storing data associated with geographic location points having the same Hilbert distance into the same data set; and
designating the plurality of Hilbert distances as the plurality of spatial index values.
13. The method of claim 12, further comprising:
determining spatial index values related to the plurality of geographic location points based on the plurality of Hilbert distances.
14. The method of any of claims 11 to 13, wherein the data relating to the plurality of geographical location points comprises at least one of: a trajectory of a person, a trajectory of an animal, a trajectory of a vehicle, building-related information, or road-related information.
15. The method of claim 11, wherein the first reference index value is a maximum of the plurality of first queue index values.
16. The method of claim 11, wherein traversing the plurality of data sets starting from the data set associated with the smallest spatial index value of the plurality of spatial index values comprises:
sorting the plurality of data groups in ascending order based on the plurality of spatial index values to generate an ordered data group; and
and traversing the ordered data group.
17. The method of claim 16, wherein the first buffer range data comprises a plurality of caches, each cache associated with a first queue index value.
18. The method of claim 17, comprising:
traversing the ordered data set starting with the data set associated with the smallest spatial index value of the plurality of spatial index values;
determining data of the traversed data group; and
storing data of the traversed data group in a cache, a first queue index value of the cache being equal to the spatial index value associated with the traversed data group.
19. The method of claim 18, wherein determining whether the spatial index value of the currently traversed data set is equal to or greater than a first reference index value comprises:
obtaining second buffer range data from the priority queue, wherein
The second buffer range data is associated with a plurality of second queue index values, a second reference index value, and a second portion of the geographic area;
marking a largest second queue index value of the plurality of second queue index values as a second reference index value;
determining whether the second reference index value is less than the first reference index value;
in response to the determination that the second reference index value is less than the first reference index value, marking the second buffer range data as the first buffer range data;
in response to the determination that the second reference index value is less than the first reference index value, designating the second reference index value as the first reference index value; and
determining whether the spatial index value of the currently traversed data set is equal to or greater than the specified first reference index value.
20. The method of claim 19, comprising:
determining whether each cache in the first buffer range data stores data of a corresponding data group;
in response to said determining that each cache in said buffer range data stores data for a respective set of data, outputting first buffer range data from a priority queue;
updating the priority queue by removing the first buffer range data from the priority queue; and
new first buffer range data and a new first reference index value are obtained based on the updated priority queue.
21. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a system, cause the system to:
a request to obtain data relating to a geographical area from a user terminal via a network, the geographical area comprising a plurality of geographical location points;
determining a plurality of data sets for storing data related to the plurality of geographic location points, the plurality of data sets being associated with a plurality of spatial index values;
generating a priority queue including first buffer range data based on the plurality of data groups, wherein,
the first buffer range data is associated with a plurality of first queue index values, a first reference index value, and a first portion of the geographic area, the first buffer range data including first range data and first buffer data, the first range data corresponding to geographic location points of the first portion of the geographic area, the first buffer data corresponding to geographic location points surrounding the first portion of the geographic area;
traversing the plurality of data sets starting with the data set associated with the smallest spatial index value of the plurality of spatial index values;
determining whether a spatial index value of a currently traversed data group is equal to or greater than the first reference index value; and
sending data related to the first portion of the geographic area to the user terminal in response to the determination that the spatial index value of the currently traversed data set is equal to or greater than the first reference index value.
22. A system for transmitting data of a geographical area to a user terminal, comprising:
an acquisition module configured to acquire a request for data relating to a geographical area from a user terminal via a network, the geographical area comprising a plurality of geographical location points;
a determination module configured to determine a plurality of data sets for storing data related to the plurality of geographic location points, the plurality of data sets associated with a plurality of spatial index values;
a generation module configured to generate a priority queue including first buffer range data based on the plurality of data groups,
the first buffer range data is associated with a plurality of first queue index values, a first reference index value, and a first portion of the geographic area, the first buffer range data including first range data and first buffer data, the first range data corresponding to geographic location points of the first portion of the geographic area, the first buffer data corresponding to geographic location points surrounding the first portion of the geographic area;
a traversal module configured to traverse the plurality of data sets starting with a data set associated with a smallest spatial index value of the plurality of spatial index values;
a comparison module configured to determine whether a spatial index value of a currently traversed data set is equal to or greater than the first reference index value; and
a transmission module configured to transmit data related to the first portion of the geographic area to the user terminal in response to the determination that the spatial index value of the currently traversed data set is equal to or greater than the first reference index value.
23. The system of claim 22, further comprising a storage module, wherein:
the determination module is further configured to determine a plurality of Hilbert distances associated with the plurality of geographic location points;
the storage module is configured to store data associated with geographic location points having the same Hilbert distance into the same data set; and
the determination module is further configured to designate the plurality of Hilbert distances as the plurality of spatial index values.
24. The system of claim 23, wherein the determination module is further configured to determine spatial index values related to the plurality of geographic location points based on the plurality of hilbert distances.
25. The system of any one of claims 22 to 24, wherein the data relating to the plurality of geographical location points comprises at least one of: a trajectory of a person, a trajectory of an animal, a trajectory of a vehicle, building-related information, or road-related information.
26. The system of claim 22, wherein the first reference index value is a maximum of the plurality of first queue index values.
27. The system of claim 22, wherein:
the traversal module is further configured to arrange the plurality of data groups in ascending order for generating an ordered data group based on the plurality of spatial index values; and
the traversal module is further configured to traverse the ordered set of data.
28. The system of claim 27, wherein the first buffer range data comprises a plurality of caches, each cache associated with a first queue index value.
29. The system of claim 28, further comprising a storage module, wherein:
the traversal module is further configured to traverse the ordered data group starting with the data group associated with the smallest spatial index value of the plurality of spatial index values;
the traversal module is further configured to determine data of a traversed data set; and
the storage module is further configured to store data of the traversed data group in a cache, where a first queue index value of the cache is equal to the spatial index value associated with the traversed data group.
30. The system of claim 29, wherein:
the comparison module is further configured to obtain second buffer range data from the priority queue, wherein,
the second buffer range data is associated with a plurality of second queue index values, a second reference index value, and a second portion of the geographic area;
the comparison module is further configured to designate a largest second queue index value of the plurality of second queue index values as a second reference index value;
the comparison module is further configured to determine whether the second reference index value is less than the first reference index value;
the comparison module is further configured to designate the second buffer range data as the first buffer range data in response to the determination that the second reference index value is less than the first reference index value;
the comparison module is further configured to designate the second reference index value as the first reference index value in response to the determination that the second reference index value is less than the first reference index value; and
the comparison module is further configured to determine whether the spatial index value of the current traversal data set is equal to or greater than the specified first reference index value.
31. The system of claim 30, wherein:
the comparison module is further configured to determine whether each cache in the first buffer range data stores data of a corresponding data group;
the sending module is further configured to output first buffer range data from a priority queue in response to each cache in the determined buffer range data storing data of a respective set of data;
the generation module is further configured to update the priority queue by removing the first buffer range data from the priority queue; and
the generation module is further configured to obtain new first buffer range data and a new first reference index value based on the updated priority queue.
CN201880001006.7A 2018-05-30 2018-05-30 System and method for transmitting spatial data Active CN110832811B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/089012 WO2019227338A1 (en) 2018-05-30 2018-05-30 Systems and methods for traversing spatial data

Publications (2)

Publication Number Publication Date
CN110832811A CN110832811A (en) 2020-02-21
CN110832811B true CN110832811B (en) 2021-12-28

Family

ID=68697661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880001006.7A Active CN110832811B (en) 2018-05-30 2018-05-30 System and method for transmitting spatial data

Country Status (2)

Country Link
CN (1) CN110832811B (en)
WO (1) WO2019227338A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082934A (en) * 2007-06-19 2007-12-05 北京师范大学 Three-dimensional visual method of very-large-scale space data in network surroundings
CN102013015A (en) * 2010-12-02 2011-04-13 南京大学 Object-oriented remote sensing image coastline extraction method
CN106506343A (en) * 2016-12-15 2017-03-15 山西省交通科学研究院 A kind of accident potential's Check System and method based on global position system
CN107133364A (en) * 2017-06-08 2017-09-05 浙江同力信息科技有限公司 Regular bus inquiry system based on wechat platform

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7580792B1 (en) * 2005-10-28 2009-08-25 At&T Corp. Method and apparatus for providing traffic information associated with map requests
US9531658B2 (en) * 2014-07-16 2016-12-27 International Business Machines Corporation Routing messages based on geolocation information associated with both the messages and with subscribers
US10824654B2 (en) * 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082934A (en) * 2007-06-19 2007-12-05 北京师范大学 Three-dimensional visual method of very-large-scale space data in network surroundings
CN102013015A (en) * 2010-12-02 2011-04-13 南京大学 Object-oriented remote sensing image coastline extraction method
CN106506343A (en) * 2016-12-15 2017-03-15 山西省交通科学研究院 A kind of accident potential's Check System and method based on global position system
CN107133364A (en) * 2017-06-08 2017-09-05 浙江同力信息科技有限公司 Regular bus inquiry system based on wechat platform

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Lianming Xu ; Qing Sheng等.Electronic map model of indoor location and navigation based on location fingerprints.《 IET International Conference on Communication Technology and Application (ICCTA 2011)》.2012, *
在 WEB-GIS环境下基于 Hillbert曲线的空间查询优化方法;徐少文;《九江学院学报》;20080630;第2页 *

Also Published As

Publication number Publication date
CN110832811A (en) 2020-02-21
WO2019227338A1 (en) 2019-12-05

Similar Documents

Publication Publication Date Title
CN109478275B (en) System and method for distributing service requests
US11017662B2 (en) Systems and methods for determining a path of a moving device
CN109313036B (en) Route planning system and method
CN108713326B (en) System and method for distributing on-demand service requests
TWI673659B (en) Electronic systems and methods for determining an estimated time of arrival and relevant non-transitory computer-readable medium
US11398002B2 (en) Systems and methods for determining an estimated time of arrival
US20210140774A1 (en) Systems and methods for recommending pick-up locations
CN114944059B (en) Method and system for determining estimated arrival time
JP2018538584A (en) System and method for distributing service requests
CN109891469B (en) Traffic signal lamp timing system and method
CN110832284A (en) System and method for destination prediction
CN110402370B (en) System and method for determining recommendation information for service requests
CN110785627B (en) System and method for path determination
WO2019109604A1 (en) Systems and methods for determining an estimated time of arrival for online to offline services
TW201909039A (en) Method and system for estimating arrival time
CN110800030B (en) Method and system for car pooling service
WO2022126354A1 (en) Systems and methods for obtaining estimated time of arrival in online to offline services
CN110832811B (en) System and method for transmitting spatial data
CN110799968A (en) System and method for spatial indexing

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