Communication processing method, apparatus, device, and medium
By obtaining communication processing strategies through server encryption and client decryption, the problem of frequent number database distribution by number lookup software is solved, reducing network resource consumption and storage resource waste, and ensuring information security and processing efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- GUANGZHOU TENCENT TECH CO LTD
- Filing Date
- 2024-12-18
- Publication Date
- 2026-06-19
Smart Images

Figure CN122247645A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, specifically to a communication processing method, apparatus, device, and medium. Background Technology
[0002] In recent years, with the rapid development of Internet technology, various methods of expanding business through random dialing via dialing software have emerged. People often receive such harassing communications. As a result, number lookup software has gradually become popular due to its functions such as communication blocking and marking. When a mobile phone receives such communications, it can use number lookup software to find out in advance whether the communication is harassing and thus decide whether to answer it.
[0003] In related technologies, number lookup software sends a pre-collected number database to mobile phones so that the mobile phones can determine whether a communication is harassing by matching the numbers in the database with the numbers each time a communication is made.
[0004] However, since the number database is dynamically updated, new number databases need to be frequently distributed to each mobile phone, requiring continuous updates, which consumes network resources. In addition, each mobile phone needs to store the number database, which wastes the phone's storage resources. Furthermore, if the number database is not updated in a timely manner, it will be impossible to process unknown communication numbers. Therefore, there is an urgent need for a communication processing method to solve the above technical problems. Summary of the Invention
[0005] This application provides a communication processing method, apparatus, device, and medium that eliminates the need for frequent distribution of the number database to the client, reducing network resource consumption and avoiding the problem of the client being unable to process unknown communication numbers due to the client's failure to update the number database in a timely manner. At the same time, the use of encrypted transmission ensures information security.
[0006] To address the aforementioned technical problems, this application provides the following technical solutions:
[0007] A communication processing method, comprising:
[0008] Receive a communication processing strategy query request sent by the client, the communication processing strategy query request carrying candidate storage address ciphertext;
[0009] The candidate storage address ciphertext is obtained by encrypting the target communication number on the client with the public key sent by the server, according to the candidate storage address in at least one target storage table corresponding to the target communication processing type. The candidate storage address is calculated based on the target communication number, the hash function of each target storage table, and the corresponding preset number of storage addresses.
[0010] The candidate storage address ciphertext is decrypted using the server's private key to obtain the candidate storage address corresponding to each target storage table.
[0011] Retrieve each candidate number and its corresponding candidate communication processing strategy from each candidate storage address;
[0012] Each candidate number and its corresponding candidate communication processing strategy are encrypted using the public key sent by the client to obtain the ciphertext of the candidate communication processing strategy for each candidate number and its corresponding candidate communication processing strategy.
[0013] The client sends the ciphertext of the candidate communication processing strategy to the client, so that the client can decrypt the ciphertext of the candidate communication processing strategy using the client's private key, so as to match the target communication processing strategy corresponding to the target communication number from each candidate number and the corresponding candidate communication processing strategy, and process the target communication number according to the target communication processing strategy.
[0014] A communication processing method, comprising:
[0015] Obtain the target communication number for the requested communication;
[0016] Based on the target communication number, the hash function of each target storage table of the target communication processing type, and the number of preset storage addresses corresponding to each target storage table, the candidate storage address of each target storage table is determined;
[0017] Each of the candidate storage addresses is encrypted using the public key sent by the server to obtain the ciphertext of the candidate storage address;
[0018] A communication processing strategy query request is sent to the server. The communication processing strategy query request carries the ciphertext of the candidate storage address, so that the server can decrypt the ciphertext of the candidate storage address using the server's private key, decrypt the candidate storage address corresponding to each target storage table, generate candidate communication processing strategy ciphertext based on the candidate number stored in the candidate storage address and the corresponding candidate communication processing strategy, and return it to the client.
[0019] Receive the ciphertext of the candidate communication processing strategy, and decrypt the ciphertext of the candidate communication processing strategy using the client's private key to decrypt each candidate number and the corresponding candidate communication processing strategy.
[0020] From each candidate number and its corresponding candidate communication processing strategy, the target communication number is matched to the target communication number, and the target communication number is processed according to the target communication processing strategy.
[0021] A communication processing device, comprising:
[0022] The receiving unit is used to receive a communication processing strategy query request sent by the client, wherein the communication processing strategy query request carries ciphertext of candidate storage addresses.
[0023] The candidate storage address ciphertext is obtained by encrypting the target communication number on the client with the public key sent by the server, according to the candidate storage address in at least one target storage table corresponding to the target communication processing type. The candidate storage address is calculated based on the target communication number, the hash function of each target storage table, and the corresponding preset number of storage addresses.
[0024] The first decryption unit is used to decrypt the ciphertext of the candidate storage address using the server's private key, thereby decrypting the candidate storage address corresponding to each target storage table.
[0025] The acquisition unit is used to retrieve each candidate number and its corresponding candidate communication processing strategy from each candidate storage address.
[0026] The first encryption unit is used to encrypt each candidate number and its corresponding candidate communication processing strategy using the public key sent by the client, so as to obtain the candidate communication processing strategy ciphertext for each candidate number and its corresponding candidate communication processing strategy.
[0027] The first sending unit is configured to send the candidate communication processing strategy ciphertext to the client, so that the client can decrypt the candidate communication processing strategy ciphertext using the client's private key, so as to match the target communication processing strategy corresponding to the target communication number from each candidate number and the corresponding candidate communication processing strategy, and process the target communication number according to the target communication processing strategy.
[0028] In some embodiments, the apparatus further includes:
[0029] The second acquisition unit is used to acquire the target communication number and the target communication processing strategy of the target communication number under the target communication processing type.
[0030] The third acquisition unit is used to acquire the hash function of at least one target storage table corresponding to the target communication processing type, and the number of preset storage addresses in each target storage table;
[0031] The second determining unit is used to determine the target storage address from the preset storage addresses corresponding to each target storage table based on the target communication number, the hash function of each target storage table, and the corresponding preset storage address quantity.
[0032] The first storage unit is used to store the target communication number and the corresponding target communication processing strategy into the target storage address.
[0033] In some embodiments, the second determining unit is configured to:
[0034] The target communication number is hashed using the hash function of each target storage table to obtain the first hash value of the target communication number corresponding to each target storage table;
[0035] The remainder of each target storage table is obtained by performing a modulo operation between the first hash value corresponding to each target storage table and the corresponding preset number of storage addresses.
[0036] The remainder of the calculation for each target storage table is determined as the corresponding candidate storage address, thus obtaining the candidate storage address for each target storage table;
[0037] Obtain the current storage amount for each of the candidate storage addresses;
[0038] Any candidate storage address whose current storage volume has not reached the preset storage volume is determined as the target storage address for storing the target communication number and the corresponding target communication processing strategy.
[0039] In some embodiments, the second determining unit is further configured to:
[0040] When the current storage amount of each candidate storage address reaches the preset storage amount, retrieve any stored communication number and the corresponding stored communication processing strategy from any candidate storage address.
[0041] The candidate storage address for retrieving the stored communication number and the corresponding stored communication processing strategy is determined as the target storage address.
[0042] In some embodiments, the communication processing policy query request further carries the client's client identifier and query credentials, and the apparatus further includes:
[0043] The fourth acquisition unit is used to acquire multiple generation credentials that have a preset mapping relationship with the client identifier;
[0044] A filtering unit is used to filter out a target generated voucher that matches the query voucher from a plurality of generated vouchers;
[0045] The execution unit is configured to, when the credential validity flag of the target generated credential is valid, execute the step of decrypting the ciphertext of the candidate storage address using the server's private key to decrypt the candidate storage address corresponding to each target storage table, and update the credential validity flag of the target generated credential to invalid.
[0046] In some embodiments, the apparatus further includes:
[0047] The second receiving unit is used to receive a credential generation request sent by the client. The credential generation request includes a target communication processing type flag, the client's public key, and the client's client identifier.
[0048] The second storage unit is used to store the client's public key and generate a preset number of generation credentials, with each generation credential marked as valid.
[0049] An establishment unit is used to establish a mapping relationship between the client identifier and each of the generated credentials;
[0050] The third determining unit is used to determine the target communication processing type corresponding to the target communication processing type tag based on a preset mapping relationship between the communication processing type tag and the communication processing type.
[0051] The fifth acquisition unit is used to acquire the hash function of at least one target storage table corresponding to the target communication processing type, and the number of preset storage addresses in each target storage table;
[0052] The third sending unit is used to send each of the credentials, the hash function of each of the target storage tables, and the corresponding number of preset storage addresses to the client.
[0053] In some embodiments, the apparatus further includes:
[0054] The third receiving unit is used to receive the change communication processing type sent by the client;
[0055] The fourth determining unit is used to determine the target communication processing type marker corresponding to the changed communication processing type based on a preset mapping relationship between the communication processing type and the communication processing type marker.
[0056] The fourth sending unit is used to send the target communication processing type flag to the client.
[0057] In some embodiments, the apparatus further includes:
[0058] The sixth acquisition unit is used to acquire multiple ciphertexts of storage addresses received within a preset time period, and to decrypt the ciphertexts of storage addresses to obtain multiple storage addresses;
[0059] When a predetermined number of storage addresses among multiple storage addresses are identical to the candidate storage address, the first encryption unit is configured to:
[0060] The preset prompt information, each candidate number, and the corresponding candidate communication processing strategy are encrypted using the public key sent by the client to obtain the candidate communication processing strategy ciphertext for each candidate number and the corresponding candidate communication processing strategy. The preset prompt information is used to indicate that the target communication number is abnormal.
[0061] A communication processing device, comprising:
[0062] The acquisition unit is used to acquire the target communication number for the requested communication.
[0063] The determining unit is used to determine the candidate storage address of each target storage table based on the target communication number, the hash function of each target storage table of the target communication processing type, and the number of preset storage addresses corresponding to each target storage table.
[0064] The second encryption unit is used to encrypt each of the candidate storage addresses using the public key sent by the server to obtain the candidate storage address ciphertext.
[0065] The second sending unit is used to send a communication processing strategy query request to the server. The communication processing strategy query request carries the candidate storage address ciphertext, so that the server can decrypt the candidate storage address ciphertext using the server's private key, decrypt the candidate storage address corresponding to each target storage table, generate candidate communication processing strategy ciphertext according to the candidate number stored in the candidate storage address and the corresponding candidate communication processing strategy, and return it to the client.
[0066] The second decryption unit is used to receive the ciphertext of the candidate communication processing strategy, and decrypt the ciphertext of the candidate communication processing strategy using the client's private key to decrypt each candidate number and the corresponding candidate communication processing strategy.
[0067] The matching unit is used to match the target communication processing strategy corresponding to the target communication number from each candidate number and the corresponding candidate communication processing strategy, and process the target communication number according to the target communication processing strategy.
[0068] In some embodiments, the determining unit is configured to:
[0069] The hash value of the target communication number is calculated by using the hash function of each target storage table of the target communication processing type, and the second hash value of the target communication number corresponding to each target storage table is obtained.
[0070] The remainder of each target storage table is obtained by performing a modulo operation between the second hash value corresponding to each target storage table and the corresponding preset number of storage addresses.
[0071] The remainder of each target storage table is used to determine the corresponding candidate storage address.
[0072] In some embodiments, the second transmitting unit is configured to:
[0073] Obtain the generation certificate sent by the server;
[0074] Each generated voucher whose voucher usage status is unused is identified as a query voucher.
[0075] Send a communication processing policy query request to the server. The communication processing policy query request carries the candidate storage address ciphertext, the query credential, and the client identifier of the client.
[0076] The usage status of the query voucher is determined to be "used".
[0077] A computer device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the above-described communication processing method.
[0078] A computer-readable storage medium storing a plurality of instructions adapted for loading by a processor to execute the above-described communication processing method.
[0079] A computer program product or computer program includes computer instructions stored in a storage medium. A processor of a computer device reads the computer instructions from the storage medium and executes the computer instructions to implement the aforementioned communication processing method.
[0080] This application embodiment receives a communication processing strategy query request sent by a client. The query request carries encrypted candidate storage addresses. These candidate storage addresses are obtained by encrypting candidate storage addresses in at least one target storage table corresponding to the target communication processing type using a public key sent by the server. The candidate storage addresses are calculated based on the target communication number, the hash function of each target storage table, and a corresponding preset number of storage addresses. The encrypted candidate storage addresses are then decrypted using the server's private key to obtain the candidate storage addresses corresponding to each target storage table. From each candidate storage address... The system retrieves each candidate number and its corresponding candidate communication processing strategy from the storage address; encrypts each candidate number and its corresponding candidate communication processing strategy using the public key sent by the client to obtain ciphertext of the candidate communication processing strategy for each candidate number and its corresponding candidate communication processing strategy; sends the ciphertext of the candidate communication processing strategy to the client so that the client can decrypt the ciphertext of the candidate communication processing strategy using its private key, thereby matching the target communication processing strategy corresponding to the target communication number from the decrypted candidate number and its corresponding candidate communication processing strategy, and processing the target communication number according to the target communication processing strategy.
[0081] Therefore, when the client detects a requesting communication number, it sends the encrypted candidate storage address corresponding to the candidate storage address that the communication number may be stored in the database to the server. The server then decrypts the candidate communication number stored in each candidate storage address using its private key, encrypts the candidate communication number and the corresponding candidate communication processing strategy stored in each candidate storage address using the client's public key, and returns the encrypted candidate communication processing strategy ciphertext to the client. The client can then decrypt the ciphertext and match the communication number and the corresponding communication processing strategy. Compared with related technologies where the communication processing strategy is entirely determined by the client based on the stored number database, this application provides a method for obtaining communication processing strategies that does not require frequent distribution of the number database to the client, reducing network resource consumption and avoiding the problem of the client being unable to process unknown communication numbers due to the client's failure to update the number database in a timely manner. At the same time, the use of ciphertext for interactive transmission ensures information security.
[0082] Other features and advantages of this disclosure will be set forth in the following description and will be apparent in part from the description or may be learned by practicing the disclosure. The objectives and other advantages of this disclosure may be realized and obtained by means of the structures particularly pointed out in the description, claims and drawings. Attached Figure Description
[0083] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0084] Figure 1 This is a system architecture diagram of the communication processing method provided in the embodiments of this application.
[0085] Figure 2 This is a flowchart illustrating the communication processing method provided in an embodiment of this application.
[0086] Figure 3 This is a storage diagram illustrating the storage of the target communication number and the corresponding target communication processing strategy provided in an embodiment of this application.
[0087] Figure 4 This is another storage diagram illustrating the storage of the target communication number and the corresponding target communication processing strategy provided in the embodiments of this application.
[0088] Figure 5 This is another storage diagram illustrating the storage of the target communication number and the corresponding target communication processing strategy provided in the embodiments of this application.
[0089] Figure 6 This is a schematic diagram of the communication processing type setting interface in the client provided in the embodiments of this application.
[0090] Figure 7 This is another schematic flowchart of the communication processing method provided in the embodiments of this application.
[0091] Figure 8 This is a schematic diagram illustrating the signaling interaction between the number database server, the number query software server, and the client provided in an embodiment of this application.
[0092] Figure 9 This is a schematic diagram illustrating another signaling interaction between the number database server, the number query software server, and the client provided in the embodiments of this application.
[0093] Figure 10 This is a schematic diagram of the communication processing device provided in an embodiment of this application.
[0094] Figure 11 This is another schematic diagram of the communication processing device provided in an embodiment of this application.
[0095] Figure 12 A schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0096] To enable those skilled in the art to better understand the solutions of this application, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and 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.
[0097] It should be noted that while some processes described in the specification, claims, and accompanying drawings contain multiple steps that appear in a specific order, it should be clearly understood that these steps may not be performed in the order they appear herein, or may be performed in parallel. The step numbers are merely used to distinguish different steps and do not represent any particular order of execution. Furthermore, descriptions such as "first," "second," or "objective" in this document are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0098] In specific embodiments of this application, data concerning the privacy of the target object, such as communication processing policy query requests, is involved. When the above embodiments of this application are applied to specific products or technologies, permission or consent from the target object is required, and the collection, use, and processing of related data must comply with relevant laws, regulations, and standards. For example, when an embodiment of this application needs to obtain a communication processing policy query request, separate permission or consent for the communication processing policy query request and related data can be obtained through pop-up windows or redirection to a confirmation page. After obtaining separate permission or consent, the necessary related data for the normal operation of the embodiment of this application can then be obtained.
[0099] Before providing a further detailed description of the embodiments of this disclosure, the terms and concepts used in these embodiments are explained, and they are subject to the following interpretations:
[0100] Asymmetric encryption is a type of encryption technology, also known as public-key encryption. Asymmetric encryption systems use a pair of keys: a public key and a private key. These two keys are mathematically related, but it is very difficult to derive the private key from the public key. The public key can be made public and anyone can obtain it; however, the private key must be kept strictly secret and can only be used by its owner.
[0101] When performing encryption, the data is encrypted using the recipient's public key.
[0102] For example, when a client sends encrypted data to a server, it can use the server's public key to encrypt the original plaintext data; conversely, when the server sends encrypted data to a client, it uses the client's public key to encrypt the original plaintext data. Because encrypted data can only be decrypted with the private key corresponding to the public key, even if a third party obtains the public key, that third party cannot decrypt the information.
[0103] The decryption process is performed using the recipient's private key.
[0104] For example, when a server receives encrypted data sent by a client, it uses its own private key to decrypt it and obtain the original plaintext data; when a client receives encrypted data sent by a server, it uses its own private key to decrypt it and obtain the original plaintext data.
[0105] Hash table: also called hash table, is a data structure that allows direct access based on a key value.
[0106] A hash table mainly consists of two parts: an array for storing data elements and a hash function for mapping key values to specific locations within the array. When storing a data element, the hash function calculates the hash value corresponding to the element's key value, and this hash value determines the element's storage location within the array.
[0107] Hash tables offer the advantage of fast lookup, insertion, and deletion of elements. Ideally, hash tables can complete these operations in constant time, greatly improving the efficiency of communication processing.
[0108] Hash bucket: It is the basic unit used to store data elements in a hash table, usually a linked list or other data structure.
[0109] When multiple key values produce the same hash value after being processed by a hash function, these elements are stored in the same hash bucket. The purpose of the hash bucket is to accommodate these colliding elements, ensuring the proper functioning of the hash table.
[0110] For example, when using chaining to resolve hash collisions, each hash bucket is a linked list, where all elements with the same hash value are stored. The specific structure of a hash bucket can vary depending on the hash table implementation. Generally, hash buckets need to support fast insertion, deletion, and lookup operations to ensure the overall performance of the hash table. If a hash bucket is a linked list, then the insertion operation adds a new element to the end of the list; the lookup operation traverses the list and compares key values for equality; and the deletion operation finds the element to be deleted in the list and removes it.
[0111] In related technologies, when a client detects a requesting number, it matches that number with a stored number database to find the corresponding communication processing strategy for a specific communication type, and then processes the number according to the found strategy. However, because the client needs to pre-store the number database, it consumes significant network resources. Furthermore, since the number database is frequently updated, if the client fails to update the database in a timely manner, it will be unable to process unknown numbers.
[0112] To address the aforementioned problems, this application proposes a communication processing method. For details on its implementation, please refer to the following specific embodiments.
[0113] Please see Figure 1 , Figure 1 This is a schematic diagram of a model training system provided in an embodiment of this application. It includes a client 110, an internet connection 130, a gateway 120, a server 140, etc.
[0114] Client 110 includes, but is not limited to, mobile phones, tablets, pre-configured desktop computers, laptops, tablet computers, and other electronic devices. Client 110 can communicate with the Internet 130 via wired or wireless means to exchange data.
[0115] Server 140 refers to a computer system that can provide certain services to client 110. Compared to ordinary client 110, server 140 has higher requirements in terms of stability, security, and performance. Server 140 can be a single high-performance computer in a network platform, a cluster of multiple high-performance computers, a portion of a single high-performance computer (e.g., a virtual machine), or a combination of portions of multiple high-performance computers (e.g., virtual machines).
[0116] Gateway 120, also known as an internetwork connector or protocol converter, is a computer system or device that acts as a translator, enabling network interconnection at the transport layer. It bridges the gap between two systems using different communication protocols, data formats, languages, or even completely different architectures. Gateways can also provide filtering and security functions. Messages sent from client 110 to server 140 are forwarded to the appropriate server 140 via gateway 120. Similarly, messages sent from server 140 to client 110 are forwarded to the appropriate client 110 via gateway 120.
[0117] The communication processing method of this disclosure embodiment can be implemented on the client 110.
[0118] In this embodiment, the description will be from the perspective of a communication processing device, which can be integrated into a computer device that has a storage unit and a microprocessor and thus computing capabilities.
[0119] Please see Figure 2 , Figure 2 This is a flowchart illustrating a communication processing method provided in an embodiment of this application. The communication processing method is applied to a computer device acting as a server to implement the server's corresponding processing logic, including:
[0120] In step 201, a communication processing strategy query request sent by the client is received, the communication processing strategy query request carrying candidate storage address ciphertext.
[0121] The candidate storage address ciphertext is obtained by encrypting the target communication number on the client with the public key sent by the server, according to the target communication processing type, at least one candidate storage address in the target storage table. The candidate storage address is calculated based on the target communication number, the hash function of each target storage table, and the corresponding preset number of storage addresses.
[0122] Specifically, the server's public key is provided to the client via a plugin of the number lookup software upon initial installation or activation. This allows the client to send candidate storage addresses to the server in encrypted form, ensuring the security of address information during transmission. The server stores communication processing strategies for each collected number under different communication processing types. These types can be one or more, such as harassment blocking, advertising blocking, intermediary blocking, insurance blocking, and number tagging. The server allocates at least one storage table for each communication processing type to store the communication processing strategy for each collected number under that type. Each storage table includes multiple storage addresses, also known as hash buckets, and each address can store multiple numbers and their corresponding communication processing strategies.
[0123] Based on this, the target communication processing type is either the default communication processing type of the number lookup software or the processing type that the selected object expects to enable. The target storage table is the storage table on the server used to store each communication number under the target communication processing type and its corresponding communication processing strategy. The candidate storage address is the storage address in each target storage table that the target communication number may be stored in, calculated by the client based on the target communication number requested for communication, the hash function of each target storage table, and the corresponding preset number of storage addresses.
[0124] In some implementations, prior to receiving the communication processing policy query request sent by the client, the method further includes:
[0125] (1) Obtain the target communication number and the target communication processing strategy of the target communication number under the target communication processing type;
[0126] (2) Obtain the hash function of at least one target storage table corresponding to the target communication processing type, and the number of preset storage addresses in each target storage table;
[0127] (3) Based on the target communication number, the hash function of each target storage table and the corresponding number of preset storage addresses, determine the target storage address from the preset storage addresses corresponding to each target storage table;
[0128] (4) Store the target communication number and the corresponding target communication processing strategy in the target storage address.
[0129] Before the client sends a query request for the communication processing policy for the target communication number, the server needs to store the target communication number and the target communication processing policy for the target communication number under the target communication processing type. The specific storage method is as follows:
[0130] The server obtains the hash function of at least one target storage table corresponding to the target communication processing type, as well as the preset number of storage addresses in each target storage table (i.e., the preset number of hash buckets in each target storage table). The hash function and the preset number of storage addresses together determine the storage location of the target communication number in the target storage table, ensuring that data is reasonably distributed across the storage tables for easy subsequent fast querying and management. After determining the target storage address, the server writes the target communication number and the corresponding target communication processing strategy to the target storage address.
[0131] Therefore, by using a hash function to determine the storage location of the target communication number in the target storage table, rapid location can be achieved. During a query, it is not necessary to traverse the entire storage table; instead, the possible storage location is directly calculated based on the hash function, greatly reducing the query time. For example, in a large communication number database, without a hash function, querying the processing strategy for a specific number might require checking each record one by one, which would be very time-consuming. However, by using a hash function, the target storage address can be found within a certain time, thus quickly obtaining the target communication processing strategy.
[0132] In some implementations, determining the target storage address from the preset storage addresses corresponding to each target storage table based on the target communication number, the hash function of each target storage table, and the corresponding preset number of storage addresses includes:
[0133] (1.1) Calculate the hash value of the target communication number by using the hash function of each target storage table to obtain the first hash value of the target communication number corresponding to each target storage table;
[0134] (1.2) Perform a remainder calculation on the first hash value corresponding to each target storage table and the corresponding preset number of storage addresses to obtain the calculation remainder of each target storage table;
[0135] (1.3) Determine the calculation remainder of each target storage table as the corresponding candidate storage address to obtain the candidate storage address of each target storage table;
[0136] (1.4) Obtain the current storage amount of each candidate storage address;
[0137] (1.5) Any candidate storage address whose current storage amount has not reached the preset storage amount is determined as the target storage address for storing the target communication number and the corresponding target communication processing strategy.
[0138] For each target storage table, the target communication number is input into the hash function corresponding to that table for calculation. The pre-defined total number of addresses available for data storage in the target storage table is used to limit the output range of the hash function. The first hash value corresponding to each target storage table, and the remainder obtained by taking the pre-defined number of storage addresses, will be used as part of the candidate storage addresses.
[0139] After obtaining the remainder from the calculation, this remainder is determined as a candidate storage address for the target storage table. The server queries or counts the number of target communication numbers and corresponding target communication processing strategies already stored in each candidate storage address to obtain the current storage capacity. The current storage capacity of all candidate storage addresses is checked. If it is found that the current storage capacity of the first candidate storage address has not reached the preset storage capacity, one of these candidate storage addresses is selected as the target storage address. This ensures that the target communication numbers and corresponding target communication processing strategies can be stored in an address that has not reached its capacity limit, avoiding storage address overload, and ensuring that the data is relatively evenly distributed in the storage table.
[0140] For details, please refer to Figure 3 , Figure 3This is a storage diagram illustrating the storage of the target communication number and the corresponding target communication processing strategy provided in this application embodiment. Taking the target phone number as "+86123", and the target storage tables as target storage table 1 and target storage table 2, with a preset storage address quantity of 5 for target storage table 1 and 4 for target storage table 2 as an example: The hash function hash1() corresponding to target storage table 1 is used to calculate the hash value of "+86123", resulting in the first hash value "14" for target storage table 1. The hash function hash2() corresponding to target storage table 2 is then used to calculate the hash value of "+86123", resulting in the first hash value "2" for target storage table 2. The remainder between the first hash value "14" and the preset storage address quantity of 5 for target storage table 1 is calculated, yielding a remainder of 4. Therefore, the candidate storage address for target storage table 1 is the fourth storage address, i.e., storage address 3. Thus, storage address 3 is determined as the candidate storage address for target storage table 1. Calculate the remainder between the first hash value "2" and the preset number of storage addresses "4" corresponding to the target storage table 2. Since the remainder is 2, the second storage address for the target storage table 2 is storage address 1. Therefore, storage address 1 is determined as the candidate storage address for the target storage table 2. Because the current storage amount of the candidate storage address (i.e., storage address 3) corresponding to the target storage table 1 has reached the preset storage amount, while the current storage amount of the candidate storage address (i.e., storage address 1) corresponding to the target storage table 2 has not reached the preset storage amount, storage address 1 of the target storage table 2 is determined as the first candidate storage address. Storage address 1 of the target storage table 2 is then determined as the target storage address for storing the target communication number and the corresponding target communication processing strategy.
[0141] Therefore, by calculating the first hash value using a hash function and taking the remainder with the preset number of storage addresses, candidate storage addresses are determined. This allows for the rapid location of possible candidate storage locations for a target communication number in each target hash table. This approach avoids searching the entire storage area one by one, reducing the time and computational resources required to determine storage locations. For example, in scenarios requiring the storage of a large number of communication numbers, traditional methods require searching each location individually to determine if storage is possible, while this method can quickly narrow down the search and improve the efficiency of storage operations.
[0142] In some embodiments, the method further includes:
[0143] (1.1) When the current storage amount of each candidate storage address reaches the preset storage amount, retrieve any stored communication number and the corresponding stored communication processing strategy from any candidate storage address;
[0144] (1.2) The candidate storage address for retrieving the stored communication number and the corresponding stored communication processing strategy is determined as the target storage address.
[0145] When the server detects that all candidate storage addresses have reached their preset storage capacity, it means there are no free candidate storage addresses available to store the new target communication number and its processing strategy. At this point, the server randomly selects a stored communication number and its corresponding stored communication processing strategy from any candidate storage address. This selection can be completely random or based on certain rules, such as selecting the oldest or least recently used communication number and its processing strategy. This storage mechanism frees up space for the new target communication number. Since all candidate storage addresses are full, one stored communication number and its processing strategy need to be removed to make room for the new data. By selecting randomly or according to specific rules, the fairness and rationality of the storage system can be guaranteed to a certain extent, avoiding the problem of some data occupying storage space while new data cannot be stored.
[0146] Specifically, once a stored communication number and its processing strategy are retrieved from the candidate storage address, that candidate storage address becomes available. The server then designates this candidate storage address as the target storage address, preparing to store the new target communication number and its corresponding target communication processing strategy. This ensures that the new target communication number can be stored. When all candidate storage addresses are full, an available storage location is found in this way, ensuring the system can continue to store new data. This maintains the normal operation of the system, allowing the storage and retrieval of communication processing strategies to continue uninterrupted, without service interruption due to a full storage address.
[0147] For details, please refer to Figure 4 , Figure 4 This is another storage diagram illustrating the storage of target communication numbers and corresponding target communication processing strategies provided in this application embodiment. Again, taking the target phone number as "+86123", and target storage tables as target storage table 1 and target storage table 2, with target storage table 1 having a preset storage address count of 5 and target storage table 2 having a preset storage address count of 4, in this case, since the current storage amount of both the candidate storage address (i.e., storage address 3) and the candidate storage address (i.e., storage address 1) corresponding to target storage table 1 has reached the preset storage amount, any stored communication number and its corresponding stored communication processing strategy will be retrieved from any candidate storage address. Figure 4The stored communication number "+444" and the corresponding stored communication processing strategy are retrieved from storage address 1 corresponding to target storage table 2. After retrieving the stored communication number "+444" and the corresponding stored communication processing strategy, the target phone number "+86123" and the corresponding target communication processing strategy can be stored in storage address 1 corresponding to target storage table 2. Then, storage address 1 corresponding to target storage table 2 is determined as the target storage address.
[0148] Therefore, when all candidate storage addresses are full, retrieving stored data from one address and reassigning that address as the target storage address ensures that new target communication numbers and their processing strategies can be stored. This guarantees continuous system operation and prevents service interruption due to storage address exhaustion. This mechanism allows the system to adapt to ever-increasing data volumes; whether it's a sudden influx of new communication numbers or long-term data accumulation, the system can maintain normal storage and retrieval functions by dynamically adjusting storage locations.
[0149] In some embodiments, after storing the target communication number and the corresponding target communication processing strategy in the target storage address, the method further includes:
[0150] The retrieved and stored communication number is determined as the next target communication number to be stored, the stored communication processing strategy is determined as the target communication processing strategy corresponding to the next target communication number to be stored, and the process returns to the step of calculating the hash value of the target communication number through the hash function of each target storage table to obtain the first hash value of the target communication number corresponding to each target storage table, until there is no target communication number and corresponding target communication processing strategy.
[0151] After successfully storing the current target communication number and its corresponding target communication processing strategy into the target storage address, the system does not end the storage-related operations. Instead, it starts a loop mechanism to process the stored communication numbers and their corresponding stored communication processing strategies that have been retrieved due to the storage address being full. These are treated as new data to be stored and reprocessed until all such data to be stored has completed the corresponding storage operation, i.e., there are no more target communication numbers and their corresponding target communication processing strategies that need to be reprocessed.
[0152] For details, please refer to Figure 5 , Figure 5 This is another storage diagram illustrating the storage of the target communication number and the corresponding target communication processing strategy provided in this application embodiment. Figure 4After retrieving the stored communication number "+444" and its corresponding stored communication processing strategy from storage address 1 of target storage table 2, the stored communication number "+444" is used as the next target storage number to be stored, and its corresponding stored communication processing strategy is determined as the target communication processing strategy for the next target storage number to be stored. Similarly, using the hash function hash1() of target storage table 1 and the hash function hash2() of target storage table 2, the first hash value of the communication number "+444" in target storage table 1 is calculated to be 21 with a remainder of 1, and the first hash value in target storage table 2 is 10 with a remainder of 2. At this point, only the first storage address of target hash table 1 (i.e., storage address 0) is not full, so storage address 0 of target hash table 1 is determined as the target storage address to store the next target communication number "+444" and the next target storage number to be stored.
[0153] In this way, by re-identifying stored communication numbers and their processing strategies that were retrieved due to full storage addresses as data to be stored, and then performing storage-related operations again in a loop, it is ensured that every communication number and its corresponding processing strategy has the opportunity to find a suitable location in the storage table for storage. For example, when faced with a continuous influx of communication numbers and tight storage resources, even if some numbers are temporarily retrieved due to full storage addresses, they can still be stored eventually through loop processing, avoiding data loss and ensuring the integrity of data storage.
[0154] In some implementations, prior to receiving the communication processing policy query request sent by the client, the method further includes:
[0155] (1) Receive a credential generation request sent by the client, wherein the credential generation request includes a target communication processing type flag, the client's public key, and the client's client identifier;
[0156] (2) Store the client's public key and generate a preset number of generation credentials, with each generation credential marked as valid;
[0157] (3) Establish a mapping relationship between the client identifier and each generated credential;
[0158] (4) Based on the preset mapping relationship between the communication processing type marker and the communication processing type, determine the target communication processing type corresponding to the target communication processing type marker;
[0159] (5) Obtain the hash function of at least one target storage table corresponding to the target communication processing type, and the number of preset storage addresses in each target storage table;
[0160] (6) Send each of the credentials, the hash function of each of the target storage tables, and the corresponding number of preset storage addresses to the client.
[0161] The generation method for the client's generation credentials stored on the server is as follows:
[0162] When a client has a relevant request, it constructs a credential generation request and sends it to the server. This request contains three key pieces of information: first, a target communication processing type identifier, which identifies the type of communication processing the client expects (e.g., whether it's for blocking spam calls or alerting for important calls, presented in a specific identifier); second, the client's own public key, a crucial element for subsequent encrypted communication operations; and third, the client's client identifier, a unique client number or object account used to uniquely identify the client. Upon receiving this request, the server parses the request data packet, extracting these three pieces of information for subsequent processing.
[0163] Specifically, the server first stores the client's public key obtained from the request into a specific data structure. This data structure is typically used to manage client-related encrypted information, such as a dedicated table in a database that stores client public keys, with the client identifier as the associated field. This facilitates subsequent lookup of the corresponding public key based on the client identifier for encrypted communication and other operations. The server generates a preset number of credentials according to pre-defined rules and quantity requirements. These credentials can be understood as electronic certificates with a specific format and content, which may contain randomly generated codes, unique client-related identification information, timestamps, and other elements. Furthermore, during generation, the validity flag of each credential is initially set to "valid," meaning that these credentials can be used normally in subsequent verification processes. For example, if the preset quantity is 5, the server will generate 5 structurally complete credentials with a validity flag of "valid" using the corresponding algorithm and program logic.
[0164] Furthermore, the server creates one or more records in its own storage system (such as the relevant table structure in a relational database) to clearly define the correspondence between client identifiers and each generated credential. This can be achieved by establishing a mapping table with at least two fields: one for storing the client identifier and the other for storing the unique identifier of the generated credential (e.g., credential number). Each record represents the association between a specific client identifier and a specific generated credential. This way, when a request related to that client is received subsequently, all corresponding generated credentials can be quickly retrieved using the client identifier, facilitating credential matching and verification operations.
[0165] The server maintains an internal mapping table between communication processing type markers and their corresponding communication processing types. This table records the specific communication processing type associated with each marker. For example, the marker "001000" corresponds to harassment blocking, and "000001" corresponds to advertising blocking. When the server receives a target communication processing type marker from a client, it searches this mapping table to find a matching record, thus determining the actual target communication processing type and clarifying the specific communication processing requirement for which the client generated these credentials. The server pre-configures information about the target storage tables corresponding to different communication processing types, including the hash function used for each target storage table and the preset number of storage addresses. After determining the target communication processing type, the server searches and extracts the hash functions of the target storage tables corresponding to that type and the preset number of storage addresses for each table from configuration files or dedicated database tables storing this information. For example, if the target communication processing type is harassment interception, the server will find two possible target storage tables, and obtain the hash function (e.g., hash1(), hash2(), etc.) and the preset number of storage addresses for each table (e.g., one table presets 5 addresses, the other presets 4 addresses, etc.). The server packages each generated credential (containing all relevant information elements within it), along with the hash function and the corresponding preset number of storage addresses for each target storage table. Then, it encrypts this information using the public key previously sent by the client (ensuring information security during transmission and preventing theft or tampering), and finally sends the encrypted information back to the client via network communication. Upon receiving the information, the client decrypts it using its private key, thereby obtaining the generated credential, hash function, and preset number of storage addresses, which can then be used for subsequent operations such as querying related communication processing strategies on its own end.
[0166] In this way, by creating and generating credentials for the client, the system simultaneously sends the client the required credentials, hash function, and the number of preset storage addresses. This provides a comprehensive and necessary foundation for the client's subsequent interactions with the server related to communication processing strategies. Based on this received information, the client can accurately initiate query requests, perform data verification, and execute related operations according to an appropriate storage table structure. This ensures the continuity of the entire business process from credential generation to the actual query and application of communication processing strategies, avoiding process interruptions or errors caused by missing or mismatched information, guaranteeing the normal implementation of system functions, and improving the user experience.
[0167] In some implementations, prior to receiving the credential generation request sent by the client, the method further includes:
[0168] (1) Receive the change communication processing type sent by the client;
[0169] (2) Based on the preset mapping relationship between communication processing type and communication processing type tag, determine the target communication processing type tag corresponding to the changed communication processing type;
[0170] (3) Send the target communication processing type flag to the client.
[0171] Specifically, when an object changes the current communication processing type in the client according to its own needs, it will send the changed communication processing type to the server (for example, changing the current communication processing type from advertising promotion blocking type to harassment blocking type and number tagging type of the target communication processing type). This allows the server to determine the target communication processing type tag that has a preset mapping relationship with the changed communication processing type, and send the target communication processing type tag to the client. After receiving the target communication processing type tag sent by the server, the client can use this tag to perform subsequent operations such as initiating credential generation requests to indicate its changed communication processing type.
[0172] Specifically, since the hash function of the target hash table used by the client to determine the candidate storage address of the target communication number and the number of preset storage addresses corresponding to each target hash table are both obtained by the server during the creation and generation of credentials based on the target communication processing type flag, after the client changes the communication processing type, the server needs to return the hash function of the target hash table corresponding to the target communication processing type and the number of preset storage addresses corresponding to each target hash table to the client based on the target communication processing type flag when creating and generating credentials in the future.
[0173] Please see Figure 6 , Figure 6 This is a schematic diagram of the communication processing type setting interface in the client provided in this application embodiment. The communication processing type setting interface provided by the client displays multiple setting controls for communication processing types. The object can control the different communication processing type setting controls to customize the communication processing types that the object wishes to enable or disable, thereby allowing the client to receive the changed communication processing types set by the object.
[0174] Therefore, since the client determines the candidate storage address for the target communication number based on the hash function of the target hash table sent by the server according to the target communication processing type and the preset number of storage addresses, when the communication processing type changes, the server updates and returns the corresponding key storage-related information for the new type. This ensures that the client's stored data closely matches and is updated collaboratively with the changed communication processing type, guaranteeing the continuity and accuracy of data across different stages of the system. It avoids problems such as data mismatch and storage chaos due to type changes, maintaining stable system operation.
[0175] In step 202, the ciphertext of the candidate storage address is decrypted using the server's private key to obtain the candidate storage address corresponding to each target storage table.
[0176] The server's private key is paired with its public key to decrypt encrypted data obtained by encrypting data using the server's public key, thus retrieving the original plaintext data. Since the candidate storage address ciphertext is obtained by the client encrypting the original candidate storage address plaintext data using the server's public key, the server can decrypt the candidate storage address ciphertext using its private key. This allows the server to decrypt the ciphertext and determine the candidate storage address where the target communication number might be stored in each target storage table, ensuring that only the server with the private key can decrypt the ciphertext and guaranteeing data security.
[0177] In some implementations, the communication processing strategy query request also carries the client's client identifier and query credentials. Before decrypting the ciphertext of the candidate storage address using the server's private key to obtain the candidate storage address corresponding to each target storage table, the process further includes:
[0178] (1) Obtain multiple generation credentials that have a preset mapping relationship with the client identifier;
[0179] (2) Select the target generated voucher that matches the query voucher from the multiple generated vouchers;
[0180] (3) When the credential validity mark of the target generated credential is valid, the step of decrypting the ciphertext of the candidate storage address using the server's private key to decrypt the candidate storage address corresponding to each target storage table is executed, and the credential validity mark of the target generated credential is updated to invalid.
[0181] The client identifier may be a unique client number or object account, etc. The server records a preset mapping relationship between client identifiers and generated credentials. The server will look up all generated credentials corresponding to the received client identifier information.
[0182] For example, the server uses this identifier to search within a data structure storing predefined mapping relationships and retrieves all the generated credentials associated with it. These generated credentials were previously generated and saved for the client according to specific rules and procedures. Each generated credential has a validity flag, which records whether the generated credential has been used for subsequent verification and other operations.
[0183] Specifically, after obtaining multiple generated credentials corresponding to the client's identifier, the server compares them one by one with the received query credentials. The comparison rules may be based on the specific encoding of the credentials, key information they contain (such as timestamps), etc.
[0184] For example, if the query credential contains a specific encrypted string, the server checks if each generated credential contains a matching encrypted content; or if the query credential has a numerical identifier representing a credential sequence number, the server checks if the numerical identifier for the credential sequence number in each generated credential matches it. Through this meticulous comparison, the server finds the generated credential(s) that completely match the query credential under the set matching rules and identifies them as the target generated credential.
[0185] After identifying the target generated credential, the server first checks its credential validity flag. This flag indicates whether the credential can still be used normally; a valid flag means it can be used in the corresponding operational process. If the target generated credential's validity flag is found to be valid, the server will follow a predetermined procedure to decrypt the previously received candidate storage address ciphertext using its private key. Specifically, the decryption process utilizes the mathematical relationship between the server's private key and the public key used in the previous encryption, and through the inverse operation of a specific encryption algorithm, restores the candidate storage address ciphertext to the candidate storage address corresponding to each target storage table, thereby obtaining the corresponding storage location information.
[0186] This system employs a dual authentication mechanism by requiring the client to provide query credentials, which are then matched against generated credentials stored on the server that have a pre-defined mapping relationship with the client's identifier. Subsequent critical operations (such as decrypting the ciphertext of candidate storage addresses) are only executed when the query credentials match a valid generated credential. This significantly reduces the risk of unauthorized access to sensitive information such as storage addresses, prevents malicious attackers from arbitrarily attempting to obtain storage and processing strategies related to communication numbers, and effectively safeguards the security of communication data within the system. Updating the validity flag of the target generated credential to invalid adheres to the principle of one-time use of credentials. Even if the credential information is inadvertently leaked, attackers cannot reuse the credential to repeatedly perform critical operations such as decryption, avoiding the security risks caused by credential reuse. This further enhances the reliability of the entire communication processing flow in terms of security, making the system more resilient to potential security threats.
[0187] In step 203, each candidate number and its corresponding candidate communication processing strategy are obtained from each candidate storage address.
[0188] In this embodiment of the application, for the purpose of privacy protection, the server does not directly obtain the target communication number of the client. Instead, it decrypts the candidate storage address in each target storage table through step 202 to find the candidate storage address where the target communication number may be stored. Therefore, the server needs to obtain each candidate number and the corresponding candidate communication processing strategy from each candidate storage address and send each candidate number and the corresponding candidate communication processing strategy to the client. The client then queries the target communication processing strategy corresponding to the target communication number. Thus, the server searches for the corresponding storage location in the target storage table based on the decrypted candidate storage address and obtains each candidate number and the corresponding candidate communication processing strategy from it.
[0189] In step 204, each candidate number and its corresponding candidate communication processing strategy are encrypted using the public key sent by the client to obtain the ciphertext of the candidate communication processing strategy for each candidate number and its corresponding candidate communication processing strategy.
[0190] Since the candidate numbers include other communication numbers besides the target communication number and their corresponding communication processing strategies, in order to avoid the leakage of this data, when the server sends the candidate numbers and their corresponding candidate communication processing strategies to the client, it is also necessary to encrypt the candidate numbers and their corresponding candidate communication processing strategies using the public key sent by the client, so as to obtain the ciphertext of the candidate communication processing strategies that can only be decrypted using the client's private key.
[0191] In step 205, the candidate communication processing strategy ciphertext is sent to the client so that the client can decrypt the candidate communication processing strategy ciphertext using the client's private key, so as to match the target communication processing strategy corresponding to the target communication number from each candidate number and the corresponding candidate communication processing strategy, and process the target communication number according to the target communication processing strategy.
[0192] The client decrypts the received candidate communication processing strategy ciphertext using its private key, obtaining each candidate number and its corresponding candidate communication processing strategy. Since these candidate numbers are stored at the candidate storage addresses where the target communication number might be stored in each target storage table, there must be a candidate number that matches the target communication number. Therefore, the target communication number's corresponding target communication strategy is matched from these candidate numbers, and the target communication number is processed according to the target communication processing strategy.
[0193] For example, if the target communication processing type is insurance interception, the target communication number is "12345678", and the candidate number decrypted by the client is "11111111", the corresponding insurance interception policy is "not intercepted". The insurance interception policy for candidate number "12345678" is "intercepted", and the insurance interception policy for candidate number "22222222" is also "intercepted". Since the candidate number "12345678" matches the target communication number "12345678", the insurance interception policy "intercept" corresponding to the candidate number "12345678" is determined as the target communication processing policy, and thus the client intercepts the target communication number "12345678".
[0194] In some implementations, before sending the candidate communication processing policy ciphertext to the client, the method further includes:
[0195] (1) Obtain multiple ciphertexts of storage addresses received within a preset time period, and decrypt the ciphertexts of storage addresses to obtain multiple storage addresses;
[0196] When a preset number of storage addresses match the candidate storage address among multiple storage addresses, the public key sent by the client is used to encrypt each candidate number and its corresponding candidate communication processing strategy to obtain the ciphertext of the candidate communication processing strategy for each candidate number and its corresponding candidate communication processing strategy, including:
[0197] (2) The preset prompt information, each candidate number and the corresponding candidate communication processing strategy are encrypted using the public key sent by the client to obtain the candidate communication processing strategy ciphertext of each candidate number and the corresponding candidate communication processing strategy. The preset prompt information is used to prompt that the target communication number is abnormal.
[0198] The server is configured with a specific preset time period, the length of which is predetermined based on the system's actual needs and security policies; for example, it could be 10 minutes or 1 hour. Within this time period, the server continuously collects all received encrypted storage addresses. These encrypted storage addresses contain information carried in communication processing policy query requests initiated by different clients and / or the same client. The server uses its private key and a corresponding decryption algorithm to decrypt each collected encrypted storage address.
[0199] Specifically, after obtaining multiple decrypted storage addresses, each one is compared with the candidate storage address corresponding to the currently being processed target communication number. Simultaneously, the system pre-sets a threshold number to determine if the target communication number is abnormal. When the comparison process finds that a preset number of storage addresses match the current candidate storage addresses, it is determined that the target communication number has initiated frequent communication requests to different clients and / or the same client within a preset time period. Therefore, it can be concluded that the target communication number may be engaging in random harassment dialing through random dialing software, and thus the target communication number is deemed abnormal.
[0200] When sending the encrypted candidate communication processing strategy to the client, the server prepares a preset prompt message. This message explicitly indicates to the client that the target communication number is abnormal; for example, it could be text such as "This number has recently been frequently accessing the network." The server uses the public key previously sent by the client and an appropriate encryption algorithm to encrypt this preset prompt message, along with each currently acquired candidate number and its corresponding candidate communication processing strategy. This ensures that after decrypting the encrypted candidate communication processing strategy, the client receives the preset prompt message, effectively indicating that the target communication number is abnormal.
[0201] Therefore, by setting a preset time period, the system collects and compares the decrypted storage addresses of the stored addresses, enabling it to detect whether a target communication number is experiencing abnormally frequent communication access. When a preset number of identical storage addresses are found, it indicates that the number may be subjected to abnormal behavior such as random harassment dialing initiated by random dialing software. The system promptly sends encrypted candidate communication handling strategies containing abnormality alerts to the client, allowing the client to be aware of potential risks in advance and take appropriate preventative measures.
[0202] As described above, this embodiment of the application receives a communication processing strategy query request sent by a client. The communication processing strategy query request carries ciphertext of candidate storage addresses. The ciphertext of candidate storage addresses is obtained by encrypting candidate storage addresses in at least one target storage table corresponding to the target communication processing type using a public key sent by the server. The candidate storage addresses are calculated based on the target communication number, the hash function of each target storage table, and the corresponding preset number of storage addresses. The ciphertext of candidate storage addresses is decrypted using the server's private key to obtain the candidate storage address corresponding to each target storage table. Each candidate number and its corresponding candidate communication processing strategy are obtained from the candidate storage address; each candidate number and its corresponding candidate communication processing strategy are encrypted using the public key sent by the client to obtain the ciphertext of the candidate communication processing strategy for each candidate number and its corresponding candidate communication processing strategy; the ciphertext of the candidate communication processing strategy is sent to the client so that the client can decrypt the ciphertext of the candidate communication processing strategy using its private key, so as to match the target communication processing strategy corresponding to the target communication number from the decrypted candidate number and its corresponding candidate communication processing strategy, and process the target communication number according to the target communication processing strategy.
[0203] Therefore, when the client detects a requesting communication number, it sends the encrypted candidate storage address corresponding to the candidate storage address that the communication number may be stored in the database to the server. The server then decrypts the candidate communication number stored in each candidate storage address using its private key, encrypts the candidate communication number and the corresponding candidate communication processing strategy stored in each candidate storage address using the client's public key, and returns the encrypted candidate communication processing strategy ciphertext to the client. The client can then decrypt the ciphertext and match the communication number and the corresponding communication processing strategy. Compared with related technologies where the communication processing strategy is entirely determined by the client based on the stored number database, this application provides a method for obtaining communication processing strategies that does not require frequent distribution of the number database to the client, reducing network resource consumption and avoiding the problem of the client being unable to process unknown communication numbers due to the client's failure to update the number database in a timely manner. At the same time, the use of ciphertext for interactive transmission ensures information security.
[0204] Please see Figure 7 , Figure 7 Another flowchart illustrating the communication processing method provided in this application embodiment. This communication processing method is applied to a computer device acting as a client to implement the client's corresponding processing logic, including:
[0205] In step 301, the target communication number for the requested communication is obtained.
[0206] When the client's communication management software detects an incoming call, the system will automatically extract the incoming call number as the target call number.
[0207] In step 302, candidate storage addresses for each target storage table are determined based on the target communication number, the hash function of each target storage table for the target communication processing type, and the number of preset storage addresses corresponding to each target storage table.
[0208] The target communication processing type is either the default communication processing type of the number lookup software or the processing type that the selected object expects to enable. The target storage table is a dedicated storage table on the server used to store each communication number under the target communication processing type and its corresponding communication processing strategy. The preset number of storage addresses is the number of storage addresses pre-set in each target storage table (i.e., the preset number of hash buckets in the target storage table).
[0209] Specifically, the client calculates the possible storage address of the target communication number in each target storage table based on the target communication number requested, the hash function of each target storage table, and the corresponding preset number of storage addresses. This storage address is the candidate storage address.
[0210] In some implementations, determining the candidate storage address for each target storage table based on the target communication number, the hash function of each target storage table for the target communication processing type, and the preset number of storage addresses corresponding to each target storage table includes:
[0211] (1) Calculate the hash value of the target communication number by using the hash function of each target storage table of the target communication processing type, and obtain the second hash value of the target communication number corresponding to each target storage table;
[0212] (2) Perform a remainder calculation on the second hash value corresponding to each target storage table and the corresponding preset number of storage addresses to obtain the remainder of each target storage table;
[0213] (3) The remainder of each target storage table is determined as the corresponding candidate storage address.
[0214] For each target storage table's hash function, the client passes the target communication number as an input parameter. For example, assuming there are target storage table 1 and target storage table 2, with corresponding hash functions hash1() and hash2() respectively, and the target communication number is "+1234567890", the client will perform the following calculations:
[0215] The "+1234567890" is passed into the hash1() function, which calculates a value using the mathematical operation logic set inside the function. Let's say this value is 12. This 12 is the second hash value of the target communication number "+1234567890" corresponding to the target storage table 1.
[0216] Similarly, passing "+1234567890" into the hash2() function will produce another value, such as 2. This 2 is the second hash value of the target communication number corresponding to target storage table 2. By performing this calculation using a hash function for each target storage table, the client can obtain the second hash value of the target communication number for each target storage table.
[0217] Specifically, after obtaining the second hash value corresponding to each target storage table for the target communication number, the client also needs to perform a modulo operation between the second hash value corresponding to each target storage table and the corresponding preset number of storage addresses.
[0218] Taking target storage table 1 as an example, assuming that its preset number of storage addresses is 10, and the second hash value corresponding to target storage table 1 is calculated to be 12, then 12 is divided by 10 and the remainder is taken. The remainder is 2, and this 2 is the calculation remainder of target storage table 1.
[0219] For target storage table 2, if its preset number of storage addresses is 4, the corresponding second hash value is 2. Performing the remainder calculation 2%4, the remainder obtained is 2. This 2 is the remainder of target storage table 2.
[0220] The client performs a modulo operation on the second hash value and the number of preset storage addresses corresponding to each target storage table in this manner, thereby obtaining the remainder for each target storage table.
[0221] After obtaining the remainders for each target storage table through the preceding modulo calculations, the client directly uses these remainders as candidate storage addresses for the corresponding target storage tables.
[0222] For example, if the remainder obtained from the previous calculation is 2 for target storage table 1, then the candidate storage address for target storage table 1 is determined to be the second storage address; if the remainder obtained from the calculation is 2 for target storage table 2, then the candidate storage address for target storage table 2 is determined to be the second storage address.
[0223] In this way, for each target storage table, the client determines the corresponding candidate storage address. Subsequently, it can send relevant information to the server based on these candidate storage addresses and further obtain the corresponding communication processing strategy and other information, which can be used to perform corresponding processing operations on the target communication number.
[0224] Therefore, by using a hash function to calculate the target communication number and combining it with a modulo operation to determine the candidate storage address, the client can quickly narrow down the range of possible communication processing strategies in the target storage table. This greatly reduces the time and computational resources required for queries and improves overall data query efficiency.
[0225] In step 303, each candidate storage address is encrypted using the public key sent by the server to obtain the ciphertext of the candidate storage address.
[0226] The client obtains the public key previously sent by the server (this key is sent to the client via a plugin of the number lookup software upon initial installation or activation). Using this public key and the corresponding encryption algorithm, the client encrypts each selected candidate storage address. The encryption process transforms the information of the candidate storage address according to the mathematical operation rules defined by the encryption algorithm, ultimately generating ciphertext of the candidate storage address that cannot be directly recognized. This ensures the security of the candidate storage address information during transmission, preventing it from being stolen or tampered with by third parties.
[0227] In step 304, a communication processing strategy query request is sent to the server. The communication processing strategy query request carries the ciphertext of the candidate storage address, so that the server can decrypt the ciphertext of the candidate storage address using the server's private key, decrypt the candidate storage address corresponding to each target storage table, generate the candidate communication processing strategy ciphertext based on the candidate number stored in the candidate storage address and the corresponding candidate communication processing strategy, and return it to the client.
[0228] The client encapsulates the candidate storage address ciphertext into a communication processing policy query request and sends it to the server. Upon receiving the request, the server first decrypts the candidate storage address ciphertext in the request using its own private key (which matches the public key previously sent to the client), reconstructing the candidate storage address corresponding to each target storage table. Then, the server retrieves the stored candidate numbers and corresponding candidate communication processing policies from these candidate storage addresses. Next, it encrypts these candidate numbers and policies using the client's public key (which the server also stores), generating ciphertext for the candidate communication processing policy. Finally, the ciphertext is returned to the client via the network.
[0229] In some implementations, sending a communication processing policy query request to the server includes:
[0230] (1) Obtain the generation certificate sent by the server;
[0231] (2) Determine any generated voucher whose voucher usage status is unused in each of the generated vouchers as a query voucher;
[0232] (3) Send a communication processing policy query request to the server, the communication processing policy query request carrying the candidate storage address ciphertext, the query credential and the client identifier of the client;
[0233] (4) Determine the usage status of the query voucher as "used".
[0234] The server generates a preset number of credentials for the client and sends these credentials to the client. The client receives and stores these credentials from the server so that it can retrieve and use them later when it needs to initiate a communication processing policy query request to the server. When preparing to initiate a communication processing policy query request, the client iterates through all the previously saved credentials and checks the credential usage status information attached to each credential. This credential usage status indicates whether the credential has been used. Initially, the credentials sent by the server are generally set to unused. The client checks these usage status indicators one by one and selects one from all the unused credentials as the query credential to be used in this communication processing policy query request.
[0235] For example, if the client saves 5 generated vouchers, labeled as Generated Voucher 1, Generated Voucher 2, Generated Voucher 3, Generated Voucher 4, and Generated Voucher 5, and Generated Voucher 1, Generated Voucher 3, and Generated Voucher 5 are in an unused state, then the client can randomly select one of these three generated vouchers (e.g., Generated Voucher 3) as the query voucher to be used for this query.
[0236] Specifically, after determining the query credentials, the client begins constructing a communication processing strategy query request. This request is constructed according to the communication protocol format agreed upon between the server and the client. First, the client adds the ciphertext of the candidate storage address, which has been calculated and encrypted, to the request. This ciphertext allows the server to decrypt and obtain the candidate storage address corresponding to the target storage table, thereby finding the relevant communication processing strategy. Next, the selected query credentials are also included in the request. Upon receiving the request, the server performs verification and other related operations based on these credentials to determine the legitimacy and validity of the client's request. Simultaneously, the client's own client identifier (such as client number, object account, or other unique information identifying the client) is also added to the request so that the server can identify which client initiated the request, facilitating subsequent targeted processing and associating with relevant storage information. Finally, the client sends the constructed communication processing strategy query request, containing the ciphertext of the candidate storage address, the query credentials, and the client identifier, to the server through a network communication channel (such as a connection established based on common network protocols like TCP / IP), and awaits the server's response.
[0237] Finally, after the client successfully sends a communication processing policy query request to the server, in order to adhere to the principle of one-time use of credentials, avoid the reuse of the query credential, enhance system security, and prevent the unauthorized multiple use of the same credential to obtain information, the client will immediately update the credential usage status of the query credential stored locally.
[0238] Therefore, by requiring clients to include query credentials when sending communication processing policy query requests, the server can verify the client's request based on these credentials to determine its legitimacy and validity. This effectively prevents unauthorized clients or attempts to access the server, and avoids sending false requests to obtain communication processing policies and other information, thus enhancing the overall security of the system. Furthermore, after successfully sending a request, the client updates the usage status of the query credentials to "used," adhering to the principle of one-time use of credentials and avoiding the reuse of credentials to initiate further requests. This prevents the security risks associated with malicious credential reuse, ensures the confidentiality and integrity of data within the system, and safeguards the communication information security of legitimate entities.
[0239] In step 305, the candidate communication processing strategy ciphertext is received, and the candidate communication processing strategy ciphertext is decrypted using the client's private key to decrypt each candidate number and its corresponding candidate communication processing strategy.
[0240] After receiving the ciphertext of the candidate communication processing strategy returned by the server, the client uses its own private key (which is stored in the client and corresponds to the public key previously sent to the server) to decrypt the ciphertext according to the corresponding decryption algorithm (the inverse operation corresponding to the encryption algorithm). The ciphertext is restored to the original candidate number and the corresponding candidate communication processing strategy information, so that the client can obtain this content and prepare for subsequent matching of the target communication processing strategy.
[0241] In step 306, the target communication processing strategy corresponding to the target communication number is matched from each candidate number and its corresponding candidate communication processing strategy, and the target communication number is processed according to the target communication processing strategy.
[0242] The client compares all decrypted candidate numbers with the current target communication number. This comparison can be a direct match of the number itself, or a match based on partial characteristics or relevant identifiers. Once a candidate number matching the target communication number is found, the corresponding candidate communication processing strategy is extracted and designated as the target communication processing strategy. The client then executes the appropriate operations based on this target communication processing strategy.
[0243] For example, if the target communication processing type is insurance interception, the target communication number is "+12345678", the candidate number decrypted by the client is "+11111111", with a corresponding insurance interception policy of "not intercepting"; the candidate number is "+12345678", with a corresponding insurance interception policy of "intercepting"; and the candidate number is "+22222222", with a corresponding insurance interception policy of "intercepting". Since the candidate number "12345678" matches the target communication number "+12345678", the insurance interception policy "intercepting" corresponding to the candidate number "+12345678" is determined as the target communication processing policy, and thus the client intercepts the target communication number "+12345678".
[0244] Therefore, on the client side, the hash function of the target storage table corresponding to the target communication processing type and the preset number of storage addresses are used to determine each candidate storage address in the server where the target communication number may be stored. Each candidate storage address is encrypted using the server's public key, and the encrypted candidate storage address ciphertext is sent to the server. The server then decrypts the candidate storage address ciphertext using its own private key to obtain the candidate number and corresponding candidate communication processing strategy stored in each candidate storage address. The server then returns the encrypted candidate communication processing strategy ciphertext obtained by encrypting the candidate number and corresponding candidate communication processing strategy to the client, allowing the client to decrypt the candidate communication processing strategy ciphertext using its own private key to match the target communication number and corresponding target communication processing strategy. This eliminates the need for the client to frequently update the number database, reducing network resource consumption and avoiding the problem of the client being unable to process unknown communication numbers due to the client's failure to update the number database in a timely manner. At the same time, the use of ciphertext for interactive transmission ensures information security.
[0245] Furthermore, regarding the iPhone Operating System (iOS), due to the closed nature of iOS, applications running on iOS cannot detect whether a client has requested communication via a specific number, nor can they know the exact number. To address this, in this embodiment, when the server receives a communication processing strategy query request from the client, it assumes a communication number is requesting communication with the client. The client only calculates all possible candidate storage addresses where the target communication number might be stored on the server, without sending the specific number. The server then returns the candidate numbers and corresponding candidate communication processing strategies stored in these addresses to the client, allowing the iOS system to automatically match the target communication number and corresponding strategy based on the specific number known only to itself. This achieves the function of querying communication processing strategies for specific communication numbers without compromising the confidentiality of the iOS system for applications.
[0246] For details, please refer to Figure 8 , Figure 8 This is a schematic diagram illustrating the signaling interaction between the number database server, the number query software server, and the client provided in an embodiment of this application.
[0247] In this embodiment, the server is split into a number database server dedicated to storing numbers and corresponding communication processing strategies, a backend server dedicated to processing number query services, and a client. The client includes the client's native system (e.g., Android or iOS), a plugin for the number query software that runs on the client when it is installed, and the client's main project. The main project typically refers to the main project containing the core application code, resources, and configuration files. It forms the foundational framework for the application, integrating various functional modules, such as view controller code related to interface display (managing the layout and interaction logic of each page), business logic processing code (such as handling object login and registration, data acquisition and processing), a network request module for interacting with the server (responsible for sending requests to the server and receiving responses), and various resource files such as images and audio, as well as configuration files for configuring application-related attributes (such as application name, version number, supported device types, etc.).
[0248] When there is only one number database server, it is used to store each number collected under each communication processing type and the corresponding communication processing strategy. When there are multiple number database servers, different number database servers are used to store each number collected under different communication processing types and the corresponding communication processing strategies. That is, one number database server stores each number collected under one communication processing type and the corresponding communication processing strategy.
[0249] Specifically, the number collection and storage process runs on a single end of the number database server. The number database server obtains the target number and the corresponding target communication processing strategy under the target communication processing type. Based on the hash function of the target storage table corresponding to the target communication processing type and the corresponding preset number of storage addresses, the target storage address of the target communication number is determined, so that the target number and the corresponding target communication processing strategy are stored in the target storage address for subsequent number retrieval.
[0250] The credential generation process occurs between the number lookup software server and the client. When the client first installs or enables the number lookup function, the plugin for the number lookup software installed on the client sends the default target communication processing type flag, the number lookup software server address, and the server's public key to the client's system. The client's system stores the server's public key and encapsulates the target communication processing type flag, the client's public key, and the client identifier into a credential generation request. This request is then sent to the server according to the number lookup software server address. The server generates a preset number of credentials for the client based on the credential generation request, forwards the client's public key to the number database server, and returns the hash function of the target storage table corresponding to the default target communication processing type and the corresponding preset number of storage addresses to the client's system.
[0251] The number processing flow involves interaction between three devices: the number database server, the number query software server, and the client. When the client system detects a communication request from a target number, it determines the candidate storage address ciphertext based on the hash function of the target storage table corresponding to the previously received default target communication processing type, the number of corresponding preset storage addresses, and the target communication number. This ciphertext is then encapsulated into a query request and sent to the number query software server. The number query software server forwards the received query request to the number database server, which decrypts and queries the database to obtain the candidate number and corresponding candidate communication processing strategy stored in each candidate storage address. This ciphertext is then encrypted into a candidate communication processing strategy ciphertext and sent to the number query software server. The number query software server forwards this request to the client, allowing the client to decrypt the candidate communication processing strategy ciphertext to match the target number and the corresponding target communication processing strategy, and then process the request according to the target communication processing strategy.
[0252] For details, please refer to Figure 9 , Figure 9 This is a schematic diagram illustrating another signaling interaction between the number database server, the number query software server, and the client provided in the embodiments of this application.
[0253] When an object manually changes its current communication processing type, the client's main application responds to the event and requests the target communication processing type flag corresponding to the changed communication processing type from the number lookup software server. The number lookup software server returns the target communication processing type flag to the client's main application. To enable the client's system to obtain the new target communication processing type flag, the main application writes the target communication processing type flag to refresh the plugin, causing the plugin to send the new target communication processing type flag, the number lookup software server address, and the server's public key to the client's system. The client's system repackages a credential generation request so that the number database server stores the client's public key and returns the preset number of generated credentials, the hash function of the target storage table, and the corresponding preset number of storage addresses to the client's system for subsequent communication processing strategy queries.
[0254] For details on the implementation of each of the above steps, please refer to the previous examples, which will not be repeated here.
[0255] To facilitate better implementation of the communication processing method provided in the embodiments of this application, the embodiments of this application also provide an apparatus based on the above-described communication processing method. The meanings of the terms used are the same as in the above-described communication processing method, and specific implementation details can be found in the descriptions in the method embodiments.
[0256] Please see Figure 10 , Figure 10 This is a schematic diagram of the structure of a communication processing device provided in an embodiment of this application. The communication processing device is applied to a computer device serving as a server. The communication processing device may include a receiving unit 401, a first decryption unit 402, an acquisition unit 403, a first encryption unit 404, and a first sending unit 405, etc.
[0257] The receiving unit 401 is used to receive a communication processing strategy query request sent by the client, wherein the communication processing strategy query request carries candidate storage address ciphertext.
[0258] The candidate storage address ciphertext is obtained by encrypting the target communication number on the client with the public key sent by the server, according to the candidate storage address in at least one target storage table corresponding to the target communication processing type. The candidate storage address is calculated based on the target communication number, the hash function of each target storage table, and the corresponding preset number of storage addresses.
[0259] The first decryption unit 402 is used to decrypt the ciphertext of the candidate storage address using the server's private key, thereby decrypting the candidate storage address corresponding to each target storage table.
[0260] The acquisition unit 403 is used to acquire each candidate number and the corresponding candidate communication processing strategy from each candidate storage address;
[0261] The first encryption unit 404 is used to encrypt each candidate number and the corresponding candidate communication processing strategy using the public key sent by the client, so as to obtain the candidate communication processing strategy ciphertext of each candidate number and the corresponding candidate communication processing strategy.
[0262] The first sending unit 405 is used to send the candidate communication processing strategy ciphertext to the client, so that the client can decrypt the candidate communication processing strategy ciphertext using the client's private key, so as to match the target communication processing strategy corresponding to the target communication number from each candidate number and the corresponding candidate communication processing strategy, and process the target communication number according to the target communication processing strategy.
[0263] In some embodiments, the apparatus further includes:
[0264] The second acquisition unit is used to acquire the target communication number and the target communication processing strategy of the target communication number under the target communication processing type.
[0265] The third acquisition unit is used to acquire the hash function of at least one target storage table corresponding to the target communication processing type, and the number of preset storage addresses in each target storage table;
[0266] The second determining unit is used to determine the target storage address from the preset storage addresses corresponding to each target storage table based on the target communication number, the hash function of each target storage table, and the corresponding preset storage address quantity.
[0267] The first storage unit is used to store the target communication number and the corresponding target communication processing strategy into the target storage address.
[0268] In some embodiments, the second determining unit is configured to:
[0269] The target communication number is hashed using the hash function of each target storage table to obtain the first hash value of the target communication number corresponding to each target storage table;
[0270] The remainder of each target storage table is obtained by performing a modulo operation between the first hash value corresponding to each target storage table and the corresponding preset number of storage addresses.
[0271] The remainder of the calculation for each target storage table is determined as the corresponding candidate storage address, thus obtaining the candidate storage address for each target storage table;
[0272] Obtain the current storage amount for each of the candidate storage addresses;
[0273] Any candidate storage address whose current storage volume has not reached the preset storage volume is determined as the target storage address for storing the target communication number and the corresponding target communication processing strategy.
[0274] In some embodiments, the second determining unit is further configured to:
[0275] When the current storage amount of each candidate storage address reaches the preset storage amount, retrieve any stored communication number and the corresponding stored communication processing strategy from any candidate storage address.
[0276] The candidate storage address for retrieving the stored communication number and the corresponding stored communication processing strategy is determined as the target storage address.
[0277] In some embodiments, the communication processing policy query request further carries the client's client identifier and query credentials, and the apparatus further includes:
[0278] The fourth acquisition unit is used to acquire multiple generation credentials that have a preset mapping relationship with the client identifier;
[0279] A filtering unit is used to filter out a target generated voucher that matches the query voucher from a plurality of generated vouchers;
[0280] The execution unit is configured to, when the credential validity flag of the target generated credential is valid, execute the step of decrypting the ciphertext of the candidate storage address using the server's private key to decrypt the candidate storage address corresponding to each target storage table, and update the credential validity flag of the target generated credential to invalid.
[0281] In some embodiments, the apparatus further includes:
[0282] The second receiving unit is used to receive a credential generation request sent by the client. The credential generation request includes a target communication processing type flag, the client's public key, and the client's client identifier.
[0283] The second storage unit is used to store the client's public key and generate a preset number of generation credentials, with each generation credential marked as valid.
[0284] An establishment unit is used to establish a mapping relationship between the client identifier and each of the generated credentials;
[0285] The third determining unit is used to determine the target communication processing type corresponding to the target communication processing type tag based on a preset mapping relationship between the communication processing type tag and the communication processing type.
[0286] The fifth acquisition unit is used to acquire the hash function of at least one target storage table corresponding to the target communication processing type, and the number of preset storage addresses in each target storage table;
[0287] The third sending unit is used to send each of the credentials, the hash function of each of the target storage tables, and the corresponding number of preset storage addresses to the client.
[0288] In some embodiments, the apparatus further includes:
[0289] The third receiving unit is used to receive the change communication processing type sent by the client;
[0290] The fourth determining unit is used to determine the target communication processing type marker corresponding to the changed communication processing type based on a preset mapping relationship between the communication processing type and the communication processing type marker.
[0291] The fourth sending unit is used to send the target communication processing type flag to the client.
[0292] In some embodiments, the apparatus further includes:
[0293] The sixth acquisition unit is used to acquire multiple ciphertexts of storage addresses received within a preset time period, and to decrypt the ciphertexts of storage addresses to obtain multiple storage addresses;
[0294] When a predetermined number of storage addresses among multiple storage addresses are identical to the candidate storage address, the first encryption unit is configured to:
[0295] The preset prompt information, each candidate number, and the corresponding candidate communication processing strategy are encrypted using the public key sent by the client to obtain the candidate communication processing strategy ciphertext for each candidate number and the corresponding candidate communication processing strategy. The preset prompt information is used to indicate that the target communication number is abnormal.
[0296] As described above, in this embodiment, the receiving unit 401 receives a communication processing strategy query request sent by the client. The communication processing strategy query request carries candidate storage address ciphertext. The candidate storage address ciphertext is obtained by encrypting candidate storage addresses in at least one target storage table corresponding to the target communication processing type using the public key sent by the server. The candidate storage addresses are calculated based on the target communication number, the hash function of each target storage table, and the corresponding preset number of storage addresses. The first decryption unit 402 decrypts the candidate storage address ciphertext using the server's private key to decrypt the candidate storage address corresponding to each target storage table. The acquisition unit 403 obtains from... Each candidate number and its corresponding candidate communication processing strategy are obtained from each candidate storage address; the first encryption unit 404 encrypts each candidate number and its corresponding candidate communication processing strategy using the public key sent by the client to obtain the candidate communication processing strategy ciphertext for each candidate number and its corresponding candidate communication processing strategy; the first sending unit 405 sends the candidate communication processing strategy ciphertext to the client so that the client can decrypt the candidate communication processing strategy ciphertext using its private key, so as to match the target communication processing strategy corresponding to the target communication number from the decrypted candidate number and its corresponding candidate communication processing strategy, and process the target communication number according to the target communication processing strategy.
[0297] Therefore, when the client detects a requesting communication number, it sends the encrypted candidate storage address corresponding to the candidate storage address that the communication number may be stored in the database to the server. The server then decrypts the candidate communication number stored in each candidate storage address using its private key, encrypts the candidate communication number and the corresponding candidate communication processing strategy stored in each candidate storage address using the client's public key, and returns the encrypted candidate communication processing strategy ciphertext to the client. The client can then decrypt the ciphertext and match the communication number and the corresponding communication processing strategy. Compared with related technologies where the communication processing strategy is entirely determined by the client based on the stored number database, this application provides a method for obtaining communication processing strategies that does not require frequent distribution of the number database to the client, reducing network resource consumption and avoiding the problem of the client being unable to process unknown communication numbers due to the client's failure to update the number database in a timely manner. At the same time, the use of ciphertext for interactive transmission ensures information security.
[0298] Please see Figure 11 , Figure 11This is another schematic diagram of the communication processing apparatus provided in an embodiment of this application. The communication processing apparatus is applied to a computer device acting as a client. The communication processing apparatus may include an acquisition unit 501, a determination unit 502, a second encryption unit 503, a second sending unit 504, a second decryption unit 505, and a matching unit 506, etc.
[0299] Acquisition unit 501 is used to acquire the target communication number for the requested communication;
[0300] The determining unit 502 is used to determine the candidate storage address of each target storage table based on the target communication number, the hash function of each target storage table of the target communication processing type, and the number of preset storage addresses corresponding to each target storage table.
[0301] The second encryption unit 503 is used to encrypt each of the candidate storage addresses using the public key sent by the server to obtain the candidate storage address ciphertext.
[0302] The second sending unit 504 is used to send a communication processing strategy query request to the server. The communication processing strategy query request carries the candidate storage address ciphertext, so that the server can decrypt the candidate storage address ciphertext using the server's private key, decrypt the candidate storage address corresponding to each target storage table, generate candidate communication processing strategy ciphertext according to the candidate number stored in the candidate storage address and the corresponding candidate communication processing strategy, and return it to the client.
[0303] The second decryption unit 505 is used to receive the candidate communication processing strategy ciphertext, and decrypt the candidate communication processing strategy ciphertext using the client's private key to decrypt each candidate number and the corresponding candidate communication processing strategy.
[0304] The matching unit 506 is used to match the target communication processing strategy corresponding to the target communication number from each candidate number and the corresponding candidate communication processing strategy, and process the target communication number according to the target communication processing strategy.
[0305] In some embodiments, the determining unit 502 is configured to:
[0306] The hash value of the target communication number is calculated by using the hash function of each target storage table of the target communication processing type, and the second hash value of the target communication number corresponding to each target storage table is obtained.
[0307] The remainder of each target storage table is obtained by performing a modulo operation between the second hash value corresponding to each target storage table and the corresponding preset number of storage addresses.
[0308] The remainder of each target storage table is used to determine the corresponding candidate storage address.
[0309] In some embodiments, the second transmitting unit 504 is configured to:
[0310] Obtain the generation certificate sent by the server;
[0311] Each generated voucher whose voucher usage status is unused is identified as a query voucher.
[0312] Send a communication processing policy query request to the server. The communication processing policy query request carries the candidate storage address ciphertext, the query credential, and the client identifier of the client.
[0313] The usage status of the query voucher is determined to be "used".
[0314] The specific implementation of each of the above units can be found in the previous embodiments, and will not be repeated here.
[0315] As described above, in this embodiment, the acquisition unit 501 acquires the target communication number for the requested communication; the determination unit 502 determines the candidate storage address for each target storage table based on the target communication number, the hash function of each target storage table of the target communication processing type, and the preset number of storage addresses corresponding to each target storage table; the second encryption unit 503 encrypts each candidate storage address using the public key sent by the server to obtain the candidate storage address ciphertext; and the second sending unit 504 sends a communication processing strategy query request to the server, the communication processing strategy query request carrying the candidate storage address ciphertext, so that the server can use the server's private key to encrypt the candidate storage address. The storage address ciphertext is decrypted to obtain the candidate storage address corresponding to each target storage table. Based on the candidate number stored in the candidate storage address and the corresponding candidate communication processing strategy, a candidate communication processing strategy ciphertext is generated and returned to the client. The second decryption unit 505 receives the candidate communication processing strategy ciphertext and decrypts it using the client's private key to obtain each candidate number and its corresponding candidate communication processing strategy. The matching unit 506 matches the target communication processing strategy corresponding to the target communication number from each candidate number and its corresponding candidate communication processing strategy, and processes the target communication number according to the target communication processing strategy.
[0316] Therefore, on the client side, the hash function of the target storage table corresponding to the target communication processing type and the preset number of storage addresses are used to determine each candidate storage address in the server where the target communication number may be stored. Each candidate storage address is encrypted using the server's public key, and the encrypted candidate storage address ciphertext is sent to the server. The server then decrypts the candidate storage address ciphertext using its own private key to obtain the candidate number and corresponding candidate communication processing strategy stored in each candidate storage address. The server then returns the encrypted candidate communication processing strategy ciphertext obtained by encrypting the candidate number and corresponding candidate communication processing strategy to the client, allowing the client to decrypt the candidate communication processing strategy ciphertext using its own private key to match the target communication number and corresponding target communication processing strategy. This eliminates the need for the client to frequently update the number database, reducing network resource consumption and avoiding the problem of the client being unable to process unknown communication numbers due to the client's failure to update the number database in a timely manner. At the same time, the use of ciphertext for interactive transmission ensures information security.
[0317] The specific implementation of each of the above units can be found in the previous embodiments, and will not be repeated here.
[0318] Reference Figure 12 , Figure 12 This is a partial structural block diagram of a computer device 1000 implementing embodiments of the present disclosure. The computer device 1000 can vary significantly due to different configurations or performance characteristics, and may include one or more central processing units (CPUs) 622 (e.g., one or more processors) and a memory 632, and one or more storage media 630 (e.g., one or more mass storage devices) storing application programs 642 or data 644. The memory 632 and storage media 630 may be temporary or persistent storage. The program stored in the storage media 630 may include one or more modules (not shown in the diagram), each module including a series of instruction operations on the computer device 600. Furthermore, the central processing unit 622 may be configured to communicate with the storage media 630 and execute the series of instruction operations in the storage media 630 on the computer device 600.
[0319] Computer device 1000 may also include one or more power supplies 626, one or more wired or wireless network interfaces 650, one or more input / output interfaces 658, and / or one or more operating systems 641, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.
[0320] When the computer device 1000 is used as a server, the central processing unit 622 in the computer device 1000 can be used to execute the communication processing method of the embodiments of this disclosure, for example:
[0321] Receive a communication processing strategy query request sent by the client, the communication processing strategy query request carrying candidate storage address ciphertext;
[0322] The candidate storage address ciphertext is obtained by encrypting the target communication number on the client with the public key sent by the server, according to the candidate storage address in at least one target storage table corresponding to the target communication processing type. The candidate storage address is calculated based on the target communication number, the hash function of each target storage table, and the corresponding preset number of storage addresses.
[0323] The candidate storage address ciphertext is decrypted using the server's private key to obtain the candidate storage address corresponding to each target storage table.
[0324] Retrieve each candidate number and its corresponding candidate communication processing strategy from each candidate storage address;
[0325] Each candidate number and its corresponding candidate communication processing strategy are encrypted using the public key sent by the client to obtain the ciphertext of the candidate communication processing strategy for each candidate number and its corresponding candidate communication processing strategy.
[0326] The client sends the ciphertext of the candidate communication processing strategy to the client, so that the client can decrypt the ciphertext of the candidate communication processing strategy using the client's private key, so as to match the target communication processing strategy corresponding to the target communication number from each candidate number and the corresponding candidate communication processing strategy, and process the target communication number according to the target communication processing strategy.
[0327] When the computer device 1000 is used as a client, the central processing unit 622 in the computer device 1000 can be used to execute the communication processing method of the embodiments of this disclosure, for example:
[0328] Obtain the target communication number for the requested communication;
[0329] Based on the target communication number, the hash function of each target storage table of the target communication processing type, and the number of preset storage addresses corresponding to each target storage table, the candidate storage address of each target storage table is determined;
[0330] Each of the candidate storage addresses is encrypted using the public key sent by the server to obtain the ciphertext of the candidate storage address;
[0331] A communication processing strategy query request is sent to the server. The communication processing strategy query request carries the ciphertext of the candidate storage address, so that the server can decrypt the ciphertext of the candidate storage address using the server's private key, decrypt the candidate storage address corresponding to each target storage table, generate candidate communication processing strategy ciphertext based on the candidate number stored in the candidate storage address and the corresponding candidate communication processing strategy, and return it to the client.
[0332] Receive the ciphertext of the candidate communication processing strategy, and decrypt the ciphertext of the candidate communication processing strategy using the client's private key to decrypt each candidate number and the corresponding candidate communication processing strategy.
[0333] From each candidate number and its corresponding candidate communication processing strategy, the target communication number is matched to the target communication number, and the target communication number is processed according to the target communication processing strategy.
[0334] This disclosure also provides a computer-readable storage medium for storing program data, which is used to execute the communication processing methods of the foregoing embodiments.
[0335] This disclosure also provides a computer program product comprising a computer program. A processor of a computer device reads and executes the computer program, causing the computer device to perform the communication processing method described above. For example:
[0336] Receive a communication processing strategy query request sent by the client, the communication processing strategy query request carrying candidate storage address ciphertext;
[0337] The candidate storage address ciphertext is obtained by encrypting the target communication number on the client with the public key sent by the server, according to the candidate storage address in at least one target storage table corresponding to the target communication processing type. The candidate storage address is calculated based on the target communication number, the hash function of each target storage table, and the corresponding preset number of storage addresses.
[0338] The candidate storage address ciphertext is decrypted using the server's private key to obtain the candidate storage address corresponding to each target storage table.
[0339] Retrieve each candidate number and its corresponding candidate communication processing strategy from each candidate storage address;
[0340] Each candidate number and its corresponding candidate communication processing strategy are encrypted using the public key sent by the client to obtain the ciphertext of the candidate communication processing strategy for each candidate number and its corresponding candidate communication processing strategy.
[0341] The client sends the ciphertext of the candidate communication processing strategy to the client, so that the client can decrypt the ciphertext of the candidate communication processing strategy using the client's private key, so as to match the target communication processing strategy corresponding to the target communication number from each candidate number and the corresponding candidate communication processing strategy, and process the target communication number according to the target communication processing strategy.
[0342] For example, obtaining the target communication number for the requested communication;
[0343] Based on the target communication number, the hash function of each target storage table of the target communication processing type, and the number of preset storage addresses corresponding to each target storage table, the candidate storage address of each target storage table is determined;
[0344] Each of the candidate storage addresses is encrypted using the public key sent by the server to obtain the ciphertext of the candidate storage address;
[0345] A communication processing strategy query request is sent to the server. The communication processing strategy query request carries the ciphertext of the candidate storage address, so that the server can decrypt the ciphertext of the candidate storage address using the server's private key, decrypt the candidate storage address corresponding to each target storage table, generate candidate communication processing strategy ciphertext based on the candidate number stored in the candidate storage address and the corresponding candidate communication processing strategy, and return it to the client.
[0346] Receive the ciphertext of the candidate communication processing strategy, and decrypt the ciphertext of the candidate communication processing strategy using the client's private key to decrypt each candidate number and the corresponding candidate communication processing strategy.
[0347] From each candidate number and its corresponding candidate communication processing strategy, the target communication number is matched to the target communication number, and the target communication number is processed according to the target communication processing strategy.
[0348] Furthermore, the terms “comprising” and “including”, and any variations thereof, are intended to cover non-exclusive inclusion, such that a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to such process, method, product, or apparatus.
[0349] It should be understood that in this disclosure, "at least one item" means one or more, and "more than one" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0350] It should be understood that in the description of the embodiments disclosed herein, "multiple" means two or more, "greater than", "less than", "exceeding" etc. are understood to exclude the number itself, and "above", "below", "within" etc. are understood to include the number itself.
[0351] In the several embodiments provided in this disclosure, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between apparatuses or units, and may be electrical, mechanical, or other forms.
[0352] 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 units can be selected to achieve the purpose of this embodiment according to actual needs.
[0353] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0354] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a 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 of the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program data, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0355] It should also be understood that the various implementation methods provided in this disclosure can be combined arbitrarily to achieve different technical effects.
[0356] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0357] The above is a detailed description of the embodiments of this disclosure. However, this disclosure is not limited to the above embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this disclosure. All such equivalent modifications or substitutions are included within the scope defined by the claims of this disclosure.
Claims
1. A communication processing method, characterized in that, include: Receive a communication processing strategy query request sent by the client, the communication processing strategy query request carrying candidate storage address ciphertext; The candidate storage address ciphertext is obtained by encrypting the target communication number on the client with the public key sent by the server, according to the candidate storage address in at least one target storage table corresponding to the target communication processing type. The candidate storage address is calculated based on the target communication number, the hash function of each target storage table, and the corresponding preset number of storage addresses. The candidate storage address ciphertext is decrypted using the server's private key to obtain the candidate storage address corresponding to each target storage table. Retrieve each candidate number and its corresponding candidate communication processing strategy from each candidate storage address; Each candidate number and its corresponding candidate communication processing strategy are encrypted using the public key sent by the client to obtain the ciphertext of the candidate communication processing strategy for each candidate number and its corresponding candidate communication processing strategy. The client sends the ciphertext of the candidate communication processing strategy to the client, so that the client can decrypt the ciphertext of the candidate communication processing strategy using the client's private key, so as to match the target communication processing strategy corresponding to the target communication number from each candidate number and the corresponding candidate communication processing strategy, and process the target communication number according to the target communication processing strategy.
2. The communication processing method according to claim 1, characterized in that, Before receiving the communication processing policy query request sent by the client, the method further includes: Obtain the target communication number and the target communication processing strategy for the target communication number under the target communication processing type; Obtain the hash function of at least one target storage table corresponding to the target communication processing type, and the preset number of storage addresses in each target storage table; Based on the target communication number, the hash function of each target storage table, and the corresponding number of preset storage addresses, the target storage address is determined from the preset storage addresses corresponding to each target storage table; The target communication number and the corresponding target communication processing strategy are stored in the target storage address.
3. The communication processing method according to claim 2, characterized in that, The step of determining the target storage address from the preset storage addresses corresponding to each target storage table based on the target communication number, the hash function of each target storage table, and the corresponding preset number of storage addresses includes: The target communication number is hashed using the hash function of each target storage table to obtain the first hash value of the target communication number corresponding to each target storage table; The remainder of each target storage table is obtained by performing a modulo operation between the first hash value corresponding to each target storage table and the corresponding preset number of storage addresses. The remainder of the calculation for each target storage table is determined as the corresponding candidate storage address, thus obtaining the candidate storage address for each target storage table; Obtain the current storage amount for each of the candidate storage addresses; Any candidate storage address whose current storage volume has not reached the preset storage volume is determined as the target storage address for storing the target communication number and the corresponding target communication processing strategy.
4. The communication processing method according to claim 2, characterized in that, The method further includes: When the current storage amount of each candidate storage address reaches the preset storage amount, retrieve any stored communication number and the corresponding stored communication processing strategy from any candidate storage address. The candidate storage address for retrieving the stored communication number and the corresponding stored communication processing strategy is determined as the target storage address.
5. The communication processing method according to claim 1, characterized in that, The communication processing strategy query request also carries the client's client identifier and query credentials. Before decrypting the ciphertext of the candidate storage address using the server's private key to obtain the candidate storage address corresponding to each target storage table, the process further includes: Obtain multiple generated credentials that have a preset mapping relationship with the client identifier; Filter out the target generated voucher that matches the query voucher from the multiple generated vouchers; When the credential validity mark of the target generated credential is valid, the step of decrypting the ciphertext of the candidate storage address using the server's private key to decrypt the candidate storage address corresponding to each target storage table is executed, and the credential validity mark of the target generated credential is updated to invalid.
6. The communication processing method according to claim 1, characterized in that, Before receiving the communication processing policy query request sent by the client, the method further includes: Receive a credential generation request sent by the client, the credential generation request including a target communication processing type flag, the client's public key, and the client's client identifier; The client's public key is stored, and a preset number of generation credentials are generated, with each generation credential marked as valid. Establish a mapping relationship between the client identifier and each of the generated credentials; Based on the preset mapping relationship between communication processing type markers and communication processing types, the target communication processing type corresponding to the target communication processing type marker is determined; Obtain the hash function of at least one target storage table corresponding to the target communication processing type, and the preset number of storage addresses in each target storage table; Send each of the credentials, the hash function of each of the target storage tables, and the corresponding preset number of storage addresses to the client.
7. The communication processing method according to claim 6, characterized in that, Before receiving the credential generation request sent by the client, the method further includes: Receive the change communication processing type sent by the client; Based on the preset mapping relationship between communication processing type and communication processing type tag, the target communication processing type tag corresponding to the changed communication processing type is determined; Send the target communication processing type flag to the client.
8. The communication processing method according to claim 1, characterized in that, Before sending the candidate communication processing strategy ciphertext to the client, the method further includes: Obtain multiple ciphertexts of storage addresses received within a preset time period, and decrypt the ciphertexts of storage addresses to obtain multiple storage addresses; When a preset number of storage addresses match the candidate storage address among multiple storage addresses, the public key sent by the client is used to encrypt each candidate number and its corresponding candidate communication processing strategy to obtain the ciphertext of the candidate communication processing strategy for each candidate number and its corresponding candidate communication processing strategy, including: The preset prompt information, each candidate number, and the corresponding candidate communication processing strategy are encrypted using the public key sent by the client to obtain the candidate communication processing strategy ciphertext for each candidate number and the corresponding candidate communication processing strategy. The preset prompt information is used to indicate that the target communication number is abnormal.
9. A communication processing method, characterized in that, include: Obtain the target communication number for the requested communication; Based on the target communication number, the hash function of each target storage table of the target communication processing type, and the number of preset storage addresses corresponding to each target storage table, the candidate storage address of each target storage table is determined; Each of the candidate storage addresses is encrypted using the public key sent by the server to obtain the ciphertext of the candidate storage address; A communication processing strategy query request is sent to the server. The communication processing strategy query request carries the ciphertext of the candidate storage address, so that the server can decrypt the ciphertext of the candidate storage address using the server's private key, decrypt the candidate storage address corresponding to each target storage table, generate candidate communication processing strategy ciphertext based on the candidate number stored in the candidate storage address and the corresponding candidate communication processing strategy, and return it to the client. Receive the ciphertext of the candidate communication processing strategy, and decrypt the ciphertext of the candidate communication processing strategy using the client's private key to decrypt each candidate number and the corresponding candidate communication processing strategy. From each candidate number and its corresponding candidate communication processing strategy, the target communication number is matched to the target communication number, and the target communication number is processed according to the target communication processing strategy.
10. The communication processing method according to claim 9, characterized in that, The step of determining the candidate storage address for each target storage table based on the hash function of each target storage table according to the target communication number and target communication processing type, and the number of preset storage addresses corresponding to each target storage table, includes: The hash value of the target communication number is calculated by using the hash function of each target storage table of the target communication processing type, and the second hash value of the target communication number corresponding to each target storage table is obtained. The remainder of each target storage table is obtained by performing a modulo operation between the second hash value corresponding to each target storage table and the corresponding preset number of storage addresses. The remainder of each target storage table is used to determine the corresponding candidate storage address.
11. The communication processing method according to claim 9 or 10, characterized in that, Sending a communication processing strategy query request to the server includes: Obtain the generation certificate sent by the server; Each generated voucher whose voucher usage status is unused is identified as a query voucher. Send a communication processing policy query request to the server. The communication processing policy query request carries the candidate storage address ciphertext, the query credential, and the client identifier of the client. The usage status of the query voucher is determined to be "used".
12. A communication processing device, characterized in that, include: The receiving unit is used to receive a communication processing strategy query request sent by the client, wherein the communication processing strategy query request carries ciphertext of candidate storage addresses. The candidate storage address ciphertext is obtained by encrypting the target communication number on the client with the public key sent by the server, according to the candidate storage address in at least one target storage table corresponding to the target communication processing type. The candidate storage address is calculated based on the target communication number, the hash function of each target storage table, and the corresponding preset number of storage addresses. The first decryption unit is used to decrypt the ciphertext of the candidate storage address using the server's private key, thereby decrypting the candidate storage address corresponding to each target storage table. The acquisition unit is used to retrieve each candidate number and its corresponding candidate communication processing strategy from each candidate storage address. The first encryption unit is used to encrypt each candidate number and its corresponding candidate communication processing strategy using the public key sent by the client, so as to obtain the candidate communication processing strategy ciphertext for each candidate number and its corresponding candidate communication processing strategy. The first sending unit is configured to send the candidate communication processing strategy ciphertext to the client, so that the client can decrypt the candidate communication processing strategy ciphertext using the client's private key, so as to match the target communication processing strategy corresponding to the target communication number from each candidate number and the corresponding candidate communication processing strategy, and process the target communication number according to the target communication processing strategy.
13. A communication processing device, characterized in that, include: The acquisition unit is used to acquire the target communication number for the requested communication. The determining unit is used to determine the candidate storage address of each target storage table based on the target communication number, the hash function of each target storage table of the target communication processing type, and the number of preset storage addresses corresponding to each target storage table. The second encryption unit is used to encrypt each of the candidate storage addresses using the public key sent by the server to obtain the candidate storage address ciphertext. The second sending unit is used to send a communication processing strategy query request to the server. The communication processing strategy query request carries the candidate storage address ciphertext, so that the server can decrypt the candidate storage address ciphertext using the server's private key, decrypt the candidate storage address corresponding to each target storage table, generate candidate communication processing strategy ciphertext according to the candidate number stored in the candidate storage address and the corresponding candidate communication processing strategy, and return it to the client. The second decryption unit is used to receive the ciphertext of the candidate communication processing strategy, and decrypt the ciphertext of the candidate communication processing strategy using the client's private key to decrypt each candidate number and the corresponding candidate communication processing strategy. The matching unit is used to match the target communication processing strategy corresponding to the target communication number from each candidate number and the corresponding candidate communication processing strategy, and process the target communication number according to the target communication processing strategy.
14. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the communication processing method according to any one of claims 1 to 8, or the communication processing method according to any one of claims 9 to 11.
15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a plurality of instructions adapted for loading by a processor to implement the communication processing method according to any one of claims 1 to 8, or the communication processing method according to any one of claims 9 to 11.