Roaming call record processing method, device, equipment, medium and program product

CN116233777BActive Publication Date: 2026-08-11中移信息技术有限公司 +1
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-30
Publication Date
2026-08-11

AI Technical Summary

Technical Problem

因业务量较大对系统的硬件要求较高,且占用较多的系统文件输入/输出(input/output,I/O)资源,系统割接或者节假日期间当并发压力增加时,会出现系统处理能力下降的问题,难以保证漫游话单的实时处理

Benefits of technology

[0044]本申请实施例的漫游话单处理方法、装置、设备、计算机存储介质及计算机程序产品,能够获取话单文件,并对话单文件进行预处理,得到话单数据以及审计信息数据。然后,分别将话单数据和审计信息数据存储至分布式数据库和内存数据库。其中,话单数据可包括需要经常访问的业务数据,将话单数据写入分布式数据库,一方面有利于快速访问话单数据,降低数据库的资源消耗,另一方面有利于根据话单数据的大小,实现集群的动态扩展。这样,不仅有利于提升数据库的性能,而且有利于延长话单数据的储存周期。审计信息数据可包括漫游话单处理过程产生的中间数据,以及参数、配置信息等审计数据,审计信息数据为持久化数据。将审计信息数据存储至内存数据库,不但可以供多台主机共享和实时修改,而且有利于提升审计信息数据的更新效率。本申请实施例将话单数据和审计信息数据存储于不同类型的数据库,从而能够提升数据处理的灵活性和效率,进而有利于提升漫游话单的处理效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116233777B_ABST
    Figure CN116233777B_ABST
Patent Text Reader

Abstract

This application discloses a method, apparatus, device, medium, and program product for processing roaming call detail records (CDRs). The method includes: acquiring a CDR file; preprocessing the CDR file to obtain CDR data and audit information data; storing the CDR data in a distributed database; and storing the audit information data in an in-memory database. This application embodiment can improve the processing efficiency of roaming CDRs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of communication technology, and in particular relates to a roaming call detail record (CDR) processing method, apparatus, device, computer storage medium, and computer program product. Background Technology

[0002] Roaming charges are generated through a complex process. After a user from the home operator initiates communication in the roaming location, the roaming operator provides communication services and performs roaming billing. This billing data is then transmitted back to the home operator, who charges the roaming user and settles roaming charges with the roaming operator according to the agreed-upon rates. To activate roaming services, both operators must establish roaming relationships, negotiate and finalize roaming agreements, and then proceed with roaming settlements. Although the GSMA (Global System for Mobile Communications Association) defines relevant specifications and standards, the roaming relationship between operators is a relatively loose alliance, especially in international roaming scenarios, where roaming call detail records (CDRs) processing still presents many challenges.

[0003] In related technologies, the processing of roaming call detail records (CDRs) typically involves converting file formats or transferring them to a relational database. Due to the large volume of business, this places high demands on system hardware and consumes significant system input / output (I / O) resources. During system cutovers or holidays, increased concurrency can lead to decreased system processing capacity, making it difficult to guarantee real-time processing of roaming CDRs. Handling large volumes of business requires database sharding and table partitioning, and billing requires integration using database links (dblinks), resulting in significant database resource consumption and poor performance. Furthermore, storage resource limitations lead to frequent data backups and exports, impacting the required storage cycle for detailed call detail records and hindering long-term business statistics and the development of new business. Therefore, the efficiency of existing roaming CDR processing methods still needs improvement. Summary of the Invention

[0004] This application provides a roaming call detail record (CDR) processing method, apparatus, device, computer storage medium, and computer program product, which can improve the processing efficiency of roaming CDRs.

[0005] In a first aspect, embodiments of this application provide a roaming call detail record (CDR) processing method, including:

[0006] Obtain the call detail record (CDR) file;

[0007] The call detail record (CDR) file is preprocessed to obtain CDR data and audit information data.

[0008] Store call detail records (CDRs) in a distributed database;

[0009] Audit information data is stored in an in-memory database.

[0010] In one optional implementation, obtaining the call detail record (CDR) file includes:

[0011] Collect international roaming call details from the host machine in the quarantine area;

[0012] International roaming call detail records are cached on a distributed file system platform;

[0013] Perform file verification on international roaming call detail records;

[0014] If the file verification passes, the international roaming call detail records (CDRs) are decoded to obtain the CDR file, which is a flat format file.

[0015] In one alternative implementation, the dialog box file undergoes preprocessing, including:

[0016] The dialog box is used for deduplication, batch price verification, and sorting.

[0017] In one optional implementation, the dialog box file is deduplicated, including:

[0018] Get the creation time of the call detail record (CDR) file;

[0019] Extract call detail record (CDR) keywords from the call detail record (CDR) file if the creation time is within a preset time range;

[0020] Calculate the MD5 hash value of the call detail record (CDR) keywords;

[0021] The system searches for the target Bloom filter algorithm value corresponding to the MD5 value in the preset deduplication table. The deduplication table is used to store the Bloom filter algorithm value corresponding to the MD5 value within a preset time range. The deduplication table is stored in an in-memory database.

[0022] Based on the target Bloom filter algorithm value, the deduplication result of the call detail record (CDR) file is determined. The deduplication result includes whether the CDR file is a duplicate CDR file or not.

[0023] In one alternative implementation, after obtaining the creation time of the call detail record (CDR) file, the method further includes:

[0024] If the creation time is outside the preset time range, search for the call detail record file in the preset deduplication index file;

[0025] If the deduplication index file includes a call detail record (CDR) file, then the CDR file is identified as a duplicate CDR file.

[0026] In one alternative implementation, the method further includes:

[0027] If the call detail record (CDR) file is a duplicate CDR file, an alarm message will be output to the user equipment.

[0028] In one optional implementation, after storing call detail record (CDR) data in a distributed database and storing audit information data in an in-memory database, the method further includes:

[0029] Obtain call detail record (CDR) data and audit information data;

[0030] The transaction record data and audit information data are classified, settled, and statistically analyzed to obtain settlement results and statistical results.

[0031] The settlement results and statistical results are stored on the blockchain.

[0032] In one alternative implementation, the method further includes:

[0033] The settlement and statistical results are audited using smart contracts to obtain audit result files.

[0034] The audit results files are stored on the blockchain.

[0035] Secondly, embodiments of this application provide a roaming call detail record (CDR) processing device, comprising:

[0036] The acquisition module is used to acquire call detail records (CDRs).

[0037] The processing module is used to preprocess the call detail record (CDR) files to obtain CDR data and audit information data.

[0038] The storage module is used to store call detail records (CDRs) in a distributed database.

[0039] The storage module is also used to store audit information data in an in-memory database.

[0040] Thirdly, embodiments of this application provide an electronic device, the device including: a processor and a memory storing computer program instructions;

[0041] When the processor executes computer program instructions, it implements the roaming call detail record (CDR) processing method as described in any optional embodiment of the first aspect of this application.

[0042] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer program instructions, which, when executed by a processor, implement the roaming call detail record processing method as described in any optional implementation of the first aspect of this application.

[0043] Fifthly, embodiments of this application provide a computer program product in which instructions are executed by the processor of an electronic device, causing the electronic device to perform a roaming call detail record (CDR) processing method as described in any optional implementation of the first aspect of this application.

[0044] The roaming call detail record (CDR) processing method, apparatus, device, computer storage medium, and computer program product of this application embodiment can acquire CDR files and preprocess them to obtain CDR data and audit information data. Then, the CDR data and audit information data are stored in a distributed database and an in-memory database, respectively. The CDR data may include frequently accessed business data. Writing the CDR data to the distributed database facilitates faster access to the data, reduces database resource consumption, and allows for dynamic cluster expansion based on the size of the CDR data. This not only improves database performance but also extends the storage life of the CDR data. The audit information data may include intermediate data generated during the roaming CDR processing, as well as audit data such as parameters and configuration information. The audit information data is persistent data. Storing the audit information data in the in-memory database allows for sharing and real-time modification by multiple hosts and improves the update efficiency of the audit information data. This application embodiment stores CDR data and audit information data in different types of databases, thereby improving the flexibility and efficiency of data processing, and ultimately improving the processing efficiency of roaming CDRs. Attached Figure Description

[0045] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0046] Figure 1 This is a flowchart illustrating a roaming call detail record (CDR) processing method provided in one embodiment of this application.

[0047] Figure 2 This is a schematic diagram of the structure of a roaming call detail record (CDR) processing system provided in another embodiment of this application;

[0048] Figure 3 This is a schematic diagram of the decoding process in a roaming call detail record (CDR) processing method provided in another embodiment of this application;

[0049] Figure 4 This is a schematic diagram of the preprocessing flow in a roaming call detail record (CDR) processing method provided in another embodiment of this application;

[0050] Figure 5 This is a schematic diagram of the plagiarism detection interface service provided in another embodiment of this application;

[0051] Figure 6 This is a schematic diagram of the deduplication index table and deduplication table in the roaming call detail record processing method provided in another embodiment of this application;

[0052] Figure 7 This is a schematic diagram of the deduplication index table and deduplication table in the roaming call detail record processing method provided in another embodiment of this application;

[0053] Figure 8 This is a schematic diagram of the roaming call detail record processing device provided in another embodiment of this application;

[0054] Figure 9 This is a schematic diagram of the structure of a data processing device provided in another embodiment of this application. Detailed Implementation

[0055] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0056] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes said element.

[0057] As described in the background section, the efficiency of existing roaming call detail record (CDR) processing methods still needs to be improved.

[0058] In order to improve the efficiency of roaming call detail record (CDR) processing, the inventors, after in-depth thinking, ingeniously proposed a roaming CDR processing method, device, equipment, computer storage medium, and computer program product.

[0059] The roaming call detail record (CDR) processing method provided in this application will be described below with reference to the accompanying drawings and specific embodiments and application scenarios. The roaming CDR processing method provided in this application can be executed by a roaming CDR processing device, or a portion of the roaming CDR processing device used to execute the roaming CDR processing method. This application uses the execution of the roaming CDR processing method by a roaming CDR processing device as an example to describe the roaming CDR processing method provided in this application in detail.

[0060] Figure 1 A flowchart illustrating a roaming call detail record (CDR) processing method according to an embodiment of this application is shown. Figure 1 As shown, the roaming call detail record (CDR) processing method may specifically include the following steps S110 to S140.

[0061] S110, retrieve call detail record (CDR) file.

[0062] In step S110, the call detail record (CDR) file may include CDR files generated by roaming services, such as including but not limited to I CDRs, IG CDRs, ID CDRs, ST CDRs, outbound General Packet Radio Services (GPRS) CDRs, and outbound voice CDRs. This CDR file may include detailed call detail record data related to roaming services.

[0063] S120, the call detail record (CDR) file is preprocessed to obtain CDR data and audit information data.

[0064] The aforementioned call detail record (CDR) data may include detailed call detail record data, and the audit information data may include intermediate data generated during the preprocessing process and parameters required for preprocessing, such as duplicate call detail record tables, configuration tables, and audit data.

[0065] S130 stores call detail records (CDRs) in a distributed database.

[0066] In step S130, the distributed database can be selected from distributed databases known in the art. In one embodiment, the distributed database can be an AntDB database, and the call detail record (CDR) data can be stored in the form of a detailed record table. When the amount of CDR data is large, the detailed record table can be partitioned according to service line, home province code, date, etc. This allows the CDR data to be evenly distributed across different tables, thereby reducing data hotspot issues and facilitating large-capacity storage and flexible cluster expansion of CDR data.

[0067] S140 stores the audit information data in an in-memory database.

[0068] In step S140, the memory database may be selected from memory databases known in the art. In one embodiment, the memory database may be AsiaInfo in Memory Database (AIMDB).

[0069] The roaming call detail record (CDR) processing method of this application embodiment can acquire CDR files and preprocess them to obtain CDR data and audit information data. Then, the CDR data and audit information data are stored in a distributed database and an in-memory database, respectively. The CDR data may include frequently accessed business data. Writing the CDR data to the distributed database facilitates faster access to the data, reduces database resource consumption, and allows for dynamic cluster expansion based on the size of the CDR data. This not only improves database performance but also extends the storage life of the CDR data. The audit information data may include intermediate data generated during the roaming CDR processing, as well as audit data such as parameters and configuration information. The audit information data is persistent. Storing the audit information data in the in-memory database allows for sharing and real-time modification by multiple hosts and improves the update efficiency of the audit information data. This application embodiment stores CDR data and audit information data in different types of databases, thereby improving the flexibility and efficiency of data processing and ultimately enhancing the processing efficiency of roaming CDRs.

[0070] In one embodiment, obtaining the call detail record (CDR) file may specifically include:

[0071] International roaming call detail records are collected from the host machine in the quarantine area.

[0072] International roaming call detail records are cached on a distributed file system platform.

[0073] Perform file verification on international roaming call details.

[0074] If the file verification passes, the international roaming call detail records (CDRs) are decoded to obtain the CDR file, which is a flat format file.

[0075] Collecting international roaming call detail records (CDRs) from a demilitarized zone (DMZ) host can be achieved using methods known in the art, and are not limited thereto. The aforementioned distributed file system platform can be an MSC FrontServer (MFS). The aforementioned file verification can include file-level verification methods known in the art, such as file quantity verification and integrity verification. In one embodiment, file verification can include checking the MD5, SHA1, and CRC32 values ​​of the file. Decoding the international roaming CDRs can include parsing the international roaming CDR source file into a flat format file; the specific decoding method can be implemented using methods known in the art, and will not be elaborated here.

[0076] In this embodiment, international roaming call detail records (CDRs) are verified and then decoded to obtain a flat-format CDR file. This facilitates the standardization of the international roaming CDR format, thereby improving subsequent CDR data processing. This further enhances the efficiency of roaming CDR processing.

[0077] In one embodiment, the dialog box file undergoes preprocessing, which may specifically include:

[0078] The dialog box is used for deduplication, batch price verification, and sorting.

[0079] In this embodiment, after deduplication, pricing verification, and sorting, the call detail record (CDR) file yields a sorting detail table, an error table, a duplicate table, and pricing verification results. The sorting detail table and the error table can be stored in a distributed database, while the duplicate table and pricing verification results can be stored in an in-memory database. This preprocessing of the CDR file facilitates the filtering of duplicate CDRs, accurate pricing of CDRs, and orderly management of CDRs. This, in turn, helps to further improve the processing efficiency of roaming CDRs.

[0080] In one embodiment, deduplication of the dialog box file may specifically include:

[0081] Get the creation time of the call detail record (CDR) file.

[0082] Extract call detail record (CDR) keywords from the call detail record (CDR) file if the creation time is within a preset time range.

[0083] Calculate the MD5 hash value of the call detail record (CDR) keyword.

[0084] The system searches for the target Bloom filter algorithm value corresponding to the MD5 value in a pre-defined deduplication table. The deduplication table stores the Bloom filter algorithm values ​​corresponding to the MD5 value within a preset time range and is stored in an in-memory database.

[0085] Based on the target Bloom filter algorithm value, the deduplication result of the call detail record (CDR) file is determined. The deduplication result includes whether the CDR file is a duplicate CDR file or not.

[0086] In this embodiment, the preset time range can be a time range set according to the judgment conditions of call detail record (CDR) hotspot data. For example, when CDR data within 7 days is considered hotspot CDR data, the preset time range can be within 7 days of the current time. CDR keywords can be keywords determined based on the type of CDR; different types of CDRs can correspond to different types of keywords. As an example, the key information for I-type call detail records (CDRs) can include: call type, user's mobile phone's International Mobile Equipment Identity (IMSI) number, switching equipment number (MSC), peer number (other_party), call start time (start_date_time), service code, call duration (call_duration), and switch record identifier (call reference); the key information for IG-type CDRs can include: user's mobile phone's International Mobile Equipment Identity (IMSI), General Packet Radio Service Serving Node (GGSN / PGW), charging identifier (Charging_ID), call start date (Start_date), and call start time (Start_time); the key information for ID-type CDRs can include: call type, user's mobile phone's International Mobile Equipment Identity (IMSI) number, switching equipment number (MSC), peer number (other_party), call start time (start_date_time), service code, call duration (call_duration), and switch record identifier (call reference). (reference); The key information for ST call detail records can include: call type, IMSI number of the user's mobile phone, switching equipment number, other party number, call start time, service code, and call duration.Outbound GPRS call detail records (CDRs) may contain the following keywords: ChargeableSubscriber, Recording Entity Identification (where the Recording Entity Type is GGSN, P-GW, or Wi-Fi Billing Information Recording Entity), Charging ID, Call Event Start Time, and Operator Specific Information (OSI) "AccountingSessionID:"; Outbound voice CDRs may contain the following keywords: ChargeableSubscriber, Recording EntityType and Identification, Call Event Start Time, Called Number, Service Code, Total Call Duration, and the call reference.

[0087] In this embodiment, when the creation time of a call detail record (CDR) file falls within a preset time range, the Bloom algorithm is used to perform deduplication on hot CDR files based on the MD5 hash of the CDR keywords. The deduplication table stores only the elements used for querying and does not save the elements themselves, thus providing good security. This not only improves deduplication efficiency but also enhances the security of the CDR files.

[0088] In one embodiment, after obtaining the creation time of the call detail record (CDR) file, the method may further include:

[0089] If the creation time is outside the preset time range, search for the call detail record (CDR) file in the preset deduplication index file.

[0090] If the deduplication index file includes a call detail record (CDR) file, then the CDR file is identified as a duplicate CDR file.

[0091] In this embodiment, when the creation time of a call detail record (CDR) file is outside a preset time range, the CDR file undergoes a deduplication check. This allows for flexible adjustment of the deduplication method based on the CDR file's creation time, thereby improving the flexibility of CDR file deduplication.

[0092] In one embodiment, the method may further include:

[0093] If the call detail record (CDR) file is a duplicate CDR file, an alarm message will be output to the user equipment.

[0094] The plagiarism check results may contain false positives, such as a non-duplicate call detail record (CDR) file being identified as a duplicate. In cases where a CDR file is identified as a duplicate, sending an alarm message to the user equipment helps to promptly notify relevant personnel to review the plagiarism check results and reduces the risk of complaints due to false positives.

[0095] In one embodiment, after storing call detail record (CDR) data in a distributed database and audit information data in an in-memory database, the method may further include:

[0096] Obtain call detail record (CDR) data and audit information data.

[0097] The transaction record data and audit information data are classified, settled, and statistically analyzed to obtain settlement results and statistical results.

[0098] The settlement results and statistical results are stored on the blockchain.

[0099] The aforementioned call detail record (CDR) data and audit information data can be categorized, settled, and statistically analyzed offline. Specifically, CDR data and audit information data can be categorized, settled, and analyzed according to month, roaming province, home province, and service type. In this embodiment, an offline asynchronous data processing method is adopted, and the settlement and statistical results are stored on the blockchain, which improves the efficiency and security of settlement and statistical results. Compared to existing technologies such as macro files and emailing operations personnel to verify accounting issues, the party responsible for the problem can verify it themselves based on blockchain technology, which is more efficient. Furthermore, the distributed, transparent, and traceable characteristics of blockchain technology result in higher reliability, improving the reliability of roaming CDR processing results.

[0100] In one embodiment, the method may further include:

[0101] The settlement and statistical results are audited through smart contracts to obtain audit result documents.

[0102] The audit results files are stored on the blockchain.

[0103] As an example, the aforementioned audits can include audits of file balance, call detail record (CDR) balance, and accounting balance. As an example of implementing file balance audits via smart contracts, all CDR processing logs from the previous day can be retrieved daily at set intervals to calculate the number of uploaded and downloaded files and determine file balance. As another example of implementing CDR and accounting balance audits via smart contracts, separate check result files can be generated for CDR and accounting balance checks, with corresponding logs generated during the checks. If imbalances or anomalies occur, alarm messages can be sent to the user's equipment.

[0104] In this embodiment, the settlement results and statistical results are audited through smart contracts, which helps to improve audit efficiency and the credibility of audit results.

[0105] To better describe the overall solution, a specific example is given based on the above embodiments, and will be explained in detail below. It should be noted that the following example is only for explaining this application and not for limiting this application.

[0106] Figure 2 This application illustrates an embodiment of an international roaming call detail record (CDR) processing system. The roaming CDR processing method of this application embodiment can be based on... Figure 2 The system execution is shown. The international roaming call detail record (CDR) processing system can provide distributed computing capabilities with a distributed task scheduling component and a high-performance Remote Procedure Call (RPC) engine as its core, thereby decoupling data and applications, providing rapid orchestration capabilities for business processing flows, and supporting hybrid scheduling of heterogeneous resource pools.

[0107] The following is an introduction to the various modules included in the international roaming call detail record (CDR) processing system.

[0108] The scanning module can collect international call detail records (CDRs) from the DMZ host in real time and store them on the MFS for processing by the subsequent decoding module.

[0109] The decoding module can be connected to the scanning module to decode and standardize call detail records stored on the MFS. Figure 3 This illustration shows a flowchart of the decoding module for decoding dialog boxes according to an embodiment of this application. Figure 3 As shown, the decoding module scans the MFS file directory in real time, retrieves the roaming call detail record (CDR) source file, performs file-level verification first, and then decodes it to parse the source file into a flat format file. If the roaming CDR source file fails the file-level verification, a corresponding error record file is generated.

[0110] The main process module can connect to the decoding module to perform preprocessing operations on the decoded call detail records (CDR) files. Specifically, the main process module can perform CDR data verification, deduplication, pricing, sorting, and warehousing. Within the main process module, the verification and pricing services, deduplication services, and sorting and publishing services can be orchestrated into multiple service combinations for the preprocessing main program to call. Internally, the main process module can achieve the conversion from file to message processing via RPC remote calls. Figure 4 This illustration shows a flowchart of the preprocessing of dialog box files in the main process processing module according to an embodiment of this application. Figure 4As shown, the preprocessing main program scans the decoded file from the previous step to form a message list, then calls multiple services to process the file and generate a result file for subsequent database entry. The database entry process scans the result file, generates messages, then calls the audit information database entry service to write data to AIMDB, and calls the data database entry service to write data to the distributed ANTDB. This allows for the separate storage of frequently accessed business data and persistent data, loading the data needed for preprocessing into the in-memory database AIMDB, thus improving preprocessing efficiency; and storing the preprocessed data in the distributed ANTDB facilitates later statistical analysis.

[0111] In one embodiment, the deduplication service can be a distributed deduplication method incorporating a Bloom filter algorithm. Distributed deduplication can be divided into call detail record (CDR) deduplication and file deduplication, both of which can be implemented on the AIMDB server. For CDR hotspot data within the last 7 days, the values ​​obtained by combining CDR keywords, MD5 encryption, and then deduplicating them through the AIMDB database table can be used. For non-hotspot data older than 7 days, file deduplication can be used. Figure 5 As shown, the AIMDB server can provide a deduplication interface service. When the call detail record (CDR) deduplication interface is called, it can generate a packet containing the elements to be deduplicated based on the input CDR list. This packet is then sent to the server via a communication interface generated from the configuration file, which calls the access plugin. File deduplication can be called in a similar way. The server-side deduplication architecture can establish a deduplication index table based on CDR type and date. For example... Figure 6 and Figure 7As shown, the deduplication index table can be associated with the deduplication table. The deduplication index table can contain information such as the type of the deduplication table, start time, end time, number of records, and table name. Each deduplication table has a corresponding record in the AIMDB deduplication index table, and each record corresponds to a time window interval [m_StartTime, m_EndTime]. If a call detail record (CDR) has a CDR type of m_DrType and its start time (start_time) falls within this time window interval, then the CDR will be checked for deduplication using the deduplication table named m_TableName. To facilitate querying, the deduplication table can be set by day, taking into account business characteristics. Each deduplication table stores international roaming CDRs whose start time falls within the time window and can calculate the Bloom filter algorithm value corresponding to the MD5 hash of key fields in the CDR. During deduplication, if all bits of the hash function value are 1 according to the Bloom filter algorithm, it indicates a duplicate CDR. Because the Bloom algorithm has a certain probability of misjudging, resulting in non-duplicate call detail records (CDRs) being judged as duplicates, the results of these duplicate judgments can be written to the alarm monitoring module to output alarm information and promptly notify relevant personnel, avoiding reporting issues caused by misjudgments. If the CDR is not a duplicate, it can be marked as a new CDR. If the start time of the CDR is not within the time window of the deduplication index table, the deduplication file index table is queried to determine if the CDR's start time is within the deduplication file index table. If it exists, the deduplication file index table is used to determine if it is a duplicate.

[0112] The data storage module stores the preprocessing results and stores the call detail record (CDR) processing results in the database. The data storage module stores detailed call detail record data and audit data after the main process. Because existing roaming CDR processing methods store detailed call detail record data, configuration data, and audit data together, simultaneous database access during data preprocessing and subsequent settlement and statistics leads to database connection timeouts and high I / O, impacting the performance of CDR and statistical processing. This embodiment uses a distributed database (ANTDB) and a relational database (AIMDB) to store CDR data and audit information separately. The distributed ANTDB is primarily used to store large amounts of detailed call detail record data, including sorting tables and error call detail record tables. The AIMDB database mainly stores intermediate data generated during this data processing process, as well as parameters and configuration information required for preprocessing, such as duplicate call detail record tables, configuration tables, and audit data. For detailed call detail record data stored in the distributed ANTDB, tables with large amounts of data can be partitioned by service line, home province code, and date.

[0113] The offline processing module can connect to the data storage module to retrieve offline data and perform statistics and settlement on it. The settlement and statistics offline processing module asynchronously processes the output data from the data entry module, classifying and settling the data according to month, roaming province, home province, and business type based on detailed call detail records and audit reports. Then, it calls the Software Development Kit (SDK) settlement management interface to write the results to the blockchain. During call detail record (CDR) data processing, including decoding and preprocessing, the preprocessed and pre-processed data can interact with the blockchain via the SDK balance management interface, using a smart contract to check the balance of CDR file counts and generate corresponding check logs. For example, the smart contract can perform file count balance audits, retrieving all CDR processing logs from the previous day daily to count the number of uploaded and downloaded files, calculating the balance, and determining whether it is balanced. The smart contract can also perform CDR count balance audits and accounting balance audits, generating separate check result files for each, with corresponding logs generated during the audit process. In the event of imbalances or anomalies, the system can automatically issue an alarm to notify the relevant personnel for handling. Compared to existing technologies that use background applications to check and statistically analyze call detail record balances, this application's embodiment can establish a more stable monthly reconciliation process, improve monthly reconciliation efficiency, enhance the quality of monthly reconciliation operations, realize blockchain-based monthly reconciliation construction, and improve the accuracy and timeliness of monthly settlement statement issuance.

[0114] Based on the same inventive concept, embodiments of this application also provide a roaming call detail record (CDR) processing device.

[0115] like Figure 8 As shown, the roaming call detail record (CDR) processing device 200 may include an acquisition module 201, a processing module 202, and a storage module 203.

[0116] Module 201 is used to obtain call detail records (CDRs).

[0117] Processing module 202 is used to preprocess call detail records (CDRs) to obtain call detail record data and audit information data.

[0118] Storage module 203 is used to store call detail records (CDRs) in a distributed database.

[0119] Storage module 203 is also used to store audit information data to an in-memory database.

[0120] The roaming call detail record (CDR) processing device of this application embodiment can acquire CDR files and preprocess them to obtain CDR data and audit information data. Then, the CDR data and audit information data are stored in a distributed database and an in-memory database, respectively. The CDR data may include frequently accessed business data. Writing the CDR data to the distributed database facilitates faster access to the data, reduces database resource consumption, and allows for dynamic cluster expansion based on the size of the CDR data. This not only improves database performance but also extends the storage life of the CDR data. The audit information data may include intermediate data generated during the roaming CDR processing, as well as audit data such as parameters and configuration information. The audit information data is persistent data. Storing the audit information data in the in-memory database allows for sharing and real-time modification by multiple hosts and improves the update efficiency of the audit information data. This application embodiment stores CDR data and audit information data in different types of databases, thereby improving the flexibility and efficiency of data processing, and ultimately improving the processing efficiency of roaming CDRs.

[0121] In one embodiment, the acquisition module is used to acquire call detail records (CDRs), which may specifically include:

[0122] The data acquisition module is used to collect international roaming call detail records (CDRs) from the host in the isolation zone.

[0123] The caching module is used to cache international roaming call detail records (CDRs) to a distributed file system platform.

[0124] The verification module is used to perform file verification on international roaming call detail records.

[0125] The decoding module is used to decode international roaming call detail records (CDRs) after the file verification is passed, and obtain the CDR file, which is a flat format file.

[0126] In one embodiment, the processing module is used to preprocess the dialog box file, which may specifically include:

[0127] The processing module is used for deduplication, batch price verification, and sorting of dialog form files.

[0128] In one embodiment, the plagiarism detection module is used to perform plagiarism checks on dialog box files, and may specifically include:

[0129] The acquisition module is used to obtain the creation time of the call detail record (CDR) file.

[0130] The extraction module is used to extract call detail record (CDR) keywords from the call detail record (CDR) file when the creation time is within a preset time range.

[0131] The calculation module is used to calculate the MD5 hash value of call detail record (CDR) keywords.

[0132] The lookup module is used to find the target Bloom filter algorithm value corresponding to the MD5 value in a preset deduplication table. The deduplication table is used to store the Bloom filter algorithm values ​​corresponding to the MD5 value within a preset time range, and the deduplication table is stored in an in-memory database.

[0133] The determination module is used to determine the deduplication result of the call detail record (CDR) file based on the target Bloom filter algorithm value. The deduplication result includes whether the CDR file is a duplicate CDR file or not.

[0134] In one embodiment, the apparatus may further include:

[0135] The search module is used to search for call detail records (CDRs) in a preset deduplication index file when the creation time is outside the preset time range.

[0136] The determination module is used to determine whether a call detail record (CDR) file is a duplicate CDR file when the deduplication index file includes a CDR file.

[0137] In one embodiment, the apparatus may further include:

[0138] The output module is used to output alarm information to the user equipment when the call detail record (CDR) file is a duplicate CDR file.

[0139] In one embodiment, the apparatus may further include:

[0140] The acquisition module is used to acquire call detail record (CDR) data and audit information data.

[0141] The calculation module is used to classify, settle, and statistically analyze dialog box data and audit information data to obtain settlement results and statistical results.

[0142] The storage module is used to store settlement results and statistical results to the blockchain.

[0143] In one embodiment, the apparatus may further include:

[0144] The audit module is used to audit the settlement results and statistical results through smart contracts and obtain audit result files.

[0145] The storage module is used to store audit result files to the blockchain.

[0146] The roaming call detail record processing device provided in this application embodiment can achieve... Figure 1 The various processes implemented in the method implementation examples will not be described again here to avoid repetition.

[0147] Figure 9 A schematic diagram of the hardware structure of the roaming call detail record (CDR) processing device provided in an embodiment of this application is shown.

[0148] The roaming call detail record (CDR) processing device may include a processor 301 and a memory 302 storing computer program instructions.

[0149] Specifically, the processor 301 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0150] Memory 302 may include mass storage for data or instructions. For example, and not limitingly, memory 302 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 302 may include removable or non-removable (or fixed) media. Where appropriate, memory 302 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 302 is non-volatile solid-state memory.

[0151] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the methods according to one aspect of this disclosure.

[0152] The processor 301 reads and executes computer program instructions stored in the memory 302 to implement any of the roaming call detail record (CDR) processing methods in the above embodiments.

[0153] As an example, the roaming call detail record (CDR) processing device may also include a communication interface 303 and a bus 310. Wherein, such as Figure 9 As shown, the processor 301, memory 302, and communication interface 303 are connected through bus 310 and complete communication with each other.

[0154] The communication interface 303 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0155] Bus 310 includes hardware, software, or both, that couples components of an online data traffic metering device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 310 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0156] The roaming call detail record (CDR) processing device can execute the roaming CDR processing method in the embodiments of this application, thereby achieving a combination of Figure 1 and Figure 8 The described method and apparatus for processing roaming call detail records.

[0157] Furthermore, in conjunction with the data processing methods in the above embodiments, this application embodiment can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the data processing methods in the above embodiments.

[0158] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0159] The functional blocks shown in the above-described structural diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0160] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0161] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, 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, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0162] The above description is merely a specific implementation of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A method for processing roaming call detail records, the method comprising: include: Obtain the call detail record (CDR) file; The process of obtaining the call detail record (CDR) file includes: Collect international roaming call details from the host machine in the quarantine area; The international roaming call details are cached to a distributed file system platform; Perform file verification on the aforementioned international roaming call details; If the file verification passes, the international roaming call detail record (CDR) is decoded to obtain the CDR file, which is a flat format file. The call detail record (CDR) file is preprocessed to obtain CDR data and audit information data; the CDR data is stored in a distributed database; and the audit information data is stored in an in-memory database. The preprocessing of the call detail record (CDR) file to obtain CDR data and audit information data, storing the CDR data in a distributed database, and storing the audit information data in an in-memory database, specifically includes: The call detail record (CDR) file is converted into a message processing function via RPC remote call. The call detail record (CDR) file decoded in the previous step is scanned to form a message list. Multiple services are invoked to process the CDR file and generate a result file. When the data is retrieved from the database, the result file is scanned to generate a message, which includes call detail record data and audit information data. Call the audit information data entry service to write data to the in-memory database AIMDB, and call detail record data entry service to write data to the distributed database ANTDB.

2. The method of claim 1, wherein, The preprocessing of the call detail record (CDR) file includes: The call detail records (CDRs) are checked for duplicates, verified for batch pricing, and sorted.

3. The method of claim 2, wherein, The process of checking the call detail records (CDR) file for duplicates includes: Obtain the creation time of the call detail record (CDR) file; If the creation time is within a preset time range, extract the call detail record (CDR) keywords from the CDR file; Calculate the MD5 hash value of the call detail record (CDR) keyword; The target Bloom filter algorithm value corresponding to the MD5 value is found in the preset deduplication table. The deduplication table is used to store the Bloom filter algorithm values ​​corresponding to the MD5 value within the preset time range. The deduplication table is stored in an in-memory database. Based on the target Bloom filter algorithm value, the deduplication result of the call detail record (CDR) file is determined. The deduplication result includes whether the CDR file is a duplicate CDR file or whether the CDR file is not a duplicate CDR file.

4. The method of claim 3, wherein, After obtaining the creation time of the call detail record (CDR) file, the method further includes: If the creation time is not within the preset time range, the call detail record (CDR) file is searched in the preset deduplication index file; If the call detail record (CDR) file is included in the deduplication index file, then the CDR file is determined to be a duplicate CDR file.

5. The method according to claim 3 or 4, characterized in that, The method further includes: If the call detail record (CDR) file is a duplicate CDR file, an alarm message is output to the user equipment.

6. The method of claim 1, wherein, After storing the call detail record (CDR) data in a distributed database and the audit information data in an in-memory database, the method further includes: Obtain the call detail record (CDR) data and the audit information data; The call detail record data and the audit information data are classified, settled, and statistically analyzed to obtain settlement results and statistical results. The settlement results and statistical results are stored in the blockchain.

7. The method of claim 6, wherein, The method further includes: The settlement and statistical results are audited using smart contracts to obtain an audit result file. The audit result file is stored in the blockchain.

8. A roaming invoice processing apparatus, characterized by comprising: include: The scanning module is used to obtain call detail records (CDRs). The process of obtaining the call detail record (CDR) file includes: Collect international roaming call details from the host machine in the quarantine area; The international roaming call details are cached to a distributed file system platform; A decoding module, connected to the scanning module, is used to perform file verification on the international roaming call detail records; If the file verification passes, the international roaming call detail record (CDR) is decoded to obtain the CDR file, which is a flat format file. The main process processing module, connected to the decoding module, is used to preprocess the call detail record (CDR) file to obtain CDR data and audit information data; store the CDR data in a distributed database; and store the audit information data in an in-memory database. The preprocessing of the call detail record (CDR) file to obtain CDR data and audit information data, storing the CDR data in a distributed database, and storing the audit information data in an in-memory database, specifically includes: The call detail record (CDR) file is converted into a message processing function via RPC remote call. The call detail record (CDR) file decoded in the previous step is scanned to form a message list. Multiple services are invoked to process the CDR file and generate a result file. When the data is retrieved from the database, the result file is scanned to generate a message, which includes call detail record data and audit information data. Call the audit information data entry service to write data to the in-memory database AIMDB, and call detail record data entry service to write data to the distributed database ANTDB.

9. An electronic device, comprising: The device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the roaming call detail record processing method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer program instructions, which, when executed by a processor, implement the roaming call detail record processing method as described in any one of claims 1-7.

11. A computer program product, characterised in that, When the instructions in the computer program product are executed by the processor of the electronic device, the electronic device performs the roaming call detail record processing method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Duplication eliminating method and system for recorded data under cloud architecture

    CN106599326A