A k-degree close contact query method based on trajectory data analysis
Through the sliding window and close contact event triple fusion processing based on trajectory data analysis, the problem of inaccurate identification of close contact paths of infection sources in the existing technology is solved, and efficient and accurate k-degree close contact query results are achieved.
Patent Information
- Application Number
- CN202311482742.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-08
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2043-11-08
AI Technical Summary
The existing k-degree close contact query method cannot effectively determine the close contact path of the infection source and the mobile objects with close contact, and the results are not accurate and complete.
A k-degree close contact query method based on trajectory data analysis is adopted. Through sliding window technology and close contact event triples fusion processing, a k-degree close contact record quadruple is constructed to ensure the correctness and completeness of the query results.
It achieves accurate identification of close contact paths and close contact objects of the source of infection, avoids circular paths, improves the efficiency of queries and the accuracy of results, and is suitable for close contact problem analysis in real life.
Smart Images

Figure CN117520669B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the field of trajectory data mining, and particularly relates to a k-degree close contact query method based on trajectory data analysis. BACKGROUND
[0002] With the vigorous development of global positioning, location sensing and mobile communication technologies, a large amount of spatio-temporal trajectory data of various mobile objects including but not limited to humans, animals and vehicles has been digitally stored, and extensive applications have been made for these trajectory data. Researchers related to mobile objects and trajectory data have begun to analyze and apply spatio-temporal trajectory data to reveal the patterns contained therein and apply them in real life, such as the activity path characteristics of animals, the movement trajectory characteristics of vehicles, and the evolution rules of urban traffic flow, etc. These common patterns have been applied in real-world applications and services, including travel recommendation, traffic management, animal behavior research, and location prediction.
[0003] Current research on k-degree close contact query is mostly limited to the query of close contact objects. They usually give the definition of close contact relationship, that is, when the Euclidean distance between a mobile object o and a source of infection s is less than a distance threshold d within a continuous sampling time point, it is determined that the object o has a close contact relationship with s. However, this definition is only applicable to the query of close contact objects and does not cover the k-degree close contact query method. In real life, it is also important to closely monitor the close contact path formed between the mobile object and the source of infection. For example, CN202011566396.8 discloses a mobile object infection behavior mining method based on binary filtering. This method only mentions the mining of mobile object infection behavior and is not applicable to solving the k-degree close contact query problem. CN202310209597.X discloses a close contact object query method with mobile object trajectory data privacy protection capability, but this method only queries mobile objects that have close contact events with the source of infection and does not continue to query the determined close contact objects as the source of infection, which cannot guarantee the correctness and integrity of the results. SUMMARY
[0004] To solve the above technical problems, the present application proposes a k-degree close contact query method based on trajectory data analysis, which can appropriately solve the problems in the background art, can determine the close contact path of the source of infection and the mobile objects that have close contact relationships according to the given mobile object trajectory data and related parameters, and can also ensure the correctness and integrity of the results.
[0005] To achieve the above purpose, the present application is implemented by the following technical solutions:
[0006] The present invention is a k-degree close contact query method based on trajectory data analysis. The contents of the k-degree close contact record quadruple (source, target, path, timelist) are the close contact path of length k formed by the indirect close contact between the infection source source and the mobile object target, and the time series timelist of the close contact relationship in the close contact path. The query method includes the following steps:
[0007] (1) Perform initialization operation and set O'=OS,
[0008] (2) According to the sampling time point set T = {t0, t1, ..., t m} and sliding window threshold τ, construct the sliding window set W={w0,w1,…,w n}, n = m-τ + 1, where any sliding window w i Contains τ consecutive sampling time points, w i ={t i ,t i+1 ,…,t i+τ-1};
[0009] (3) For each sliding window w in W i , execute the processing for whether the mobile objects in O' have a close connection relationship. If a new k-degree close connection record is found, the k-degree close connection record is added to the query result set R;
[0010] (4) When all sliding windows in W are processed, the k-degree close-connected records stored in R are the final query results.
[0011] A further improvement of the present invention is that: for each sliding window w in W in step (3) i , check each moving object o in O' j Whether there is a close contact relationship with the infection source or the determined close object in S∪M, the specific process includes the following steps: Let CandList represent the candidate sequence of the storage path-time series tuple (PL, TL), where PL represents the one-dimensional array storing the infection source and close contact objects in the close contact path, and TL represents the one-dimensional array storing the time when the close contact objects in PL have a close contact relationship. Specifically:
[0012] Step (3.1) If there exists an object s∈S∪M that satisfies i At each sampling time point t k , with dist(s,o j ,t k )≤d holds, where dist(s,o j ,t k) represents objects s and o j In t k The Euclidean distance of the time point, d represents the distance threshold for close contact, and the close contact event triple c = (s, o j ,w i .end), w i .end means w i The end time of the window;
[0013] Step (3.2) determines whether cs belongs to the infection source set S. If cs∈S, go to step (3.3); otherwise, go to step (3.4).
[0014] Step (3.3) constructs PL = {s,o j} and TL = {0,w i .end}, and add it to CandList, and connect the object o j Move in M. Go to step (3.1) and continue to process the next moving object in O';
[0015] Step (3.4) fuses the close-connected event triple c with the candidate sequence CandList.
[0016] A further improvement of the present invention is that: in step (3.4), the candidate sequence CandList is fused with the close contact event triple c, and the process is performed as follows: let PL[i] represent the i-th close contact object in the close contact path, PL[0] represent the source of infection of the close contact path, PL[end] represent the last close contact object in the close contact path, and PL.length represent the length of the close contact path; TL[i] represents the time when the i-th close contact object in PL has a close contact relationship, and TL[end] represents the time when the last close contact object in PL has a close contact relationship.
[0017] Step (3.4.1) traverses the candidate sequence CandList and searches for the path-time series tuple cand containing the cs close object in the path;
[0018] Step (3.4.2) performs the following operations depending on the location of cs in cand.PL:
[0019] Case 1: If cand.PL[end] = cs and k = cand.PL.length + 1, then first construct the path path' = {cand.PL[0] → cand.PL[1] → ... → cand.PL[end] → co j} and time series timelist' = {cand.TL[0], cand.TL[1],..., cand.TL[end], c.w i .end}; then, a k-degree close record four-tuple (cand.PL[0], c.o j , path', timelist') is constructed and added to the query result R; finally, the mobile object c.o j is removed from the set O' and the current processing for the close object o j is ended.
[0020] Case 2: if cand.PL[end] = c.s and cand.PL.length + 1 < k are satisfied, first, c.o j is added to the tail of cand.PL, w i .end is added to the tail of cand.TL, thus completing the update for the path-time series two-tuple cand in CandList; finally, the mobile object c.o j is moved into the close object set M and the current processing for the close object o j is ended.
[0021] Case 3: if cand.PL[end] ≠ c.s, first, a new path-time series two-tuple newcand is constructed; second, the index position of c.s in cand.PL is found; then, newcand.PL = {cand.PL[0], cand.PL[1],..., cand.PL[index], c.o j} and newcand.TL = {cand.TL[0], cand.TL[1],..., cand.TL[index], c.w i .end} are set; next, newcand is added to the candidate sequence CandList; finally, the mobile object c.o j is moved into the close object set M and the current processing for the close object o j is ended.
[0022] The beneficial effects of the present invention are as follows: first, in the process of performing k-degree close contact record query, the present invention uses a sliding window as a promotion sequence. In each sliding window, if a mobile object is found to meet the k-degree close contact record construction conditions, it will be added to the result set, and the mobile object will be added to the close contact object infection source set. The query process ensures the earliest time when the mobile object has a close contact relationship and the dynamic update of the close contact object infection source. Secondly, the k-degree close contact query proposed by the present invention, the query result includes the close contact path starting from the initial infection source and the mobile objects that have a close contact relationship with the infection source directly or indirectly, as well as the time of occurrence of the close contact relationship, while ensuring that no circular path will appear in the query result, thereby ensuring the efficiency of the query, the accuracy of the results and the comprehensiveness of the close contact path. Finally, the k-degree close contact query method has a very high practical application value, and has a simple structure and is easy to implement, which provides convenience for solving related close contact problems in real life. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 Schematic diagram of the close contact relationship determination in the present invention.
[0024] Figure 2 This is a flow chart of the k-degree close contact query method in the present invention. DETAILED DESCRIPTION
[0025] In order to more clearly illustrate the k-degree close contact query method described in the present invention, the present invention will be further described in detail below with reference to the accompanying drawings:
[0026] The present invention proposes a k-degree close contact query method based on trajectory data analysis: first, an initialization operation is performed and a sliding window set is constructed; then, mobile objects with close contact relationships in O' are processed in sequence, and the close contact event triples are fused with the candidate sequence, and the newly discovered k-degree close contact records are moved into the result R; finally, after all sliding windows are processed, R is the final k-degree close contact result set.
[0027] For the convenience of description, the relevant symbols are defined as follows:
[0028] T={t0,t1,…,t m} represents the set of sampling time points in the trajectory data; S represents the set of initial source objects; M represents the set of direct or indirect close contact objects found during the k-degree close contact query process; O' represents the set of mobile objects that have no close contact relationship; CandList represents the candidate sequence of storage path-time series tuples (PL, TL), where PL represents a one-dimensional array storing the source and close contact objects in the close contact path, PL[i] represents the i-th close contact object in the close contact path, PL[0] represents the starting point of the close contact path, that is, the source of the close contact path, PL[end] represents the end point of the close contact path, that is, the last close contact object in the close contact path, and PL.length represents the length of the close contact path; TL represents a one-dimensional array storing the time when close contact relationships occur between close objects in PL. TL[i] represents the time when the i-th close contact object in PL has a close contact relationship, and TL[end] represents the time when the last close contact object in PL has a close contact relationship; R is the determined k-degree close contact result set.
[0029] Specifically, the k-degree close contact query method includes the following steps:
[0030] Step (1) performs initialization operation, setting O'=OS,
[0031] Step (2) Construct a sliding window set W = {w0, w1, ..., w n}, n = m-τ + 1, where any sliding window w i Contains τ consecutive sampling time points, w i ={t i ,t i+1 ,…,t i+τ-1};
[0032] Step (3) For each sliding window w in W i , execute the processing for whether the mobile objects in O' have a close contact relationship. If a new k-degree close contact record is found, then add the k-degree close contact record to the query result set R. The process of executing the processing for whether the mobile objects in O' have a close contact relationship includes the following steps:
[0033] Step (3.1) If there exists an object s∈S∪M that satisfies i At each sampling time point t k , with dist(s,o j ,t k )≤d holds, where dist(s,o j ,t k ) represents objects s and o j In t kThe Euclidean distance of the time point, d represents the distance threshold for close contact, and the close contact event triple c = (s, o j ,w i .end), w i .end means w i The end time of the window;
[0034] Step (3.2) determines whether cs belongs to the infection source set S. If cs∈S, go to step (3.3); otherwise, go to step (3.4).
[0035] Step (3.3) constructs PL = {s,o j} and TL = {0,w i .end}, and add it to CandList, and connect the object o j Move in M. Go to step (3.1) and continue to process the next moving object in O';
[0036] Step (3.4) fuses the close-connected event triple c with the candidate sequence CandList, which includes the following sub-steps:
[0037] Step (3.4.1) traverses the candidate sequence CandList and searches for the path-time series tuple cand containing the cs close object in the path;
[0038] Step (3.4.2) performs the following operations depending on the location of cs in cand.PL:
[0039] 1) If cand.PL[end] = cs and k = cand.PL.length + 1, then first construct the path path' = {cand.PL[0] → cand.PL[1] → ... → cand.PL[end] → co j} and time series timelist'={cand.TL[0],cand.TL[1],…,cand.TL[end],cw i .end}; Then, construct the k-degree close-connected record quadruple (cand.PL[0], co j ,path',timelist') and add it to the query result R; finally, move the object co from the set O' j Remove and end the current close contact object o j processing.
[0040] 2) If cand.PL[end]=cs and cand.PL.length+1 is satisfied <k,则首先将c.o jadd to the end of cand.PL, w i .end is added to the end of cand.TL, thus completing the update for path-time sequence pair cand in CandList; finally, the moving object c.o j is moved into the set of close objects M, and the current processing for the close object o j is ended.
[0041] 3) If cand.PL[end]≠c.s, first construct a new path-time sequence pair newcand; second, find the index position of c.s in cand.PL; then, set newcand.PL={cand.PL[0], cand.PL[1], …, cand.PL[index], c.o j} and newcand.TL={cand.TL[0], cand.TL[1], …, cand.TL[index], c.w i .end}; next, add newcand to the candidate sequence CandList; finally, move the moving object c.o j into the set of close objects M, and end the current processing for the close object o j .
[0042] (4) When all the sliding window processing in W is completed, the several k-degree close records stored in R at this time are the final query result.
[0043] The present application proposes a k-degree close query method based on trajectory data analysis, which can more appropriately solve the problems in the prior art, is simple to implement, and can guarantee the correctness and integrity of the result.
[0044] The above only describes the embodiments of the present application and is not used to limit the present application. The present application can have various changes and variations for those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the scope of claims of the present application.
Claims
1. A k-degree close contact query method based on trajectory data analysis, characterized by: The k-degree close contact query method can perform a query operation of a k-degree close contact path based on the trajectory data of the moving object. Specifically, the k-degree close contact query method specifically includes the following steps: Step 1: Perform initialization operation and set O'=OS. , , where S represents the initial set of infection source objects, O' represents the set of mobile objects that have no close contact relationship, M represents the set of direct or indirect close contact objects found during the k-degree close contact query process, CandList represents the candidate sequence storing the path-time series tuple (PL, TL), PL represents the one-dimensional array storing the infection source and close contact objects in the close contact path, and TL represents the one-dimensional array storing the time when the close contact objects in PL have close contact relationship; Step 2: According to the sampling time point set T={t0, t1, …, t m } and sliding window threshold τ, construct the sliding window set W={w0, w1, …, w n }, n=m-τ+1, where any sliding window w i Contains τ consecutive sampling time points, w i ={t i , t i+1 , …, t i+τ-1 }; Step 3: For each sliding window w in the sliding window set W i , execute the processing for whether the mobile objects in O' have a close connection relationship. If a new k-degree close connection record is found, add the k-degree close connection record to the determined k-degree close connection result set R; Step 4: When all sliding windows in the sliding window set W are processed, the k-degree close contact records stored in the determined k-degree close contact result set R are the final query results, where: In step 3, for each sliding window w in the sliding window set W i , check each moving object o in O' j Whether there is a close contact relationship with the infection source or identified close subjects in S∪M, the specific steps are as follows: Step 3-1: If there exists an object s∈S∪M that satisfies i At each sampling time point t k , with dist(s, o j ,t k )≤d holds, where dist(s, o j , t k ) represents objects s and o j In t k The Euclidean distance of the time point, d represents the distance threshold for close contact, and the close contact event triple c=(s, o j , w i .end), w i .end means w i The end time of the window; Step 3-2: Determine whether cs belongs to the initial infection source object set S. If cs∈S, go to step 3-3; otherwise, go to step 3-4. Step 3-3, construct PL={s, o j } and TL={0,w i .end}, and add it to CandList, and connect the object o j Move into M and go to step 3-1 to continue processing the next moving object in O'; Step 3-4, fusing the close event triple c with the candidate sequence CandList; Let PL[i] represent the i-th close contact object in the close contact path, PL[0] represent the starting point of the close contact path, the starting point is the infection source of the close contact path, PL[end] represent the end point of the close contact path, the end point is the last close contact object in the close contact path, PL.length represent the length of the close contact path; TL[i] represent the time when the i-th close contact object in PL has a close contact relationship, TL[end] represent the time when the last close contact object in PL has a close contact relationship, for And in the case of cs∈M, when merging with CandList, steps 3-4 specifically include the following steps: Step 3-4-1, traverse the candidate sequence CandList and search for the path-time series tuple cand containing the cs close object in the path; Step 3-4-2: Perform different operations according to the different positions of cs in the candidate sequence cand.PL.
2. The k-degree close contact query method based on trajectory data analysis according to claim 1, characterized in that: In step 3-4-2, if cand.PL[end]=cs and k=cand.PL.length + 1, the execution steps are: first construct the path path'={cand.PL[0]→cand.PL[1]→…→cand.PL[end]→co j } and time series timelist'= {cand.TL[0], cand.TL[1], …, cand.TL[end], cw i .end}; Then, construct the k-degree close-connected record quadruple (cand.PL[0], co j , path', timelist') and add it to the query result R; finally, move the object co from the set O' j Remove and end the current close contact object o j processing.
3. The k-degree close contact query method based on trajectory data analysis according to claim 1, characterized in that: In step 3-4-2, if cand.PL[end] = c.s and cand.PL.length + 1 < k are satisfied simultaneously, the steps to be executed are as follows: First, add c.o j to the end of cand.PL, and add w i .end to the end of cand.TL, thereby completing the update of the path-time series pair cand in CandList; Finally, move the moving object c.o j into the set M of close objects, and end the current processing of the close object o j .
4. The k-degree close contact query method based on trajectory data analysis according to claim 1, characterized in that: In step 3-4-2, if cand.PL[end]≠cs, the execution steps are as follows: first, construct a new path-time series tuple newcand; second, find the subscript position index of cs in cand.PL; then, set newcand.PL={cand.PL[0], cand.PL[1], …, cand.PL[index], co j } and newcand.TL={cand.TL[0], cand.TL[1], …, cand.TL[index], cw i .end}; Then, add newcand to the candidate sequence CandList; Finally, move the object co j Move it into the close object set M and end the current close object o j processing.
5. A k-degree close contact query method based on trajectory data analysis according to any one of claims 1 to 4, characterized in that: The k-degree close contact record is represented by a four-tuple (source, target, path, timelist), where source represents the initial source of infection, target represents the last close contact object in the k-degree close contact path, path represents the path where the source and target indirectly have a close contact relationship, and timelist represents the time series of close contact relationships in the close contact path.
Citation Information
Patent Citations
Moving object infection behavior mining method based on binary filtering
CN112632151A
Sealed object query method with moving object track data privacy protection capability
CN116208948A