Positioning stream data processing system, electronic device, storage medium, and program product
Through the design of the positioning flow data processing system, the main node, work node and stream processing engine are used to process the positioning flow data in batches to build user location tags, solving the problem that positioning flow data processing in the existing technology cannot meet the real-time requirements. , real-time processing and efficient analysis of positioning flow data is realized.
Patent Information
- Application Number
- CN202411112413.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-14
- Publication Date
- 2024-12-13
AI Technical Summary
The prior art cannot meet the real-time requirements of positioning stream data processing, the batch processing method has poor real-time performance, the rule-based method rules are cumbersome, and the real-time requirements of complex dynamic streaming data cannot be adapted to the real-time requirements of complex dynamic streaming data.
Design a positioning flow data processing system, including a main node, a work node and a stream processing engine, the main node accesses user signaling data, the work node collects and decodes and filters, and the stream processing engine divides the positioning flow data according to the service subscribed by the user. Batch processing, build user location tags, and realize real-time location and trajectory analysis services.
By processing the continuously input data stream in batches, real-time processing of positioning stream data is realized, real-time requirements for positioning stream data processing are met, and the efficiency and accuracy of data processing are improved.
Smart Images

Figure CN119127313A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of streaming data processing technology, and in particular to a location streaming data processing system, electronic device, storage medium and program product. Background Technology
[0002] With the rapid development of the mobile internet, a large amount of real-time location data needs to be transmitted based on users' personalized business needs. This data contains users' location information and behavioral data, which is of great significance for applications such as real-time positioning and user trajectory analysis. However, due to the massive amount of location stream data and its high real-time requirements, traditional data processing methods often cannot meet the needs.
[0003] Currently, existing methods for processing location streaming data mainly include batch processing and rule-based methods. Batch processing stores streaming data in a database and then processes it in batches periodically. This method can process large amounts of data at once, but its real-time performance is poor, making it only suitable for offline analysis and unable to meet the real-time requirements for user location. Rule-based methods filter and process streaming data using predefined rules. However, defining and maintaining rules is cumbersome, requiring prior understanding of the data's characteristics and patterns. For complex and dynamic streaming data, the discovery and maintenance of rules are often delayed, similarly failing to meet real-time requirements. Summary of the Invention
[0004] This application provides a location stream data processing system, electronic device, storage medium, and program product to address the shortcomings of existing technologies in processing location stream data that cannot meet real-time requirements.
[0005] This application provides a location stream data processing system, including a master node, worker nodes, and a stream processing engine; wherein: The master node is used to access user signaling data and generate data collection instructions to schedule the working nodes; The working node is used to collect the user signaling data according to the data collection instruction, and to decode and filter the user signaling data to obtain location stream data; The stream processing engine is used to process the location stream data in batches according to the target service subscribed by the user, and to construct user location tags for providing the target service.
[0006] In one embodiment, if the target service includes a real-time location application service, when processing the location stream data in batches according to the target service subscribed by the user to construct user location tags for providing the target service, the stream processing engine is further configured to: Based on the real-time location application service in the target service subscribed by the user, extract the user's location information from the location stream data according to a preset time granularity; Based on the time points corresponding to the user location information, for any target user, the last location point of the target user is selected from the user location information according to the time sequence corresponding to the time points to construct the user location tag of the target user; Based on the user location tags and preset spatial dimensions, the locations of each target user are statistically analyzed to construct a user location heatmap; The user location heatmap is updated according to the time granularity to provide the real-time location application service.
[0007] In one embodiment, if the target service includes a user trajectory analysis service, when processing the location stream data in batches according to the target service subscribed by the user to construct user location tags for providing the target service, the stream processing engine is further configured to: Based on the user trajectory analysis service in the target service subscribed to by the user, the user's location points and the motion state at each location point are extracted from the location stream data; If the motion state is continuous stillness, then the first position points among the position points are aggregated, and the dwell time of each first position point is accumulated to construct a first position label; the motion state at the first position point is continuous stillness. If the movement state is continuous movement, then the second location points with the same unique cell identifier among the location points are aggregated to accumulate the dwell time and movement distance of each second location point to construct a second location tag; the movement state at the second location point is continuous movement. Based on the first location tag and the second location tag, a user location tag is constructed, and a user trajectory is generated according to the user location tag to provide the user trajectory analysis service.
[0008] In one embodiment, extracting the user's location points and the motion state at each location point from the location stream data includes: The location stream data is processed in batches according to a preset time granularity to extract the location points where the user resides and the duration of residence at each location point. The user's movement state at the location point is determined based on the dwell time.
[0009] In one embodiment, after generating the user trajectory based on the user location tag to provide the user trajectory analysis service, the stream processing engine is further configured to: Obtain MRO data from the user measurement report (MR), and associate the MRO data with the user signaling data to obtain the MR data for each user; The user is located by fusing the MR data and a preset fingerprint database to obtain the user's MR location data. The user trajectory is fused and corrected using the MR positioning data.
[0010] In one embodiment, the stream processing engine includes a preprocessing module and a monitoring and management module, wherein: The preprocessing module is used to perform preprocessing operations on the location stream data. The preprocessing operations include structured processing and format conversion. The processing rules of the preprocessing operations are configurable. The monitoring and management module is used to monitor the running status and start / stop operations of the target service.
[0011] In one embodiment, the master node is also used to dynamically scale the worker nodes online.
[0012] This application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the functions of the location stream data processing system as described above.
[0013] This application also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the functions of the location stream data processing system as described above.
[0014] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the functions of the location stream data processing system as described above.
[0015] The location stream data processing system, electronic device, storage medium, and program product provided in this application involve a master node that receives user signaling data, while worker nodes are responsible for collecting, decoding, filtering, and processing the data to obtain location stream data. The stream processing engine is responsible for batch processing the location stream data based on the user's subscribed services, constructing user tags, and providing targeted services to the user. By batch processing the continuously input data stream, and as the batch processing interval decreases, real-time processing of the data stream can be achieved, thus meeting the real-time requirements for location stream data processing. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0017] Figure 1 This is a schematic diagram of the location stream data processing system provided in the embodiments of this application.
[0018] Figure 2 This is a schematic diagram of the processing flow of location stream data provided in the embodiments of this application.
[0019] Figure 3 This is a schematic diagram of the user trajectory fusion and correction process provided by the present invention.
[0020] Figure 4 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0021] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions 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.
[0022] Figure 1 This is a schematic diagram of the structure of the positioning stream data processing system provided in the embodiments of this application, as shown below. Figure 1 As shown, the system includes a master node, worker nodes, and a stream processing engine, wherein: The master node is used to access user signaling data and generate data collection instructions to schedule the working nodes; The working node is used to collect the user signaling data according to the data collection instruction, and to decode and filter the user signaling data to obtain location stream data; The stream processing engine is used to process the location stream data in batches according to the target service subscribed by the user, and to construct user location tags for providing the target service.
[0023] Optionally, there may be one or more master nodes and one or more worker nodes, with any one master node corresponding to one or more worker nodes. The master nodes are used to schedule the worker nodes, while the worker nodes are used to provide resources.
[0024] Specifically, the master node is used to access user signaling data and generate corresponding data acquisition instructions. These data acquisition instructions are used to schedule worker nodes. The master node distributes the data acquisition instructions to the worker nodes that need to be scheduled. The scheduled worker nodes collect user signaling data according to the received data acquisition instructions, and decode and filter the user signaling data to obtain the required location stream data.
[0025] Furthermore, the stream processing engine is used to process location stream data in batches according to the target service subscribed by the user, and to build user location tags for providing the target service to the user.
[0026] Optionally, user signaling data can be accessed using socket technology, with the upstream business system acting as a client and employing a long-lived connection for data transmission. The master node is the server node; when multiple master nodes exist, the servers receive data in parallel in a many-to-many manner, thereby improving data acquisition efficiency. Optionally, when a long-lived connection is broken, the client can repeatedly reconnect to the server.
[0027] Optionally, the client and the server (i.e. the master node) transmit data based on the SDTP (Simple Data Transfer Protocol) protocol. The SDTP protocol includes interactive processes such as version negotiation, authentication request, data transmission, link detection, and connection termination.
[0028] Optionally, the master node features both a High Availability (HA) mechanism (dual-machine cluster system) and a caching mechanism. The HA mechanism uses one or more master nodes as active nodes to execute business operations, while another one or more master nodes act as backup nodes, ready to take over in case the active node fails. When the active node malfunctions, the backup node can quickly take over the business operations, ensuring business continuity and node availability. For the caching mechanism, the master node will re-load balance after any worker node fails, reducing data latency and backlog issues.
[0029] Optionally, the master node is responsible for connecting to and authenticating with clients, receiving and distributing data, and distributing user signaling data to worker nodes. Worker nodes collect the data distributed by the master node, decode and filter it, and forward the qualified location stream data downwards. The location stream data is stored as messages in the KAFKA message middleware and / or as files in the HDFS (Hadoop Distributed File System) file system. The client's business systems include, but are not limited to, the network management center, and the user signaling data includes, but is not limited to, S1-MME signaling and MC signaling.
[0030] For stream processing engines, they can be built using streaming computing frameworks such as Spark Streaming, enabling real-time batch processing, transformation, and aggregation of data. Through appropriate streaming processing logic and windowing operations, real-time data processing and transmission can be achieved at a small time granularity. Simultaneously, using HDFS as a distributed storage and distribution platform ensures high data reliability and scalability. Within the stream processing engine, reasonable data sharding and replication strategies enable parallel reading, writing, and distribution of data, improving the processing performance and accuracy of localized streaming data.
[0031] In one embodiment, the location stream data processing system provided in this application adopts a Kafka-Spark-Kafka streaming processing architecture, using the Spark Streaming streaming computing framework to build the stream processing engine. Batch processing of the location stream data involves converting the continuously input location stream data into multiple data shards, that is, splitting the location stream data into multiple batches for processing. This breaks down large-volume, long-execution tasks into multiple equal, concurrently executable tasks according to certain rules, reducing the overall runtime. Optionally, the batch processing interval is configurable. When the batch processing interval is shortened to a sufficiently small time granularity, such as to the second level, real-time processing of the location stream data can be achieved, meeting the real-time requirements of processing large amounts of location stream data.
[0032] Optionally, the target services include location services and trajectory services. Location services include real-time positioning and personnel mobility analysis, while trajectory services include trajectory recognition and user tags. User tags further include workplace recognition, residence recognition, regional resident recognition, travel mode recognition, and fellow user recognition.
[0033] In this embodiment, the location stream data processing system receives user signaling data through the master node, while worker nodes are responsible for collecting, decoding, and filtering the data to obtain location stream data. The stream processing engine is responsible for batch processing the location stream data according to the user's subscribed services, constructing user tags, and providing targeted services to the user. By batch processing the continuously input data stream, as the batch processing interval decreases, real-time processing of the data stream can be achieved, thereby meeting the real-time requirements for location stream data processing.
[0034] In one embodiment, the target service may include a real-time location application service. Therefore, when the stream processing engine processes the location stream data in batches according to the target service subscribed to by the user and constructs user location tags to provide the target service, it is specifically used for: Based on the real-time location application service in the target service subscribed by the user, extract the user's location information from the location stream data according to a preset time granularity; Based on the time points corresponding to the user location information, for any target user, the last location point of the target user is selected from the user location information according to the time sequence corresponding to the time points to construct the user location tag of the target user; Based on the user location tags and preset spatial dimensions, the locations of each target user are statistically analyzed to construct a user location heatmap; The user location heatmap is updated according to the time granularity to provide the real-time location application service.
[0035] First, based on the real-time location application service subscribed to by the user, user location information is extracted from the location stream data according to a preset time granularity. Then, according to the time points corresponding to the extracted user location information, for any target user, the last location point of the target user is selected from the user location information according to the chronological order of the time points corresponding to their location information to construct a user location tag for that target user. Finally, based on the constructed user location tags and preset spatial dimensions, the locations of each target user are statistically analyzed to construct a user location heatmap, which is then updated according to a preset time granularity, thereby providing users with real-time location application services.
[0036] Optionally, the preset spatial dimensions include base station dimension, cell dimension, or administrative division dimension.
[0037] Taking minute-level time granularity as an example, the user's location stream data is obtained according to the smallest time granularity, and then processed in batches according to a 5-minute time granularity. When displaying the user's real-time location, the full user location information is stored, and the information of the last location point within 5 minutes is retained for each user. The user's location is updated according to the 5-minute time granularity. If no new location information reported by the user is extracted within 5 minutes, the location point of the user's last report is used. If a user does not update their location for a certain period of time, the user can be removed. For example, if a user does not update their location for 5 consecutive hours, then the user is removed.
[0038] Furthermore, user location tags are constructed based on each user's latest location, thereby generating a user location heatmap showing the real-time location distribution. This heatmap is presented using real-time data. The update granularity of the heatmap can also be 5 minutes, with the number of users in each cell counted every 5 minutes. This data is then provided to a GIS (Geographic Information System) service to create the heatmap representation of user location distribution. Optionally, when processing location stream data in batches with a 5-minute time granularity, it is necessary to deduplicate users within each 5-minute timeframe to avoid duplicate counting.
[0039] In one embodiment, if the target service subscribed by the user includes a user trajectory analysis service, when the stream processing engine processes the location stream data in batches according to the target service subscribed by the user and constructs user location tags to provide the target service, it is further configured to: Based on the user trajectory analysis service in the target service subscribed to by the user, the user's location points and the motion state at each location point are extracted from the location stream data; If the motion state is continuous stillness, then the first position points among the position points are aggregated, and the dwell time of each first position point is accumulated to construct a first position label; the motion state at the first position point is continuous stillness. If the movement state is continuous movement, then the second location points with the same unique cell identifier among the location points are aggregated to accumulate the dwell time and movement distance of each second location point to construct a second location tag; the movement state at the second location point is continuous movement. Based on the first location tag and the second location tag, a user location tag is constructed, and a user trajectory is generated according to the user location tag to provide the user trajectory analysis service.
[0040] Based on the user trajectory analysis service within the target service subscribed to by the user, the user's location points and their movement status at each location point are extracted from the location stream data. A single user can correspond to one or more location points, and the same location point can also correspond to one or more users.
[0041] Furthermore, whether a user's movement state at any location is continuous stillness or continuous movement can be determined based on the duration of the user's stay at that location. If the user's movement state at a location is continuous stillness, then the first location points are aggregated, and the duration of stay at each first location point is accumulated to construct the user's first location tag. Among the user's various location points, the location point where the user's movement state is continuous stillness is designated as the first location point.
[0042] Furthermore, if the user's movement at a location point is continuous, then the second location points with the same ECI (E-UTRAN Cell Identifier) are aggregated. This aggregates the dwell time and travel distance of each second location point to construct the user's second location tag. Here, the second location point is the location point where the user's movement is continuous.
[0043] Based on the first and second location tags, user location tags are constructed, and user trajectories are generated to provide users with user trajectory analysis services. Optionally, for any given user, there are multiple corresponding location points, including first location points where the user is continuously stationary and second location points where the user is continuously moving. After determining the user's movement state at each location point, the user trajectories are merged according to the user's movement state to obtain a complete user trajectory. Specifically, for any target user, when the user is continuously stationary, the location points where the user is stationary are aggregated, and the dwell time of one or more first location points is accumulated to construct the user's first location tag; when the user is continuously moving, if the user continuously occupies the same ECI, the second location points with the same ECI are aggregated, and the dwell time and distance of each second location point are accumulated to construct the user's second location tag. The first location label is used to represent the first location point where the user is continuously stationary, and the total dwell time at each first location point; the second location label is used to represent the ECI where the user is continuously moving, and the total dwell time and movement distance in each ECI.
[0044] For the same user, the first location tag and the second location tag are merged to form the user's complete trajectory user location tag, thereby generating the user trajectory, which can be used to provide trajectory analysis services to the user.
[0045] Optionally, when the stream processing engine extracts the user's location points and motion states at each location point from the aggregated location stream data, it specifically uses the following methods: The location stream data is processed in batches according to a preset time granularity to extract the location points where the user resides and the duration of residence at each location point. The user's movement state at the location point is determined based on the dwell time.
[0046] When extracting the user's location points and the motion state at each location point, the location stream data is processed in batches according to a preset time granularity to extract the user's stationary location points and the stationary duration at each location point. Based on the stationary duration, the user's motion state at each location point is determined.
[0047] Optionally, after generating user trajectories based on user location tags to provide user trajectory analysis services, the stream processing engine is also used for: Obtain MRO data from the user measurement report (MR), and associate the MRO data with the user signaling data to obtain the MR data for each user; The user is located by fusing the MR data and a preset fingerprint database to obtain the user's MR location data. The user trajectory is fused and corrected using the MR positioning data.
[0048] The system acquires MRO data from the user measurement report (MR) data and associates it with user signaling data to obtain MR data for each user. Based on each user's MR data and a pre-defined fingerprint database, it performs fusion positioning on the user to obtain MR positioning data for each user. The MR positioning data is then used to fuse and correct the obtained user trajectories. Fusion positioning of users refers to using multiple positioning methods, including but not limited to fingerprint positioning, path loss positioning, and base station positioning.
[0049] Optionally, the fusion and correction of user trajectories is based on interpolation. Specifically, it involves associating the user's MR positioning data with user signaling data, specifically associating the MR positioning data with S1-MME signaling. There are several possible association results for MR positioning data with S1-MME signaling, including MR positioning data not being associated with any S1-MME signaling, MR positioning data not being associated with any S1-MME signaling, and MR positioning data being associated with multiple S1-MME signaling.
[0050] In one embodiment, the streaming engine processes location stream data through fast positioning and precise positioning. Fast positioning uses user signaling data to locate the user, and the constructed user location tag is used to provide real-time location application services. Precise positioning fuses and corrects the user trajectory obtained from fast positioning based on the user's MR location data. Precise positioning has a greater latency than fast positioning. Therefore, for user trajectory analysis services, trajectories queried by users within a first preset time period after the location stream data is generated are based on fast positioning, while trajectories queried after the first preset time period are based on more accurate trajectories fused and corrected by precise positioning. This fusion and correction of user trajectories can meet users' different needs for real-time and accurate location services.
[0051] Specifically, when associating MR location data with S1-MME signaling, the association is performed on the same user's MR location data and S1-MME signaling based on time. For example, the IMSI (International Mobile Subscriber Identity) of the MR location data is used to associate S1-MME signaling records within a two-minute timeframe. When performing fusion correction on user trajectories, based on the association results of MR location data and S1-MME signaling, if a location point of a newly added S1-MME signaling is associated within a preset time period, the MR location data is inserted into the S1-MME signaling; if multiple S1-MME signaling records are associated, the target S1-MME signaling record with the closest time point to the MR location data is selected, and only the location point of the target S1-MME signaling record is updated; if no S1-MME signaling record is associated, the MR location data is directly inserted into the S1-MME signaling record according to its time point.
[0052] In one embodiment, refer to Figure 2 The illustrated processing flow for location stream data shows that the stream processing engine is primarily used for data preprocessing, logical operations, data flashing, data subscription, and event output. Data subscription refers to the user subscribing to the target service, and event output mainly consists of events generated by the user-subscribed target service. Further, the stream processing engine includes a preprocessing module and a monitoring and management module. The preprocessing module performs preprocessing operations on the location stream data, including structured processing and format conversion, and the processing rules for these preprocessing operations are configurable. The monitoring and management module monitors the running status and start / stop operations of the target service.
[0053] Optionally, the preprocessing module performs structured processing and format conversion on the location stream data according to configured rules, transforming the data into the required format and content. This includes, for example, converting by separators, removing fields containing letters, and truncating content by field range. The preprocessing module's operations also include logical operations, specifically processing the location stream data according to predefined tagging rules. Currently, the tagging rules mainly include IMEI processing, IMSI encryption and desensitization, mobile number association, and region code value retrieval. During event output processing, the required fields support fragmented deduplication; for example, only the last IMSI signaling data for a given user is retained within a certain timeframe.
[0054] Furthermore, for the data flash processing of the stream processing engine, it is mainly used to cache the processed data in the KAFKA message middleware. The cache includes, but is not limited to, the constructed user location tags and user trajectories.
[0055] like Figure 2As shown, the KAFKA message middleware is used for data distribution. On the one hand, it backs up HDFS data, and on the other hand, it distributes the data processed by the stream processing engine to users who have subscribed to the service, thereby providing the corresponding services to the users.
[0056] In other embodiments, reference is made to Figure 3 The illustrated user trajectory fusion and correction process, for location stream data, mainly includes the user's MC signaling and S1-MME signaling, achieving rapid user positioning based on base station parameters. By associating the S1-MME signaling with the MRO data, the user's MR data, i.e., UE-MR, is obtained. The user's MR positioning data is then fused and positioned using the UE-MR data and a preset fingerprint database to obtain the user's MR positioning data. In this embodiment, the positioning methods used for fusion positioning include fingerprint positioning, TA (Timing Advance) + AOA (Angle of Arrival) positioning, weighted triangulation positioning, path loss positioning, and base station positioning. Correspondingly, the user's MR positioning data includes fingerprint positioning data, weighted triangulation positioning data, path loss positioning data, base station positioning data, and TA+AOA positioning data.
[0057] The fingerprint database is constructed based on Minimization of Drive-Test (MDT) data and associated MR data. The associated MR data is obtained by associating the location feature database with the location of satellite positioning. The location feature database is constructed from location features extracted from S1-U signaling.
[0058] Furthermore, the fusion correction of user trajectories includes the localization correction of location points in the user trajectory and the scene correction of location points in the user trajectory. Localization correction includes abnormal location point removal, Gaussian filtering, motion state correction and average movement speed correction, etc. Scene correction mainly includes the correction of environmental objects such as lakes, rivers and roads at location points.
[0059] Based on the constructed user location tags, real-time location services and trajectory analysis services can be provided. For example, by constructing user location tags, the permanent residents of any area can be identified, thereby constructing a permanent resident database. For instance, users who are continuously located in a certain area within a certain time period can be identified based on user location tags as permanent residents of that area.
[0060] Furthermore, based on user trajectory data, a dataset of users, locations, and routes is formed, enabling the identification of fellow users based on information such as users, base stations, and routes. Specifically, based on user trajectory data, the user's location information (ECI) and time information are extracted. Querying from the user perspective allows obtaining the time and location information of the same user, and based on the time at each location point, fellow user data is obtained. Querying by location and time allows obtaining users at each location point at the same time. Querying by route allows querying users in the ECI list based on the route's ECI list, and based on the route formed by the user across multiple ECIs, the user data for that route is output, thereby identifying fellow users.
[0061] In this embodiment, by processing the location stream data, user location tags can be constructed, thereby realizing real-time location positioning services and user trajectory analysis services. Based on solving the efficiency and real-time problems of processing large amounts of streaming data, personalized location services are provided to users.
[0062] Furthermore, based on the parallel processing of the master node, the incoming data is not modified. The data is analyzed during the stream processing, and the analysis results are distributed to application services. Disk write operations are avoided during stream data processing, greatly improving data processing speed and ensuring real-time performance. Moreover, modular and personalized rule configurations for data preprocessing effectively improve processing efficiency, meet users' personalized data processing needs, reduce data backlog, and contribute to improving the cluster stability and system performance of the location-based stream data processing system.
[0063] Figure 4 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 4 As shown, the electronic device may include a processor 410, a communications interface 420, a memory 430, and a communication bus 440, wherein the processor 410, the communications interface 420, and the memory 430 communicate with each other via the communication bus 440. The processor 410 can call logical instructions in the memory 430 to implement the functions of the positioning stream data processing system provided in the above embodiments.
[0064] Furthermore, the logical instructions in the aforementioned memory 430 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0065] On the other hand, this application also provides a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can perform the functions of the positioning stream data processing system provided in the above embodiments.
[0066] In another aspect, embodiments of this application also provide a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the functions of the positioning stream data processing system provided in the above embodiments.
[0067] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0068] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0069] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A positioning stream data processing system, characterized in that: It includes master node, worker node and stream processing engine; among them: The master node is used to access user signaling data and generate data collection instructions to schedule the working nodes; The working node is used to collect the user signaling data according to the data collection instruction, and decode and filter the user signaling data to obtain positioning flow data; The stream processing engine is used to process the positioning stream data in batches according to the target service subscribed by the user, and construct a user location tag for providing the target service.
2. The positioning stream data processing system according to claim 1, characterized in that: If the target service includes a real-time location application service, when the positioning stream data is processed in batches according to the target service subscribed by the user and a user location tag is constructed for providing the target service, the stream processing engine is further used to: According to the real-time location application service in the target service subscribed by the user, extracting the user location information from the positioning stream data according to a preset time granularity; According to the time points corresponding to the user location information, for any target user, according to the time sequence corresponding to the time points, the last location point of the target user is selected from the user location information to construct a user location tag of the target user; Based on the user location tags and the preset spatial dimensions, the location of each of the target users is counted to construct a user location heat map; The user location heat map is updated according to the time granularity to provide the real-time location application service.
3. The positioning stream data processing system according to claim 1, characterized in that: If the target service includes a user trajectory analysis service, when the positioning stream data is processed in batches according to the target service subscribed by the user and a user location tag is constructed for providing the target service, the stream processing engine is further used to: According to the user trajectory analysis service in the target service subscribed by the user, extracting the user's location points and the motion status at each of the location points from the positioning stream data; If the motion state is continuous stillness, the first position point among the position points is aggregated, and the dwell time of each of the first position points is accumulated to construct a first position tag; the motion state at the first position point is continuous stillness; If the motion state is continuous motion, aggregating the second location points with the same cell unique identifier among the location points to accumulate the residence time and movement distance of each of the second location points to construct a second location tag; The motion state at the second position point is continuous motion; Based on the first location tag and the second location tag, a user location tag is constructed, and a user trajectory is generated according to the user location tag to provide the user trajectory analysis service.
4. The positioning stream data processing system according to claim 3, characterized in that: The extracting the user's location points and the motion state at each of the location points from the positioning stream data includes: Batch processing the positioning stream data according to a preset time granularity to extract the location points where the user resides and the length of time the user resides at each location point; The motion state of the user at the location point is determined according to the dwell time.
5. The positioning stream data processing system according to claim 3, characterized in that: After generating the user trajectory according to the user location tag to provide the user trajectory analysis service, the stream processing engine is further used to: Acquire MRO data in a user measurement report MR, and associate the MRO data with the user signaling data to obtain MR data of each user; Performing fusion positioning of the user according to the MR data and a preset fingerprint library to obtain MR positioning data of the user; The user trajectory is fused and corrected using the MR positioning data.
6. The positioning stream data processing system according to claim 1, characterized in that: The stream processing engine includes a preprocessing module and a monitoring management module, wherein: The preprocessing module is used to perform a preprocessing operation on the positioning stream data, the preprocessing operation includes structured processing and format conversion, and the processing rules of the preprocessing operation are configurable; The monitoring management module is used to monitor the running status and start and stop operations of the target service.
7. The positioning stream data processing system according to claim 1, characterized in that: The master node is also used to dynamically expand and shrink the working node online.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the functions of the positioning stream data processing system according to any one of claims 1 to 7 are realized.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the functions of the positioning stream data processing system according to any one of claims 1 to 7 are realized.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the functions of the positioning stream data processing system according to any one of claims 1 to 7 are realized.
