Method, device, medium and program product for one-machine multi-card identification based on communication network signaling plane data
By constructing a multi-scale trajectory matching and auxiliary verification mechanism based on communication network signaling plane data, the problem of accurately identifying users with multiple SIM cards on one device in a cross-operator environment was solved, achieving high confidence and high real-time identification results.
Patent Information
- Application Number
- CN202510963652.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-14
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2045-07-14
AI Technical Summary
Existing technologies struggle to accurately identify multiple user identities held by the same terminal in cross-carrier environments, and there are issues with device identifier forgery and insufficient identifier sharing authentication.
By collecting signaling plane data from the communication network, a user trajectory data sequence is constructed, and the trajectory matching degree is calculated at multiple scale levels. Combined with multi-day trajectory statistics and auxiliary verification mechanisms, users with multiple SIM cards on one device are identified.
It improves the accuracy and security of multi-card recognition on a single device, reduces the false positive and false negative rates, and enhances the robustness and applicability of the recognition system.
Smart Images

Figure CN120640247B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network communication technology, and in particular to a method, device, medium and program product for identifying multiple SIM cards on a single device based on communication network signaling plane data. Background Technology
[0002] With the rapid development of mobile communication technology, dual-SIM dual-standby terminal devices have become widely popular worldwide. Users often hold multiple SIM cards simultaneously, and it's common practice to configure multiple SIM cards from different operators on the same device. In such scenarios, the multiple SIM cards used by the same terminal device are typically connected to different operator networks, resulting in the user's communication activity being recorded in multiple independent systems. This increases the difficulty of accurately identifying individual users.
[0003] To identify users with multiple SIM cards on a single device, existing technologies mostly rely on terminal device identification information (such as IMEI, IMSI, etc.) to associate and normalize behavioral data. However, in practical applications, device identification is at risk of being forged, tampered with, or hidden. At the same time, there is a lack of a unified identification sharing and authentication mechanism between different operators, making such methods difficult to play an effective role in cross-operator network scenarios.
[0004] Therefore, existing technologies have significant limitations in handling the need for multi-SIM card identification across networks. There is an urgent need for a technical solution that can integrate signaling plane data from multiple operators' communication networks and achieve high-confidence identification based on user behavior trajectories, in order to improve identification accuracy and system applicability. Summary of the Invention
[0005] To address the shortcomings of existing technologies, this application provides a method, device, medium, and program product for identifying multiple SIM cards on a single device based on communication network signaling plane data. This addresses the problem in existing technologies where it is difficult to accurately identify multiple user identities held by the same terminal in a cross-carrier environment without reliable device identification.
[0006] To achieve the above objectives and other advantages, some embodiments of this application provide the following aspects:
[0007] In a first aspect, some embodiments of this application provide a method for identifying multiple SIM cards on a single device based on communication network signaling plane data, including:
[0008] Collect communication network signaling plane data for multiple user identities and extract base station access records for each user identity within the target time period;
[0009] The base station location identifier in the base station access record is converted into a spatial location point in a unified plane coordinate system. The target area is divided into grids based on a preset spatial resolution to generate a corresponding user trajectory data sequence.
[0010] The user trajectory data sequence is mapped to a multi-scale matching structure constructed based on time and space dimensions. The degree of trajectory matching between different user identities is calculated at multiple scale levels, and the trajectory similarity score is determined by integrating the weights set at each scale level.
[0011] Based on trajectory similarity scores, the matching of user identity pairs in multiple different time periods or multiple dates is statistically analyzed, and user identity pairs that meet the multi-day trajectory similarity are selected.
[0012] For user identity pairs that meet the multi-day trajectory similarity criteria, auxiliary verification is performed. If the user identity pairs meet the same terminal determination criteria, the user identity pairs are determined to be users with multiple SIM cards on one device. The auxiliary verification includes at least one of the following: detecting whether there is simultaneous traffic behavior in the same time period, detecting differences in operating system type, and detecting spatial location conflicts.
[0013] Secondly, some embodiments of this application also provide an electronic device, the electronic device comprising:
[0014] One or more processors; and a memory storing computer program instructions, which, when executed, cause the processors to perform the multi-SIM card identification method based on communication network signaling plane data as described above.
[0015] Thirdly, some embodiments of this application also provide a computer-readable storage medium having a computer program and / or instructions stored thereon, wherein the computer program and / or instructions, when executed by a processor, implement the one-machine-multiple-card identification method based on communication network signaling plane data as described above.
[0016] Fourthly, some embodiments of this application also provide a computer program product, including a computer program and / or instructions, which, when executed by a processor, implement the one-machine-multiple-card identification method based on communication network signaling plane data as described above.
[0017] Compared with related technologies, the solution provided in this application constructs user trajectory data based on communication network signaling plane data and combines multi-scale trajectory matching and auxiliary verification mechanisms to achieve accurate identification of users with multiple SIM cards on a single device. Compared with existing technologies that rely on terminal device identification, this application does not rely on static device information, effectively avoiding risks such as device forgery and tampering, and significantly improving the security and robustness of the identification system. By constructing user trajectory data under a unified plane coordinate system based on communication network signaling plane data and building a multi-scale matching structure in the time and space dimensions, the similarity of mobile behaviors between user identities can be evaluated from multiple granular levels, thereby improving the accuracy and coverage of trajectory matching. Furthermore, by combining multi-day trajectory statistical results with auxiliary verification mechanisms including traffic behavior conflicts, terminal system differences, and location conflicts, the accuracy and confidence of identifying users with multiple SIM cards on a single device are further improved, reducing the false positive and false negative rates. This solution can be widely applied in scenarios such as telecommunications operators and network security regulatory agencies, achieving the goal of high-confidence, high-real-time identification of users with multiple SIM cards on a single device while providing strong technical support for communication network security management and user identification. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other implementation methods can be obtained based on these drawings without creative effort.
[0019] Figure 1 This is a flowchart illustrating a method for identifying multiple SIM cards on a single device based on communication network signaling plane data, provided in an embodiment of this application.
[0020] Figure 2 This is a schematic diagram illustrating the construction of user trajectory data sequences based on communication network signaling plane data in an embodiment of this application;
[0021] Figure 3 This is a schematic diagram of the hierarchical spatiotemporal pyramid model provided in the embodiments of this application;
[0022] Figure 4 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0023] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0024] First Embodiment
[0025] The first embodiment of this application relates to a method for identifying multiple SIM cards on a single device based on communication network signaling plane data, including:
[0026] Step S1: Collect communication network signaling plane data for multiple user identities and extract base station access records for each user identity within the target time period.
[0027] Specifically, regarding step S1, in existing communication networks, user location awareness based on big data mainly relies on the fusion and computation of multi-source heterogeneous data, including measurement reports (MRs).
[0028] MR data, OTT (Over-The-Top) application layer data, signaling plane data, and user plane data. If all of these types of data are available, combined with high-precision positioning algorithms, the accuracy of user location estimation can be improved to within 50 meters. However, in actual deployments, due to limited access permissions, insufficient real-time performance, or uneven data distribution of MR and OTT data, it is difficult to continuously apply them in large-scale deployments.
[0029] Therefore, in this embodiment, more stable and reliable signaling plane data is selected as the primary basis for positioning. This data can be call detail records (CDRs) generated from core network interfaces (such as the S1MME interface of LTE (4G) networks and the N1 / N2 interfaces of 5G core networks), or it can include underlying signaling protocol data, such as S1AP (S1 Application Protocol) data exchanged through the S1 interface, X2AP data from the X2 interface, and NAS (Non-Access Stratum) signaling data from the non-access stratum. The former is typically structured event logs, while the latter can provide more granular access behavior information. The two can be flexibly selected based on specific deployment capabilities.
[0030] In practical applications, operators can centrally collect historical signaling plane data within a specified area on a daily or hourly basis, retaining only signaling message records with timestamp fields within that target time period. From these signaling message records, signaling event types reflecting user access or camping status are selected, such as initial context establishment requests, handover requests, and tracking area updates, ensuring that the extracted records indicate location change behavior. The user identification field in each signaling message record is grouped, and an index linking user identity to their signaling message record is established. The access base station identifier field of each signaling message record is parsed, treating it as the spatial node accessed by the user at a specific time, and the corresponding timestamp is extracted, forming a base station access record with user identity, timestamp, and base station identifier as its basic data structure.
[0031] It should be noted that user identity refers to a unique identifier that can identify the communication behavior of a mobile terminal in a communication system. To protect user privacy and enhance the applicability of the solution, user identity can be constructed based on anonymization or desensitization mechanisms, without relying on real device identifiers or user numbers, thereby avoiding potential risks such as device forgery and identifier tampering.
[0032] Step S2: Convert the base station location identifier in the base station access record into a spatial location point in a unified plane coordinate system, divide the target area into grids based on a preset spatial resolution, and generate the corresponding user trajectory data sequence.
[0033] Specifically, for step S2, the base station identifier (e.g., eNodeBID) contained in each base station access record can be converted into corresponding latitude and longitude coordinates through a pre-established configuration mapping table. The configuration mapping table, provided by the operator's core network or network management system, contains the correspondence between each base station identifier and its geographical location. The latitude and longitude coordinates are then converted from the WGS84 coordinate system to planar coordinates in the Mercator projection coordinate system. The system divides the target area into equally spaced grids based on a preset spatial resolution (e.g., 50m × 50m), constructing a two-dimensional grid system with unique numbers. Each base station access record is mapped to a discrete trajectory point containing a timestamp and a spatial grid number, ultimately forming a time-series trajectory data sequence of the user within the target time period.
[0034] Step S3: Map the user trajectory data sequence to a multi-scale matching structure built based on time and space dimensions. Calculate the trajectory matching degree between different user identities at multiple scale levels, and integrate the weights set at each scale level to determine the trajectory similarity score.
[0035] Specifically, for step S3, based on the generated user trajectory data sequence, a multi-scale matching structure covering both time and spatial dimensions is constructed. This structure divides the trajectory feature space into multiple scale levels to evaluate the degree of trajectory matching between user identities at different granularities. The time dimension scale can be set to different time intervals, such as 5 minutes, 30 minutes, or 1 hour, while the spatial dimension scale can be set to different raster granularities, such as 50 meters, 100 meters, or 200 meters.
[0036] At each scale level, the system first performs uniform time alignment processing on the trajectory sequences of different user identities, that is, divides the trajectory points into corresponding time segments according to the current time scale; then, based on the grid division method of the current spatial scale, it maps each trajectory point to its corresponding spatial grid. For each pair of user identities, it counts whether they fall into the same spatial grid within the same time segment, and calculates the trajectory similarity at that scale accordingly, which is used as the trajectory matching score at that level.
[0037] Furthermore, to comprehensively consider matching performance at different scales, the system assigns corresponding weight coefficients to each scale level. These weights are typically inversely proportional to the scale granularity; that is, the finer the granularity of the scale level, the higher the reliability of the matching result and the greater the weight. Finally, the system performs weighted fusion of the matching scores from all scale levels according to the set weights to generate a global trajectory similarity score corresponding to the user's identity.
[0038] Step S4: Based on the trajectory similarity score, statistically analyze the matching of user identity pairs in multiple different time periods or multiple dates, and filter out user identity pairs that meet the multi-day trajectory similarity.
[0039] In this embodiment, step S4 specifically includes:
[0040] Step S401: Compare the trajectory similarity score of each user identity within each target time period with a preset similarity threshold;
[0041] Step S402: If the trajectory similarity score within the target time period is greater than the similarity threshold, then mark the target time period as the matching time period;
[0042] Step S403: Count the number of times each user identity pair is marked as a matching time period or the number of consecutive matching days within a preset date range;
[0043] Step S404: If the statistical results meet the set multi-day matching criteria, then filter the user identity pairs as user identity pairs that meet the multi-day trajectory similarity criteria.
[0044] Specifically, in many common scenarios (such as riding together or traveling together), two trajectories may exhibit high similarity within the same time period. Therefore, this step effectively eliminates occasional co-located users (users whose trajectories briefly overlap but do not belong to the same device user) by constructing user identity pairs and introducing multi-day trajectory statistics. Specifically, based on all user trajectory data sequences, user identity pairs are constructed by combining all collected user identities in pairs. This means that any two different user identities form a pair, used to analyze the trajectory similarity and behavioral consistency of any two users within a given time period. Each user identity pair serves as the smallest analytical unit for trajectory matching evaluation, used to determine whether there is a suspicious association of multiple SIM cards on one device. For each user identity pair, the system compares the trajectory similarity score with a set similarity threshold. If the score exceeds the similarity threshold, it indicates that the two user identities exhibit highly consistent spatial and temporal movement behavior within that time period. The trajectory similarity score range can generally be normalized to [0,1], with higher similarity scores closer to 1. The threshold can be set based on historical statistical experience or business rules. For example, it can be set as a floating value between 0.6 and 0.8, representing a strong similarity in the trajectories of two users within a specific time period. A time period marked as a match indicates that the user's identity exhibits consistent or highly overlapping characteristics in their movement behavior within that time period.
[0045] For each user identity pair, the system counts the number of times it is marked as a matching time period within a specified date range (e.g., the past 7 days or 30 days). The system can further analyze characteristic indicators such as the number of consecutive matching days, the number of matching time periods per day, and the distribution density of matching time periods. For example, if a user identity pair has more than 2 matching time periods each day for 3 consecutive days, or has accumulated more than 5 matching events in any 7 days.
[0046] The multi-day matching criteria can be set as follows: matching time periods exist for N consecutive days (e.g., N=3), or matching occurs for more than M days cumulatively throughout the observation period (e.g., M=5), with at least 2 matching segments per day. The statistical results are compared with the preset multi-day matching criteria. If the criteria are met, the user pair is selected as a user pair satisfying the multi-day trajectory similarity requirement. This eliminates trajectory similarities caused only by occasional factors such as short-term shared rides or traveling together, avoiding misjudgments. It effectively identifies user pairs with consistent long-term mobile behavior, thereby improving the temporal stability and behavioral consistency verification capability of multi-SIM card identification.
[0047] Step S5: Perform auxiliary verification on user identity pairs that meet the multi-day trajectory similarity criteria. If the user identity pairs meet the same terminal determination criteria, determine that the user identity pairs are users with multiple SIM cards on one device. Auxiliary verification includes at least one of the following: detecting whether there is simultaneous traffic behavior in the same time period, detecting differences in operating system type, and detecting spatial location conflicts.
[0048] In this embodiment, step S5 specifically includes:
[0049] Step S501: For user identity pairs that meet the multi-day trajectory similarity criteria, collect their respective communication behavior data within the same time period, and detect whether there are simultaneous communication traffic activities. If simultaneous communication behavior exists, they are determined to be different terminal users; and / or,
[0050] Extract the terminal operating system identifier corresponding to the user's identity pair within the target time period. If the operating system types do not match, the users are determined to be different terminal users; and / or,
[0051] The location of trajectory points within the same time period is compared. If two user identities appear at the same time at locations that are more than a preset distance threshold apart, they are determined to be different terminal users.
[0052] Step S502: If the user identity pair is not determined to be a user of a different terminal in multiple auxiliary verifications, it is determined to meet the same terminal determination condition, and then the user identity pair is identified as a user with multiple SIM cards on one device.
[0053] Specifically, after filtering out user identity pairs that satisfy multi-day trajectory similarity, further auxiliary verification is performed to determine whether the identity pair can be attributed to multi-SIM card usage behavior on the same terminal, thereby achieving high-confidence identification of users with multiple SIM cards on one device. For each user identity pair that satisfies multi-day trajectory similarity, at least one of the following auxiliary verification operations is performed, specifically including:
[0054] Analyze the communication behavior data of the user pair within the same time period, especially their respective uplink / downlink data traffic records, TCP (Transmission Control Protocol) connection behavior, and application layer access logs. If both user identities exhibit significant active data communication behavior (e.g., simultaneously uploading or downloading data) within a certain time period, it indicates that they are running concurrently on two independent terminals, ruling out the possibility of them being used by the same device. In such cases, the system can mark the user pair as users on different terminals.
[0055] Extract terminal attribute information for the user identity pair within the same time period, such as the User Agent field (a field identifying client software environment information), terminal capability fields, and device management signaling information, to identify the corresponding terminal operating system type (e.g., Android, iOS, HarmonyOS, etc.). If two user identities connect to terminals with different operating system types within the same time period, it indicates that they originate from different device instances, and can therefore be determined as different terminal users.
[0056] Based on the aforementioned user trajectory data, the spatial location points corresponding to the same timestamp of two identities are compared. If the physical distance between the two exceeds a preset threshold (such as 100 meters or 200 meters, depending on the network positioning accuracy), it is considered that their behavioral trajectories could not have come from the same terminal, thus excluding them as users from different terminals. This detection is particularly effective in identifying spoofed track-sharing behavior (such as remote synchronous forgery).
[0057] The three detection processes described above can be used independently or in combination. The system can choose to enable one or more of them based on the actual deployment scenario and data availability. Summarizing the detection results of step S501, if no exclusion judgment for users from different terminals is triggered in all enabled auxiliary verifications, the identity pair is considered to meet the same terminal judgment condition. Based on this, the system formally identifies the user identity pair as a user with multiple SIM cards on one device, and can output the results for subsequent user profile analysis, communication risk identification, anti-fraud model input, and other application scenarios. This auxiliary verification mechanism combines multi-dimensional verification of spatial behavior, communication behavior, and terminal attributes, significantly enhancing the reliability of trajectory similarity judgment and effectively avoiding misjudgments caused by short-term co-location, device sharing, and other behaviors, thereby improving the accuracy and robustness of the system in identifying multiple SIM cards on one device.
[0058] Furthermore, the identification results of users who are identified as having multiple SIM cards on one device are synchronized to the user behavior analysis system for recording and labeling. Based on the identification results, structured user profile data of users with multiple SIM cards on one device is generated. The identification results include user identity information of users who are identified as having multiple SIM cards on one device, the corresponding matching time period, trajectory similarity scores at various scales, and auxiliary verification results.
[0059] Specifically, for user identity pairs identified as users with multiple SIM cards on a single device, the system synchronizes the identification results to the user behavior analysis system via a preset interface (such as a RESTful API interface, a Kafka message queue channel, or a database write method). The synchronization process can be executed in batches at fixed intervals (such as daily or hourly) or pushed immediately after the identification results are generated (near real-time mode) to continuously analyze user network usage characteristics. The synchronized content includes user identity pair identifiers, judgment tags, timestamps, and verification summary information.
[0060] Based on the completed identification results, the system further generates structured profile information for each pair of user identities identified as having multiple SIM cards on one device. The profile information may include the user identity pair identifier, the time interval or number of consecutive matching days for which the user was identified as having multiple SIM cards on one device, trajectory similarity scores at each scale level, specific results of auxiliary verification, and the set of raster IDs and their frequency of occurrence for historical trajectory co-occurrence. This structured profile information can be written to the profile database or distributed to the middleware system for risk classification or deep learning modeling in formats such as JSON (object representation), CSV (tabular data), and Parquet (column-based storage).
[0061] Through the aforementioned process of recording identification results and generating structured profiles, a closed-loop management mechanism for users with multiple SIM cards on a single device is achieved. This allows the identification results to be promptly incorporated into dynamic risk modeling, behavioral pattern mining, and differentiated strategy decision-making. This significantly enhances the platform's intelligent management capabilities and response efficiency in scenarios such as fraud prevention, account security, and intelligent auditing. It also effectively reduces the cost of human intervention and strengthens the system's robustness and scalability in complex network environments.
[0062] Compared with related technologies, the solution provided in this application constructs user trajectory data based on communication network signaling plane data and combines multi-scale trajectory matching and auxiliary verification mechanisms to achieve accurate identification of users with multiple SIM cards on a single device. Compared with existing technologies that rely on terminal device identification, this application does not rely on static device information, effectively avoiding risks such as device forgery and tampering, and significantly improving the security and robustness of the identification system. By constructing user trajectory data under a unified plane coordinate system based on communication network signaling plane data and building a multi-scale matching structure in the time and space dimensions, the similarity of mobile behaviors between user identities can be evaluated from multiple granular levels, thereby improving the accuracy and coverage of trajectory matching. Furthermore, by combining multi-day trajectory statistical results with auxiliary verification mechanisms including traffic behavior conflicts, terminal system differences, and location conflicts, the accuracy and confidence of identifying users with multiple SIM cards on a single device are further improved, reducing the false positive and false negative rates. This solution can be widely applied in scenarios such as telecommunications operators and network security regulatory agencies, achieving the goal of high-confidence, high-real-time identification of users with multiple SIM cards on a single device while providing strong technical support for communication network security management and user identification.
[0063] Second Embodiment
[0064] The second embodiment of this application relates to a method for identifying multiple SIM cards on a single device based on communication network signaling plane data. The second embodiment is an improvement upon the first embodiment, specifically in that: in the second embodiment of this application, a specific implementation method for generating user trajectory data based on base station location mapping and spatial rasterization processing is provided, that is, step S2 can further include the following steps:
[0065] Step S201: Obtain the latitude and longitude coordinates corresponding to each base station location identifier, and convert the latitude and longitude coordinates from the WGS84 coordinate system to plane coordinates in the Mercator projection coordinate system;
[0066] Step S202: The target area is meshed using a preset spatial resolution, dividing the target area into several equally spaced rectangular grids;
[0067] Step S203: For each rectangular grid, based on the planar coordinate distance between the grid center point and the reference point, calculate the number of each grid in the X-axis and Y-axis directions respectively, and generate the corresponding unique number, thereby constructing a two-dimensional spatial grid index system;
[0068] Step S204: For the planar coordinate position corresponding to each base station access record, determine the grid number to which it belongs, and combine it with the access timestamp to form a discrete trajectory point containing time and spatial information;
[0069] Step S205: Arrange multiple discrete trajectory points of the same user identity within the target time period in chronological order to generate the corresponding user trajectory data sequence.
[0070] Specifically, refer to Figure 2 As shown, the base station location identifier (such as eNodeB ID) contained in each base station access record in the signaling plane data is used to obtain the physical deployment location information of the base station through a pre-configured base station engineering parameter mapping table. This retrieves the corresponding latitude and longitude coordinates in the WGS84 coordinate system. Subsequently, these latitude and longitude coordinates are converted to x and y values in the Mercator plane coordinate system using a Mercator projection transformation. After the conversion, each access record can be associated with a unique two-dimensional plane location point (x, y), which, in meters, represents the approximate geographic location of the user when connecting to the network through the base station.
[0071] Define a unified target area boundary (e.g., the urban area of a city), and perform equidistant gridding on this area at a preset spatial resolution (e.g., 50m × 50m), dividing the entire area into several rectangular grids. For each rectangular grid, calculate the relative distance between its center point and the reference point in the X and Y axes, based on the grid's center point's position in the Mercator coordinate system. Determine its row number (Y-direction number) and column number (X-direction number) in the two-dimensional index matrix accordingly. Then, combine the row number and column number to encode a unique identifier (e.g., identifier = row number × total number of columns + column number), thus establishing a unified identifier for each grid and constructing a complete two-dimensional spatial grid index system.
[0072] For each base station access record, its corresponding Mercator plane coordinates are used as the user's spatial projection position at that access time. Based on the spatial range of this coordinate point, its corresponding grid number is determined in a two-dimensional spatial grid indexing system. This grid number is then bound to the timestamp in the access record, forming a structured discrete trajectory point. For each user identifier, all discrete trajectory points associated with it within the target time period are sorted temporally, constructing a trajectory data sequence arranged according to time evolution. This trajectory data sequence uses grid numbers as spatial units and timestamps as the evolutionary thread. Without relying on terminal GPS (Global Positioning System), it can efficiently reconstruct user trajectories using only signaling plane data, effectively reflecting the user's spatial movement path and behavioral patterns within a certain time window.
[0073] It is easy to see that in this embodiment, by transforming the spatial coordinates of the base station access records and performing regional gridding, a standardized expression of user trajectory data in a unified planar coordinate system is achieved, exhibiting good spatial alignment capabilities and data consistency. By setting a preset spatial resolution to divide the target area into a two-dimensional grid and generating a unique number and index coordinates for each grid, the processing complexity of the original location data is significantly simplified, and the interference of spatial errors on trajectory analysis is reduced, thereby improving the robustness and accuracy of trajectory construction.
[0074] Third Embodiment
[0075] The third embodiment of this application relates to a method for identifying multiple SIM cards on a single device based on communication network signaling plane data. The third embodiment is an improvement upon the first embodiment, specifically in that it provides a method for pre-processing and optimizing trajectory data. Specifically, before mapping the user trajectory data sequence to a multi-scale matching structure constructed based on time and spatial dimensions, the method includes:
[0076] Monitor the number of round-trip handovers between adjacent base stations by the terminal within the same time window. If the number reaches a preset threshold, the corresponding time period is marked as a ping-pong interval. Within the ping-pong interval, points whose movement speed between adjacent trajectory points exceeds a physical threshold are removed as outliers. Based on the retained trajectory points, Kalman filtering is applied to predict the user's movement path, and the coordinates of the oscillating trajectory points are corrected; and / or,
[0077] Based on terminal sampling points selected within the overlapping area of base station signal coverage, a clustering algorithm is used to determine the centroid location of the signal coverage. This location is then compared with the engineering parameter coordinates of the target base station. When the location deviation exceeds a preset deviation threshold, triangulation is performed based on the terminal sampling points to infer the actual location of the target base station, and the engineering parameter coordinates of the target base station are corrected accordingly; and / or,
[0078] A spatiotemporal joint density clustering algorithm is used to identify clusters in the trajectory that satisfy the spatiotemporal clustering condition. The geometric center of each cluster is extracted as a representative dwell point location, and the duration at each dwell point location is calculated. Subsequently, a local outlier factor algorithm is used to identify and remove noisy trajectory points; and / or,
[0079] When the speed between adjacent trajectory points exceeds a preset speed threshold or the change in heading angle between three consecutive trajectory points exceeds a preset angle threshold, the trajectory points are marked as abnormal trajectory points. Then, piecewise interpolation, cubic spline fitting, and trajectory prediction based on the motion model are performed sequentially to reconstruct the continuous trajectory path and correct the coordinates of the abnormal trajectory points.
[0080] Specifically, during communication, terminals may frequently switch between adjacent base stations within a short period, creating a typical "ping-pong effect." In this embodiment, the system sets a sliding time window (e.g., 5 minutes) to detect whether the user makes multiple round trips between two base stations within this time window. If the number exceeds a threshold (e.g., ≥3 times), the time period is marked as a ping-pong interval. Within the ping-pong interval, the system further calculates the movement speed between adjacent trajectory points. If the speed of some point pairs exceeds the physical movement limit (e.g., 120 km / h), they are marked as abnormal points and removed. Subsequently, using the retained trajectory points, a Kalman filter algorithm is used to reconstruct the trajectory, predict a reasonable movement path, and correct the positional jitter caused by handover oscillations.
[0081] To correct user trajectory positioning anomalies caused by incorrect base station engineering parameter coordinate configuration, the system introduces a base station location calibration mechanism. Specifically, multiple terminal trajectory sampling points located within the overlapping coverage area of the target base station and surrounding base stations are selected as analysis samples. These sampling points can be extracted from access records reported by users during their access to the base station and possess a certain degree of spatial distribution representativeness. Based on the spatial distribution characteristics of these sampling points, a density clustering algorithm (such as DBSCAN) is applied for spatial clustering. Data point clusters with spatiotemporal stability are extracted from the coverage area through clustering, and their centroid coordinates are calculated as an estimate of the actual signal coverage center. The system compares the centroid coordinates obtained from clustering with the preset engineering parameter coordinates of the base station in the network configuration. If the deviation between the two exceeds a set spatial location threshold (e.g., 300 meters), the system considers the base station's engineering parameter record to have a significant location error. The system can combine the azimuth distribution of multiple terminal sampling points and use a triangulation algorithm to deduce the actual deployment location of the base station, and update or correct the base station's engineering parameter coordinate data accordingly.
[0082] In user trajectory data, there often exists a type of trajectory segment that is highly clustered in location and continuously remains in time, typically corresponding to the user's actual dwell time. To effectively extract this dwell point information, this embodiment uses the ST-DBSCAN (a clustering algorithm based on spatiotemporal density) algorithm to perform spatiotemporal joint clustering of discrete trajectory points, setting a time threshold of 15 minutes, a spatial distance threshold of 500 meters, and a minimum number of points of 3. Through this clustering method, the system can group points in the trajectory that meet the "near time and near location" condition into the same cluster. For each identified cluster, the system further calculates its geometric center coordinates based on the following formula, which is used as the representative spatial location of the dwell area:
[0083]
[0084] Among them, (x i (x, yi) represents the planar coordinates of the i-th cluster point under the Mercator projection, k is the total number of trajectory points in the cluster, (x c The location of this stop point is yc). The system also calculates the earliest and latest timestamps of trajectory points within the cluster to determine the user's dwell time at this stop point.
[0085] Stay time = Latest time - Earliest time
[0086] After initial clustering of the trajectory points, the Local Outlier Factor (LOF) algorithm is used to evaluate the spatial neighborhood density of each trajectory point. The LOF algorithm can effectively detect outliers, i.e., "isolated points" or "drifting points," in local regions where the density is significantly lower than that of neighboring points.
[0087] For example, after preliminary ST-DBSCAN clustering, a candidate cluster of 12 trajectory points was identified. Ten of these trajectory points were densely distributed within a 300m × 300m area; two trajectory points appeared at the edge of the cluster, approximately 800 meters from the cluster center, suspected to be abnormal offsets caused by transient signal switching. The system applied the LOF algorithm to all points within this cluster, setting the neighborhood size parameter k = 5, and calculated the neighborhood density (LRD) for each point using the following formula:
[0088]
[0089] Among them, reach-disk k (p,o) is the reachable distance from point p to neighbor o, N k (p) represents the k neighbors of point p.
[0090] Calculate the Local Outlier Factor (LOF):
[0091]
[0092] If LOF k (p)≈1 indicates that the density of this point is similar to that of its neighbors, and it is a normal point; if LOF k If (p) > 1.5 to 2.0, it indicates that the density of this point is much lower than that of its neighbors, making it a potential outlier.
[0093] In this example, the LOF values of the 10 core trajectory points are concentrated between 0.9 and 1.2, indicating balanced density. The LOF values of the other two edge trajectory points are 2.8 and 3.1, respectively, which are much higher than the average level, and they are identified as outliers. After removing these two trajectory points, the system recalculates the geometric center and dwell time of the cluster, avoiding the influence of outliers on the dwell position and thus improving the accuracy of the final trajectory modeling.
[0094] In real-world communication scenarios, the trajectories extracted from signaling plane data may be affected by factors such as network jitter, abnormal base station deployment, and handover delays, causing some trajectory points to exhibit unreasonable velocity jumps or abrupt changes in direction. To ensure the physical rationality and continuity of the trajectory data, this embodiment employs a three-stage dynamic analysis and correction process for the velocity and direction changes of the trajectory: piecewise interpolation, cubic spline fitting, and motion model prediction. This three-stage processing mechanism works in tandem to effectively eliminate velocity abrupt changes and direction drift points in the trajectory, restoring continuous, smooth, and physically rational trajectory data.
[0095] Specifically, a speed threshold V is set. max (e.g., 150 km / h) and the heading angle change threshold θ max (e.g., 45°), continuously detect any two adjacent points P in the trajectory point sequence.i P i+1 The speed between them exceeds V max ,Right now:
[0096]
[0097] Alternatively, if the angle θ formed by any three consecutive points exceeds the threshold θ... max This means there is a clear reversal or unnatural turning. Once any of the above conditions are met, the system will identify the trajectory segment as an abnormal drift segment and initiate the repair process.
[0098] For abnormal trajectory points removed during the drift segment, if they cause trajectory breaks, the system prioritizes using linear interpolation on the time axis to fill in the gaps. For missing time points t... k In the segment, use the two valid trajectory points before and after it (t) k-1 ,P k-1 ), (t k+1 ,P k+1 Linear interpolation can be used to quickly complete the temporal continuity of the trajectory link.
[0099]
[0100] To avoid issues such as jagged lines or abrupt angle changes in the trajectory, the system performs cubic spline curve fitting on the current trajectory segment. This method constructs a function of the following form for each trajectory segment:
[0101] S i (t)=a i +b i (tt i )+c i (tt i ) 2 +d i (tt i ) 3
[0102] Among them, S i (t) represents the estimated trajectory position at time point t, calculated from the i-th spline curve; t i Let a be the starting time of the i-th spline curve, corresponding to the timestamp of a certain trajectory point; i For the spline curve at time t i The function value on; b i For spline curves at t i The first derivative at point c represents the initial velocity trend of that segment of the curve; i For spline curves at t i A portion of the second derivative at that point is used to ensure the continuity of acceleration; d i For spline curves at ti The third derivative at a given point controls the curvature of the trajectory between the two points. This fitting result smoothly transitions the trajectory, making it more consistent with actual physical movement paths and improving spatial smoothness and readability.
[0103] To enhance the naturalness and interpretability of trajectory segments in terms of motion trends, commonly used kinematic models are used to predict subsequent points on the trajectory, taking the constant acceleration model as an example:
[0104]
[0105] Among them, P t+Δt P represents the predicted location coordinates of the user at a future time t+Δt; t This represents the user's spatial location coordinates at time t; v t For current speed estimation; a t The average acceleration is obtained by fitting from the three most recent points; Δt is the prediction time interval. This stage can extend the trajectory in intervals lacking signaling samples, maintaining the overall trajectory trend naturally and smoothly, and is suitable for boundary completion and trajectory extension analysis scenarios.
[0106] It is easy to see that, through the above-mentioned cleaning mechanism, this embodiment effectively solves the problems of trajectory noise and structural offset caused by factors such as frequent handover, base station mismatch, static aggregation, or instantaneous anomalies in the communication environment, thereby improving the stability, reliability, and completeness of user trajectory data. This provides higher-quality basic data support for subsequent trajectory similarity calculation and multi-SIM card identification.
[0107] It should be noted that the third embodiment of this application may also be an improvement based on any one or more of the first to second embodiments.
[0108] Fourth embodiment
[0109] The fourth embodiment of this application relates to a method for identifying multiple SIM cards on a single device based on signaling plane data of a communication network. The fourth embodiment is an improvement upon the first embodiment, specifically in that it provides a method for enhancing the accuracy of trajectory similarity analysis by constructing a multi-scale trajectory matching structure based on time and spatial dimensions. Specifically, step S3 can further include the following steps:
[0110] Step S301: Divide the user trajectory data sequence into multiple scale levels according to the time and space dimensions to form a matching structure containing different time intervals and spatial raster granularity;
[0111] Step S302: At each scale level, based on the preset time interval and spatial raster granularity, perform raster mapping and time alignment on trajectory points of different user identities, and calculate their matching score at the current scale.
[0112] Step S303: Assign a preset weight coefficient to each scale level. The weight coefficient increases as the scale granularity decreases. The matching scores under all scale levels are weighted and fused according to the weight coefficient to obtain the final trajectory similarity score.
[0113] Specifically, the trajectory data sequence corresponding to each user identity is divided into multiple scales according to time and spatial dimensions. The time dimension can be selected at scales such as 5 minutes, 15 minutes, and 30 minutes; the spatial dimension can be set to raster granularity such as 50 meters, 100 meters, and 200 meters. Each pair of time-space scale combinations constitutes a matching level; for example, "5min–50m" is the first level, "15min–100m" is the second level, and "30min–200m" is the third level. (See reference...) Figure 3 As shown, the entire trajectory space is organized using a multi-layered structure, with different levels representing different temporal and spatial resolutions, forming a trajectory structure index with multiple granular levels. Each layer's grid represents a combination of a specific time period and spatial region, with grid numbers such as "111", "112", etc. Dashed lines indicate the mapping paths of the user's trajectory at different levels, showing that lower levels (fine scale) offer wider trajectory coverage and higher matching accuracy, while higher levels (coarse scale) have sparser paths.
[0114] Within each scale level, user trajectory points are mapped to spatial grids at the current scale, and the time axis is sliced according to the current time interval. If the trajectory points of user A and user B fall into the same or neighboring spatial grids within the same time window, it is considered a trajectory point match; the total number of matched point pairs is counted and normalized to a match score for that scale level. For example, if there are a total of 20 time windows at a certain level, and the trajectory grids of the two users overlap in 15 of those time windows, then the match score for that level is 15 / 20 = 0.75. Commonly used matching metrics include Jaccard similarity (or intersection-union ratio, used to measure the similarity between two sets) or Cosine similarity (used to measure the angle between two vectors to determine the consistency of direction), etc., to improve matching accuracy.
[0115] Considering the varying sensitivities to trajectory behavior at different scales, the system assigns corresponding weight coefficients to each level (e.g., first level: 0.5, second level: 0.3, third level: 0.2), and fuses trajectory matching scores according to the following formula:
[0116]
[0117] Where L is the total number of scale levels; τ l K represents the trajectory matching score between point sets X and Y at the l-th scale level; L (X,Y) represents the final trajectory similarity score obtained after fusing the matching scores from all scale levels from layer 1 to layer L; The weighting terms are used to balance different scales, so that the finer the scale, the greater the weight is assigned.
[0118] By employing the aforementioned fusion method, trajectory matching scores at different scale levels can be calculated uniformly, taking into account both the long-term co-occurrence behavior of user trajectories at the coarse-grained level and the fine-grained co-track behavior at the fine-grained level, thus achieving a multi-level comprehensive evaluation of trajectory similarity between user identities. This method effectively improves the stability and discriminative power of the final trajectory similarity score. It also enhances the algorithm's robustness and generalization ability in complex scenarios such as sampling noise, behavioral differences, or local occlusion.
[0119] It is easy to see that, in this embodiment, by introducing a multi-scale trajectory matching structure based on time and spatial dimensions, the similarity of mobile behaviors between user identities can be comprehensively measured at different granularities. This embodiment divides trajectory data into multiple time intervals and spatial grid granularity levels, calculates matching scores at different scales, and then fuses them based on preset weights. This preserves the stability characteristics of long-term co-occurrence of user trajectories at the coarse-grained level while also taking into account the ability to distinguish differences in short-term, fine-grained trajectories at the fine-grained level. Compared to single-scale matching methods, this significantly improves the robustness and discriminative power of trajectory similarity calculation, avoids information bias caused by inappropriate granularity selection, and effectively enhances the reliability of trajectory comparison results in multi-SIM card identification.
[0120] It should be noted that the fourth embodiment of this application may also be an improvement based on any one or more of the first to third embodiments.
[0121] The steps of the various methods described above are only for clarity. In practice, they can be combined into one step or some steps can be split into multiple steps. As long as they include the same logical relationship, they are all within the scope of protection of this application. Adding insignificant modifications or introducing insignificant designs to the algorithm or process, but without changing the core design of the algorithm and process, are also within the scope of protection of this application.
[0122] Furthermore, some embodiments of this application also provide an electronic device. The electronic device can be various forms of digital computer, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, etc. The electronic device can also be various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices.
[0123] The electronic device includes: one or more processors; and a memory storing computer program instructions, which, when executed, cause the processor to perform a multi-SIM card identification method based on communication network signaling plane data as provided in any one or more of the above embodiments. Figure 4 An exemplary structural diagram of the electronic device is disclosed. The electronic device includes one or more processors 1101, a memory 1102, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components are interconnected via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the electronic device, including instructions stored in or on memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In some other embodiments, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple electronic devices can be connected, each providing some of the necessary operations. The components, their connections and relationships, and their functions shown herein are merely examples and are not intended to limit the implementation of the present application described and / or claimed herein.
[0124] The electronic device may further include an input device 1103 and an output device 1104. The processor 1101, memory 1102, input device 1103, and output device 1104 may be connected via a bus or other means. Figure 4 Taking the example of a connection between China and Israel via a bus.
[0125] Input device 1103 can receive input numerical or character information, and generate key signal inputs related to user settings and function control of the electronic device, such as a touch screen, keypad, mouse, trackpad, touchpad, joystick, one or more mouse buttons, trackball, joystick, etc. Output device 1104 may include a display device, auxiliary lighting device (e.g., LED), and haptic feedback device (e.g., vibration motor). The display device may include, but is not limited to, a liquid crystal display, a light-emitting diode display, and a plasma display. In some embodiments, the display device may be a touch screen.
[0126] To provide interaction with the user, the electronic device can be a computer. The computer has: a display device (e.g., a cathode ray tube or LCD monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback); and input from the user can be received in any form (e.g., voice input or tactile input).
[0127] In this embodiment, a computer-readable medium stores a computer program / instruction, which, when executed by a processor, implements the multi-SIM card identification method based on communication network signaling plane data provided in any one or more of the above embodiments. The computer-readable medium may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into the device. The computer-readable medium carries one or more computer-readable instructions.
[0128] The memory 1102 can serve as a non-transitory computer-readable storage medium, used to store non-transitory software programs, non-transitory computer-executable programs, and modules. The processor 1101 executes various functional applications and data processing of the server by running the non-transitory software programs, instructions, and modules stored in the memory 1102, thereby implementing the program instructions / modules corresponding to the methods provided in any one or more of the embodiments described above in this application.
[0129] The memory 1102 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the electronic device. Furthermore, the memory 1102 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 1102 may optionally include memory remotely located relative to the processor 1101, and these remote memories can be connected to the electronic device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0130] It should be noted that the computer-readable medium described in this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. Computer-readable media can be, for example, but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, electrical connections having one or more wires, portable computer disks, hard disks, random access memory, read-only memory, erasable programmable read-only memory, optical fibers, portable compact disk read-only memory, optical storage devices, magnetic storage devices, or any suitable combination thereof. In this application, a computer-readable medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0131] Computer-readable media include permanent and non-permanent, removable and non-removable media, which can store information by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory, static random access memory, dynamic random access memory, other types of random access memory, read-only memory, electrically erasable programmable read-only memory, flash memory or other memory technologies, read-only optical discs, digital versatile optical discs or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.
[0132] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including local area networks (LANs) or wide area networks (WANs), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0133] In the above embodiments, all or part of the implementation can be achieved through software, hardware, firmware, or any combination thereof. For example, it can be implemented using an application-specific integrated circuit (ASIC), a general-purpose computer, or any other similar hardware device. In some embodiments, the software program of this application can be executed by a processor to implement the above steps or functions. Similarly, the software program of this application (including related data structures) can be stored in a computer-readable recording medium, such as RAM memory, magnetic or optical drives, floppy disks, and similar devices. In addition, some steps or functions of this application can be implemented in hardware, for example, as circuitry that cooperates with a processor to perform the various steps or functions.
[0134] The computer program product provided in this application includes one or more computer programs / instructions. When executed by a processor, these computer programs / instructions generate, in whole or in part, the processes or functions described in this application. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive), etc.
[0135] The flowcharts or block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of devices, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-specific system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0136] The scope of this application is defined by the appended claims rather than the foregoing description, and is therefore intended to encompass all variations falling within the meaning and scope of equivalents of the claims. No reference numerals in the claims should be construed as limiting the scope of the claims. Furthermore, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices recited in a device claim may also be implemented by a single unit or device in software or hardware. Terms such as "first," "second," etc., are used only for distinguishing descriptions and do not indicate any particular order, nor should they be construed as indicating or implying relative importance.
[0137] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily made by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims, and the above embodiments should be regarded as exemplary and non-limiting.
Claims
1. A method for identifying multiple SIM cards on a single device based on communication network signaling plane data, characterized in that, include: Collect communication network signaling plane data for multiple user identities and extract base station access records for each user identity within the target time period; The base station location identifier in the base station access record is converted into a spatial location point in a unified plane coordinate system. The target area is divided into grids based on a preset spatial resolution to generate a corresponding user trajectory data sequence. The user trajectory data sequence is mapped to a multi-scale matching structure constructed based on time and spatial dimensions. The degree of trajectory matching between different user identities is calculated at multiple scale levels, and the trajectory similarity score is determined by integrating the weights set at each scale level. This includes: The user trajectory data sequence is divided into multiple scale levels according to the time and space dimensions to form a matching structure containing different time intervals and spatial grid granularity; At each scale level, based on preset time intervals and spatial raster granularity, trajectory points for different user identities are raster-mapped and time-aligned, and their matching scores at the current scale are calculated. Each scale level is assigned a preset weight coefficient, which increases as the scale granularity decreases. The matching scores of all scale levels are weighted and fused according to the weight coefficient to obtain the final trajectory similarity score. Based on trajectory similarity scores, the matching of user identity pairs in multiple different time periods or multiple dates is statistically analyzed, and user identity pairs that meet the multi-day trajectory similarity are selected. For user identity pairs that meet the multi-day trajectory similarity criteria, auxiliary verification is performed. If the user identity pairs meet the same terminal determination criteria, the user identity pairs are determined to be users with multiple SIM cards on one device. The auxiliary verification includes at least one of the following: detecting whether there is simultaneous traffic behavior in the same time period, detecting differences in operating system type, and detecting spatial location conflicts.
2. The method for identifying multiple SIM cards on a single device based on communication network signaling plane data according to claim 1, characterized in that, The steps of converting the base station location identifier in the base station access record into a spatial location point in a unified plane coordinate system, dividing the target area into grids based on a preset spatial resolution, and generating a corresponding user trajectory data sequence include: Obtain the latitude and longitude coordinates corresponding to each base station location identifier, and convert the latitude and longitude coordinates from the WGS84 coordinate system to planar coordinates in the Mercator projection coordinate system; The target area is meshed using a preset spatial resolution, dividing the target area into several equally spaced rectangular grids; For each rectangular grid, based on the planar coordinate distance between the grid center point and the reference point, the number of each rectangular grid in the X-axis and Y-axis directions is calculated, and a corresponding unique number is generated, thereby constructing a two-dimensional spatial grid index system; For each base station access record, the corresponding planar coordinate position is determined, the grid number is identified, and combined with the access timestamp, a discrete trajectory point containing time and spatial information is formed. Multiple discrete trajectory points of the same user identity within a target time period are arranged in chronological order to generate a corresponding user trajectory data sequence.
3. The method for identifying multiple SIM cards on a single device based on communication network signaling plane data according to claim 1, characterized in that, Before the step of mapping the user trajectory data sequence to a multi-scale matching structure constructed based on time and space dimensions, the method further includes trajectory cleaning processing of the user trajectory data sequence, specifically including: Monitor the number of round-trip handovers between adjacent base stations by the terminal within the same time window. If the number reaches a preset threshold, the corresponding time period is marked as a ping-pong interval. Within the ping-pong interval, points whose movement speed between adjacent trajectory points exceeds a physical threshold are removed as outliers. Based on the retained trajectory points, Kalman filtering is applied to predict the user's movement path, and the coordinates of the oscillating trajectory points are corrected; and / or, Based on terminal sampling points selected within the overlapping area of base station signal coverage, a clustering algorithm is used to determine the centroid location of the signal coverage. The location deviation is compared with the engineering parameter coordinates of the target base station. When the location deviation exceeds a preset deviation threshold, triangulation is performed based on the terminal sampling points to infer the actual location of the target base station, and the engineering parameter coordinates of the target base station are corrected accordingly; and / or, A spatiotemporal joint density clustering algorithm is used to identify clusters in the trajectory that satisfy the spatiotemporal clustering condition. The geometric center of the cluster is extracted as the representative dwell point position, and the duration at the dwell point position is calculated. Subsequently, a local outlier factor algorithm is used to identify and remove noisy trajectory points; and / or, When the speed between adjacent trajectory points exceeds a preset speed threshold or the change in heading angle between three consecutive trajectory points exceeds a preset angle threshold, the trajectory points are marked as abnormal trajectory points. Then, piecewise interpolation, cubic spline fitting, and trajectory prediction based on the motion model are performed sequentially to reconstruct the continuous trajectory path and correct the coordinates of the abnormal trajectory points.
4. The method for identifying multiple SIM cards on a single device based on communication network signaling plane data according to claim 1, characterized in that, The step of statistically analyzing the matching of user identity pairs across multiple time periods or dates based on trajectory similarity scores, and filtering out user identity pairs that meet the multi-day trajectory similarity criteria, includes: The trajectory similarity score of each user identity within each target time period is compared with a preset similarity threshold. If the trajectory similarity score within the target time period is greater than the similarity threshold, then the target time period is marked as a matching time period; Count the number of times each user identity pair is marked as a matching time period or the number of consecutive matching days within a preset date range; If the statistical results meet the set multi-day matching criteria, the user identity pairs will be selected as user identity pairs that meet the multi-day trajectory similarity criteria.
5. The method for identifying multiple SIM cards on a single device based on communication network signaling plane data according to claim 1, characterized in that, The step of performing auxiliary verification on user identity pairs that meet the multi-day trajectory similarity criteria, and determining that the user identity pairs are users with multiple SIM cards on one device when the user identity pairs meet the same terminal determination criteria, includes: For user pairs that meet the criteria of similar trajectory over multiple days, their respective communication behavior data are collected within the same time period to detect whether they simultaneously have communication traffic activities. If simultaneous communication behavior is found, they are determined to be users from different terminals; and / or, Extract the terminal operating system identifier corresponding to the user identity pair within the target time period. If the operating system types are inconsistent, they are determined to be different terminal users; and / or, The location of trajectory points within the same time period is compared. If two user identities appear at the same time at locations that are more than a preset distance threshold apart, they are determined to be different terminal users. If the user identity pair is not determined to be a user from a different terminal in multiple auxiliary verifications, it is determined to meet the same terminal determination condition, and thus the user identity pair is identified as a user with multiple SIM cards on one device.
6. The method for identifying multiple SIM cards on a single device based on communication network signaling plane data according to any one of claims 1-5, characterized in that, Also includes: The identification results of users who are identified as having multiple SIM cards on one device are synchronized to the user behavior analysis system for recording and labeling. Based on the identification results, structured user profile data of users with multiple SIM cards on one device is generated. The identification results include user identity information of users who are identified as having multiple SIM cards on one device, the corresponding matching time period, trajectory similarity scores at various scales, and auxiliary verification results.
7. An electronic device, characterized in that, The electronic device includes: One or more processors; and a memory storing computer program instructions, which, when executed, cause the processors to perform the multi-SIM card identification method based on communication network signaling plane data as described in any one of claims 1-6.
8. A computer-readable storage medium having a computer program and / or instructions stored thereon, characterized in that, When the computer program and / or instructions are executed by the processor, they implement the one-machine-multiple-card identification method based on communication network signaling plane data as described in any one of claims 1-6.
9. A computer program product, comprising a computer program and / or instructions, characterized in that, When the computer program and / or instructions are executed by the processor, they implement the one-machine-multiple-card identification method based on communication network signaling plane data as described in any one of claims 1-6.
Citation Information
Patent Citations
One-machine multi-card user discrimination method based on track similarity
CN110958599A
Method for judging number of one-machine multi-card users in regional population based on track similarity
CN110958600A