Detailed bill access method and device
By establishing a cache table of index values and content identifiers in the IPFS cluster, the interactive access problem of detailed call detail record (CDR) storage solutions in existing technologies is solved, achieving high-speed querying and scalability, and making it suitable for multi-center deployments and high-load environments.
Patent Information
- Application Number
- CN202310932423.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-26
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2043-07-26
AI Technical Summary
In existing technologies, the storage solutions for account details cannot meet the needs of interactive access, especially in database and Hadoop implementations, which suffer from high storage consumption, poor scalability, slow query speed, and inability to store unstructured data.
By employing an InterPlanetary File System (IPFS) cluster, and establishing a cache table of index values and content identifiers, high-speed caching and interactive access to detailed call detail records are achieved. By leveraging IPFS's content addressing features and distributed storage, storage and query efficiency are optimized.
It enables high-speed querying and scalability of detailed call detail records, reduces storage costs, improves interactive data access performance, and is suitable for multi-center deployments and high-load environments.
Smart Images

Figure CN116932504B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wireless communication technology, specifically to a method and apparatus for accessing detailed call detail records (CDRs). Background Technology
[0002] Currently, using databases to implement personalized customization and fast querying of billing details (including detailed call records for each user, determined based on the call records of the services used by the user) is limited by existing database technology. Common databases in the industry have high storage requirements, poor scalability, and query speeds continue to decline when dealing with tens of billions of requests. Furthermore, the storage content is limited, and unstructured data cannot be stored. Using Hadoop to implement personalized customization and fast querying of billing details also suffers from poor performance in interactive data querying due to Hadoop's technological limitations. Summary of the Invention
[0003] This application provides a detailed call detail record (CDR) access method and apparatus to solve the technical problem that existing storage schemes for detailed CDR data cannot meet the needs of interactive access.
[0004] In a first aspect, embodiments of this application provide a method for accessing detailed call detail records (CDRs), including:
[0005] The index value of the target linked list in the InterPlanetary File System cluster is determined based on the call detail record time and user identifier written by the user to the target detailed call detail record in the InterPlanetary File System cluster.
[0006] Write the index value and the content identifier of the target detailed call detail record into the target linked list;
[0007] Based on the data access request sent by the user to the InterPlanetary File System cluster, the target detailed call detail record (CDR) corresponding to the content identifier is obtained, and the data access request carries the CDR time and the user identifier.
[0008] In one embodiment, determining the index value of the target linked list in the InterPlanetary File System (IPS) cluster based on the call detail record (CDR) time and user identifier written to the target detailed call detail record (CDR) in the IPS cluster includes:
[0009] According to the detailed call detail record (CDR) write request sent by the user to the InterPlanetary File System (IPS) cluster, the detailed CDR write request includes at least the CDR time and user identifier of the target detailed CDR to be written by the user.
[0010] Based on the call detail record (CDR) time and the user identifier, determine whether the target detailed CDR is stored in the InterPlanetary File System (IPS) cluster;
[0011] If the target detailed call detail record (CDR) is stored in the InterPlanetary File System (IPS) cluster, the detailed CDR cache table is retrieved to determine the index value, wherein the detailed CDR cache table stores the index value corresponding to the CDR time and the user identifier;
[0012] If the target detailed call detail record is not stored in the InterPlanetary File System cluster, the index value is obtained based on the InterPlanetary File System cluster.
[0013] In one embodiment, if the target detailed call detail record (CDR) is not stored in the InterPlanetary File System (IPS) cluster, obtaining the index value based on the IPS cluster includes:
[0014] If it is determined that the target detailed call detail record has been successfully written to the InterPlanetary File System (IPS) cluster, the content identifier sent by the IPS cluster is received.
[0015] The MD5 value of the content identifier is calculated based on the MD5 message digest algorithm.
[0016] The index value is obtained based on the call detail record start time, the user identifier, and the MD5 value.
[0017] In one embodiment, the method for determining the target linked list includes:
[0018] Obtain the attribute set corresponding to the index value, the attribute set including a first attribute value and a second attribute value;
[0019] The target linked list is determined based on the first attribute value and the second attribute value.
[0020] In one embodiment, obtaining the attribute set corresponding to the index value includes:
[0021] The first attribute value is determined based on the value of the first target bit of the index value;
[0022] The second attribute value is determined based on the target value and the reference value. The target value is determined based on the value of the second target bit of the index value, and the reference value is determined based on the value of the first target bit.
[0023] The attribute set is determined based on the first attribute value and the second attribute value.
[0024] In one embodiment, obtaining the target detailed call detail record (CDR) corresponding to the content identifier based on the data access request sent by the user to the InterPlanetary File System cluster includes:
[0025] Based on the call detail record time and user identifier in the data access request, obtain the index value of the target linked list;
[0026] The target linked list is determined based on the index value;
[0027] The target detailed call detail record is obtained based on the content identifier stored in the target linked list.
[0028] Secondly, embodiments of this application provide a detailed call detail record (CDR) access device, including:
[0029] The acquisition module is used to determine the index value of the target linked list in the InterPlanetary File System cluster based on the call detail record time and user identifier written by the user to the target detailed call detail record in the InterPlanetary File System cluster.
[0030] The storage module is used to write the index value and the content identifier of the target detailed call detail record into the target linked list;
[0031] The access module is used to obtain the target detailed call detail record (CDR) corresponding to the content identifier based on the data access request sent by the user to the InterPlanetary File System cluster.
[0032] Thirdly, embodiments of this application provide an electronic device, including a processor and a memory storing a computer program, wherein the processor executes the program to implement the detailed call detail record (CDR) access method described in the first aspect.
[0033] Fourthly, embodiments of this application provide a processor-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the detailed call detail record (CDR) access method described in the first aspect.
[0034] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the detailed call detail record (CDR) access method described in the first aspect.
[0035] The detailed call detail record (CDR) access method and apparatus provided in this application establish a new cache table between the user and the InterPlanetary File System (IPFS) cluster to store the index value of the cache table and the content identifier of the target detailed CDR written by the user to the IPFS cluster. This application relies on IPFS to realize interactive access, providing favorable support for high-speed access and display in later applications. Attached Figure Description
[0036] To more clearly illustrate the technical solutions in this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0037] Figure 1 This is one of the flowcharts illustrating the detailed call detail record (CDR) access method provided in the embodiments of this application;
[0038] Figure 2 This is a schematic diagram of the default configuration of the IPFS cluster provided in the embodiments of this application;
[0039] Figure 3 This is the second flowchart illustrating the detailed call detail record (CDR) access method provided in the embodiments of this application.
[0040] Figure 4 This is the third flowchart illustrating the detailed call detail record (CDR) access method provided in the embodiments of this application;
[0041] Figure 5 This is a schematic diagram of the detailed call detail record (CDR) access device provided in the embodiments of this application;
[0042] Figure 6 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application; Detailed Implementation
[0043] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below with reference to the accompanying drawings of the embodiments. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0044] Figure 1 This is one of the flowcharts illustrating a detailed call detail record (CDR) access method provided in an embodiment of this application. (Refer to...) Figure 1 This application provides a detailed call detail record (CDR) access method, which may include:
[0045] Step 110: Determine the index value of the target linked list in the InterPlanetary File System cluster based on the call detail record time and user identifier written by the user to the target detailed call detail record in the InterPlanetary File System cluster.
[0046] Step 120: Write the index value and the content identifier of the target detailed call detail record into the target linked list;
[0047] Step 130: Based on the data access request sent by the user to the InterPlanetary File System cluster, obtain the target detailed call detail record (CDR) corresponding to the content identifier. The data access request carries the CDR time and the user identifier.
[0048] It should be noted that the subject executing the above method can be a computer device.
[0049] Optionally, in this application embodiment, based on a private deployment of an InterPlanetary File System (IPFS) cluster, the user's service call detail records (i.e., target detailed call detail records) are stored in the InterPlanetary File System.
[0050] IPFS is a network transport protocol designed to create persistent and distributed storage and shared files. This technology is a content-addressable peer-to-peer hypermedia distribution protocol. IPFS provides a high-throughput, content-addressable block storage model and content-related hyperlinks. Nodes in an IPFS cluster constitute a distributed file system. IPFS clusters achieve high availability, high scalability, and low cost. Through IPFS's content-addressable nature and block-based storage, it saves storage space. Furthermore, the target detailed call detail records (CDRs) in this embodiment use unstructured data, enabling high-speed querying. Moreover, IPFS clusters span multiple centers, allowing multiple centers to jointly provide services, resulting in high machine utilization. Additionally, the detailed CDR access method in this embodiment can be easily extended to similar data interaction systems such as Customer Relationship Management (CRM).
[0051] It should be noted that the embodiments in this application are based on an IPFS cluster. These embodiments focus on describing the key business operations of high-speed read and write storage operations for users. The IPFS cluster solution uses the default configuration; please refer to [link / reference needed] for details. Figure 2 The embodiments in this application will not be described separately.
[0052] Compared to Hadoop's multi-center deployment, the multi-center deployment of IPFS in this application makes more reasonable use of the machines used to deploy the IPFS cluster. There is no problem of any central node machine being idle, and all machines can be used effectively.
[0053] In step 110, the target detailed call detail record can be specifically the call detail record of the service used by the user, which adopts unstructured data.
[0054] Optionally, after the user's service call detail records (i.e., target detailed call detail records) are generated, they are organized into text files in a specific format. Each text file contains several record data entries, and the key information in the record data is as follows:
[0055] 1) User ID (uid): A unique identifier for the user, globally unique, and cannot be repeated.
[0056] 2) Call detail record time: The time when a user uses the service call detail record. Time information can be extracted from it, such as the date information of month M1 and day D1.
[0057] 3) Other call detail records contain the set of original information sent by the network element, including information such as the switching number and trunk.
[0058] A single record will organize the above key information into a block record detailed call detail record (CDR) using a specific format. In the following description, the call detail record written to the record specifically refers to this block record CDR information.
[0059] Users request to write to the IPFS cluster through Block Records (CDRs), which means assembling the CDR information and then calling the IPFS cluster block interface to write it to the IPFS cluster.
[0060] In this embodiment, the target detailed call detail record (CDR) uses unstructured data and is directly stored using IPFS blocks, which saves more space.
[0061] Based on the call detail record time and user identifier written by the user in the target detailed call detail record in the IPFS cluster, determine the index value (bids value) of the entry of the sub-chain cache table TA1 (i.e. the target chain list) in the IPFS cluster.
[0062] Optionally, the content identifier (cid) of the target detailed call detail record in step 120 can be specifically the cid value returned by the IPFS cluster after the target detailed call detail record is successfully written to the IPFS cluster.
[0063] The bids and cid values are then inserted into the target linked list. Specifically, the bids and cid values can be inserted at the end of the bid linked list within the target linked list. At this point, the bids linked list in the sub-chain cache table TA1 establishes a correspondence with the blocks in the IPFS cluster, and a success message is returned to the user (e.g., user P1) who requested the writing of the target detailed call detail record.
[0064] Optionally, in step 130, the bids value of the entry point of the target linked list is determined based on the call detail record time and user identifier carried in the data access request sent by the user to the IPFS cluster. Then, the content identifier corresponding to the bids value, i.e. the cid value, is found by querying the target linked list, and a data read request is initiated to the IPFS cluster based on the content identifier to obtain the target detailed call detail record corresponding to the content identifier.
[0065] The detailed call detail record (CDR) access method provided in this application establishes a new cache table between the user and the InterPlanetary File System (IPFS) cluster to store the index value of the cache table and the content identifier of the target detailed CDR written by the user to the IPFS cluster. This application relies on IPFS to achieve interactive access, providing favorable support for high-speed access and display in later applications.
[0066] Figure 3 This is the second flowchart illustrating the detailed call detail record (CDR) access method provided in this application's embodiments. (Refer to...) Figure 3 Step 110 may specifically include:
[0067] Step 1101: Based on the detailed call detail record (CDR) write request sent by the user to the InterPlanetary File System (IPS) cluster, the detailed CDR write request includes at least the CDR time and user identifier of the target detailed CDR to be written by the user.
[0068] Step 1102: Determine whether the target detailed call detail record is stored in the InterPlanetary File System cluster based on the call detail record time and the user identifier;
[0069] Step 1103: If the target detailed call detail record (CDR) is stored in the InterPlanetary File System (IPS) cluster, retrieve the detailed CDR cache table and determine the index value. The detailed CDR cache table stores the index value corresponding to the CDR time and the user identifier.
[0070] Step 1104: If the target detailed call detail record is not stored in the InterPlanetary File System cluster, obtain the index value based on the InterPlanetary File System cluster.
[0071] Optionally, in step 1101, the user's target detailed call detail record (CDR) is stored in the IPFS cluster according to the detailed CDR write request sent by the user to the IPFS cluster. The detailed CDR write request includes at least the CDR time and user identifier of the target detailed CDR being written by the user.
[0072] The detailed call detail record (CDR) writing operation is described below:
[0073] Step 101: When user P1 initiates a detailed call detail record (CDR) write request, access the detailed CDR cache table, query the data using the user identifier (uid) and CDR time (assuming it includes month M1 and day D1) carried in the detailed CDR write request, and determine whether user P1's target detailed CDR has been stored in IPFS.
[0074] a. If the target detailed call detail record already exists in the IPFS cluster, that is, the IPFS cluster stores the target detailed call detail record, retrieve the detailed call detail record CDR cache table, record the bids value, and skip this step to proceed to step 103.
[0075] b. If the target detailed call detail record is not found in the IPFS cluster, i.e., the target detailed call detail record is not stored in the IPFS cluster, proceed to step 102.
[0076] Step 102: Request a write request from the IPFS cluster using the Block Record (CDR). This involves assembling the Block Record (CDR) information and then calling the IPFS cluster's block interface to write it. Once the write to the IPFS cluster is successful, the IPFS cluster returns a cid value. Based on the bids value obtained by the IPFS cluster using this cid value, the index value is determined.
[0077] Step 103: Determine the target linked list based on the bids value.
[0078] Furthermore, in one embodiment, when the target detailed call detail record (CDR) is not stored in the InterPlanetary File System (IPS) cluster, obtaining the index value based on the IPS cluster may specifically include:
[0079] If it is determined that the target detailed call detail record has been successfully written to the InterPlanetary File System (IPS) cluster, the content identifier sent by the IPS cluster is received.
[0080] The MD5 value of the content identifier is calculated based on the MD5 message digest algorithm.
[0081] The index value is obtained based on the call detail record start time, the user identifier, and the MD5 value.
[0082] Optionally, after confirming that the target detailed call detail record has been successfully written to the IPFS cluster, the bids value is determined based on the cid value returned by the IPFS cluster. Specifically:
[0083] By inputting the cid value, a function transformation is performed to generate a hash value (Z(Cid)). This hash value is then input into the K function to obtain the bids value.
[0084]
[0085] The K function concatenates the input uid, t, and cid values to obtain a new string, which is the bids value. i The result is obtained by concatenating Z(cid). t represents the call detail record (CDR) start time (generally composed of 8 bits). [t] i This represents the i-th bit in the call detail record (CDR) start time t. Z(cid) represents the new value generated by the Z function after inputting the cid value. This value is based on the MD5 message digest algorithm, which calculates the MD5 value of the cid value. Specifically, the cid value in the input feature code is MD5-digested, and after generating the MD5 value, x bits of the character value are taken and returned. To obtain the best hashing efficiency, α is empirically set to 28 and β is set to 40.
[0086] Furthermore, in one embodiment, the method for determining the target linked list may specifically include:
[0087] Obtain the attribute set corresponding to the index value, the attribute set including a first attribute value and a second attribute value;
[0088] The target linked list is determined based on the first attribute value and the second attribute value.
[0089] Furthermore, in one embodiment, obtaining the attribute set corresponding to the index value may specifically include:
[0090] The first attribute value is determined based on the value of the first target bit of the index value;
[0091] The second attribute value is determined based on the target value and the reference value. The target value is determined based on the value of the second target bit of the index value, and the reference value is determined based on the value of the first target bit.
[0092] The attribute set is determined based on the first attribute value and the second attribute value.
[0093] Optionally, the sub-link routing table TA is queried using the bids value. This table specifies the exact value of the sub-link cache table TA1 (i.e., the target linked list) based on the range of bids values. This part returns the sub-link cache table TA1. The sub-link routing table TA stores an attribute set corresponding to the bids value of the sub-link cache table TA1. This attribute set includes two attribute values: a first attribute value m and a second attribute value n.
[0094]
[0095] Here, TA(bids) represents the bids value input to the TA function. By processing the bids value, the first attribute value m and the second attribute value n are returned. Specifically, the first attribute value m and the second attribute value n are obtained by calling the return values of the Ci and Mi functions. These two attribute values are the two attributes that make up TA1. TA1 can be determined based on the first attribute value m and the second attribute value n. Ci[bids] represents the first target bit (j-th bit) of the bids value, resulting in the first attribute value m, where j takes the values 1 and 2. Mi[bids,m] represents the second target bit (k-th bit) of the bids value, resulting in the final value, i.e., the target value. The second attribute value n is obtained by taking the remainder between this target value and the reference value s. The value of the reference value s depends on the value of the j-th bit of the bids value (i.e., the first attribute value m). When the first attribute value m is 71, the reference value s is grouped according to the modulus of 50. When the first attribute value m is not 71, the reference value s is grouped according to the modulus of 10. In this way, the bids value is hashed to improve the overall processing speed. Furthermore, by adjusting the reference value s, it is easy to expand and shrink.
[0096] The detailed call detail record (CDR) access method provided in this application establishes a new cache table between the user and the IPFS cluster to enable high-speed application access. To meet speed requirements, a set of business logic is designed that can be expanded through the routing table to calculate the target linked list entry. Based on this business logic, high-speed data access can be achieved.
[0097] Figure 4 This is the third flowchart illustrating the detailed call detail record (CDR) access method provided in this application's embodiments. (Refer to...) Figure 4 Step 130 may specifically include:
[0098] Step 1301: Obtain the index value of the target linked list based on the call detail record time and user identifier in the data access request;
[0099] Step 1302: Determine the target linked list based on the index value;
[0100] Step 1303: Obtain the target detailed call detail record (CDR) based on the content identifier stored in the target linked list.
[0101] Optionally, when user P2 initiates a read operation, user P2 sends a data access request to the IPFS cluster, accesses the CDR cache table, queries the data using the user identifier uid and the call detail record time, such as month M1 and day D1, and returns the bids value.
[0102] Using the bids value, query the sub-chain routing table TA. This table is used to specify the specific value of the sub-chain cache table by the range of bids values. This part returns the sub-chain cache table.
[0103] The entry point of the sub-chain cache table is obtained from the bids value. Through the sub-chain cache table, the result set of all cid values related to the sub-chain cache table is obtained.
[0104] Using the result set of cid values, data read requests are sent to the IPFS cluster in parallel to obtain the final target detailed call detail records in batches and return them uniformly to the requesting user P2.
[0105] In practical applications, the detailed call detail record (CDR) access method provided in this application, based on an IPFS cluster and utilizing a high-speed business caching system, realizes the overall business process and has a wider range of applications. The detailed CDR access method provided in this application can be directly integrated with a billing system. In this case, it can be merged with offline billing CDR storage, Hadoop storage, and maintenance databases, reducing investment and construction costs, thus being more economical. The use of IPFS technology in this application offers advantages such as fast download speeds and low costs, providing a feasible solution for similar interactive applications in the business support field, such as web applications and mobile apps.
[0106] The detailed call detail record (CDR) access method provided in this application uses an IPFS cluster to store the CDR records used by the user, enabling storage and read operations on the user's CDR records.
[0107] The detailed call detail record (CDR) access device provided in the embodiments of this application is described below. The detailed CDR access device described below can be referred to in correspondence with the detailed CDR access method described above.
[0108] Figure 5 This is a schematic diagram of the detailed call detail record (CDR) access device provided in an embodiment of this application. (Refer to...) Figure 5 The device includes:
[0109] The acquisition module 510 is used to determine the index value of the target linked list in the InterPlanetary File System cluster based on the call detail record time and user identifier written by the user to the target detailed call detail record in the InterPlanetary File System cluster.
[0110] Storage module 511 is used to write the index value and the content identifier of the target detailed call detail record into the target linked list;
[0111] Access module 512 is used to obtain the target detailed call detail record (CDR) corresponding to the content identifier based on the data access request sent by the user to the InterPlanetary File System cluster.
[0112] The detailed call detail record (CDR) access device provided in this application establishes a new cache table between the user and the InterPlanetary File System (IPFS) cluster to store the index value of the cache table and the content identifier of the target detailed CDR written by the user to the IPFS cluster. This application relies on IPFS to realize interactive access, providing favorable support for high-speed access and display in later applications.
[0113] Figure 6 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 6 As shown, the electronic device may include: a processor 610, a communication interface 620, a memory 630, and a communication bus 640, wherein the processor 610, the communication interface 620, and the memory 630 communicate with each other via the communication bus 640. The processor 610 can call a computer program in the memory 630 to execute the steps of the detailed call detail record (CDR) access method, such as including:
[0114] The index value of the target linked list in the InterPlanetary File System cluster is determined based on the call detail record time and user identifier written by the user to the target detailed call detail record in the InterPlanetary File System cluster.
[0115] Write the index value and the content identifier of the target detailed call detail record into the target linked list;
[0116] Based on the data access request sent by the user to the InterPlanetary File System cluster, the target detailed call detail record (CDR) corresponding to the content identifier is obtained, and the data access request carries the CDR time and the user identifier.
[0117] Furthermore, the logical instructions in the aforementioned memory 630 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0118] The index value of the target linked list in the InterPlanetary File System cluster is determined based on the call detail record time and user identifier written by the user to the target detailed call detail record in the InterPlanetary File System cluster.
[0119] Write the index value and the content identifier of the target detailed call detail record into the target linked list;
[0120] Based on the data access request sent by the user to the InterPlanetary File System cluster, the target detailed call detail record (CDR) corresponding to the content identifier is obtained, and the data access request carries the CDR time and the user identifier.
[0121] On the other hand, embodiments of this application also provide a computer program product, which includes a computer program that can be stored on a processor-readable storage medium. When the computer program is executed by a processor, the computer can perform the steps of the detailed call detail record (CDR) access method provided in the above embodiments, such as including:
[0122] The index value of the target linked list in the InterPlanetary File System cluster is determined based on the call detail record time and user identifier written by the user to the target detailed call detail record in the InterPlanetary File System cluster.
[0123] Write the index value and the content identifier of the target detailed call detail record into the target linked list;
[0124] Based on the data access request sent by the user to the InterPlanetary File System cluster, the target detailed call detail record (CDR) corresponding to the content identifier is obtained, and the data access request carries the CDR time and the user identifier.
[0125] On the other hand, embodiments of this application also provide a processor-readable storage medium storing a computer program for causing a processor to perform the steps of the methods provided in the above embodiments, such as including:
[0126] The index value of the target linked list in the InterPlanetary File System cluster is determined based on the call detail record time and user identifier written by the user to the target detailed call detail record in the InterPlanetary File System cluster.
[0127] Write the index value and the content identifier of the target detailed call detail record into the target linked list;
[0128] Based on the data access request sent by the user to the InterPlanetary File System cluster, the target detailed call detail record (CDR) corresponding to the content identifier is obtained, and the data access request carries the CDR time and the user identifier.
[0129] The processor-readable storage medium can be any available medium or data storage device that the processor can access, including but not limited to magnetic memory (e.g., floppy disk, hard disk, magnetic tape, magneto-optical disk (MO)), optical memory (e.g., CD, DVD, BD, HVD), and semiconductor memory (e.g., ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid-state drive (SSD)).
[0130] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0131] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0132] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A method for accessing detailed call detail records, characterized in that, include: The index value of the target linked list in the InterPlanetary File System cluster is determined based on the call detail record time and user identifier written by the user to the target detailed call detail record in the InterPlanetary File System cluster. Write the index value and the content identifier of the target detailed call detail record into the target linked list; Based on the data access request sent by the user to the InterPlanetary File System cluster, the target detailed call detail record (CDR) corresponding to the content identifier is obtained, and the data access request carries the CDR time and the user identifier; The step of determining the index value of the target linked list in the InterPlanetary File System (IPS) cluster based on the call detail record (CDR) time and user identifier written by the user to the target detailed call detail record (CDR) in the IPS cluster includes: According to the detailed call detail record (CDR) write request sent by the user to the InterPlanetary File System (IPS) cluster, the detailed CDR write request includes at least the CDR time and user identifier of the target detailed CDR to be written by the user. Based on the call detail record (CDR) time and the user identifier, determine whether the target detailed CDR is stored in the InterPlanetary File System (IPS) cluster; If the target detailed call detail record (CDR) is stored in the InterPlanetary File System (IPS) cluster, the detailed CDR cache table is retrieved to determine the index value, wherein the detailed CDR cache table stores the index value corresponding to the CDR time and the user identifier; If the target detailed call detail record is not stored in the InterPlanetary File System cluster, the index value is obtained based on the InterPlanetary File System cluster.
2. The detailed call detail record (CDR) access method according to claim 1, characterized in that, If the target detailed call detail record (CDR) is not stored in the InterPlanetary File System (IPS) cluster, the index value is obtained based on the IPS cluster, including: If it is determined that the target detailed call detail record has been successfully written to the InterPlanetary File System (IPS) cluster, the content identifier sent by the IPS cluster is received. The MD5 value of the content identifier is calculated based on the MD5 message digest algorithm. The index value is obtained based on the call detail record start time, the user identifier, and the MD5 value.
3. The detailed call detail record (CDR) access method according to claim 1, characterized in that, The method for determining the target linked list includes: Obtain the attribute set corresponding to the index value, the attribute set including a first attribute value and a second attribute value; The target linked list is determined based on the first attribute value and the second attribute value.
4. The detailed call detail record (CDR) access method according to claim 3, characterized in that, The step of obtaining the attribute set corresponding to the index value includes: The first attribute value is determined based on the value of the first target bit of the index value; The second attribute value is determined based on the target value and the reference value. The target value is determined based on the value of the second target bit of the index value, and the reference value is determined based on the value of the first target bit. The attribute set is determined based on the first attribute value and the second attribute value.
5. The detailed call detail record (CDR) access method according to any one of claims 1-4, characterized in that, The step of obtaining the target detailed call detail record (CDR) corresponding to the content identifier based on the data access request sent by the user to the InterPlanetary File System cluster includes: Based on the call detail record time and user identifier in the data access request, obtain the index value of the target linked list; The target linked list is determined based on the index value; The target detailed call detail record (CDR) is obtained based on the content identifier stored in the target linked list.
6. A detailed call detail record (CDR) access device, characterized in that, include: The acquisition module is used to determine the index value of the target linked list in the InterPlanetary File System cluster based on the call detail record time and user identifier written by the user to the target detailed call detail record in the InterPlanetary File System cluster. The storage module is used to write the index value and the content identifier of the target detailed call detail record into the target linked list; The access module is used to obtain the target detailed call detail record (CDR) corresponding to the content identifier based on the data access request sent by the user to the InterPlanetary File System cluster. The acquisition module is further configured to, based on a detailed call detail record (CDR) write request sent by the user to the InterPlanetary File System (IPS) cluster, include at least the CDR time and user identifier of the target detailed CDR being written by the user. Based on the call detail record (CDR) time and the user identifier, determine whether the target detailed CDR is stored in the InterPlanetary File System (IPS) cluster; if the target detailed CDR is stored in the IPS cluster, retrieve the detailed CDR cache table and determine the index value, wherein the detailed CDR cache table stores an index value corresponding to the CDR time and the user identifier; if the target detailed CDR is not stored in the IPS cluster, obtain the index value based on the IPS cluster.
7. An electronic device comprising a processor and a memory storing a computer program, characterized in that, When the processor executes the computer program, it implements the detailed call detail record (CDR) access method according to any one of claims 1 to 5.
8. A processor-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the detailed call detail record (CDR) access method as described in any one of claims 1 to 5.
9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the detailed call detail record (CDR) access method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Method and device for rapidly storing and retrieving detailed tickets
CN102541925A
Directory traversal in a scalable multi-node file system cache for a remote cluster file system
US20110145307A1