Method and device for querying customer-level communication call records

By storing call records in a disk database and establishing a customer-level index table, and using the K-nearest neighbor algorithm to optimize queries, the problem of long query time for multi-user customer-level call records is solved, and an efficient query process is achieved.

CN114297321BActive Publication Date: 2025-09-09CHINA TELECOM CORP LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111643130.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-29
Publication Date
2025-09-09
Estimated Expiration
2041-12-29

AI Technical Summary

Technical Problem

When querying customer-level communication call records of multiple users, the existing technology takes too long to process, resulting in low efficiency and failure to meet customer needs.

Method used

The communication call records are stored in the disk database and the configuration files are stored in the memory database. A customer-level index table is established, the index table structure is optimized based on user query frequency, and the K-nearest neighbor algorithm is used to improve query efficiency.

Benefits of technology

Through optimized index table structure and algorithm, the efficiency of multi-user customer-level communication call record query has been significantly improved, the query time has been shortened, and the customer's needs for fast query have been met.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114297321B_ABST
    Figure CN114297321B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method and apparatus for querying customer-level communication call records. A method for querying customer-level communication call records comprises: before querying, storing the communication call records in a disk database; storing a configuration file of the communication call records in a memory database; establishing a customer-level index table based on the frequency of user communication call record queries, such that users who query communication call records more frequently have a higher index in the customer-level index table, and storing the customer-level index table in the memory database; and, in response to receiving a request to query customer-level communication call records, executing the following steps to query: reading the customer-level index table; querying all communication call records based on information in the customer-level index table; processing and summarizing all queried communication call records to obtain customer-level communication call records; and outputting the query results for the customer-level communication call records.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to the field of mobile communication billing, and more particularly to a method and apparatus for querying customer-level communication call records. Background Art

[0002] Traditional call bill query technology pre-populates configuration files in a network server database. When a call bill query is needed, the configuration files are batch-read into a cache for later access. This query method offers a processing time of minutes, with query times for call information, caller and caller information, and call charges all taking 3-5 seconds. This time efficiency is acceptable for individual users.

[0003] However, when querying customer-level communication records for a customer with multiple (up to thousands) users, the query time required for each user in that customer level is increased. In other words, querying customer-level communication records can take several times, or even thousands of times, the aforementioned query time (3-5 seconds). This is unacceptable to customers.

[0004] Therefore, a technology for quickly querying customer-level communication call records is needed. Summary of the Invention

[0005] A brief overview of the present disclosure is provided below to provide a basic understanding of some aspects of the present disclosure. However, it should be understood that this overview is not an exhaustive overview of the present disclosure. It is not intended to identify key or important parts of the present disclosure, nor is it intended to limit the scope of the present disclosure. Its purpose is simply to present certain concepts of the present disclosure in a simplified form as a prelude to the more detailed description that will be given later.

[0006] According to one aspect of the present disclosure, a method for querying customer-level communication call records is provided, the method comprising: before performing a query: storing the communication call records in a disk database; storing a configuration file of the communication call records in a memory database; establishing a customer-level index table based on the frequency of users querying the communication call records, so that users who query the communication call records more frequently have their corresponding indexes arranged at the front in the customer-level index table, and storing the customer-level index table in the memory database; and performing the following steps to perform a query in response to receiving a request to query the customer-level communication call records: reading the customer-level index table; querying all communication call records based on the information in the customer-level index table; processing and summarizing all the queried communication call records to obtain customer-level communication call records; and outputting the query results of the customer-level communication call records.

[0007] According to another aspect of the present disclosure, a device for querying customer-level communication call records is provided, comprising: a memory on which instructions are stored; and a processor configured to execute the instructions stored on the memory to perform the method described in the above aspects of the present disclosure.

[0008] According to yet another aspect of the present disclosure, a computer-readable storage medium is provided, comprising computer-executable instructions. When the computer-executable instructions are executed by one or more processors, the one or more processors are caused to perform the method according to the above aspects of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0010] The present disclosure may be more clearly understood from the following detailed description with reference to the accompanying drawings, in which:

[0011] Figure 1 A flowchart showing a pre-processing process of a method for querying customer-level communication call records according to an embodiment of the present disclosure is shown;

[0012] Figure 2 A flowchart showing a query process of a method for querying customer-level communication call records according to an embodiment of the present disclosure is shown;

[0013] Figure 3 A schematic diagram illustrating a communication relationship of an apparatus for querying customer-level communication call records according to an embodiment of the present disclosure is provided;

[0014] Figure 4 An exemplary configuration of a computing device that can implement embodiments according to the present disclosure is shown. DETAILED DESCRIPTION

[0015] The following detailed description is made with reference to the accompanying drawings, and the following detailed description is provided to assist in a comprehensive understanding of the various exemplary embodiments of the present disclosure. The following description includes various details to assist in understanding, but these details are considered to be examples only and are not intended to limit the present disclosure, which is defined by the appended claims and their equivalents. The words and phrases used in the following description are intended only to enable a clear and consistent understanding of the present disclosure. In addition, descriptions of well-known structures, functions, and configurations may be omitted for clarity and brevity. Those skilled in the art will recognize that various changes and modifications may be made to the examples described herein without departing from the spirit and scope of the present disclosure.

[0016] Figure 1A flowchart illustrating a pre-processing process 100 for a method for querying customer-level communication records according to one embodiment of the present disclosure is provided. A customer level may include multiple users (e.g., up to several thousand users). Accordingly, querying customer-level communication records refers to querying the communication records of multiple users at the customer level.

[0017] Before performing a customer-level communication record query, a pre-processing process 100 is performed in advance. The pre-processing process 100 starts at block 101 .

[0018] At block 102, the communication records are stored in a disk database. In a preferred embodiment, the communication records can be stored in a server cluster. In a preferred embodiment, the communication records can be stored in an Oracle database or a MySQL database.

[0019] At block 104, the configuration file of the communication bill is stored in the memory database. The configuration file of the communication bill may include information on collection, pre-processing, and deduplication. In a preferred embodiment, the configuration file of the communication bill may be stored in a distributed memory database.

[0020] At block 106, a customer-level index table is created based on the frequency with which users query their call records, such that users who frequently query their call records have higher indexes in the customer-level index table. The customer-level index table is then stored in the in-memory database. The customer-level index table and the configuration file may be stored in the same or different in-memory databases, or on the same or different servers.

[0021] The customer-level index table records user information for each customer-level user. For example, user information may include personal information (e.g., name, phone number, etc.) and information about the user's call records (e.g., call record type (e.g., voice, SMS, data usage), IP address and query port of the server storing the corresponding call records, etc.).

[0022] A customer-level index table is created based on the frequency with which users query their call records. This allows users with higher call record queries to be indexed higher in the customer-level index table, allowing them to be found more quickly. This can further improve the efficiency of call record queries.

[0023] In a preferred embodiment, a customer-level index table can be established based on the frequency with which users query various types of call records. This allows users who frequently query various types of call records to have their corresponding indexes higher in the customer-level index table. This provides a more detailed description of user call record query behavior and frequency, further improving call record query efficiency. In a further preferred embodiment, a K-nearest neighbor (KNN) algorithm can be used to establish a customer-level index table based on the frequency with which users query various types of call records.

[0024] Specifically, a user index table weight matrix can be established to represent the frequency of users querying various types of communication call records. A customer vector space can be constructed, with each customer's weight stored in a two-dimensional weight matrix. This is then mapped to the customer vector space and fed into the K-nearest neighbor algorithm.

[0025] In the K-nearest neighbor algorithm, the rows of the weight matrix can be set as the user's feature vector as a sample set. Then, the K closest features in the customer vector space in the sample set are grouped together.

[0026] Specifically, the distance between a user at the customer level and other users is calculated, and the K points with the closest distance are selected to represent the query frequency of each user at the customer level. This query frequency can be displayed on a page. The cosine of the angle is calculated using the user-instance distance metric formula. The category with the largest proportion of the K points is counted and assigned to that category. In a preferred embodiment, the user query frequency di is integrated with the conventional K-nearest neighbor algorithm. The query frequency of each user at the customer level is used as the input parameter d.

[0027] The weight calculation formula for each user at the customer level is as follows:

[0028]

[0029] Here, Sim(d, di) is used to calculate the cosine value of the weight between each user at this customer level. di represents the characteristic vector form of the user's query frequency, and y(di, Cj) is the attribute function y with query frequency di and query type Cj as input parameters. The calculation formula for y(di, Cj) is as follows:

[0030]

[0031] This algorithm has low time and space complexity. Therefore, it is more accurate for classifying larger datasets. This improved K-nearest neighbor algorithm can be used for customer-level call record queries.

[0032] In addition, other appropriate algorithms may be used to process the corresponding frequencies of users querying various types of communication call records to establish a customer-level index table.

[0033] At block 108 , the pre-processing process 100 ends.

[0034] Figure 2 A flowchart of a query process 200 of a method for querying customer-level communication call records according to an embodiment of the present disclosure is shown.

[0035] After executing pre-processing process 100, a query process 200 may be executed in response to receiving a request to query a call record to perform a customer-level call record query. For example, a customer-level call record query may be performed based on a customer's request. Query process 200 is executed in distributed memory.

[0036] At block 201 , the query process 200 begins.

[0037] Thereafter, at block 202, the client-level index table is read.

[0038] Thereafter, at blocks 204 to 206 , all communication records are queried based on the customer-level index table.

[0039] In block 204 , the types of all communication records and the corresponding IP addresses and query ports are determined based on the customer-level index table.

[0040] At block 206 , for each communication record type, the corresponding communication record is queried based on the corresponding IP address and query port.

[0041] In a preferred embodiment, at block 204, a determination may be made based on the customer-level index table as to whether the IP address and query port number of the corresponding communication record have changed. If so, the customer-level index table is used to determine the time at which the IP address and query port number of the corresponding communication record have changed, the previous IP address and query port number before the change time, and the new IP address and query port number after the change time.

[0042] In a further preferred embodiment, at block 206, if the IP address and query port number of the corresponding call record are determined to have changed, the change time is compared with the input billing start time. If the change time is later than the billing start time, the corresponding call record is queried based on the previously determined IP address and query port number. If the change time is earlier than the billing start time, the corresponding call record is queried based on the new determined IP address and query port number. The billing start time may be the desired billing start time entered by the customer when requesting a billing start time.

[0043] Then, at block 208, all the queried communication call records are processed and aggregated to obtain customer-level communication call records.

[0044] Thereafter, at block 210 , the query result of the customer-level communication bill is output.

[0045] Thereafter, at block 212 , the query process 200 ends.

[0046] A specific embodiment of the query process 200 is described in detail below.

[0047] Processing flow:

[0048] (1) The business front desk initializes variables and receives input parameters.

[0049] (2) Assign values ​​to the following time variables according to the input parameters:

[0050] begin_dateBusiness start time

[0051] end_timeBusiness end time

[0052] acct_time1 accounting processing time

[0053] Among them, the accounting processing time is used as a parameter of the communication interface, and the business time (ie, the business start time and the business end time) is used as a condition of the configuration file.

[0054] (3) Query the customer's unique ID from the customer information table based on the customer ID number or customer name.

[0055] (4) Find the memory index table location from the customer routing table based on the customer's unique identifier. The data at this location includes the weight value of the corresponding user under the customer, the query frequency, and the IP and port number of the host where the different service call records are stored.

[0056] (5) According to the memory index table and the user weight value, the pointer jumps to locate the user's call record position.

[0057] (6) Based on the weight value calculated by the algorithm, the pointer is called in a rapid loop to retrieve and display the customer's call record.

[0058] (7) If the query fails, log it, adjust the weight value, lower the query priority, and proceed to the next user's call record query.

[0059] (8) The query program gives priority to outputting the call records of users with high weight values, and the query priority of users with low weight values ​​is low, so as to ensure that the call records of users whose queries are successful are generated in time and sent to the query front desk for display, and the front desk query will not fail due to the failure of low-priority queries.

[0060] Figure 3 A schematic diagram illustrating the communication relationship of a query device 320 for querying customer-level communication call records according to an embodiment of the present disclosure is shown.

[0061] like Figure 3 As shown, the query device 320 for querying customer-level communication bills can pre-execute the following Figure 1 The pre-processing process 100 shown in FIG. 1 is shown. In normal operation, the browser / client 310 can send a request to query the communication call record to the query device 320 according to the user's instruction. The query device 320 can receive the request to query the communication call record and execute the following steps in response thereto: Figure 2 The query process 200 shown in FIG. 3 is shown in FIG. 3. The query device 320 can communicate with the corresponding memory database 330 to read the customer-level index table, and can communicate with the corresponding disk database 340 to query the communication call record, as previously described in conjunction with FIG. Figure 2 As described for the query process 200, the query device 320 then outputs the query results of the customer-level communication bill to the browser / client 310. In a preferred embodiment, the browser / client 310 may display the query results of the customer-level communication bill on a screen via a graphical user interface.

[0062] The present disclosure also provides an apparatus for querying customer-level communication call records, comprising: a memory storing instructions; and a processor configured to execute the instructions stored in the memory to perform the method according to the above aspects of the present disclosure.

[0063] In a preferred embodiment, the memory can be communicatively connected to a disk database for storing communication call records and an in-memory database for storing configuration files and customer-level index tables.

[0064] Figure 4 An exemplary configuration of a computing device 1200 capable of implementing embodiments according to the present disclosure is shown.

[0065] Computing device 1200 is an example of a hardware device to which the above-described aspects of the present disclosure can be applied. Computing device 1200 can be any machine configured to perform processing and / or computation. Computing device 1200 can be, but is not limited to, a workstation, a server, a desktop computer, a laptop computer, a tablet computer, a personal data assistant (PDA), a smartphone, an in-vehicle computer, or a combination thereof.

[0066] like Figure 4As shown, computing device 1200 may include one or more components that can be connected or communicated with bus 1202 via one or more interfaces. Bus 2102 may include, but is not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus. Computing device 1200 may include, for example, one or more processors 1204, one or more input devices 1206, and one or more output devices 1208. The one or more processors 1204 may be any type of processor and may include, but is not limited to, one or more general-purpose processors or special-purpose processors (such as dedicated processing chips). Processor 1202 may be configured to implement, for example, a method for querying customer-level communication records according to some embodiments of the present invention. Input device 1206 may be any type of input device capable of inputting information into the computing device and may include, but is not limited to, a mouse, a keyboard, a touch screen, a microphone, and / or a remote controller. Output device 1208 may be any type of device capable of presenting information and may include, but is not limited to, a display, speakers, video / audio output terminals, a vibrator, and / or a printer.

[0067] The computing device 1200 may also include or be connected to a non-transitory storage device 1214, which may be any non-transitory storage device that can implement data storage and may include, but is not limited to, a disk drive, an optical storage device, a solid-state memory, a floppy disk, a flexible disk, a hard disk, a magnetic tape or any other magnetic medium, a compact disk or any other optical medium, a cache memory and / or any other storage chip or module, and / or any other medium from which a computer can read data, instructions and / or code. The computing device 1200 may also include a random access memory (RAM) 1210 and a read-only memory (ROM) 1212. The ROM 1212 may store programs, utilities, or processes to be executed in a non-volatile manner. The RAM 1210 may provide volatile data storage and store instructions related to the operation of the computing device 1200. The computing device 1200 may also include a network / bus interface 1216 coupled to a data link 1218. The network / bus interface 1216 may be any type of device or system capable of enabling communication with an external device and / or network, and may include but is not limited to a modem, a network card, an infrared communication device, a wireless communication device, and / or a chipset (such as Bluetooth TM equipment, 802.11 equipment, WiFi equipment, WiMax equipment, cellular communication facilities, etc.).

[0068] The present disclosure may be implemented as any combination of an apparatus, a system, an integrated circuit, and a computer program on a non-transitory computer-readable medium. One or more processors may be implemented as an integrated circuit (IC), an application-specific integrated circuit (ASIC), or a large-scale integrated circuit (LSI), a system LSI, a super LSI, or a ultra-LSI component that performs some or all of the functions described in the present disclosure.

[0069] The present disclosure includes the use of software, applications, computer programs, or algorithms. The software, applications, computer programs, or algorithms can be stored on a non-transitory computer-readable medium to enable a computer, such as one or more processors, to perform the steps described above and in the accompanying figures. For example, one or more memories can store the software or algorithm in the form of executable instructions, and one or more processors can execute a set of instructions for the software or algorithm to provide various functions according to the embodiments described in the present disclosure.

[0070] Software and computer programs (which may also be referred to as programs, software applications, applications, components, or code) include machine instructions for a programmable processor and may be implemented in a high-level procedural language, an object-oriented programming language, a functional programming language, a logic programming language, or assembly language or machine language. The term "computer-readable medium" refers to any computer program product, apparatus, or device for providing machine instructions or data to a programmable data processor, such as magnetic disks, optical disks, solid-state storage devices, memories, and programmable logic devices (PLDs), including computer-readable media that receive machine instructions as computer-readable signals.

[0071] For example, computer-readable media may include dynamic random access memory (DRAM), random access memory (RAM), read-only memory (ROM), electrically erasable read-only memory (EEPROM), compact disk read-only memory (CD-ROM) or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to carry or store the desired computer-readable program code in the form of instructions or data structures and can be accessed by a general-purpose or special-purpose computer or a general-purpose or special-purpose processor. As used herein, disk or disc includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks generally reproduce data magnetically, while discs reproduce data optically using lasers. Combinations of the above are also included within the scope of computer-readable media.

[0072] The subject matter of the present disclosure is provided as an example of devices, systems, methods, and programs for performing the features described in the present disclosure. However, in addition to the features described above, other features or variations are also contemplated. It is contemplated that any emerging technology may be used to implement the components and functions of the present disclosure in place of any of the technologies described above.

[0073] In addition, the above description provides examples and does not limit the scope, applicability or configuration set forth in the claims. Without departing from the spirit and scope of this disclosure, the function and arrangement of the elements discussed can be changed. Various embodiments can appropriately omit, replace or add various processes or components. For example, features described with respect to certain embodiments can be combined in other embodiments.

[0074] In addition, in the description of the present disclosure, the terms "first", "second", "third", etc. are used only for descriptive purposes and cannot be understood as indicating or implying relative importance and order.

[0075] Similarly, while operations are depicted in a particular order in the drawings, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed to achieve desired results. In certain circumstances, multitasking and parallel processing can be advantageous.

Claims

1. A method for querying customer-level communication bills, characterized in that: The method comprises: Before making a query: Store the communication call records in the disk database; Store the configuration files of the communication call records in the memory database; Establishing a customer-level index table based on the corresponding frequencies of users querying various types of communication call records, such that users who frequently query various types of communication call records have corresponding indexes arranged at higher positions in the customer-level index table, so that users who frequently query various types of communication call records can be found more quickly in the customer-level index table, and storing the customer-level index table in an in-memory database, wherein the customer-level index table records user information of each user at the customer level, and the types of communication call records include voice, SMS, and data traffic; and In response to receiving a request to query a customer-level communication call record, the following steps are performed to query: Read the client-level index table; Query all communication call records based on the information in the customer-level index table; Processing and summarizing all the queried communication call records to obtain customer-level communication call records; and Output the query results of customer-level communication call records.

2. The method according to claim 1, wherein Using the K-nearest neighbor algorithm, a customer-level index table is established based on the frequency of users querying various types of communication call records.

3. The method according to any one of claims 1 to 2, wherein When making a query: Determine the type of all communication records and the corresponding IP addresses and query ports based on the customer-level index table; and For each communication bill type, the corresponding communication bill is queried based on the corresponding IP address and query port.

4. The method according to claim 3, wherein: Determine whether the IP address and query port of the corresponding communication bill have changed based on the customer-level index table; and If it is determined that it has changed, the change time of the IP address and query port of the corresponding communication call record, the previous IP address and query port before the change time, and the new IP address and query port after the change time are determined based on the customer-level index table.

5. The method according to claim 4, wherein If it is determined that the IP address and query port of the corresponding communication bill have changed, the change time is compared with the input accounting processing start time; If the change time is later than the accounting processing start time, querying the corresponding communication call record based on the determined previous IP address and query port; and If the change time is earlier than the accounting processing start time, the corresponding communication call record is queried based on the determined new IP address and query port.

6. The method according to any one of claims 1 to 2, wherein: The configuration files of communication call records are stored in a distributed memory database.

7. A device for querying customer-level communication bills, characterized in that: The device comprises: a memory having instructions stored thereon; and A processor configured to execute instructions stored on the memory to perform the method according to any one of claims 1 to 6.

8. The device according to claim 7, wherein The memory can be communicatively connected with a disk database for storing communication call records and a memory database for storing configuration files and customer-level index tables.

9. A computer-readable storage medium, characterized in that It comprises computer executable instructions which, when executed by one or more processors, cause the one or more processors to perform the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Index querying method and apparatus

    CN105224609A

  • Data query method and system

    CN111930780A

  • Data query method and device, terminal equipment and storage medium

    CN112527843A