Call detail record (CDR) distribution methods, devices, servers, and storage media

By classifying and caching the call detail record (CDR) data according to its attribute information and backend system requirements during the CDR distribution process, the problem of CDR data distribution consuming computer resources is solved, and efficient and flexible data distribution is achieved.

CN119946568BActive Publication Date: 2025-10-28CHINA UNITED NETWORK COMM GRP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311443252.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-11-01
Publication Date
2025-10-28
Estimated Expiration
2043-11-01

AI Technical Summary

Technical Problem

In existing technologies, the methods for copying and distributing call detail record (CDR) data consume a large amount of computer resources.

Method used

By receiving multiple call detail records (CDRs) sent by the operator's network equipment, classifying them according to their attribute information, and sending them to the Kafka cluster, the system obtains the backend system's requirement information, saves it to a temporary CDR file, and caches it to the object storage system when the caching conditions are met. Finally, the cached file is sent to the corresponding backend system.

Benefits of technology

It reduces the copying of call detail record (CDR) data, lowers the consumption of computer resources, improves the efficiency and flexibility of CDR distribution, and adapts to changes in the backend system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119946568B_ABST
    Figure CN119946568B_ABST
Patent Text Reader

Abstract

This application provides a call detail record (CDR) distribution method, apparatus, server, and storage medium. The method includes: receiving multiple CDR data sets sent by a carrier network device; sending the multiple CDR data sets to a Kafka cluster based on the attribute information of each CDR data set, so that multiple topics in the Kafka cluster can store the multiple CDR data sets; receiving the multiple CDR data sets sent by the Kafka cluster and obtaining demand information from multiple backend systems; classifying the multiple CDR data sets according to the demand information, and saving CDR data sets of various demand types to multiple temporary CDR files; caching all temporary CDR files that meet the caching conditions in the multiple temporary CDR files to an object storage system, so that the object storage system can store multiple cached CDR files; receiving the multiple cached CDR files sent by the object storage system, and sending the multiple cached CDR files to multiple backend systems. This method reduces the consumption of computer resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a call detail record (CDR) distribution method, apparatus, server, and storage medium. Background Technology

[0002] In the telecommunications industry's billing system, the call detail record (CDR) management center, as the source of CDR data collection, not only provides billing CDR data for billing but also provides CDR data for other systems. However, different systems require different CDR data.

[0003] Currently, in existing technologies, the main method is to use computers to copy and mark call detail record (CDR) data according to the needs of different systems, making multiple copies of the same CDR data and distributing them to different systems.

[0004] However, this method, using existing technology, consumes a significant amount of computer resources. Summary of the Invention

[0005] This application provides a call detail record (CDR) distribution method, apparatus, server, and storage medium to solve the technical problem of consuming a large amount of computer resources.

[0006] Firstly, this application provides a call detail record (CDR) distribution method, applied to a server, comprising:

[0007] Receive multiple call detail records (CDRs) sent by the operator's network equipment;

[0008] Based on the attribute information of each call detail record (CDR), the multiple CDRs are sent to the Kafka cluster so that multiple topics in the Kafka cluster can save the multiple CDRs.

[0009] Receive multiple call detail records (CDRs) sent by the Kafka cluster and obtain demand information from multiple backend systems; classify the multiple CDRs according to the demand information to obtain CDRs of various demand types;

[0010] Save the call detail records (CDRs) for the various demand types to multiple temporary CDR files;

[0011] All temporary call detail records (CDRs) that meet the caching conditions among the multiple temporary CDR files are identified as multiple CDR cache files;

[0012] The multiple call detail record (CDR) cache files are cached in an object storage system so that the object storage system can save the multiple CDR cache files;

[0013] The system receives the multiple call detail record (CDR) cache files sent by the object storage system and sends the multiple CDR cache files to multiple backend systems.

[0014] Optionally, in the method described above, the step of sending the multiple call detail records (CDRs) to a Kafka cluster based on the attribute information of each CDR, so that multiple topics in the Kafka cluster can save the multiple CDRs, includes: classifying the multiple CDRs according to the attribute information of each CDR to obtain multiple types of CDRs; and sending the multiple types of CDRs to the Kafka cluster so that multiple topics in the Kafka cluster can save the multiple CDRs.

[0015] Optionally, in the method described above, after receiving the plurality of call detail record (CDR) cache files sent by the object storage system and sending the plurality of CDR cache files to the plurality of backend systems, the method further includes: if there is a newly added backend system, determining whether there is newly added demand information in the demand information; if it is determined that the newly added demand information exists in the demand information, receiving at least one CDR cache file corresponding to the newly added demand information sent by the object storage system, and sending the at least one CDR cache file to the newly added backend system.

[0016] Optionally, in the method described above, after determining whether there is new demand information in the demand information if a new backend system is added, the method further includes: if it is determined that there is no new demand information in the demand information, receiving at least one call detail record (CDR) data corresponding to the new demand information sent by the Kafka cluster, wherein the at least one CDR data is obtained from multiple topics in the Kafka cluster based on the old offset; saving the at least one CDR data to at least one temporary CDR file; determining all temporary CDR files in the at least one temporary CDR file that meet the caching conditions as the at least one CDR cache file; caching the at least one CDR cache file in the object storage system so that the object storage system can save the at least one CDR cache file; receiving the at least one CDR cache file sent by the object storage system, and sending the at least one CDR cache file to the newly added backend system.

[0017] Optionally, in the method described above, the caching condition is: the time difference between the creation time of each temporary call detail record (CDR) file and the current time exceeds a preset time threshold; or, the size of each temporary CDR file exceeds a preset file size threshold.

[0018] Secondly, this application provides a call detail record (CDR) distribution device applied to a server, comprising:

[0019] The first receiving module is used to receive multiple call detail records (CDRs) sent by the operator's network equipment;

[0020] The first sending module is used to send the multiple call detail records (CDRs) to the Kafka cluster according to the attribute information of each CDR, so that multiple topics in the Kafka cluster can save the multiple CDRs.

[0021] The second receiving module is used to receive the multiple call detail records (CDRs) sent by the Kafka cluster and obtain the demand information of multiple backend systems; and to classify the multiple CDRs according to the demand information to obtain CDRs of various demand types.

[0022] The saving module is used to save the call detail record (CDR) data of the various demand types to multiple temporary CDR files;

[0023] The determination module is used to determine all temporary call detail records (CDRs) that meet the caching conditions among the multiple temporary CDRs as multiple CDR cache files;

[0024] A caching module is used to cache the multiple call detail record (CDR) cache files to an object storage system, so that the object storage system can save the multiple CDR cache files;

[0025] The second sending module is used to receive the multiple call detail record (CDR) cache files sent by the object storage system and send the multiple CDR cache files to multiple backend systems.

[0026] Thirdly, this application provides a server, including: at least one processor and a memory;

[0027] The memory stores computer-executable instructions;

[0028] The at least one processor executes computer execution instructions stored in the memory, causing the at least one processor to perform the call detail record (CDR) distribution method as described in the first aspect and various possible designs of the first aspect.

[0029] Fourthly, this application provides a computer storage medium storing computer execution instructions, which, when executed by a processor, implement the call detail record (CDR) distribution method described in the first aspect and various possible designs of the first aspect.

[0030] The call detail record (CDR) distribution method, apparatus, server, and storage medium provided in this application classify multiple CDR data according to the requirements of multiple backend systems to obtain CDR data of various requirement types, thereby distributing CDR data of each requirement type to the corresponding backend system; avoiding the need to copy multiple CDR data and send the copying results to multiple backend systems, thus reducing the occupation of computer resources. Attached Figure Description

[0031] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0032] Figure 1 This is a schematic diagram of a call detail record (CDR) distribution system provided in an embodiment of this application.

[0033] Figure 2 A flowchart illustrating a call detail record (CDR) distribution method provided in one embodiment of this application;

[0034] Figure 3 A flowchart illustrating a call detail record (CDR) distribution method provided in another embodiment of this application;

[0035] Figure 4 A schematic diagram of the call detail record (CDR) distribution device provided in the embodiments of this application;

[0036] Figure 5 This is a schematic diagram of the hardware structure of the server provided in an embodiment of this application.

[0037] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0038] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0039] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with relevant laws, regulations and standards, and corresponding operation entry points are provided for users to choose to authorize or refuse.

[0040] In telecommunications billing systems, the call detail record (CDR) management center, as the source of CDR data collection, provides CDR data not only for billing but also for other systems. However, different systems require different CDR data. Currently, existing technologies primarily rely on computers to copy and mark CDR data according to the needs of different systems, creating multiple copies of the same CDR data and distributing them to different systems. However, this existing method consumes significant computer resources.

[0041] To address the above technical problems, this application proposes the following technical approach: Considering that copying the same call detail record (CDR) data into multiple copies and distributing them to different systems would consume a large amount of computer resources, the inventors conceived of classifying multiple CDR data according to the demand information of multiple backend systems, and sending CDR data of various demand types to multiple backend systems respectively, thereby reducing the consumption of computer resources.

[0042] The call detail record (CDR) distribution method provided in this application aims to solve the above-mentioned technical problems of the prior art.

[0043] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0044] Figure 1 This is a schematic diagram illustrating an application scenario of the call detail record (CDR) distribution system provided in this application embodiment. For example... Figure 1 As shown, the application scenario includes: operator network equipment 101, server 102, Kafka cluster 103, object storage system 104, and multiple backend systems 105.

[0045] In this process, the operator network equipment 101 acquires multiple call detail records (CDRs) and sends them to server 102. Server 102 sends the CDRs to a Kafka cluster 103 based on the attribute information of each CDR. Kafka cluster 103 saves the CDRs to multiple topics within the Kafka cluster and sends them back to server 102. Server 102 performs a series of processing steps on the CDRs to obtain multiple CDR cache files and sends these cache files to object storage system 104. Object storage system 104 caches the CDR cache files. Server 102 receives the CDR cache files from object storage system 104 and sends them to multiple backend systems 105.

[0046] Figure 2This is a flowchart illustrating a call detail record (CDR) distribution method provided in one embodiment of this application. The execution entity of this embodiment can be... Figure 1 The server 102 in this embodiment can also be other servers with similar functions; this embodiment does not impose any special limitations here. Figure 2 As shown, the method includes:

[0047] S201: Receives multiple call detail records (CDRs) sent by the operator's network equipment.

[0048] Call detail records (CDRs) are raw communication records, primarily used to record the original communication activity of communication devices.

[0049] Specifically, multiple call detail records (CDRs) sent by the operator's network equipment can be received via wireless communication or via wired communication.

[0050] S202: Based on the attribute information of each call detail record (CDR), send multiple CDRs to the Kafka cluster so that multiple topics in the Kafka cluster can save multiple CDRs.

[0051] Specifically, based on the attribute information of each call detail record (CDR) data, multiple CDR data are classified to obtain various types of CDR data; these various types of CDR data are then sent to a Kafka cluster so that multiple topics in the Kafka cluster can store multiple CDR data.

[0052] The attribute information includes: the region to which the call detail record (CDR) belongs, the CDR type, and the province code. A Kafka cluster contains multiple topics, each acting as a logical container to categorize multiple CDR data sets.

[0053] In this embodiment, multiple call detail records (CDRs) are classified according to their region, CDR type, and province code.

[0054] For example, various types of call detail records (CDRs) include: voice CDRs from province A, data call detail records from province A, data call detail records from province B, and SMS call detail records from province C.

[0055] S203: Receives multiple call detail records (CDRs) sent by the Kafka cluster and obtains demand information from multiple backend systems; classifies the multiple CDRs according to the demand information to obtain CDRs of various demand types.

[0056] Optionally, the multiple backend systems can be backend systems for province A, province B, and province C, etc.

[0057] For example, the demand information for the backend system in Province A can be voice call detail records (CDRs) and data traffic call detail records (DDRs) in Province A; the demand information for the backend system in Province B can be data traffic call detail records (DDRs) and SMS call detail records (SDRs) in Province B; and the demand information for the backend system in Province C can be SMS call detail records (SDRs) in Province C.

[0058] S204: Save call detail records (CDRs) of various demand types to multiple temporary CDR files.

[0059] S205: All temporary call detail records (CDRs) that meet the caching conditions among multiple temporary CDRs are identified as multiple CDR cache files.

[0060] The caching conditions are as follows: the time difference between the creation time of each temporary call detail record (CDR) file and the current time exceeds a preset time threshold; or the size of each temporary CDR file exceeds a preset file size threshold.

[0061] In this embodiment, the preset time threshold and the preset file size threshold are preset.

[0062] Optionally, if the local disk capacity is large enough, or if the access speed requirement for stored data is high, a larger file size threshold and time threshold can be preset; if local storage space is tight or if call detail record (CDR) cache files need to be cached to the object storage system frequently, a smaller file size threshold and time threshold can be preset.

[0063] S206: Cache multiple call detail record (CDR) cache files to the object storage system so that the object storage system can save multiple CDR cache files.

[0064] Alternatively, the object storage system can be MinIO.

[0065] S207: Receive multiple call detail record (CDR) cache files sent by the object storage system and send the multiple CDR cache files to multiple backend systems.

[0066] In this embodiment, after multiple call detail record (CDR) cache files are successfully sent to multiple backend systems, the object storage system deletes the multiple CDR cache files.

[0067] As can be seen from the above embodiments, by classifying multiple call detail records (CDRs) according to the demand information of multiple backend systems, multiple demand types of CDRs are obtained, so as to distribute each demand type of CDRs to the corresponding backend system; this avoids copying multiple CDRs and sending the copying results to multiple backend systems, thereby reducing the occupation of computer resources.

[0068] Figure 3 This is a flowchart illustrating a call detail record (CDR) distribution method according to another embodiment of this application. The execution entity in this embodiment can be... Figure 1The server 102 in this embodiment can also be other servers with similar functions. This embodiment does not impose any special limitations. This embodiment focuses on how to process multiple call detail records (CDRs) when a new backend system is added, and how to send the corresponding CDRs to the new backend system. Figure 3 As shown, the method includes:

[0069] S301: If there is a new backend system, then determine whether there is new requirement information in the requirement information.

[0070] S302: If it is determined that there is no new demand information in the demand information, then receive at least one call detail record (CDR) data corresponding to the new demand information sent by the Kafka cluster, wherein the at least one CDR data is obtained from multiple topics in the Kafka cluster based on the old offset.

[0071] In a Kafka cluster, the old offset refers to the consumer's position when consuming a topic. When a consumer restarts or undergoes rebalancing, it records the offset of the next message to be read; this offset is the old offset.

[0072] In this embodiment, if there is no new demand information in the demand information, then at least one call detail record (CDR) data corresponding to the new demand information obtained from multiple topics in the Kafka cluster based on the old offset is received.

[0073] S303: Save at least one call detail record (CDR) data to at least one temporary CDR file.

[0074] S304: Determine at least one temporary call detail record (CDR) file as a CDR cache file if all temporary CDR files that meet the caching conditions are used.

[0075] In this embodiment, the caching conditions are the same as those in the previous embodiment, and will not be repeated here.

[0076] S305: Cache at least one call detail record (CDR) cache file to the object storage system so that the object storage system can save at least one CDR cache file.

[0077] S306: Receive at least one call detail record (CDR) cache file sent by the object storage system, and send at least one CDR cache file to the newly added backend system.

[0078] In this embodiment, if it is determined that there is new demand information in the demand information, at least one call detail record (CDR) cache file corresponding to the new demand information is received from the object storage system, and at least one CDR cache file is sent to the new backend system.

[0079] As can be seen from the above embodiments, if there is new demand information in the demand information, at least one call detail record (CDR) cache file sent by the object storage system is received, and at least one CDR cache file is sent to the newly added backend system; if there is no new demand information in the demand information, at least one CDR data corresponding to the new demand information obtained by multiple topics in the Kafka cluster according to the old offset is received. This enables rapid support for changes in the backend system, thereby reducing the workload and difficulty of multiple links such as demand, operation and maintenance, implementation, R&D and testing, and further improving the efficiency of CDR distribution.

[0080] Figure 4 This is a schematic diagram of the call detail record (CDR) distribution device provided in an embodiment of this application. Figure 4 As shown, the call detail record (CDR) distribution device includes: a first receiving module 401, a first sending module 402, a second receiving module 403, a storage module 404, a determination module 405, a buffer module 406, and a second sending module 407.

[0081] The first receiving module 401 is used to receive multiple call detail records (CDRs) sent by the operator's network equipment.

[0082] The first sending module 402 is used to send the multiple call detail records (CDRs) to the Kafka cluster according to the attribute information of each CDR, so that multiple topics in the Kafka cluster can save the multiple CDRs.

[0083] The second receiving module 403 is used to receive the multiple call detail records (CDRs) sent by the Kafka cluster and obtain the demand information of multiple backend systems; and to classify the multiple CDRs according to the demand information to obtain CDRs of various demand types.

[0084] The storage module 404 is used to save the call detail record (CDR) data of the various demand types to multiple temporary CDR files.

[0085] The determination module 405 is used to determine all temporary call detail records (CDRs) that meet the caching conditions among the multiple temporary CDRs as multiple CDR cache files.

[0086] The caching module 406 is used to cache the plurality of call detail record (CDR) cache files to the object storage system, so that the object storage system can save the plurality of CDR cache files.

[0087] The second sending module 407 is used to receive the multiple call detail record (CDR) cache files sent by the object storage system and send the multiple CDR cache files to multiple backend systems.

[0088] Optionally, in the method described above, the first sending module 402 is specifically used to: classify the multiple call detail records (CDRs) according to the attribute information of each CDR to obtain multiple types of CDRs; and send the multiple types of CDRs to the Kafka cluster so that multiple topics in the Kafka cluster can save the multiple CDRs.

[0089] Optionally, in the method described above, the call detail record (CDR) distribution device further includes: a determination module 408, configured to determine whether there is new demand information in the demand information if there is a new backend system; if it is determined that there is new demand information in the demand information, receive at least one CDR cache file corresponding to the new demand information sent by the object storage system, and send the at least one CDR cache file to the new backend system.

[0090] Optionally, in the method described above, the determination module 408 is further configured to: if it is determined that the newly added demand information does not exist in the demand information, then receive at least one call detail record (CDR) data corresponding to the newly added demand information sent by the Kafka cluster, wherein the at least one CDR data is obtained from multiple topics in the Kafka cluster based on the old offset; save the at least one CDR data to at least one temporary CDR file; determine all temporary CDR files in the at least one temporary CDR file that meet the caching conditions as the at least one CDR cache file; cache the at least one CDR cache file in the object storage system so that the object storage system saves the at least one CDR cache file; receive the at least one CDR cache file sent by the object storage system, and send the at least one CDR cache file to the newly added backend system.

[0091] Optionally, in the method described above, the call detail record (CDR) distribution device further includes: a cache condition setting module 409, used to set cache conditions: the time difference between the creation time of each temporary CDR file and the current time exceeds a preset time threshold; or, the size of each temporary CDR file exceeds a preset file size threshold.

[0092] Figure 5 This is a schematic diagram of the hardware structure of the server provided in an embodiment of this application. Figure 5 As shown, the server in this embodiment includes: at least one processor 501 and a memory 502; the memory stores computer-executable instructions; at least one processor executes the computer-executable instructions stored in the memory, causing at least one processor to execute the call detail record (CDR) distribution method described above.

[0093] Alternatively, the memory 502 can be either standalone or integrated with the processor 501.

[0094] When the memory 502 is set up independently, the server also includes a bus 503 for connecting the memory 502 and the processor 501.

[0095] This application also provides a computer-readable storage medium storing computer-executable instructions. When a processor executes the computer-executable instructions, it implements the call detail record (CDR) distribution method described above.

[0096] This application also provides a computer program product, including a computer program stored in a computer storage medium. At least one processor can read the computer program from the computer storage medium, and when the at least one processor executes the computer program, it can implement the call detail record (CDR) distribution method described above.

[0097] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this application.

[0098] It should be further noted that, although the various steps in the flowchart are shown in sequence as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps may be performed in other orders. Moreover, at least a portion of the steps in the flowchart may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily performed at the same time, but may be performed at different times. The execution order of these sub-steps or stages is not necessarily to be performed in sequence, but may be performed in turn or alternately with other steps or at least a portion of the sub-steps or stages of other steps.

[0099] It should be understood that the above-described device embodiments are merely illustrative, and the device of the present application may also be implemented in other ways. For example, the division of units / modules in the above-described embodiments is merely a logical functional division, and actual implementations may employ other division methods. For example, multiple units, modules, or components may be combined or integrated into another system, or some features may be omitted or not implemented.

[0100] Furthermore, unless otherwise specified, the functional units / modules in the various embodiments of this application can be integrated into one unit / module, or each unit / module can exist physically separately, or two or more units / modules can be integrated together. The integrated units / modules described above can be implemented in hardware or as software program modules.

[0101] When integrated units / modules are implemented in hardware, the hardware can be digital circuits, analog circuits, etc. The physical implementation of the hardware structure includes, but is not limited to, transistors, memristors, etc. Unless otherwise specified, the processor can be any suitable hardware processor, such as a CPU, GPU, FPGA, DSP, and ASIC, etc. Unless otherwise specified, the storage unit can be any suitable magnetic or magneto-optical storage medium, such as Resistive Random Access Memory (RRAM), Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Enhanced Dynamic Random Access Memory (EDRAM), High-Bandwidth Memory (HBM), Hybrid Memory Cube (HMC), etc.

[0102] If the integrated unit / module is implemented as a software program module and sold or used as an independent product, it can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory 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 of the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.

[0103] In the above embodiments, the descriptions of each embodiment have their own emphasis. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments. The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as the combination of these technical features does not contradict each other, it should be considered within the scope of this specification.

[0104] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present application that follow the general principles of the present application and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, and the true scope and spirit of the present application are indicated by the following claims.

[0105] It should be understood that the present application is not limited to the exact structure described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.

Claims

1. A call detail record (CDR) distribution method, characterized in that, Applied to servers, including: Receive multiple call detail records (CDRs) sent by the operator's network equipment; Based on the attribute information of each call detail record (CDR), the multiple CDRs are sent to the Kafka cluster so that multiple topics in the Kafka cluster can save the multiple CDRs. Receive multiple call detail records (CDRs) sent by the Kafka cluster and obtain demand information from multiple backend systems; classify the multiple CDRs according to the demand information to obtain CDRs of various demand types; Save the call detail records (CDRs) for the various demand types to multiple temporary CDR files; All temporary call detail records (CDRs) that meet the caching conditions among the multiple temporary CDR files are identified as multiple CDR cache files; The multiple call detail record (CDR) cache files are cached in an object storage system so that the object storage system can save the multiple CDR cache files; The system receives the multiple call detail record (CDR) cache files sent by the object storage system and sends the multiple CDR cache files to multiple backend systems.

2. The method according to claim 1, characterized in that, The step of sending the multiple call detail records (CDRs) to a Kafka cluster based on the attribute information of each CDR, so that multiple topics in the Kafka cluster can store the multiple CDRs, includes: Based on the attribute information of each call detail record (CDR), the multiple CDRs are classified to obtain various types of CDRs. The various types of call detail records (CDRs) are sent to the Kafka cluster so that multiple topics in the Kafka cluster can store the various CDRs.

3. The method according to any one of claims 1 or 2, characterized in that, After receiving the plurality of call detail record (CDR) cache files sent by the object storage system and sending the plurality of CDR cache files to the plurality of backend systems, the method further includes: If there are new backend systems, then determine whether there are any new requirements in the requirements information; If it is determined that the newly added requirement information exists in the requirement information, then at least one call detail record (CDR) cache file corresponding to the newly added requirement information is received from the object storage system, and the at least one CDR cache file is sent to the newly added backend system.

4. The method according to claim 3, characterized in that, If a new backend system exists, after determining whether there is new requirement information in the requirement information, the method further includes: If it is determined that the newly added demand information does not exist in the demand information, then at least one call detail record (CDR) data corresponding to the newly added demand information sent by the Kafka cluster is received, wherein the at least one CDR data is obtained by multiple topics in the Kafka cluster based on the old offset; Save the at least one call detail record (CDR) data to at least one temporary CDR file; All temporary call detail records (CDRs) that meet the caching conditions in the at least one temporary CDR file are identified as the at least one temporary CDR file. The at least one call detail record (CDR) cache file is cached in the object storage system so that the object storage system can save the at least one CDR cache file; Receive at least one call detail record (CDR) cache file sent by the object storage system, and send the at least one CDR cache file to the newly added backend system.

5. The method according to claim 1, characterized in that, The caching conditions are as follows: The time difference between the creation time of each temporary call detail record (CDR) file and the current time exceeds a preset time threshold; or... The size of each temporary call detail record (CDR) file exceeds the preset file size threshold.

6. A call detail record (CDR) distribution device, characterized in that, Applied to servers, including: The first receiving module is used to receive multiple call detail records (CDRs) sent by the operator's network equipment; The first sending module is used to send the multiple call detail records (CDRs) to the Kafka cluster according to the attribute information of each CDR, so that multiple topics in the Kafka cluster can save the multiple CDRs. The second receiving module is used to receive the multiple call detail records (CDRs) sent by the Kafka cluster and obtain the demand information of multiple backend systems; and to classify the multiple CDRs according to the demand information to obtain CDRs of various demand types. The saving module is used to save the call detail record (CDR) data of the various demand types to multiple temporary CDR files; The determination module is used to determine all temporary call detail records (CDRs) that meet the caching conditions among the multiple temporary CDRs as multiple CDR cache files; A caching module is used to cache the multiple call detail record (CDR) cache files to an object storage system, so that the object storage system can save the multiple CDR cache files; The second sending module is used to receive the multiple call detail record (CDR) cache files sent by the object storage system and send the multiple CDR cache files to multiple backend systems.

7. The apparatus according to claim 6, characterized in that, The first sending module is specifically used to: classify the multiple call detail records (CDRs) according to the attribute information of each CDR to obtain multiple types of CDRs; and send the multiple types of CDRs to the Kafka cluster so that multiple topics in the Kafka cluster can save the multiple CDRs.

8. The apparatus according to claim 6, characterized in that, The device further includes a determination module, specifically used for: if there is a newly added backend system, determining whether there is newly added demand information in the demand information; if it is determined that the newly added demand information exists in the demand information, receiving at least one call detail record (CDR) cache file corresponding to the newly added demand information sent by the object storage system, and sending the at least one CDR cache file to the newly added backend system.

9. A server, characterized in that, It includes at least one processor and a memory; the memory stores computer-executable instructions; the at least one processor executes the computer-executable instructions stored in the memory, causing the at least one processor to perform the call detail record (CDR) distribution method as described in any one of claims 1-5.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by the processor, implement the call detail record (CDR) distribution method as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Service handling method and system based on integrated service management platform

    CN101345918A

  • Method and system for storing sorted call bills by catalog

    CN101827175A