Method and device for detecting high frequency calls, electronic device and readable storage medium
By converting the user's call behavior trajectory into a binary bitmap and using an in-memory database, the problem of high-frequency call user identification in the prior art is solved in real time and resource waste, and fast and real-time high-frequency call user identification is achieved.
Patent Information
- Application Number
- CN202011015732.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-24
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2040-09-24
AI Technical Summary
In the prior art, when identifying high-frequency call users, real-time streaming engine processing and HBASE recording methods have problems such as data processing not being real-time, and storage space and computing resources are wasted.
By converting the user's call behavior trajectory into a binary bitmap and using an in-memory database for data access, real-time calculation can be achieved to identify high-frequency call users.
This method saves storage space, reduces the waste of computing resources, realizes real-time processing of massive data, and quickly identify high-frequency call users.
Smart Images

Figure CN114257686B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of big data technology, and in particular to a method for detecting high-frequency calls, a device for detecting high-frequency calls, an electronic device and a computer-readable storage medium. Background Art
[0002] Currently, in real-time applications in the telecommunications industry, it is usually necessary to identify users' high-frequency calls through signaling call records. After analyzing and verifying the high-frequency call numbers, the voice function of suspected fraud users is restricted. For example, a high-frequency call can be made more than 5 times within 5 minutes, and the user's tag information is used for filtering to obtain the final high-frequency call users. Currently, there are two common ways to identify users' high-frequency calls: one is to process through a real-time stream engine, based on the engine's time window API, cache the user's detailed data, land snapshot files within the time window, and use HIVE / SPARK to associate the user's tag information for filtering and statistics; the other is to collect the user's data and put it into HBASE to record the time point when the user appeared in a column manner, and use HIVE / SPARK to associate the user's tag information for filtering and statistics.
[0003] For the first solution, the real-time stream engine is used to calculate the behavior of making more than 5 calls within 5 minutes within the time window. For the massive real-time data, the records of users who meet the behavior conditions need to be stored in the computing nodes, and corresponding checkpoints need to be made through HDFS to ensure that the data will not be lost due to the restart of the computing node. Snapshot files need to be landed at regular intervals and points, and secondary label operations need to be performed. The entire operation and processing process needs to be based on the full amount of data, and secondary operations are generated, which consumes a lot of storage space and computing resources, affecting the real-time performance of data processing.
[0004] For the second solution, HBASE is used to record the time points when users have specific behaviors within a certain period in a column manner. Based on the reading method of HBASE, it is necessary to retrieve the complete record from HBASE each time, perform statistical analysis of the time period, and calculate the user's behavior patterns. In this process, the concurrent throughput of HBASE is huge, and large-scale data interaction can easily cause bandwidth pressure. In addition, because the data needs to be filtered through the user's tag information, it needs to go through secondary operations of HIVE / SPARK, resulting in the inability to process the data in real time. Summary of the invention
[0005] The purpose of the embodiments of the present invention is to provide a method for detecting high-frequency calls, an apparatus for detecting high-frequency calls, an electronic device and a computer-readable storage medium. By converting the user's call behavior trajectory into a binary bitmap and using a memory database to access data, it is possible to obtain high-frequency call information through a single real-time calculation.
[0006] In order to solve the above technical problems, the embodiment of the present invention is implemented as follows:
[0007] In a first aspect, an embodiment of the present invention provides a method for detecting high-frequency calls, comprising:
[0008] Collecting signaling data of user call services, and obtaining user identification information and latest call time according to the signaling data of the user call services;
[0009] According to the identification information of the user, a first user call information bitmap and its last call time in a preset time window are read from a memory database, and the first user call information bitmap is updated according to the latest call time and the last call time to obtain a second user call information bitmap; wherein each bit of the user call information bitmap represents 1 minute, 1 indicates that a user call has occurred, and 0 indicates that no user call has occurred;
[0010] Determine the high-frequency call information of the user in the second user call information bitmap according to the preset high-frequency call rule, and write the second user call information bitmap into the memory database to replace the first user call information bitmap;
[0011] The tag information of the user is read from the memory database according to the identification information of the user, and the high-frequency call information of the user is filtered according to the tag information of the user to obtain the target high-frequency call information.
[0012] In a second aspect, an embodiment of the present invention provides a device for detecting high-frequency calls, including:
[0013] A collection module, used to collect signaling data of user call services, and obtain user identification information and latest call time according to the signaling data of the user call services;
[0014] A processing module, configured to read a first user call information bitmap and a last call time of a preset time window from a memory database according to the identification information of the user, and update the first user call information bitmap according to the latest call time and the last call time to obtain a second user call information bitmap; wherein each bit of the user call information bitmap represents 1 minute, 1 indicates that a user call has occurred, and 0 indicates that no user call has occurred;
[0015] A calculation module, configured to determine the high-frequency call information of the user in the second user call information bitmap according to a preset high-frequency call rule, and write the second user call information bitmap into the memory database to replace the first user call information bitmap;
[0016] The filtering module is used to read the user's tag information from the memory database according to the user's identification information, and filter the user's high-frequency call information according to the user's tag information to obtain target high-frequency call information.
[0017] In a third aspect, an embodiment of the present invention provides an electronic device, characterized in that it includes a processor, a communication interface, a memory and a communication bus; wherein the processor, the communication interface and the memory communicate with each other through the bus; the memory is used to store computer programs; the processor is used to execute the programs stored in the memory to implement the method for detecting high-frequency calls as described in the first aspect.
[0018] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the method for detecting high-frequency calls as described in the first aspect is implemented.
[0019] The method for detecting high-frequency calls, the device for detecting high-frequency calls, the electronic device and the computer-readable storage medium provided by the embodiments of the present invention collect signaling data of user call services, obtain the user's identification information and the latest call time according to the signaling data of the user's call services, read the first user call information bitmap and the last call time of the preset time window from the memory database according to the user's identification information, and update the first user call information bitmap according to the latest call time and the last call time to obtain the second user call information bitmap, wherein each bit of the user call information bitmap represents 1 minute, 1 represents the occurrence of a user call, and 0 represents the absence of a user call, and then according to the preset high-frequency call rule, determine the user's high-frequency call information in the second user call information bitmap, and write the second user call information bitmap into the memory database to replace the first user call information bitmap, and update the first user call information bitmap according to the user's identification information. Information, read the user's tag information from the memory database, filter and process the user's high-frequency call information according to the user's tag information, and obtain the target high-frequency call information; convert the user's call behavior trajectory into a binary bitmap form, which can save storage space. The memory database is used to access data throughout the process, without disk writing, and the number of users' continuous call behaviors can be quickly counted to meet the needs of real-time computing of massive data. It can perceive the user's call behavior and quickly identify high-frequency call users through a single real-time calculation, which can reduce the secondary computing process and save computing resources. Stream computing can be combined with memory database to realize real-time online call behavior, call trajectory, and fusion computing of user tag information calculated through data warehouse analysis, which solves the problem of massive data computing, long query and statistical analysis computing time using traditional databases, and inability to detect high-frequency call users in real time. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0021] Figure 1 A flowchart of an implementation method of a method for detecting high-frequency calls according to an embodiment of the present invention;
[0022] Figure 2 A flowchart of an implementation method for updating a first user call information bitmap according to an embodiment of the present invention;
[0023] Figure 3 A flowchart of an implementation method for obtaining a second user call information bitmap according to an embodiment of the present invention;
[0024] Figure 4 A flowchart of an implementation method for determining the initial call time of the second user call information bitmap according to an embodiment of the present invention;
[0025] Figure 5 A flowchart of an implementation method for determining high-frequency call information of a user according to an embodiment of the present invention;
[0026] Figure 6 A schematic diagram of a composition structure of a device for detecting high-frequency calls according to an embodiment of the present invention;
[0027] Figure 7 The present invention is a schematic diagram of the structure of an electronic device. DETAILED DESCRIPTION
[0028] In order to enable those skilled in the art to better understand the technical solutions in the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0029] Figure 1 FIG. 1 is a flow chart of an implementation method of a method for detecting high-frequency calls according to an embodiment of the present invention. Figure 1The method can be executed by a device for detecting high-frequency calls as an execution subject. The device for detecting high-frequency calls can be applied to a server platform of a telecommunications operator. For example, the server can be a physical server including an independent host, or a virtual server carried by a host cluster, or a cloud server. The embodiment of the present invention is not limited to this. Figure 1 As shown, the method at least includes:
[0030] S102, collecting signaling data of the user's call service, and obtaining the user's identification information and the latest call time according to the signaling data of the user's call service.
[0031] In an embodiment of the present invention, the signaling data may be collected from a mobile communication network through a network interface. For example, the mobile communication network may be a 2G mobile communication network, a 3G mobile communication network, a 4G mobile communication network, a 5G mobile communication network, etc. The network interface may be an X2 interface, an S1-MME interface, an S1-U interface, an S6a interface, etc. The embodiment of the present invention does not limit the implementation method of collecting signaling data. The signaling data collected from the mobile communication network may be parsed, filtered, etc., and the signaling data of the user call service may be obtained therefrom. The embodiment of the present invention does not limit the implementation method of obtaining the signaling data of the user call service from the signaling data. In an embodiment of the present invention, due to the huge amount of signaling data collected from the mobile communication network, the massive signaling data is analyzed and processed in real time in a data-free manner, and the collected signaling data needs to be collected through a message queue. For example, the message queue may use KAFKA, etc. The embodiment of the present invention does not limit the type of message queue used for signaling data collection.
[0032] In an embodiment of the present invention, the user's identification information and the latest call time can be extracted from the signaling data of the user's call service, and the signaling data of the user's call service can be converted into two fields: the user's identification information and the latest call time, wherein the user's identification information can be an International Mobile Subscriber Identity (IMSI).
[0033] S104, according to the user's identification information, read the first user call information bitmap and its last call time in the preset time window from the memory database, and update the first user call information bitmap according to the latest call time and the last call time to obtain the second user call information bitmap; wherein, the user call information bitmap uses each bit to represent 1 minute, 1 represents the occurrence of a user call, and 0 represents the absence of a user call.
[0034] In an embodiment of the present invention, at least the user's identification information, the user's call information bitmap and the last call time are stored in the memory database, wherein the user's call information bitmap and the last call time are respectively associated with the user's identification information, and the user's call information bitmap and the last call time stored in the memory database can be obtained by querying the user's identification information. For example, the memory database can use a remote dictionary service (Remote Dictionary Server, Redis for short), etc. The embodiment of the present invention does not limit the implementation method of the memory database. In an embodiment of the present invention, the user's call information bitmap can use a binary bitmap, wherein each bit represents 1 minute, 1 represents the occurrence of a user call, and 0 represents the absence of a user call, that is, if a certain bit in the user's call information bitmap is 1, it means that the user has made a call in this second, and if a certain bit in the user's call information bitmap is 0, it means that the user has not made a call in this second.
[0035] In an embodiment of the present invention, when reading a user call information bitmap from a memory database according to the user's identification information, in order to ensure real-time processing of the user call information, a preset time window is required, and the first user call information bitmap and its last call time in the preset time window are read from the memory database according to the user's identification information. For example, the preset time window can be one hour, that is, the time length of the first user call information bitmap is one hour, and it contains 60 binary bits, wherein the size of the preset time window can be reasonably set according to the requirements of data processing, etc., and the embodiment of the present invention does not limit this. Optionally, after obtaining the identification information of a large number of users from the signaling data, the first user call information bitmap and its last call time in the preset time window can be read from the memory database in batches through a pipeline method according to the identification information of a large number of users, for example, using Redisson middleware to read data from Redis.
[0036] In an embodiment of the present invention, the position corresponding to the latest call time in the user call information bitmap can be determined according to the difference between the latest call time and the last call time, and 1 is filled in the determined corresponding position to obtain a second user call information bitmap containing the latest call time.
[0037] S106, determining the high-frequency call information of the user in the second user call information bitmap according to the preset high-frequency call rule, and writing the second user call information bitmap into the memory database to replace the first user call information bitmap.
[0038] In an embodiment of the present invention, after obtaining the second user call information bitmap including the latest call time, a high-frequency call rule can be preset. For example, the preset high-frequency call rule can be that calls are made more than 5 times within 5 minutes. The number of digits of positions that are consecutively 1 in the second user call information bitmap can be counted and compared with the preset high-frequency call rule. When the number of digits of positions that are consecutively 1 in the second user call information bitmap meets the preset high-frequency call rule, the user is determined to be a high-frequency call user, and the high-frequency call information of the user in the second user call information bitmap is obtained. In some optional examples, the preset high-frequency call rule can be defined in JSON format. For example, making calls more than 5 times within 5 minutes can be expressed as {"number of calls":>5, "time period":5, "unit":min}. The embodiment of the present invention does not limit the form and implementation of the preset high-frequency call rule.
[0039] Optionally, after determining the high-frequency call information of the user in the second user call information bitmap, the corresponding second user call information bitmap can be written into the memory database in batches through a pipeline manner according to the identification information of a large number of users, replacing the corresponding first user call information bitmap stored in the memory database, for example, using Redisson middleware to write data to Redis.
[0040] S108, reading the user's tag information from the memory database according to the user's identification information, filtering the user's high-frequency call information according to the user's tag information, and obtaining target high-frequency call information.
[0041] In an embodiment of the present invention, the user's tag information may include the user's grade, such as a five-star user, etc., the user's package level, such as a 50G package, etc., the type of mobile communication network used by the user, such as the Internet of Things, etc., and the embodiment of the present invention does not limit the content of the user's tag information. Optionally, the user's tag information can be stored in a memory database in the form of a key-value pair in a hash storage model, wherein the user's phone number can be used as a key, the attribute of the tag information can be used as a subkey, and the user's tag information can be used as a value. The embodiment of the present invention does not limit the type of storage model used to store the user's tag information in the memory database.
[0042] Optionally, the corresponding user's telephone number can be determined based on the identification information of a large number of users, and the memory database can be queried in batches according to the user's telephone number through a pipeline method to read the user's tag information, and then the user's high-frequency call information can be filtered according to the user's tag information, so as to remove certain high-frequency call users in the user's high-frequency call information in real time according to the user's tag information, and obtain the target high-frequency call information according to the remaining high-frequency call users in the user's high-frequency call information, for example, using Redisson middleware to query the data in Redis. Among them, the implementation method of determining the user's telephone number according to the user's identification information can be implemented in an existing manner, and the embodiment of the present invention is not limited to this.
[0043] The method for detecting high-frequency calls in an embodiment of the present invention collects signaling data of user call services, obtains user identification information and the latest call time according to the signaling data of the user call services, reads a first user call information bitmap and its last call time in a preset time window from a memory database according to the user identification information, and updates the first user call information bitmap according to the latest call time and the last call time to obtain a second user call information bitmap, wherein each bit in the user call information bitmap represents 1 minute, 1 represents the occurrence of a user call, and 0 represents the absence of a user call, and then determines the user's high-frequency call information in the second user call information bitmap according to a preset high-frequency call rule, and writes the second user call information bitmap into the memory database to replace the first user call information bitmap, and reads the user from the memory database according to the user's identification information. The tag information of the user is used to filter the user's high-frequency call information according to the user's tag information to obtain the target high-frequency call information; the user's call behavior trajectory is converted into a binary bitmap to save storage space. The memory database is used to access data throughout the process without disk writing. The number of users' continuous call behaviors can be quickly counted to meet the needs of real-time computing of massive data. The user's call behavior can be perceived and high-frequency calling users can be quickly identified through a single real-time computing. The secondary computing process can be reduced and computing resources can be saved. Stream computing can be combined with the memory database to realize the fusion computing of real-time online call behavior, call trajectory, and user tag information calculated through data warehouse analysis, which solves the problem of massive data computing, long query and statistical analysis computing time using traditional databases, and inability to detect high-frequency calling users in real time.
[0044] The following will be combined Figures 2 to 5 The embodiment of the present invention describes in detail the method for detecting high-frequency calls.
[0045] Figure 2 FIG. 1 is a flow chart of an implementation method for updating a first user call information bitmap according to an embodiment of the present invention. Figure 2As shown, the first user call information bitmap is updated according to the latest call time and the last call time to obtain the second user call information bitmap, which at least includes:
[0046] S202: Determine whether the difference between the latest call time and the last call time is greater than a preset high-frequency call time threshold determined according to a preset high-frequency call rule.
[0047] If the difference between the latest call time and the last call time is greater than the preset high-frequency call time threshold, execute S204; if the difference between the latest call time and the last call time is less than or equal to the preset high-frequency call time threshold, execute S206.
[0048] In some optional examples, the preset high-frequency call rule is that the number of calls made within 5 minutes exceeds 5 times, and the preset high-frequency call time threshold determined according to the preset high-frequency call rule is 5 minutes. By calculating the difference between the latest call time and the last call time, and comparing it with the preset high-frequency call time threshold, different methods can be selected to update the first user call information bitmap according to the size relationship of the comparison result, so as to compress the user call information bitmap while making the user call information bitmap include the latest call time, thereby obtaining the second user call information bitmap.
[0049] S204: Taking the latest call time as the initial call time, obtaining a second user call information bitmap.
[0050] Optionally, when the difference between the latest call time and the last call time is greater than a preset high-frequency call time threshold, the latest call time can be used as the initial call time of the second user call information bitmap to obtain a second user call information bitmap containing the latest call time. At this time, the second user call information bitmap is a binary bitmap consisting of 1-bit 1, that is, the initial call time and the last call time of the second user call information bitmap are both the latest call time.
[0051] For example, the preset high-frequency call time threshold is 5 minutes, the last call time of the first user call information bitmap is 20200325231700, which is represented by 0...011111 in binary bitmap, and the latest call time is 20200325232300. The difference between the latest call time and the last call time is 6, which is greater than the preset high-frequency call time threshold. That is to say, the user's latest call occurred 6 minutes after the last call in the first user call information bitmap, and no user calls occurred during this period, which is represented by 0...011111000001 in binary bitmap. Since there is no situation where the user has made more than 5 consecutive calls in the first user call information bitmap stored in the memory database, the user call information bitmap composed of the first user call information bitmap and the latest call time will not have more than 5 consecutive calls due to the addition of the latest call time. At this time, the latest call time can be used as the initial call time to form the second user call information bitmap to start recording the user's call information, which can save storage space and will not cause the loss of user call information.
[0052] S206: Taking the latest call time as the last call time, obtaining a second user call information bitmap.
[0053] Optionally, when the difference between the latest call time and the last call time is less than or equal to a preset high-frequency call time threshold, the latest call time can be used as the last call time of the second user call information bitmap to obtain a second user call information bitmap containing the latest call time. At this time, the second user call information bitmap is a binary bitmap composed of the first user call information bitmap and the latest call time, that is, the last call time of the second user call information bitmap is the latest call time.
[0054] For example, the preset high-frequency call time threshold is 5 minutes, the last call time of the first user's call information bitmap is 20200325231700, which is represented by 0...011111 in binary bitmap, and the corresponding latest call time is 20200325231800. The difference between the latest call time and the last call time is 1, which is less than the preset high-frequency call time threshold. That is to say, the user's latest call occurred in the first minute after the last call in the first user's call information bitmap. Although there is no situation in which the user has made more than 5 consecutive calls in the first user's call information bitmap stored in the memory database, if When the user has made 5 consecutive calls in the 5 minutes before the last call time in the first user call information bitmap, in the second user call information bitmap composed of the first user call information bitmap and the latest call time, the user will have made 6 consecutive calls due to the addition of the latest call time, that is, more than 5 times, which is represented by 0...0111111 in binary bitmap. At this time, the latest call time can be used as the last call time to form the second user call information bitmap with the first user call information bitmap to continue recording the user's call information, which can save storage space and will not cause the loss of user call information.
[0055] This embodiment can save storage space of the memory database by compressing the binary bitmap of the user's call behavior trajectory. For example, based on hundreds of millions of users, a large amount of storage space can be saved and memory utilization can be improved.
[0056] Figure 3 FIG. 1 is a flow chart of an implementation method of obtaining a second user call information bitmap according to an embodiment of the present invention. Figure 3 As shown, the latest call time is used as the last call time to obtain the second user call information bitmap, which at least includes:
[0057] S302: Determine an initial call time of the first user call information bitmap according to the first user call information bitmap and the last call time.
[0058] Optionally, the initial call time of the first user call information bitmap can be determined according to the last call time of the first user call information bitmap and the position of the initial call time in the first user call information bitmap. For example, if the last call time of the first user call information bitmap is 20200325231700, which is represented by a binary bitmap as 0...1011111, and the initial call time of the first user call information bitmap is the 6th minute before the last call time, then the initial call time of the first user call information bitmap is 20200325231100.
[0059] S304: Determine whether the difference between the latest call time and the initial call time of the first user call information bitmap is greater than a preset high-frequency call time threshold.
[0060] If the difference between the latest call time and the initial call time of the first user call information bitmap is greater than the preset high-frequency call time threshold, execute S306; if the difference between the latest call time and the initial call time of the first user call information bitmap is less than or equal to the preset high-frequency call time threshold, execute S308.
[0061] In some optional examples, the preset high-frequency call rule is that the number of calls made within 5 minutes exceeds 5 times, and the preset high-frequency call time threshold determined according to the preset high-frequency call rule is 5 minutes. By calculating the difference between the latest call time and the initial call time of the first user call information bitmap, and comparing it with the preset high-frequency call time threshold, different methods can be selected to update the first user call information bitmap according to the size relationship of the comparison result, so as to compress the user call information bitmap while making the user call information bitmap include the latest call time, thereby obtaining the second user call information bitmap.
[0062] S306: Taking the latest call time as the last call time, determining the initial call time according to the latest call time and the preset high-frequency call time threshold, and obtaining a second user call information bitmap.
[0063] Optionally, when the difference between the latest call time and the initial call time of the first user call information bitmap is greater than a preset high-frequency call time threshold, the latest call time can be used as the last call time of the second user call information bitmap, and the initial call time of the second user call information bitmap is determined according to the latest call time and the preset high-frequency call time threshold to obtain a second user call information bitmap containing the latest call time. At this time, the second user call information bitmap is a binary bitmap composed of part of the first user call information bitmap and the latest call time, that is, the last call time of the second user call information bitmap is the latest call time.
[0064] For example, the preset high-frequency call time threshold is 5 minutes, the last call time of the first user's call information bitmap is 20200325231700, which is represented by 0...1011111 in binary bitmap, the latest call time is 20200325231800, the initial call time of the first user's call information bitmap is 20200325231100, and the difference between the latest call time and the initial call time of the first user's call information bitmap is 7, which is greater than the preset high-frequency call time threshold, that is, the user's latest call occurred in the first minute after the last call in the first user's call information bitmap. Although there is no situation in which the user has made more than 5 consecutive calls in the first user's call information bitmap stored in the memory database, if the first user's call information bitmap is called, the user's latest call occurs in the first minute after the last call in the first user's call information bitmap. When a user has made five consecutive calls in the five minutes before the last call time in a user call information bitmap, in the user call information bitmap composed of the first user call information bitmap and the latest call time, the addition of the latest call time will result in the user making six consecutive calls, that is, more than five times, which is represented by 0...10111111 in a binary bitmap. At this time, the latest call time can be used as the last call time, and the time before the latest call time and the time before the latest call time that is separated from the latest call time by a preset high-frequency call time threshold is used as the initial call time to form a second user call information bitmap, which is represented by 111111 in a binary bitmap. The user's call information continues to be recorded, which can save storage space and will not cause the loss of user call information.
[0065] S308: Taking the initial call time of the first user call information bitmap as the initial call time and taking the latest call time as the last call time, to obtain a second user call information bitmap.
[0066] Optionally, when the difference between the latest call time and the initial call time of the first user call information bitmap is less than or equal to a preset high-frequency call time threshold, the initial call time of the first user call information bitmap can be used as the initial call time of the second user call information bitmap, and the latest call time can be used as the last call time of the second user call information bitmap to obtain a second user call information bitmap containing the latest call time. At this time, the second user call information bitmap is a binary bitmap composed of part of the first user call information bitmap and the latest call time, that is, the last call time of the second user call information bitmap is the latest call time.
[0067] For example, the preset high-frequency call time threshold is 5 minutes, the last call time of the first user's call information bitmap is 20200325231700, which is represented by 0...011111 in binary bitmap, and the corresponding latest call time is 20200325231800. The initial call time of the first user's call information bitmap is 20200325231300. The difference between the latest call time and the initial call time of the first user's call information bitmap is 5, which is equal to the preset high-frequency call time threshold. That is to say, the user's latest call occurred in the first minute after the last call in the first user's call information bitmap, although there is no continuous call of the user in the first user's call information bitmap stored in the memory database. There is a situation where the number of calls is greater than 5 times. However, if in the first user call information bitmap, there is a situation where the user has made 5 consecutive calls in the 5 minutes before the last call time, in the second user call information bitmap composed of the first user call information bitmap and the latest call time, the user will have made 6 consecutive calls due to the addition of the latest call time, that is, more than 5 times, which is represented by a binary bitmap of 0...0111111. At this time, the initial call time of the first user call information bitmap can be used as the initial call time, and the latest call time can be used as the last call time to form the second user call information bitmap, and the user's call information will continue to be recorded, which can save storage space and will not cause the loss of user call information.
[0068] This embodiment can save storage space of the memory database by compressing the binary bitmap of the user's call behavior trajectory. For example, based on hundreds of millions of users, a large amount of storage space can be saved and memory utilization can be improved.
[0069] Figure 4 FIG. 1 is a flow chart of an implementation method for determining the initial call time of the second user call information bitmap according to an embodiment of the present invention. Figure 4 As shown, determining the initial call time according to the latest call time and the preset high-frequency call time threshold at least includes:
[0070] S402, determining whether a user call occurs before the latest call time and within a preset high-frequency call time threshold from the latest call time.
[0071] If a user call occurred before the latest call time and within a time interval between the latest call time and the preset high-frequency call time threshold, execute S404; if no user call occurred before the latest call time and within a time interval between the latest call time and the preset high-frequency call time threshold, execute S406.
[0072] Optionally, when determining the initial call time based on the latest call time and a preset high-frequency call time threshold, the time before the latest call time and the preset high-frequency call time threshold is used as the initial call time to determine whether a user call occurs, that is, whether it is 1. Different methods can be selected to determine the initial call time of the second user call information bitmap to make the second user call information bitmap concise and further achieve compression of the user call information bitmap.
[0073] S404: The time before the latest call time and the time interval between the latest call time and the preset high-frequency call time threshold is used as the initial call time.
[0074] Optionally, when a user call occurs before the latest call time and within a time period that is a preset high-frequency call time threshold away from the latest call time, the time before the latest call time and within a preset high-frequency call time threshold away from the latest call time is used as the initial call time of the second user call information bitmap, and the latest call time is used as the last call time of the second user call information bitmap, to obtain a second user call information bitmap containing the latest call time. At this time, the second user call information bitmap is a binary bitmap composed of part of the first user call information bitmap and the latest call time, that is, the last call time of the second user call information bitmap is the latest call time.
[0075] For an example of S404, see Figure 3 The example of S306 is given in the description, so it will not be elaborated here.
[0076] S406: The time of a user call that occurs before the latest call time and is closest to the latest call time by a preset high-frequency call time threshold is used as the initial call time.
[0077] Optionally, when no user call has occurred before the latest call time and within a time period that is a preset high-frequency call time threshold away from the latest call time, the time of a user call that occurred before the latest call time and is closest to the preset high-frequency call time threshold away from the latest call time can be used as the initial call time of the second user call information bitmap, and the latest call time can be used as the last call time of the second user call information bitmap, to obtain a second user call information bitmap containing the latest call time. At this time, the second user call information bitmap is a binary bitmap composed of part of the first user call information bitmap and the latest call time, that is, the last call time of the second user call information bitmap is the latest call time.
[0078] For example, the preset high-frequency call time threshold is 5 minutes, the last call time of the first user's call information bitmap is 20200325231700, which is represented by 0...1001111 in binary bitmap, the latest call time is 20200325231800, the initial call time of the first user's call information bitmap is 20200325231100, and the difference between the latest call time and the initial call time of the first user's call information bitmap is 7, which is greater than the preset high-frequency call time threshold, that is, the user's latest call occurred in the first minute after the last call in the first user's call information bitmap. Although there is no situation in which the user has made more than 5 consecutive calls in the first user's call information bitmap stored in the memory database, if the first user's call information bitmap is updated from the last call When the user makes four consecutive calls in the four minutes before the call time, in the user call information bitmap composed of the first user call information bitmap and the latest call time, the user will make five consecutive calls due to the addition of the latest call time, which is represented by 0...10011111 in the binary bitmap. At this time, the latest call time can be used as the last call time, and the time when the user made a call before the latest call time and closest to the preset high-frequency call time threshold before the latest call time is used as the initial call time to form the second user call information bitmap, that is, the initial call time is 20200325231400, which is represented by 11111 in the binary bitmap. The user's call information continues to be recorded, which can save storage space and will not cause the loss of user call information.
[0079] This embodiment can save storage space of the memory database by compressing the binary bitmap of the user's call behavior trajectory. For example, based on hundreds of millions of users, a large amount of storage space can be saved and memory utilization can be improved.
[0080] Figure 5 FIG. 1 is a flow chart of an implementation method for determining high-frequency call information of a user according to an embodiment of the present invention. Figure 5 As shown, according to the preset high-frequency call rule, determining the high-frequency call information of the user in the second user call information bitmap at least includes:
[0081] S502, counting the number of 1s in the second user call information bitmap to obtain the number of calls of the user.
[0082] S504: Determine users whose call times meet the preset high-frequency calling rule as high-frequency calling users.
[0083] Optionally, this embodiment is directed to using Figures 2 to 4 The method in the second user call information bitmap is used to compress the user call information bitmap to obtain the second user call information bitmap, and determine the user's high-frequency call information. Figures 2 to 4The second user call information bitmap obtained by the method is a time length determined according to a preset high-frequency call time threshold. For example, when the preset high-frequency call time threshold is 5 minutes, the time length of the second user call information bitmap is a maximum of 6 minutes and a minimum of 1 minute. Therefore, the number of calls of the user can be obtained by counting the number of 1s in the second user call information bitmap. According to the preset high-frequency call rule, it is determined whether the number of calls of the user in the second user call information bitmap meets the requirement of high-frequency calling for the number of user calls, for example, whether the number of 1s is greater than 5. If the number of calls of the user in the second user call information bitmap meets the requirement of high-frequency calling for the number of user calls, the user is determined to be a high-frequency call user.
[0084] This embodiment compresses the binary bitmap of the user's call behavior trajectory, which can simplify the calculation of detecting high-frequency calling users, further speed up the calculation process, and save computing resources.
[0085] Corresponding to the method described above, based on the same technical concept, an embodiment of the present invention further provides a device for detecting high-frequency calls. Figure 6 FIG. 1 is a schematic diagram of a structure of a device for detecting high-frequency calls according to an embodiment of the present invention. The device for detecting high-frequency calls can be applied to a server platform of a telecommunications operator and can be used to execute Figure 1 The method described in the description of detecting high frequency calls, such as Figure 6 As shown, the device for detecting high-frequency calls at least includes: a collection module 610, a processing module 620, a calculation module 630 and a filtering module 640, wherein the collection module 610, the processing module 620, the calculation module 630 and the filtering module 640 are connected in sequence.
[0086] The collection module 610 is used to collect signaling data of the user's call service, and obtain the user's identification information and the latest call time according to the signaling data of the user's call service.
[0087] In this embodiment, the description of the acquisition module 610 can be found in Figure 1 The description of S102 is given in the specification, so it will not be repeated here.
[0088] Processing module 620 is used to read the first user call information bitmap and the last call time of the preset time window from the memory database according to the user's identification information, and update the first user call information bitmap according to the latest call time and the last call time to obtain the second user call information bitmap; wherein, the user call information bitmap uses each bit to represent 1 minute, 1 represents the occurrence of a user call, and 0 represents the absence of a user call.
[0089] In this embodiment, the description of the processing module 620 can be found in Figure 1The description of S104 is given in , so it will not be repeated here.
[0090] The calculation module 630 is used to determine the high-frequency call information of the user in the second user call information bitmap according to the preset high-frequency call rule, and write the second user call information bitmap into the memory database to replace the first user call information bitmap.
[0091] In this embodiment, the description of the calculation module 630 can be found in Figure 1 The description of S106 is given in , so it will not be repeated here.
[0092] The filtering module 640 is used to read the user's tag information from the memory database according to the user's identification information, and filter the user's high-frequency call information according to the user's tag information to obtain target high-frequency call information.
[0093] In this embodiment, the description of the filtering module 640 can be found in Figure 1 The description of S108 is given in , so it will not be repeated here.
[0094] The device for detecting high-frequency calls in an embodiment of the present invention collects signaling data of user call services, obtains user identification information and the latest call time according to the signaling data of the user call services, reads a first user call information bitmap and its last call time in a preset time window from a memory database according to the user identification information, updates the first user call information bitmap according to the latest call time and the last call time, and obtains a second user call information bitmap, wherein each bit in the user call information bitmap represents 1 minute, 1 represents the occurrence of a user call, and 0 represents the absence of a user call, and then determines the user's high-frequency call information in the second user call information bitmap according to a preset high-frequency call rule, writes the second user call information bitmap into the memory database, replaces the first user call information bitmap, and reads the user from the memory database according to the user's identification information. The tag information of the user is used to filter the user's high-frequency call information according to the user's tag information to obtain the target high-frequency call information; the user's call behavior trajectory is converted into a binary bitmap to save storage space. The memory database is used to access data throughout the process without disk writing. The number of users' continuous call behaviors can be quickly counted to meet the needs of real-time computing of massive data. The user's call behavior can be perceived and high-frequency calling users can be quickly identified through a single real-time computing. The secondary computing process can be reduced and computing resources can be saved. Stream computing can be combined with the memory database to realize the fusion computing of real-time online call behavior, call trajectory, and user tag information calculated through data warehouse analysis, which solves the problem of massive data computing, long query and statistical analysis computing time using traditional databases, and inability to detect high-frequency calling users in real time.
[0095] Optionally, processing module 620 is used to determine whether the difference between the latest call time and the last call time is greater than a preset high-frequency call time threshold determined according to a preset high-frequency call rule; if the difference between the latest call time and the last call time is greater than the preset high-frequency call time threshold, the latest call time is used as the initial call time to obtain a second user call information bitmap; if the difference between the latest call time and the last call time is less than or equal to the preset high-frequency call time threshold, the latest call time is used as the last call time to obtain a second user call information bitmap.
[0096] Optionally, the processing module 620 is used to determine the initial call time of the first user call information bitmap based on the first user call information bitmap and the last call time; determine whether the difference between the latest call time and the initial call time of the first user call information bitmap is greater than a preset high-frequency call time threshold; if the difference between the latest call time and the initial call time of the first user call information bitmap is greater than the preset high-frequency call time threshold, take the latest call time as the last call time, determine the initial call time according to the latest call time and the preset high-frequency call time threshold, and obtain the second user call information bitmap; if the difference between the latest call time and the initial call time of the first user call information bitmap is less than or equal to the preset high-frequency call time threshold, take the initial call time of the first user call information bitmap as the initial call time, take the latest call time as the last call time, and obtain the second user call information bitmap.
[0097] Optionally, processing module 620 is used to determine whether a user call occurred before the latest call time and within a time period that is a preset high-frequency call time threshold away from the latest call time; if a user call occurred before the latest call time and within a time period that is a preset high-frequency call time threshold away from the latest call time, the time before the latest call time and within a time period that is a preset high-frequency call time threshold away from the latest call time is used as the initial call time; if no user call occurred before the latest call time and within a time period that is a preset high-frequency call time threshold away from the latest call time, the time before the latest call time and within a time period that is a preset high-frequency call time threshold away from the latest call time is used as the initial call time.
[0098] Optionally, the calculation module 630 is used to count the number of 1s in the second user call information bitmap to obtain the number of calls of the user; and determine a user whose call number meets the preset high-frequency call rule as a high-frequency call user.
[0099] Optionally, the processing module 620 is used to read the first user call information bitmap and its last call time in a preset time window from the memory database in batches through a pipeline method according to the user's identification information; and write the second user call information bitmap into the memory database in batches through a pipeline method to replace the corresponding first user call information bitmap.
[0100] Optionally, the user's tag information is stored in the memory database in a hash storage model, wherein in the hash storage model, the user's phone number is used as the key, the attribute of the tag information is used as the subkey, and the user's tag information is used as the value; a filtering module 640 is used to determine the user's phone number based on the user's identification information, query the memory database in batches through a pipeline according to the user's phone number, and read the user's tag information; the user's high-frequency call information is filtered according to the user's tag information to obtain the target high-frequency call information.
[0101] Corresponding to the method described above, based on the same technical concept, an embodiment of the present invention further provides an electronic device, Figure 7 A schematic diagram of the structure of an electronic device for implementing an embodiment of the present invention is shown in FIG. Figure 7 As shown, the electronic device may have relatively large differences due to different configurations or performances, and may include one or more processors 701 and memory 702, and the memory 702 may store one or more storage applications or data. Among them, the memory 702 may be a short-term storage or a persistent storage. The application stored in the memory 702 may include one or more modules (not shown in the figure), and each module may include a series of computer executable instructions in the computer device. Furthermore, the processor 701 may be configured to communicate with the memory 702 to execute a series of computer executable instructions in the memory 702 on the computer device. The computer device may also include one or more power supplies 703, one or more wired or wireless network interfaces 704, one or more input and output interfaces 705, and one or more keyboards 706.
[0102] In this embodiment, the electronic device includes a processor, a communication interface, a memory and a communication bus; wherein the processor, the communication interface and the memory communicate with each other through the bus; the memory is used to store computer programs; the processor is used to execute the programs stored in the memory to implement the following method:
[0103] Collecting signaling data of user call services, and obtaining user identification information and latest call time according to the signaling data of the user call services;
[0104] According to the identification information of the user, a first user call information bitmap and its last call time in a preset time window are read from a memory database, and the first user call information bitmap is updated according to the latest call time and the last call time to obtain a second user call information bitmap; wherein each bit of the user call information bitmap represents 1 minute, 1 indicates that a user call has occurred, and 0 indicates that no user call has occurred;
[0105] Determine the high-frequency call information of the user in the second user call information bitmap according to the preset high-frequency call rule, and write the second user call information bitmap into the memory database to replace the first user call information bitmap;
[0106] The tag information of the user is read from the memory database according to the identification information of the user, and the high-frequency call information of the user is filtered according to the tag information of the user to obtain the target high-frequency call information.
[0107] The electronic device of the embodiment of the present invention collects signaling data of the user's call service, obtains the user's identification information and the latest call time according to the signaling data of the user's call service, reads the first user call information bitmap and the last call time of the preset time window from the memory database according to the user's identification information, and updates the first user call information bitmap according to the latest call time and the last call time to obtain the second user call information bitmap, wherein each bit of the user call information bitmap represents 1 minute, 1 represents the occurrence of the user call, and 0 represents the absence of the user call, and then determines the high-frequency call information of the user in the second user call information bitmap according to the preset high-frequency call rule, and writes the second user call information bitmap into the memory database to replace the first user call information bitmap, and reads the user's label from the memory database according to the user's identification information. Information, filter the user's high-frequency call information according to the user's tag information to obtain the target high-frequency call information; convert the user's call behavior trajectory into a binary bitmap form, which can save storage space. The memory database is used for data access throughout the process, without disk writing, and the number of users' continuous call behaviors can be quickly counted to meet the needs of real-time computing of massive data. It can perceive the user's call behavior and quickly identify high-frequency calling users through a single real-time computing, which can reduce the secondary computing process and save computing resources. Stream computing can be combined with memory database to realize real-time online call behavior, call trajectory, and fusion computing of user tag information calculated through data warehouse analysis, which solves the problem of massive data computing, long query and statistical analysis computing time using traditional databases, and inability to detect high-frequency calling users in real time.
[0108] Corresponding to the method described above, based on the same technical concept, an embodiment of the present invention further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the following method is implemented:
[0109] Collecting signaling data of user call services, and obtaining user identification information and latest call time according to the signaling data of the user call services;
[0110] According to the identification information of the user, a first user call information bitmap and its last call time in a preset time window are read from a memory database, and the first user call information bitmap is updated according to the latest call time and the last call time to obtain a second user call information bitmap; wherein each bit of the user call information bitmap represents 1 minute, 1 indicates that a user call has occurred, and 0 indicates that no user call has occurred;
[0111] Determine the high-frequency call information of the user in the second user call information bitmap according to the preset high-frequency call rule, and write the second user call information bitmap into the memory database to replace the first user call information bitmap;
[0112] The tag information of the user is read from the memory database according to the identification information of the user, and the high-frequency call information of the user is filtered according to the tag information of the user to obtain the target high-frequency call information.
[0113] The computer-readable storage medium of the embodiment of the present invention collects signaling data of user call services, obtains user identification information and the latest call time according to the signaling data of the user call services, reads a first user call information bitmap and its last call time in a preset time window from a memory database according to the user identification information, and updates the first user call information bitmap according to the latest call time and the last call time to obtain a second user call information bitmap, wherein each bit of the user call information bitmap represents 1 minute, 1 represents the occurrence of a user call, and 0 represents the absence of a user call, and then determines the high-frequency call information of the user in the second user call information bitmap according to a preset high-frequency call rule, and writes the second user call information bitmap into the memory database to replace the first user call information bitmap, and reads the user from the memory database according to the user identification information. The tag information of the user is used to filter the user's high-frequency call information according to the user's tag information to obtain the target high-frequency call information; the user's call behavior trajectory is converted into a binary bitmap to save storage space. The memory database is used to access data throughout the process without disk writing. The number of users' continuous call behaviors can be quickly counted to meet the needs of real-time computing of massive data. The user's call behavior can be perceived and high-frequency calling users can be quickly identified through a single real-time computing. The secondary computing process can be reduced and computing resources can be saved. Stream computing can be combined with the memory database to realize the fusion computing of real-time online call behavior, call trajectory, and user tag information calculated through data warehouse analysis, which solves the problem of massive data computing, long query and statistical analysis computing time using traditional databases, and inability to detect high-frequency calling users in real time.
[0114] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0115] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0116] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0117] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0118] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0119] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0120] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. 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 (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0121] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0122] It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as methods, systems or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0123] The above are only embodiments of the present invention and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent substitution, improvement, etc. made within the spirit and principle of the present invention should be included in the scope of the claims of the present invention.
Claims
1. A method for detecting high frequency calls, characterized in that: include: Collecting signaling data of user call services, and obtaining user identification information and latest call time according to the signaling data of the user call services; According to the identification information of the user, a first user call information bitmap and its last call time in a preset time window are read from a memory database, and the first user call information bitmap is updated according to the latest call time and the last call time to obtain a second user call information bitmap; wherein each bit of the user call information bitmap represents 1 minute, 1 indicates that a user call has occurred, and 0 indicates that no user call has occurred; Determine the high-frequency call information of the user in the second user call information bitmap according to the preset high-frequency call rule, and write the second user call information bitmap into the memory database to replace the first user call information bitmap; The tag information of the user is read from the memory database according to the identification information of the user, and the high-frequency call information of the user is filtered according to the tag information of the user to obtain the target high-frequency call information.
2. The method according to claim 1, characterized in that The updating of the first user call information bitmap according to the latest call time and the last call time to obtain the second user call information bitmap includes: Determining whether the difference between the latest call time and the last call time is greater than a preset high-frequency call time threshold determined according to the preset high-frequency call rule; If the difference between the latest call time and the last call time is greater than a preset high-frequency call time threshold, the latest call time is used as the initial call time to obtain the second user call information bitmap; If the difference between the latest call time and the last call time is less than or equal to the preset high-frequency call time threshold, the latest call time is used as the last call time to obtain the second user call information bitmap.
3. The method according to claim 2, characterized in that The step of taking the latest call time as the last call time to obtain the second user call information bitmap includes: Determining an initial call time of the first user call information bitmap according to the first user call information bitmap and the last call time; Determine whether the difference between the latest call time and the initial call time of the first user call information bitmap is greater than a preset high-frequency call time threshold; If the difference between the latest call time and the initial call time of the first user call information bitmap is greater than the preset high-frequency call time threshold, the latest call time is used as the last call time, and the initial call time is determined according to the latest call time and the preset high-frequency call time threshold to obtain the second user call information bitmap; If the difference between the latest call time and the initial passing time of the first user call information bitmap is less than or equal to the preset high-frequency call time threshold, the initial call time of the first user call information bitmap is used as the initial call time, and the latest call time is used as the last call time to obtain the second user call information bitmap.
4. The method according to claim 3, characterized in that The determining of the initial call time according to the latest call time and the preset high-frequency call time threshold comprises: Determine whether a user call occurs before the latest call time and within the preset high-frequency call time threshold from the latest call time; If a user call occurs before the latest call time and within a time interval between the latest call time and the preset high-frequency call time threshold, the time before the latest call time and within a time interval between the latest call time and the preset high-frequency call time threshold is used as the initial call time; If no user call occurred before the latest call time and within the time period between the latest call time and the preset high-frequency call time threshold, the time when a user call occurred before the latest call time and within the time period between the latest call time and the preset high-frequency call time threshold will be taken as the initial call time.
5. The method according to claim 4, characterized in that The step of determining the high-frequency call information of the user in the second user call information bitmap according to the preset high-frequency call rule includes: Count the number of 1s in the second user call information bitmap to obtain the number of calls of the user; A user whose call times meet the preset high-frequency calling rule is determined as a high-frequency calling user.
6. The method according to any one of claims 1 to 5, characterized in that The step of reading the first user call information bitmap and the last call time in the preset time window from the memory database according to the identification information of the user includes: According to the identification information of the user, the first user call information bitmap and the last call time in the preset time window are read from the memory database in batches through a pipeline manner; The step of writing the second user call information bitmap into the memory database to replace the first user call information bitmap includes: The second user call information bitmap is written into the memory database in batches through a pipeline, replacing the corresponding first user call information bitmap.
7. The method according to claim 6, characterized in that The user's tag information is stored in the memory database in a hash storage model, wherein in the hash storage model, the user's phone number is used as a key, the attribute of the tag information is used as a subkey, and the user's tag information is used as a value; The step of reading the tag information of the user from the memory database according to the identification information of the user, and filtering the high-frequency call information of the user according to the tag information of the user to obtain the target high-frequency call information includes: Determine the user's telephone number according to the user's identification information, query the memory database in batches through a pipeline method according to the user's telephone number, and read the user's tag information; The high-frequency call information of the user is filtered according to the tag information of the user to obtain the target high-frequency call information.
8. A device for detecting high frequency calls, characterized in that: include: A collection module, used to collect signaling data of user call services, and obtain user identification information and latest call time according to the signaling data of the user call services; A processing module, configured to read a first user call information bitmap and a last call time of a preset time window from a memory database according to the identification information of the user, and update the first user call information bitmap according to the latest call time and the last call time to obtain a second user call information bitmap; wherein each bit of the user call information bitmap represents 1 minute, 1 indicates that a user call has occurred, and 0 indicates that no user call has occurred; A calculation module, configured to determine the high-frequency call information of the user in the second user call information bitmap according to a preset high-frequency call rule, and write the second user call information bitmap into the memory database to replace the first user call information bitmap; The filtering module is used to read the user's tag information from the memory database according to the user's identification information, and filter the user's high-frequency call information according to the user's tag information to obtain target high-frequency call information.
9. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus; wherein the processor, the communication interface and the memory communicate with each other through the bus; the memory is used to store computer programs; the processor is used to execute the programs stored in the memory to implement the method for detecting high-frequency calls as described in any one of claims 1-7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method for detecting high-frequency calls according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Method and apparatus for searching phone number intelligently
CN105516431A
Method for acquiring communication characteristics of user, storage medium and electronic equipment
CN107231494A