Methods, devices, media and products for processing spatiotemporal data series

By storing spatiotemporal data sequences in a graph database and utilizing a structured approach of points and edges, the bottlenecks of high-concurrency writing and low-latency reading performance of massive spatiotemporal data in existing technologies are resolved, flexible data organization and multi-dimensional query are achieved, and data management and query efficiency are improved.

CN120353850BActive Publication Date: 2025-09-19BEIJING ZHANGDIANZISHI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510859867.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-25
Publication Date
2025-09-19
Estimated Expiration
2045-06-25

AI Technical Summary

Technical Problem

Existing database solutions face performance bottlenecks in high-concurrency writing and low-latency reading when processing massive spatiotemporal data. They are difficult to adapt to the relatively free format of spatiotemporal data sequences and lack support for multi-dimensional queries.

Method used

A graph database is used to store spatiotemporal data sequences. Through the structured method of points and edges, the association between spatiotemporal data sequence points and location points and index points is established, supporting flexible data organization and multi-dimensional query.

Benefits of technology

It achieves high-concurrency storage and low-latency query of massive spatiotemporal data, supports flexible data format processing and multi-dimensional query, and improves data management and query efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120353850B_ABST
    Figure CN120353850B_ABST
Patent Text Reader

Abstract

Disclosed are a processing method, device, medium, and product for spatiotemporal data sequences. The method includes storing a plurality of points in a graph database, wherein each of the plurality of points has a corresponding point identifier and a point type, wherein the plurality of points include: a plurality of location points, each location point corresponding to its associated location information, a spatiotemporal data sequence point, the spatiotemporal data sequence point corresponding to a location point associated with the spatiotemporal data sequence point in the plurality of location points, and a plurality of index points, each index point corresponding to an attribute value of a corresponding attribute of the associated location point. The method also includes storing a plurality of edges in a graph database, wherein each of the plurality of edges has a corresponding endpoint identifier and an endpoint type, wherein the plurality of edges include: a plurality of first edges, each first edge pointing from the spatiotemporal data sequence point to a corresponding location point in the associated location points, and a plurality of second edges, each second edge coupling a corresponding index point to an object endpoint.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure generally relate to the field of computers, and in particular to methods, devices, media, and products for processing spatiotemporal data sequences. Background Art

[0002] Spatiotemporal data series can represent activities (such as transportation) in both time and space, indicating, for example, the duration of an activity and the changes in location during the activity. Recently, business needs have increased the granularity of activity observations, leading to the continuous generation of such spatiotemporal data series. In some applications, spatiotemporal data series can be used to provide users with online progress queries, for example. Summary of the Invention

[0003] Embodiments of the present disclosure provide a processing solution for spatiotemporal data sequences.

[0004] In a first aspect of the present disclosure, a processing method for a spatiotemporal data sequence is provided, the method including storing a plurality of points in a graph database, wherein each point in the plurality of points has a corresponding point identifier and a point type, wherein the plurality of points include: a plurality of location points identified based on a location point identifier and a location point type, each location point corresponding to its associated location information, a spatiotemporal data sequence point identified based on a spatiotemporal data sequence point identifier and a spatiotemporal data sequence point type, the spatiotemporal data sequence point corresponding to a location point in the plurality of location points associated with the spatiotemporal data sequence point, and a plurality of index points identified based on an index point identifier and an index point type, each index point corresponding to an attribute value of a corresponding attribute of the associated location point. The method also includes storing multiple edges in a graph database, wherein each of the multiple edges has a corresponding endpoint identifier and endpoint type, wherein the multiple edges include: multiple first edges identified based on the spatiotemporal data sequence point identifier and the spatiotemporal data sequence point type, and the position point identifier and the position point type, each first edge points from the spatiotemporal data sequence point to a corresponding position point in the associated position points, and multiple second edges identified based on the index point identifier and the index point type, and the object endpoint identifier and the object endpoint type, each second edge couples the corresponding index point as its endpoint with the object endpoint as its other endpoint, the object endpoint being identified based on the object endpoint identifier and the object endpoint type.

[0005] In a second aspect of the present disclosure, a processing device for a spatiotemporal data sequence is provided, the device including a point storage module configured to store a plurality of points in a graph database, wherein each of the plurality of points has a corresponding point identifier and a point type, wherein the plurality of points include: a plurality of location points identified based on a location point identifier and a location point type, each location point corresponding to its associated location information, a spatiotemporal data sequence point identified based on a spatiotemporal data sequence point identifier and a spatiotemporal data sequence point type, the spatiotemporal data sequence point corresponding to a location point associated with the spatiotemporal data sequence point in the plurality of location points, and a plurality of index points identified based on an index point identifier and an index point type, each index point corresponding to an attribute value of a corresponding attribute of the associated location point. The device also includes an edge storage module configured to store multiple edges in a graph database, wherein each of the multiple edges has a corresponding endpoint identifier and endpoint type, wherein the multiple edges include: multiple first edges identified based on the spatiotemporal data sequence point identifier and the spatiotemporal data sequence point type, and the position point identifier and the position point type, each first edge points from the spatiotemporal data sequence point to a corresponding position point in the associated position points, and multiple second edges identified based on the index point identifier and the index point type, and the object endpoint identifier and the object endpoint type, each second edge couples the corresponding index point as its endpoint with the object endpoint as its other endpoint, the object endpoint being identified based on the object endpoint identifier and the object endpoint type.

[0006] According to a third aspect of the present disclosure, an electronic device is provided. The computing device includes a processor and a memory, wherein the memory stores instructions that, when executed by the processor, cause the processor to perform a method or process according to an embodiment of the present disclosure.

[0007] According to a fourth aspect of the present disclosure, a machine-readable storage medium is provided, wherein machine-executable instructions are stored on the machine-readable storage medium, and when executed by a processor, the machine-executable instructions cause the processor to perform a method or process according to an embodiment of the present disclosure.

[0008] In a fifth aspect of the present disclosure, a computer program product is provided, which is tangibly stored on a non-transitory computer-readable storage medium and includes a computer program that, when executed by a processor of a computer, causes the processor to perform a method or process according to an embodiment of the present disclosure.

[0009] Please note that the invention summary is provided to introduce a series of concepts in a simplified form, which will be further described in the detailed description below. The invention summary is not intended to identify key features or essential features of the disclosure, nor is it intended to limit the scope of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The above and other objects, features and advantages of the present disclosure will become more apparent through a more detailed description of the embodiments of the present disclosure in conjunction with the accompanying drawings, in which:

[0011] Figure 1A is a diagram schematically illustrating an example environment in which methods and / or processes according to embodiments of the present disclosure may be implemented;

[0012] Figure 1B is a diagram schematically illustrating an exemplary service-level maintenance for a graph database according to an embodiment of the present disclosure;

[0013] Figure 2 is a flowchart schematically illustrating a method for processing a spatiotemporal data sequence according to an embodiment of the present disclosure;

[0014] Figure 3 A diagram schematically illustrates an exemplary graph structure for a spatiotemporal data sequence according to an embodiment of the present disclosure;

[0015] Figure 4 The following schematically illustrates an example process of creating a graph structure for a spatiotemporal data sequence according to an embodiment of the present disclosure;

[0016] Figure 5 The following schematically illustrates an example flow of a query process based on a graph structure for a spatiotemporal data sequence according to an embodiment of the present disclosure;

[0017] Figure 6A A diagram schematically illustrates an exemplary query process based on a primary index according to an embodiment of the present disclosure;

[0018] Figure 6B A diagram schematically illustrates an exemplary query process based on a secondary index according to an embodiment of the present disclosure;

[0019] Figure 6C A diagram schematically illustrates another exemplary query process based on a secondary index according to an embodiment of the present disclosure;

[0020] Figure 7 is a diagram schematically illustrating a processing apparatus for spatiotemporal data sequences according to an embodiment of the present disclosure;

[0021] Figure 8 is a schematic block diagram of an example device that may be used to implement embodiments according to the present disclosure.

[0022] Throughout the drawings, same or similar reference numbers generally refer to same or similar elements. DETAILED DESCRIPTION

[0023] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein. On the contrary, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.

[0024] In the description of the embodiments of the present disclosure, the term "including" and its variations should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc. can refer to different or the same objects, unless explicitly indicated to be different.

[0025] It is understandable that before using the technical solutions disclosed in the various embodiments of this disclosure, the type, scope of use, usage scenarios, etc. of the personal information involved in this disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0026] For example, in response to a user's active request, a prompt message is sent to the user to clearly inform the user that the operation requested will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the electronic device, application, server, storage medium, or other software or hardware that performs the operations of the disclosed technical solution based on the prompt message.

[0027] As an optional but non-limiting implementation, in response to receiving a user's active request, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. Furthermore, the pop-up window may also contain a selection control for the user to select "agree" or "disagree" to provide personal information to the electronic device.

[0028] It is understandable that the above notification and user authorization process are merely illustrative and do not limit the implementation of the present disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0029] As mentioned above, spatiotemporal data sequences can represent activities in both time and space. The time and location information contained in spatiotemporal data sequences can be used to indicate, for example, the duration and routes of activities such as distribution and transportation. Currently, such spatiotemporal data sequences are experiencing explosive growth. It is necessary to effectively organize such a large number of spatiotemporal data sequences in order to achieve, for example, universal high-concurrency storage and low-latency querying of massive spatiotemporal data, thereby promoting the functionality based on spatiotemporal data sequences.

[0030] For a long time, various common database solutions have not been perfect in supporting aspects such as high-concurrency writing and low-latency reading for massive spatiotemporal data, and each of these solutions can basically only be applied to a specific scenario and cannot be applied generalized. For example, some related database solutions, although they support indexes (for example, spatial indexes, spatiotemporal indexes, etc.), will still encounter performance bottlenecks (for example, in terms of read and write speed, scalability, etc.) when faced with concurrent storage and online queries of massive data. In addition, these related database solutions cannot adapt well to the relatively free format of spatiotemporal data series, and it is difficult to flexibly handle the storage and query requirements of spatiotemporal data in different formats. Furthermore, these related database solutions do not support secondary indexes. If you want to respond to multi-dimensional query demands, you may need to create multiple data tables or even introduce other types of databases. This will lead to data redundancy, increase storage and query costs, and is not conducive to the storage and management of large-scale spatiotemporal data.

[0031] Furthermore, some related database solutions can combine multiple databases, such as one for storing data and another for storing indexes. While this approach can address the data and index storage issues to a certain extent, it can also complicate the collaborative management and data synchronization between multiple databases. Developing a customized, dedicated spatiotemporal database for large amounts of spatiotemporal data can be a significant drain on R&D resources, requiring a long development cycle and high technical barriers to entry.

[0032] In order to at least solve at least some of the above-mentioned and other potential problems, an embodiment of the present disclosure provides a processing scheme for spatiotemporal data sequences, which includes storing multiple points in a graph database, wherein each point in the multiple points has a corresponding point identifier and a point type, wherein the multiple points include: multiple location points identified based on the location point identifier and the location point type, each location point corresponding to its associated location information, a spatiotemporal data sequence point identified based on the spatiotemporal data sequence point identifier and the spatiotemporal data sequence point type, the spatiotemporal data sequence point corresponding to a location point in the multiple location points associated with the spatiotemporal data sequence point, and multiple index points identified based on the index point identifier and the index point type, each index point corresponding to the attribute value of the corresponding attribute of the associated location point. The scheme also includes storing multiple edges in a graph database, wherein each of the multiple edges has a corresponding endpoint identifier and endpoint type, wherein the multiple edges include: multiple first edges identified based on the spatiotemporal data sequence point identifier and the spatiotemporal data sequence point type, and the position point identifier and the position point type, each first edge points from the spatiotemporal data sequence point to a corresponding position point in the associated position points, and multiple second edges identified based on the index point identifier and the index point type, and the object endpoint identifier and the object endpoint type, each second edge couples the corresponding index point as its endpoint with the object endpoint as its other endpoint, the object endpoint being identified based on the object endpoint identifier and the object endpoint type.

[0033] According to the processing solution for spatiotemporal data sequences of the embodiment of the present disclosure, a flexible spatiotemporal data organization strategy is provided, which establishes a graph structure that associates spatiotemporal data and its corresponding attributes through spatiotemporal data sequence points in the manner of graph storage of a graph database. In addition, in response to a query request, the corresponding position point can be quickly retrieved with low latency via the spatiotemporal data sequence point based on the index point indicated by the query condition in such a graph structure. In a graph database, the above-mentioned points and edges can be substantially distinguished (for example, in data structure and format), but are uniformly regarded as basic or unit points and edges to further promote the integrated storage of data and indexes.

[0034] Reference below Figures 1A to 8 It should be understood that these exemplary embodiments are provided only to enable those skilled in the art to better understand and implement the embodiments of the present disclosure, and are not intended to limit the scope of the present disclosure in any way.

[0035] Figure 1A FIG. 1 is a diagram schematically illustrating an example environment 100A in which methods and / or processes according to embodiments of the present disclosure may be implemented. Figure 1AAs shown in , the example environment 100A includes spatiotemporal data 110 and a cluster 120 including cluster nodes (hereinafter, also referred to as nodes for short), for example Figure 1A Schematically shown are the locally arranged nodes 121 and 122 and the node 123 arranged in the cloud. Figure 1A The implementation environment of the embodiments of the present disclosure is described using a hybrid computing cluster as an example. It should be understood that this is merely illustrative and non-restrictive, and that other types of computing clusters are also feasible, such as those deployed locally or in the cloud. The appropriate computing environment configuration can be selected based on actual usage requirements.

[0036] exist Figure 1A In the figure, only a limited number of components and exemplary connections are shown. It should be understood that this is for ease of explanation and illustration and is not intended to limit the scope of this disclosure, and that other components may also exist. For example, a display component and an input component may be provided. By way of example and not limitation, query results for a query request may be displayed on the display component, and query requests or index configuration adjustments may be made through the input component.

[0037] According to an embodiment of the present disclosure, the spatiotemporal data 110 may be location data recorded at a certain time frequency. By way of example and not limitation, an example spatiotemporal data sequence may include a first location coordinate recorded at a first time point, a second location coordinate recorded at a second time point that is a predetermined time interval apart from the first time point, and the like. In addition, the spatiotemporal data 110 may also be location data recorded at irregular times, which may, for example, include a recorded location and the time at which the location was recorded. In the graph storage of the graph database according to an embodiment of the present disclosure, the recorded location may be converted into a location point.

[0038] According to an embodiment of the present disclosure, the spatiotemporal data 110 may be assigned to a plurality of nodes (eg, Figure 1A Nodes 121-123 schematically shown in the figure) are used to perform processing corresponding to the processing scheme for spatiotemporal data sequences according to embodiments of the present disclosure. For example, the spatiotemporal data sequences are written and stored in a graph database in the form of graph storage, and / or the spatiotemporal data sequences are queried based on the graph structure. In addition, locations that do not meet expectations can be filtered out.

[0039] Cluster 120 may be a system with computing and storage capabilities. As described above, cluster 120 may include multiple nodes to which spatiotemporal data 110 may be assigned. In some embodiments, multiple records in spatiotemporal data 110 may be assigned to different nodes to provide improved parallel processing capabilities. Cluster 120 may include a first set of nodes and a second set of nodes. The first set of nodes includes one or more computing nodes (assuming that Figure 1A Nodes 121 and 123 in the graph are configured to establish a graph structure for a spatiotemporal data sequence. The second node set includes one or more storage nodes (assuming Figure 1A Node 122 in the cluster, for example, is used to store spatiotemporal data sequences and organize the graph structure of these spatiotemporal data sequences. The architectural separation of storage and computing reduces resource deployment costs. Compute and storage resources can be flexibly scaled up or down independently based on cluster load.

[0040] exist Figure 1A In the example, nodes 121 and 122 can be deployed locally on the user's premises, and node 123 can be deployed in the cloud. The cloud can refer to a service model built on cloud or distributed technology. In this model, computing resources, storage resources, and the like are coupled together via a network to form a schedulable and scalable resource pool. At least a portion of these resources can be dynamically accessed or allocated to complete corresponding tasks without the need to locally own or manage these resources.

[0041] A node may refer to a unit resource (i.e., a unit computing resource or a unit storage resource), and may be a device with computing or storage capabilities. For example, a computing node may be configured with a processor (such as a central processing unit (CPU), etc.), or may be equipped with a dedicated accelerator (such as a graphics processing unit (GPU), etc.). In addition, a storage node may be configured with a storage device, such as a solid-state drive (SSD)-based storage device, a mechanical hard disk (HDD)-based storage device, or a storage device based on a combination of the two. Examples of computing nodes may include computing servers in cluster 120, and examples of storage nodes may include storage servers in cluster 120. A graph database according to an embodiment of the present disclosure may be constructed across multiple nodes in cluster 120. In the following, Figure 1B To describe such a graph database and associated services.

[0042] like Figure 1A As exemplarily shown in FIG, multiple computing nodes in the example environment 100A can be interconnected to communicate with each other to implement, for example, interaction between nodes (eg, data synchronization or sharing). Figure 1ATaking the architecture in [100A] as an example, local nodes 121 and 122 and cloud node 123 can synchronize data via, for example, a network. Furthermore, multiple computing nodes in example environment 100A, for example, can utilize such data synchronization to provide fault tolerance, ensuring reliable task execution. If a node fails, the system can automatically migrate the job to another functioning node, thereby ensuring task continuity and reliability.

[0043] It should be understood that referring to Figure 1A The described cluster 120 and its computing nodes are merely exemplary and non-restrictive. The cluster 120 is scalable, enabling the use of other different numbers and types of nodes. For example, it supports horizontal expansion, and performance and processing capabilities can be improved by increasing the number of cluster instances for the graph database. In this way, through the distributed nature and scalability of cluster deployment, the graph storage of the graph database according to some embodiments of the present disclosure can support massive data scale storage while conforming to a power-law distribution, for example, a small number of points are connected by many edges, while more points are connected by few edges. In terms of graph queries of the graph database, the graph database according to some embodiments of the present disclosure can also support massive data throughput, significantly improving the maximum query rate per second (OPS) for a single cluster, while also reducing response latency. The response latency of both first-degree queries (i.e., first-degree queries based on direct associations) and second-degree queries (i.e., second-degree queries based on indirect associations) is reduced.

[0044] Figure 1B FIG. 1 is a diagram schematically illustrating an exemplary embodiment 100B of service-level maintenance for a graph database according to an embodiment of the present disclosure. Figure 1B As shown in , the graph database 130 constructed in a distributed manner across multiple nodes in the cluster 120 can store and query spatiotemporal data, etc. via the read-write service 140, and can configure indexes for spatiotemporal data, etc. via the configuration service 150. According to an embodiment of the present disclosure, elements in the graph structure such as location points, index points, and spatiotemporal data sequence points can be generated and stored in the graph database 130, for example, via the write interface of the read-write service 140. The graph database 130 can be a homogeneous database, that is, a database of a single type. Such a database configuration can avoid the complexity brought about by collaborative management and data synchronization between multiple types of databases. The graph database 130 can effectively organize the location data of the time series, and realize the integrated storage of the data itself and its index.

[0045] According to an embodiment of the present disclosure, the configuration service 150 can be obtained by abstractly encapsulating the portion of the configuration organization and maintenance method that originally needed to be hard-coded in the read-write service 140. The configuration service 150 can be configured to provide an interface (e.g., an application program interface (API)) to the user, so that the user can flexibly change the configuration, such as the point type, edge type, etc., through an online interface. In some embodiments, the data storage cycle can be configured via the configuration service 150, so that the point data and edge data stored in the graph database can be automatically expired and deleted when the trigger conditions are met. Through the configuration service 150 according to the embodiment of the present disclosure, when these configuration information changes, it is possible to avoid modifying the underlying code and re-releasing the read-write service 140, thereby reducing the operation and maintenance costs caused by the changes, reducing the fluctuations in the stability of the read-write service 140, and providing better support for the business.

[0046] Combined with the above Figure 1A and Figure 1B An example environment 100A in which the method and / or process according to an embodiment of the present disclosure can be implemented and an example 100B for service-level maintenance of a graph database are described below. Figure 2 The processing method 200 for spatiotemporal data sequences according to an embodiment of the present disclosure is described. Through the processing method 200, massive spatiotemporal data can be effectively organized, and universal high-concurrency storage and low-latency query can be achieved.

[0047] Figure 2is a flowchart schematically illustrating a processing method 200 for a spatiotemporal data sequence according to an embodiment of the present disclosure. At 210, a plurality of points are stored in a graph database, wherein each point in the plurality of points has a corresponding point identifier and a point type, wherein the plurality of points include: a plurality of location points identified based on a location point identifier and a location point type, each location point corresponding to its associated location information, a spatiotemporal data sequence point identified based on a spatiotemporal data sequence point identifier and a spatiotemporal data sequence point type, the spatiotemporal data sequence point corresponding to a location point in a plurality of location points associated with the spatiotemporal data sequence point, and a plurality of index points identified based on an index point identifier and an index point type, each index point corresponding to an attribute value of a corresponding attribute of the associated location point. According to an embodiment of the present disclosure, location points, spatiotemporal data sequence points, and index points are uniformly regarded as basic points (also referred to as point data) in a graph database, and are distinguished based on different point identifiers and point types. By way of example and not limitation,<d6c6bf6b-7600-49c5-88bc-8b08318a36d4, trajectory> This is an example of a point ID and point type used to identify a spatiotemporal data sequence point, where "d6c6bf6b-7600-49c5-88bc-8b08318a36d4" can uniquely identify the spatiotemporal data sequence point, and "trajectory" indicates that the point is a spatiotemporal data sequence point. Position points and index points are similar.

[0048] As mentioned above, spatiotemporal data sequences are growing explosively, and such spatiotemporal data may include time series location records. In addition to time attributes, these recorded locations may also have other different attributes. In some embodiments, attributes may serve as index fields, and examples of attributes may include, but are not limited to, activity attributes, activity participant (e.g., individual or organization) attributes, tile (also known as map sheet) attributes, etc. In an exemplary and non-restrictive manner, in an activity (e.g., a traffic activity, etc.), some locations (e.g., location coordinates) are recorded in chronological order. Each of these recorded locations is associated with the activity. Therefore, these associated locations can be determined based on the activity identifier of the activity, and one-to-one corresponding location points can be generated for these associated locations in the graph structure. Other (multiple) methods may also be used to determine associated location points.

[0049] At 220, a plurality of edges are stored in a graph database, wherein each of the plurality of edges has a corresponding endpoint identifier and endpoint type, wherein the plurality of edges include: a plurality of first edges identified based on a spatiotemporal data sequence point identifier and a spatiotemporal data sequence point type, and a location point identifier and a location point type, each first edge pointing from a spatiotemporal data sequence point to a corresponding location point in the associated location point, and a plurality of second edges identified based on an index point identifier and an index point type, and an object endpoint identifier and an object endpoint type, each second edge coupling a corresponding index point as its endpoint with an object endpoint as its other endpoint, the object endpoint being identified based on the object endpoint identifier and the object endpoint type. According to an embodiment of the present disclosure, the first edges and the second edges are uniformly regarded as basic edges (also referred to as edge data) in the graph database, and are distinguished based on different endpoint identifiers and endpoint types. By way of example and not limitation,<d6c6bf6b-7600-49c5-88bc-8b08318a36d4, trajectory, d6c6bf6b-7600-49c5-88bc-8b08318a36d4#1,point> is an example of the endpoint ID and endpoint type used to identify the first edge, where "d6c6bf6b-7600-49c5-88bc-8b08318a36d4, trajectory" identifies the endpoint on one side of the first edge (i.e., a spatiotemporal data sequence point as the starting point), and "d6c6bf6b-7600-49c5-88bc-8b08318a36d4#1, point" identifies the endpoint on the other side of the first edge (i.e., a position point as the end point). The second edge is similar.

[0050] The first edge is also called an inclusion edge, indicating that the spatiotemporal data sequence point includes the pointed position point, and the second edge can be an edge associated with an index point, indicating a coupling relationship between one endpoint of the second edge (i.e., the corresponding index point) and another endpoint (herein referred to as the object endpoint). In some embodiments, the object endpoint can be a spatiotemporal data sequence point. In other words, the second edge can be an index edge pointing from the corresponding index point to the spatiotemporal data sequence point, i.e., a single index from the corresponding index point to the spatiotemporal data sequence point. The index edge can be a unidirectional index edge or a bidirectional index edge (i.e., pointing from the spatiotemporal data sequence point back to the corresponding index point). According to an embodiment of the present disclosure, the above-mentioned multiple second edges may include multiple index edges identified based on the index point identifier and the index point type, and the spatiotemporal data sequence point identifier and the spatiotemporal data sequence point type, each index edge pointing from the corresponding index point to the spatiotemporal data sequence point.

[0051] In some embodiments, the object endpoint may be an index point, which is another index point corresponding to the corresponding index point. In other words, the second edge may be a joint index edge between the corresponding index point and the other index point, from one index point to the other index point and then from the other index point to the spatiotemporal data sequence point, i.e., a secondary index. There may also be a certain association relationship between attributes. Therefore, a joint index edge between index points is established to indicate the association relationship from one attribute value to another attribute value, or the association relationship between the two. In an illustrative but not restrictive manner, within the time range from the first time to the second time, the position change in the activity passes through several tiles. The several tiles can be indexed from the time range, and then the spatiotemporal data sequence point containing the corresponding multiple position points can be indexed from the several tiles. In this way, multi-dimensional queries can be achieved based on secondary indexes and more levels of indexes.

[0052] According to an embodiment of the present disclosure, the plurality of second edges may include a joint index edge identified based on the index point identifiers and index point types of two corresponding index points (i.e., the corresponding index point and the other index point), the joint index edge coupling the corresponding index point with the other index point. The joint index edge may be unidirectional, i.e., pointing from one index point to another index point. The joint index edge may also be bidirectional, i.e., pointing from one index point to another index point, and the other index point also pointing to the one index point.

[0053] According to the processing method 200 for spatiotemporal data sequences according to an embodiment of the present disclosure, a spatiotemporal data organization strategy with flexibility is provided, which establishes a graph structure that associates spatiotemporal data and its corresponding attributes through spatiotemporal data sequence points in a graph storage manner. In addition, in response to a query request, the corresponding position point can be quickly retrieved with low latency via the spatiotemporal data sequence points based on the index point indicated by the query condition in such a graph structure. In a graph database, the above-mentioned points and edges can be substantially distinguished (for example, in data structure and format), but can be uniformly regarded as basic or unit points and edges to further promote the integrated storage of data and indexes.

[0054] According to an embodiment of the present disclosure, associated location points can be determined based on the attribute values ​​of at least one attribute of multiple location points. For example, one or more attributes can be selected from time, space, activity, etc., and a group of location points can be determined based on their attribute values, and these location points have the same or similar attribute values ​​for the selected attributes. Based on the determined associated location points, a spatiotemporal data sequence point can be generated, and multiple first edges can be generated that point from the spatiotemporal data sequence point to the associated location points, each of which indicates a containment relationship, such a containment relationship indicating that the spatiotemporal data sequence point contains a corresponding location point among the associated location points.

[0055] In addition, based on the attribute value of at least one selected attribute, and additionally based on the attribute values ​​of other attributes different from the at least one selected attribute, multiple index points can be generated, and multiple second edges that respectively couple the corresponding index points to the object endpoints can be generated, each second edge indicating the index relationship between the corresponding index point and the object endpoint. As described above, the associated location points can be determined based on the attribute value of the selected attribute. In addition to the selected attribute, these associated location points may also have other attributes. The index relationship to be established (for example, which index points and index edges and / or joint index edges to be established) can be determined through an index request to index from the attribute value via the spatiotemporal data sequence point to the corresponding position.

[0056] In addition, as described above, the object endpoint can be a spatiotemporal data sequence point or an index point (i.e., another index point corresponding to the corresponding index point). In some embodiments, the above-mentioned index relationship may include a first index relationship (also referred to as a normal index relationship in this article) pointing from the corresponding index point to the spatiotemporal data sequence point, and the first index relationship is indicated by an index edge. The above-mentioned index relationship may also include a second index relationship (also referred to as a joint index relationship in this article) coupling the corresponding index point with another index point (i.e., another index point corresponding to the corresponding index point), and the second index relationship is indicated by a joint index edge. In this way, multi-dimensional queries can be implemented based on the joint index relationship between indexes.

[0057] Figure 3 Schematically illustrates a diagram of an illustrative example 300 of a graph structure for a spatiotemporal data sequence according to an embodiment of the present disclosure. Figure 3 As shown in , the time series of position points ( Figure 3 1 to 2n are schematically shown in FIG. 1 . These location points are determined to have certain commonalities, for example, they may be location points recorded in the same activity, or they may be location points corresponding to the same activity participant. According to an embodiment of the present disclosure, each location point may be identified based on a location point identifier and a location point type. The location point identifier may uniquely identify each location point, and its type may be, for example, "point". It should be understood that Figure 3 The number of location points shown in is merely exemplary and non-limiting.

[0058] For the determined multiple location points, a spatiotemporal data sequence point 320 is established, and multiple first edges (for example, edge 335) pointing from the spatiotemporal data sequence point 320 to the multiple location points are established to indicate that the spatiotemporal data sequence point 320 contains the multiple location points. According to an embodiment of the present disclosure, a spatiotemporal data sequence point can be identified based on a spatiotemporal data sequence point identifier and a spatiotemporal data sequence point type. The spatiotemporal data sequence point identifier can uniquely identify a spatiotemporal data sequence point, and its type can be, for example, "trajectory (spatiotemporal data sequence point)". In addition, each of the multiple first edges can be identified based on the spatiotemporal data sequence point identifier and the spatiotemporal data sequence point type, as well as the location point identifier and the location point type. That is, the spatiotemporal data sequence point is used as the starting point, and the corresponding location point is used as the end point, and the starting point information and the end point information are used to identify each containing edge. Through such a spatiotemporal data sequence point, multiple location points with common characteristics can be organized together for quickly retrieving these location points in subsequent queries.

[0059] In addition, for example, based on the index configuration obtained via the configuration service, the index relationship that needs to be established can be determined, wherein each index point can indicate a predetermined attribute value of the corresponding attribute, and each index edge (for example, edge 325) can index the corresponding index point to the corresponding spatiotemporal data sequence point. According to an embodiment of the present disclosure, each of the multiple index points can be identified based on the index point identifier and the index point type. The index point identifier can uniquely identify each index point, and its type can be, for example, "date", "tile", etc. In addition, each of the multiple index edges can be identified based on the index point identifier and the index point type, as well as the spatiotemporal data sequence point identifier and the spatiotemporal data sequence point type. That is, the corresponding index point is used as the starting point, the spatiotemporal data sequence point is used as the end point, and the starting point information and the end point information are used to identify each index edge. As Figure 3 As shown in , the "activity identifier" index point 316 can be indexed to the spatiotemporal data sequence point 320, and the value of the activity identifier can uniquely identify the activity, and the "activity participant identifier" index point 318 can be indexed to the spatiotemporal data sequence point 320, and the value of the activity participant identifier can uniquely identify the individual or organization participating in the activity.

[0060] In addition, Figure 3In the schematic example 300, there is a joint index edge (e.g., edge 315) between the "time" index point 312 and the "tile" index point 314. Such a joint index edge can be bidirectional to indicate a coupling or association relationship between one attribute value and another attribute value. According to an embodiment of the present disclosure, the joint index edge is identified based on the index point identifier and index point type of each of the two index points corresponding to each other. In the unidirectional case, one index point serves as the starting point and the other as the end point, and the starting point information and the end point information are used to identify the joint index edge. In the bidirectional case, there is no need to distinguish between the starting point and the end point, and the information of the two endpoints is used to identify the joint index edge. Figure 3 In the example, the “time” index point 312 may indicate a predetermined time range of the activity, which may correspond to the tiles through which the position change of the activity indicated at the “tile” index point 314 passes, and then index from these tiles to the spatiotemporal data sequence point 320. Alternatively, the “tile” index point 314 may indicate predetermined tiles through which the position change of the activity passes, which tiles may correspond to a certain time range of the activity indicated at the “time” index point 312, and then index from this time range to the spatiotemporal data sequence point 320.

[0061] Figure 4 An example process 400 for creating a graph structure for a spatiotemporal data sequence according to an embodiment of the present disclosure is schematically illustrated. At 405, the creation process 400 begins. At 410, location points are determined. Locations can be clustered based on predetermined attribute values ​​of one or more attributes, and corresponding location points are generated for these locations. At 420, after multiple location points are determined for multiple locations of the corresponding spatiotemporal data sequence, spatiotemporal data sequence points are generated for these location points. The generated spatiotemporal data sequence points have an inclusion edge pointing to each of the multiple location points.

[0062] At 430, the index points to be generated and the index edges pointing from them to the spatiotemporal data sequence points are determined, and after the determination, these index points and index edges are generated. According to an embodiment of the present disclosure, an index configuration can be obtained via a configuration service, and the index configuration can indicate a first index request, which is used to create an index. The index configuration can be received from a user through an interface corresponding to the configuration service, and the index configuration can be parsed to clarify which index points are expected to be established and a plurality of second edges (i.e., index edges and / or joint index edges) that respectively couple the corresponding index points to the object endpoints. Then, these index points and index edges and / or joint index edges can be generated.

[0063] At 440, index points and index edges can be customized. According to an embodiment of the present disclosure, an updated index configuration can be obtained via a configuration service, and the updated index configuration can be generated by a user's modification of the index configuration, wherein the updated index configuration can indicate a second index request, which is used for index configuration (such as customization, etc.). The updated index configuration can be received from the user through an interface corresponding to the configuration service, for example, and the updated index configuration can be parsed to clarify which index points and index edges need to be updated (for example, to increase or decrease index points and index edges). Then, these additional index points and additional index edges can be generated, or the original index points and original index edges can be reduced. At 445, the creation process 400 is ended. In this way, flexible configuration of index fields can be supported.

[0064] Figure 5 An example flow of a query process 500 based on a graph structure for a spatiotemporal data sequence according to an embodiment of the present disclosure is schematically illustrated. At 505, the query process 500 is started. At 510, a query request is obtained. According to an embodiment of the present disclosure, a query request can be obtained (e.g., via a read interface of a read / write service), the query request including query conditions for a location point to be queried (also referred to herein as a target location point). The query conditions can be attribute values ​​of one or more attributes, which correspond to one or more index points (also referred to herein as target index points).

[0065] At 520, based on the query conditions in the query request, the spatiotemporal data sequence point to be queried (also referred to as the target spatiotemporal data sequence point in this article) and its first edge (the first edge of the target spatiotemporal data sequence point is referred to as the target first edge in this article) are determined. Then, at 530, based on the inclusion relationship indicated by the target first edge of the target spatiotemporal data sequence point, the position point corresponding to the target spatiotemporal data sequence point is determined, thereby retrieving the target position point. At 535, the query process 500 ends. Below, how to determine the target spatiotemporal data sequence point at 520 will be further explained in detail.

[0066] According to an embodiment of the present disclosure, based on the index configuration for the configuration service, for example, the index configuration received from the user via the interface corresponding to the configuration service, the target index point and its index edge corresponding to the query condition can be determined (in this article, the index edge of the target index point is referred to as the target index edge). According to the index configuration in the configuration service, the query condition in the query request can be converted into the corresponding index point and index edge to further simplify the read and write service. Based on this, the corresponding spatiotemporal data sequence point can be determined. That is, the target spatiotemporal data sequence point is determined based on the first index relationship indicated by the target index edge of the target index point. In this way, a query based on a primary index can be implemented. Below, in combination with Figure 6ATo illustrate the query process based on the primary index according to an embodiment of the present disclosure.

[0067] Figure 6A FIG. 6 schematically illustrates an example of a query process based on a primary index according to an embodiment of the present disclosure. Figure 6A As shown in , assuming that the query condition indicates an activity identifier of a certain activity, the activity identifier can be converted into an "activity identifier" index point 616 and its corresponding index edge based on the index configuration. Based on this, the corresponding spatiotemporal data sequence point 620 can be indexed from the "activity identifier" index point 616 via the index edge, and the position point corresponding to the spatiotemporal data sequence point 620 can be queried.

[0068] In addition, according to embodiments of the present disclosure, based on the index configuration for the configuration service, two or more target index points and their joint index edges corresponding to the query condition can be determined. Below, the joint index relationship between two target index points is used as an example for illustration. For ease of reference, the two target index points are referred to as the first target index point and the second target index point, and the joint index edge between the two target index points is referred to as the target joint index edge.

[0069] In the case where the query condition involves an association relationship between attribute values ​​(represented by a joint index edge between index points), the second target index point and its target index edge corresponding to the first target index point among the two or more target index points can be determined based on the second index relationship of the first target index point indicated via the target joint index edge. Then, the target spatiotemporal data sequence point can be determined based on the first index relationship of the second target index point indicated via its target index edge. In this way, a query based on a secondary index can be implemented. In some embodiments, the first target index point can be a time index point, and the second target index point is a space index point. That is, indexing from the time attribute to the location attribute. In other embodiments, the first target index point is a space index point, and the second target index point is a time index point. That is, indexing from the location attribute to the time attribute. It should be understood that combinations of index points for other different attributes are also possible. Below, in combination Figure 6B and Figure 6C To illustrate the query process based on the secondary index according to an embodiment of the present disclosure.

[0070] Figure 6B Schematically illustrates a diagram of an exemplary example 600B of a query process based on a secondary index according to an embodiment of the present disclosure. Figure 6BAs shown in , assuming that the query condition indicates a predetermined time range of an activity, the predetermined time range can be converted into a "time" index point 612 and its corresponding joint index edge based on the index configuration. The "time" index point 612 can be indexed to a "tile" index point 614 via the joint index edge, and the corresponding spatiotemporal data sequence point 620 can be indexed via the index edge of the "tile" index point 614. In this way, the location point corresponding to the spatiotemporal data sequence point 620 can be queried.

[0071] Figure 6C FIG. 6 schematically illustrates another exemplary example 600C of a query process based on a secondary index according to an embodiment of the present disclosure. Figure 6C As shown in , assuming that the query condition indicates an active predetermined tile, the predetermined tile can be converted into a "tile" index point 614 and its corresponding joint index edge based on the index configuration. The "time" index point 612 can be indexed from the "tile" index point 614 via the joint index edge, and the corresponding spatiotemporal data sequence point 620 can be indexed via the index edge of the "time" index point 612. In this way, the position point corresponding to the spatiotemporal data sequence point 620 can be queried.

[0072] It should be understood that for ease of illustration and ease of description, Figures 6A-6C The diagram shows a limited number of index points and location points, and their index and inclusion relationships are exemplary and non-restrictive. For example, the graph structure according to the embodiments of the present disclosure can support scenarios such as cold chain logistics monitoring, cross-border logistics tracking, shared bicycle management, and urban bus scheduling. It can also be extended to fields such as agriculture and healthcare. The corresponding points and edges will be adaptively adapted to each scenario.

[0073] Figure 7 Schematically illustrates a device 700 for processing spatiotemporal data sequences according to an embodiment of the present disclosure. The device 700 may include multiple units or modules for performing the steps or actions in the method or process discussed above. Figure 7As shown in , the device 700 includes a point storage module 710, which is configured to store multiple points in a graph database, wherein each point in the multiple points has a corresponding point identifier and a point type, wherein the multiple points include: the multiple location points identified based on the location point identifier and the location point type, each location point corresponding to its associated location information, the spatiotemporal data sequence point identified based on the spatiotemporal data sequence point identifier and the spatiotemporal data sequence point type, the spatiotemporal data sequence point corresponding to the location point associated with the spatiotemporal data sequence point in the multiple location points, and the multiple index points identified based on the index point identifier and the index point type, each index point corresponding to the attribute value of the corresponding attribute of the associated location point. The device 700 also includes an edge storage module 720, which is configured to store multiple edges in the graph database, wherein each of the multiple edges has a corresponding endpoint identifier and endpoint type, wherein the multiple edges include: multiple first edges identified based on the spatiotemporal data sequence point identifier and the spatiotemporal data sequence point type, and the position point identifier and the position point type, each first edge points from the spatiotemporal data sequence point to a corresponding position point in the associated position points, and multiple second edges identified based on the index point identifier and the index point type, and the object endpoint identifier and the object endpoint type, each second edge couples the corresponding index point as its endpoint with the object endpoint as its other endpoint, and the object endpoint is identified based on the object endpoint identifier and the object endpoint type.

[0074] In some embodiments, wherein the object endpoint may include the spatiotemporal data sequence point and the index point, wherein the multiple second edges may include: multiple index edges identified based on the index point identifier and the index point type of the corresponding index point, and the spatiotemporal data sequence point identifier and the spatiotemporal data sequence point type, each index edge pointing from the corresponding index point to the spatiotemporal data sequence point, and a joint index edge identified based on the corresponding index points and the respective index point identifiers and index point types of the index points, the joint index edge coupling the corresponding index point with the index point.

[0075] In some embodiments, the device 700 may also include: a location point determination module, configured to determine the associated location points based on the attribute value of at least one attribute of the multiple location points; a first generation module, configured to generate the spatiotemporal data sequence points based on the determined associated location points, and generate the multiple first edges pointing from the spatiotemporal data sequence points to the associated location points respectively, each first edge indicating an inclusion relationship, and the inclusion relationship indicating that the spatiotemporal data sequence point contains the corresponding location point in the associated location points; and a second generation module, configured to generate the multiple index points based on the attribute value of the at least one attribute and the attribute values ​​of other attributes different from the at least one attribute, and generate the multiple second edges that respectively couple the corresponding index points with the object endpoints, each second edge indicating the index relationship between the corresponding index point and the object endpoint.

[0076] In some embodiments, wherein the object endpoint may include the spatiotemporal data sequence point and the index point, the index relationship may include: a first index relationship pointing from the corresponding index point to the spatiotemporal data sequence point, the first index relationship being indicated by an index edge, and a second index relationship coupling the corresponding index point to the index point, the second index relationship being indicated by a joint index edge.

[0077] In some embodiments, the second generation module can be further configured to: obtain an index configuration via a configuration service, the index configuration indicating a first index request, the first index being used for index creation; and generate the multiple index points and the multiple second edges that respectively couple the corresponding index points with the object endpoints based on the index configuration.

[0078] In some embodiments, the device 700 may also include a customization module, configured to: obtain an updated index configuration via the configuration service, wherein the updated index configuration indicates a second index request, which is used to index the configuration; and generate additional index points based on the updated index configuration and generate additional index edges from the additional index points to the spatiotemporal data sequence points.

[0079] In some embodiments, the device 700 may also include: a request acquisition module, configured to obtain a query request, the query request including a query condition for a target location point; a first determination module, configured to determine the target spatiotemporal data sequence point and its target first edge for the query condition based on the query condition included in the query request; and a second determination module, configured to determine the target location point corresponding to the target spatiotemporal data sequence point based on the inclusion relationship indicated by the target first edge of the target spatiotemporal data sequence point.

[0080] In some embodiments, the first determination module can be further configured to: determine the target index point and its target index edge corresponding to the query condition based on the index configuration for the configuration service; and determine the target spatiotemporal data sequence point based on the first index relationship of the target index point indicated by the target index edge.

[0081] In some embodiments, the first determination module can be further configured to: determine at least two target index points corresponding to the query condition and a target joint index edge therebetween based on the index configuration for the configuration service, the at least two target index points including a first target index point and a second target index point; determine a second target index point and its target index edge corresponding to the first target index point among the at least two target index points based on a second index relationship of the first target index point indicated via the target joint index edge; and determine the target spatiotemporal data sequence point based on the first index relationship of the second target index point indicated via the target index edge.

[0082] In some embodiments, the first target index point may be a time index point and the second target index point may be a space index point, or the first target index point may be a space index point and the second target index point may be a time index point.

[0083] In some embodiments, the graph database is built on a distributed cluster, and the cluster includes a first node set and a second node set, the first node set includes at least one computing node configured to be dedicated to computing, and the second node set includes at least one storage node configured to be dedicated to storage.

[0084] Figure 8 FIG1 shows a block diagram of an electronic device (device 800) according to some embodiments of the present disclosure. The device 800 may be a device or apparatus described in an embodiment of the present disclosure. Figure 8 As shown, the device 800 includes a central processing unit (CPU) and / or a graphics processing unit (GPU) 801, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 802 or loaded from a storage unit 808 into a random access memory (RAM) 803. Various programs and data required for the operation of the device 800 can also be stored in the RAM 803. The CPU / GPU 801, ROM 802, and RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804. Although not shown in FIG. Figure 8 As shown in FIG, device 800 may further include a co-processor.

[0085] Various components in device 800 are connected to I / O interface 805, including an input unit 806, such as a keyboard, mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a magnetic disk, optical disk, etc.; and a communication unit 809, such as a network card, modem, wireless communication transceiver, etc. The communication unit 809 allows device 800 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0086] The various methods or processes described above may be performed by the CPU / GPU 801. For example, in some embodiments, the methods may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed onto the device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded into the RAM 803 and executed by the CPU / GPU 801, one or more steps or actions in the methods or processes described above may be performed.

[0087] In some embodiments, the methods and processes described above may be implemented as a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for executing various aspects of the present disclosure.

[0088] A computer-readable storage medium can be a tangible device that can hold and store instructions used by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure within a groove on which instructions are stored, and any suitable combination thereof. As used herein, a computer-readable storage medium is not to be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted through an electrical wire.

[0089] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.

[0090] The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​and conventional procedural programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, the state information of the computer-readable program instructions is used to personalize an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), so that the electronic circuit can execute the computer-readable program instructions, thereby implementing various aspects of the present disclosure.

[0091] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0092] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0093] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the devices, methods and computer program products according to multiple embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and the part of the module, program segment or instruction contains one or more executable instructions for realizing the prescribed logical function. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart, can be implemented by a special hardware-based system that performs the prescribed function or action, or can be implemented by a combination of special hardware and computer instructions.

[0094] While various embodiments of the present disclosure have been described above, the above descriptions are intended to be illustrative and non-exhaustive, and are not intended to limit the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the various embodiments, their practical applications, or technical improvements to existing technologies, or to enable others skilled in the art to understand the various embodiments disclosed herein.

Claims

1. A method for processing spatiotemporal data series, comprising: A plurality of points are stored in a graph database, wherein each point in the plurality of points has a corresponding point identifier and a point type, wherein the plurality of points include: A plurality of location points identified based on location point identifiers and location point types, each location point corresponding to its associated location information, a spatiotemporal data sequence point identified based on the spatiotemporal data sequence point identifier and the spatiotemporal data sequence point type, the spatiotemporal data sequence point corresponding to a position point associated with the spatiotemporal data sequence point among the plurality of position points, and a plurality of index points identified based on the index point identifier and the index point type, each index point corresponding to an attribute value of a corresponding attribute of the associated location point; and A plurality of edges are stored in the graph database, wherein each of the plurality of edges has a corresponding endpoint identifier and an endpoint type, and the plurality of edges include: A plurality of first edges are identified based on the spatiotemporal data sequence point identifier and the spatiotemporal data sequence point type, and the location point identifier and the location point type, each first edge pointing from the spatiotemporal data sequence point to a corresponding location point in the associated location points, and Multiple second edges are identified based on the index point identifier and the index point type, and the object endpoint identifier and the object endpoint type, and each second edge couples the corresponding index point as its endpoint with the object endpoint as its other endpoint, and the object endpoint is identified based on the object endpoint identifier and the object endpoint type.

2. The method according to claim 1, wherein the object endpoints include the spatiotemporal data sequence points and index points, and wherein the plurality of second edges include: A plurality of index edges are identified based on the index point identifier and the index point type of the corresponding index point, and the spatiotemporal data sequence point identifier and the spatiotemporal data sequence point type, each index edge pointing from the corresponding index point to the spatiotemporal data sequence point, and A joint index edge is identified based on the corresponding index points and the respective index point identifiers and index point types of the index points, the joint index edge coupling the corresponding index point with the index point.

3. The method according to claim 1, further comprising: determining the associated location points based on an attribute value of at least one attribute of the plurality of location points; Based on the determined associated location points, the spatiotemporal data sequence points are generated, and the plurality of first edges pointing from the spatiotemporal data sequence points to the associated location points are generated, each first edge indicating a containment relationship, the containment relationship indicating that the spatiotemporal data sequence point contains a corresponding location point in the associated location points; Based on the attribute value of the at least one attribute and the attribute values ​​of other attributes different from the at least one attribute, the multiple index points are generated, and the multiple second edges that respectively couple the corresponding index points with the object endpoints are generated, each second edge indicating an index relationship between the corresponding index point and the object endpoint.

4. The method according to claim 3, wherein the object endpoints include the spatiotemporal data sequence points and index points, and the index relationship includes: a first index relationship pointing from the corresponding index point to the spatiotemporal data sequence point, the first index relationship being indicated by an index edge, and A second index relationship in which the corresponding index point is coupled to the index point, the second index relationship being indicated by a joint index edge.

5. The method according to claim 3, wherein generating the plurality of index points and generating the plurality of second edges comprises: Obtaining an index configuration via a configuration service, where the index configuration indicates a first index request, where the first index request is used to create an index; and Based on the index configuration, the plurality of index points and the plurality of second edges respectively coupling the corresponding index points with the object endpoints are generated.

6. The method according to claim 5, further comprising: Obtaining an updated index configuration via the configuration service, wherein the updated index configuration indicates a second index request, the second index request being used to index the configuration; as well as Based on the updated index configuration, additional index points are generated and additional index edges are generated pointing from the additional index points to the spatiotemporal data sequence points.

7. The method according to claim 2, further comprising: Obtaining a query request, wherein the query request includes a query condition for a target location point; Determining, based on a query condition included in the query request, a target spatiotemporal data sequence point and a target first edge thereof corresponding to the query condition; as well as Based on the inclusion relationship of the target spatiotemporal data sequence point indicated by the target first edge, the target position point corresponding to the target spatiotemporal data sequence point is determined.

8. The method according to claim 7, wherein determining the target spatiotemporal data sequence point comprises: Determining, based on the index configuration for the configuration service, a target index point and a target index edge corresponding to the query condition; as well as The target spatiotemporal data sequence point is determined based on a first index relationship of the target index point indicated by the target index edge.

9. The method according to claim 7, wherein determining the target spatiotemporal data sequence comprises: Determining, based on an index configuration for a configuration service, at least two target index points corresponding to the query condition and a target joint index edge therebetween, the at least two target index points comprising a first target index point and a second target index point; Determine, based on a second index relationship of the first target index point indicated by the target joint index edge, a second target index point and a target index edge thereof corresponding to the first target index point among the at least two target index points; as well as The target spatiotemporal data sequence point is determined based on the first index relationship of the second target index point indicated by the target index edge.

10. The method according to claim 9, wherein: The first target index point is a time index point, and the second target index point is a space index point, or The first target index point is a spatial index point, and the second target index point is a temporal index point.

11. The method according to claim 1 , wherein: The graph database is built on a distributed cluster, and The cluster includes a first set of nodes including at least one compute node configured to be dedicated to computation, and a second set of nodes including at least one storage node configured to be dedicated to storage.

12. An electronic device comprising: processor; as well as A memory coupled to the processor, wherein instructions are stored in the memory, and when the instructions are executed by the processor, the processor is caused to perform the method according to any one of claims 1 to 11.

13. A machine-readable storage medium having machine-executable instructions stored thereon, wherein the machine-executable instructions, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 11.

14. A computer program product comprising a computer program which, when executed by a processor of a computer, causes the processor to perform the method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Multi-granularity spatio-temporal data-based multi-layer index construction method

    CN112800056A

  • Interaction method and device for spatio-temporal data in knowledge graph

    CN118113947A