Virtual number calling method, device, computer equipment and storage medium
Through the virtual number calling method, through splicing, hashing and encryption technology, the security risks of customer actual numbers flowing between multiple systems are solved, and the encrypted transmission and internal flow of user communication accounts are realized.
Patent Information
- Application Number
- CN202111315246.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-08
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2041-11-08
AI Technical Summary
In traditional technology, there is a security risk of leakage in the flow of actual customer numbers between multiple systems within the company, making it difficult to effectively protect personal privacy and information security.
Provide a virtual number calling method, which obtains service information and user communication account after obtaining user authorization permissions, splices into a spliced string, and hashing it to generate hash hash value, and combines encrypted strings to form Virtual number, realizes encrypted transmission of user communication accounts.
It realizes encrypted transmission of user communication accounts between various systems, and only restores normal numbers during calls, ensuring safe and controllable internal flow. At the same time, the virtual number is the only flow number of the call process, which facilitates problem positioning.
Smart Images

Figure CN114205464B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of information security, and in particular to a method, device, computer equipment and storage medium for calling a virtual number. Background Art
[0002] Today, as people are more and more aware of the need to protect their personal privacy, information security is receiving more and more attention, especially in the financial field. Customer numbers are important information for customers, and are also important flow information for call systems and other business systems. In traditional technologies, actual customer numbers are often used to circulate between a large number of related business systems within the company, which poses a security risk of leakage. Summary of the invention
[0003] Based on this, it is necessary to provide a virtual number calling method, device, computer equipment and storage medium to address the above technical problems.
[0004] A method for calling a virtual number, characterized in that the method comprises:
[0005] After obtaining the user's authorization, obtain business information and user communication account;
[0006] Concatenating the service information and the user communication account to obtain a concatenated string;
[0007] Determine whether a hash value matching the concatenated string is stored, and if not, perform a hash operation on the concatenated string to obtain the hash value;
[0008] Concatenate the hash value with the encrypted string obtained by encrypting the concatenated string, and use the concatenated result as the virtual number to be dialed;
[0009] In response to a calling operation, a call is made based on the virtual number.
[0010] In one embodiment, after obtaining the user authorization authority and acquiring the service information and the user communication account, the method further includes:
[0011] Determining whether the user communication account is a virtual type number;
[0012] When the user communication account is a number of the virtual type, a calling operation is performed based on the user communication account;
[0013] When the user communication account number is not a virtual type number, the step of concatenating the service information and the user communication account number to obtain a concatenated character string is performed.
[0014] In one embodiment, the method further comprises:
[0015] When the user communication account is not a number of the virtual type, verifying the integrity and correctness of the user communication account;
[0016] After the user communication account is verified, the step of concatenating the service information and the user communication account to obtain a concatenated character string is performed.
[0017] In one embodiment, the method further comprises:
[0018] When the user communication account verification fails, recording the user communication account as an abnormal user communication account;
[0019] An error message is generated based on the abnormal user communication account, and the error message is sent to the server.
[0020] In one embodiment, the determining whether a hash value matching the concatenated string is stored, and if not, performing a hash operation on the concatenated string includes:
[0021] Determine whether there is a hash column matching the concatenated string;
[0022] If not, determining that a hash value matching the concatenated string is not stored;
[0023] Performing a hash operation on the concatenated character string to obtain the hash value;
[0024] The method further includes initializing the hash column based on the hash value.
[0025] In one embodiment, the method further comprises:
[0026] If yes, obtain the hash value from the hash column;
[0027] Performing a self-increment process on the hash value to obtain a new hash value;
[0028] Concatenate the new hash value with the encrypted string obtained by encrypting the concatenated string, and use the concatenated result as the virtual new virtual number to be dialed;
[0029] In response to the calling operation, a call is made based on the new virtual number.
[0030] In one embodiment, in response to the calling operation, making a call based on the virtual number includes:
[0031] In response to the call operation, decrypt the encrypted string in the virtual number to obtain a concatenated string; extract the service information and the user communication account from the concatenated string;
[0032] Determine an outbound call number based on the priority in the service information;
[0033] When the number of dialing times in the service information does not reach a preset condition, calling the user communication account based on the outbound call number;
[0034] The method further includes: when the number of dialing times in the service information reaches the preset condition, stopping calling the user communication account.
[0035] A virtual number calling device, the device comprising:
[0036] The acquisition module is used to obtain business information and user communication account after obtaining user authorization authority;
[0037] A first concatenation module, configured to concatenate the service information and the user communication account to obtain a concatenated string;
[0038] A calculation module, used for determining whether a hash value matching the concatenated string is stored, and if not, performing a hash operation on the concatenated string to obtain the hash value;
[0039] A second concatenation module is used to concatenate the hash value with an encrypted string obtained by encrypting the concatenated string, and use the concatenated result as a virtual number to be dialed;
[0040] The calling module is used for making a call based on the virtual number in response to a calling operation.
[0041] In one embodiment, the device further comprises:
[0042] A judgment module is used to judge whether the user communication account is a virtual type of number; when the user communication account is the virtual type of number, perform a calling operation based on the user communication account; when the user communication account is not the virtual type of number, execute the step of splicing the service information and the user communication account to obtain a spliced string.
[0043] In one embodiment, the device further comprises:
[0044] The verification module is used to verify the integrity and correctness of the user communication account when the user communication account is not a virtual type number; after the user communication account is verified, execute the step of splicing the service information and the user communication account to obtain a spliced character string.
[0045] In one embodiment, the verification module is further used to record the user communication account as an abnormal user communication account when the user communication account verification fails; generate error information based on the abnormal user communication account, and send the error information to the server.
[0046] In one embodiment, the operation module is also used to determine whether there is a hash column that matches the concatenated string; if not, determine that a hash value that matches the concatenated string is not stored; perform a hash operation on the concatenated string to obtain the hash value; the operation module is also used to initialize the hash column based on the hash value.
[0047] In one embodiment, the operation module is also used to, if yes, obtain the hash value from the hash column; perform self-increment processing on the hash value to obtain a new hash value; concatenate the new hash value with the encrypted string obtained by encrypting the concatenated string, and use the concatenated result as the virtual new virtual number to be dialed; and make a call based on the new virtual number in response to a call operation.
[0048] In one embodiment, the call module is also used to decrypt the encrypted string in the virtual number in response to a call operation to obtain a concatenated string; extract the service information and the user communication account from the concatenated string; determine the outbound number based on the priority in the service information; when the number of dialing in the service information does not reach a preset condition, call the user communication account based on the outbound number; the call module is also used to stop calling the user communication account when the number of dialing in the service information reaches the preset condition.
[0049] A computer device comprises a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the above-mentioned virtual number calling method.
[0050] A computer-readable storage medium stores a computer program. When the computer program is executed by a processor, the processor executes the steps of the above-mentioned virtual number calling method.
[0051] The calling method, device, computer equipment and storage medium of the above-mentioned virtual number obtain business information and user communication account after obtaining user authorization authority; splice the business information and user communication account to obtain a spliced string; determine whether a hash value matching the spliced string is stored, if not, perform a hash operation on the spliced string to obtain a hash value; splice the hash value with the encrypted string obtained by encrypting the spliced string, and use the spliced result as the virtual number to be dialed; respond to the call operation, and make a call based on the virtual number. Through the encryption and splicing technology of the user communication account, the encrypted transmission of the user communication account between various systems is realized, and the normal number is restored only when calling, so that the internal circulation is safe and controllable. At the same time, the virtual number is used as the unique serial number of the entire call process, which connects the entire call process in series, which is convenient for problem location. In addition, the business information and the user communication account are spliced, and after being decrypted and read on the line management platform, it is convenient to select the optimal outbound call number and landing gateway and other lines. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] Figure 1 A diagram showing an application environment of a calling method for a virtual number in one embodiment;
[0053] Figure 2 A flowchart of a method for calling a virtual number in one embodiment;
[0054] Figure 3 A schematic diagram of an algorithm of a calling method of a virtual number in yet another embodiment;
[0055] Figure 4 A schematic diagram of a flow chart of calling steps of a virtual number in another embodiment;
[0056] Figure 5 A structural block diagram of a calling device for a virtual number in one embodiment;
[0057] Figure 6 It is a structural block diagram of a calling device for a virtual number in yet another embodiment;
[0058] Figure 7 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0059] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0060] The calling method of the virtual number provided in this application can be applied to Figure 1In the application environment shown in FIG.
[0061] Among them, the terminal 102 can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited to these.
[0062] The server 104 may be an independent physical server or a service node in a blockchain system. The service nodes in the blockchain system form a peer-to-peer (P2P) network. The P2P protocol is an application layer protocol running on the Transmission Control Protocol (TCP).
[0063] In addition, server 104 can also be a server cluster composed of multiple physical servers, and can be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDN), as well as big data and artificial intelligence platforms.
[0064] The terminal 102 and the server 104 may be connected via Bluetooth, USB (Universal Serial Bus) or a network or other communication connection methods, which are not limited in this application.
[0065] In one embodiment, Figure 2 As shown, a calling method for a virtual number is provided, which can be applied to a terminal or a server. Figure 1 The terminal in is used as an example to illustrate, including the following steps:
[0066] S202, after obtaining the user's authorization authority, obtain the business information and the user's communication account.
[0067] Among them, business information refers to user information, loan information, call result information, etc. User information refers to user name, user level, user communication account and user relationship (self, friend, family, etc.), overdue days, pending stage (M1, M2, M3), user priority and other information related to the user; loan information refers to loan type, loan name, loan amount, loan date, repayment date and other information related to the user's loan; call result information refers to the number of calls made, the number of calls made on the day, the connection status of the last round of calls, whether the user promises to repay, the last round of outbound call numbers and other information related to the calling user. The more overdue days, the higher the pending stage. For example, the user level can be used to determine the line priority. The higher the user level, the higher the line priority. When making an outbound call, a better dialing line can be selected. When the overdue period is 1 to 5 days, the reminder stage is M1, and when the overdue period is 5 to 15 days, the reminder stage is M2; user priorities include: high priority (A01), normal priority (A02), low priority (A03); the number of calls on the day includes: 1 time (B01), 2 times (B02), 3 times (B03).
[0068] The user communication account is the account used by the user for communication, which can refer to a landline number, mobile phone number, etc.
[0069] Specifically, after obtaining user authorization, the terminal can obtain business information and user communication accounts from the business system that stores business information and user communication accounts. The terminal can also receive virtual number call instructions and process the business information and user communication accounts stored in the terminal.
[0070] In one embodiment, after S202, the terminal determines whether the user communication account is a virtual type of number; when the user communication account is a virtual type of number, a calling operation is performed based on the user communication account; when the user communication account is not a virtual type of number, a step of splicing the service information and the user communication account to obtain a spliced string is executed.
[0071] In one embodiment, after S202, the terminal determines whether the user communication account is a virtual type of number; when the user communication account is not a virtual type of number, the user communication account is verified for integrity and correctness; after the user communication account is verified, the step of splicing the service information and the user communication account to obtain a spliced string is executed.
[0072] In one embodiment, after S202, the terminal verifies the integrity and correctness of the user communication account; when the user communication account verification fails, the user communication account is recorded as an abnormal user communication account; an error message is generated based on the abnormal user communication account, and the error message is sent to the server and the call ends.
[0073] S204, concatenate the business information and the user communication account to obtain a concatenated string.
[0074] In one embodiment, before S204, the terminal screens the business information to obtain the business information that is preset and spliced with the user's communication account. For example, the business information includes user information, loan information, and call result information. The business information is screened to obtain the business information that is preset and spliced with the user's communication account: user priority: high priority (A01), call once a day (B01).
[0075] Specifically, the terminal may concatenate the service information and the user communication account in a preset order to obtain a concatenated character string.
[0076] Among them, the preset order can be business information first, user communication account second; business information second, user communication account first, etc.
[0077] For example, the service information is high priority (A01), the call is made once on the same day (B01), the user communication account is 150xxxxxxxx, and the preset order is service information first and user communication account second. "A01", "B01", and "150xxxxxxxx" are concatenated to obtain the concatenated string "A01B01150xxxxxxxx".
[0078] S206, determining whether a hash value matching the concatenated string is stored; if not, performing a hash operation on the concatenated string to obtain a hash value.
[0079] Among them, the hash algorithm can be used for hash operation. The hash algorithm refers to an algorithm that can perform hash operation on an input of any length (user communication account) to obtain an output of a fixed length (hash value). It can be called a hash algorithm. Commonly used hash algorithms include: Message-Digest Algorithm (MD5), Secure Hash Algorithm (SHA) and other algorithms.
[0080] Specifically, the terminal determines whether there is a hash column matching the concatenated string; if not, it determines that no hash value matching the concatenated string is stored; and performs a hash operation on the concatenated string to obtain a hash value. S206 also includes: the terminal initializes the hash column based on the hash value.
[0081] In one embodiment, the terminal determines that there is a hash column that matches the concatenated string, obtains a hash value from the hash column, performs self-increment processing on the hash value, obtains a new hash value, concatenates the new hash value with the encrypted string obtained by encrypting the concatenated string, and uses the concatenated result as a virtual new virtual number to be dialed; in response to the call operation, makes a call based on the new virtual number.
[0082] S208, concatenating the hash value with the encrypted string obtained by encrypting the concatenated string, and using the concatenated result as a virtual number to be dialed.
[0083] Among them, the encryption algorithm used for encrypting the concatenated string can be: RSA algorithm, Data Encryption Standard (DES) algorithm, Triple DES (3DES) algorithm, Advanced Encryption Standard (AES) algorithm, International Data Encryption Algorithm (IDEA), BLOWFISH and other encryption algorithms.
[0084] Specifically, the terminal may use the RSA algorithm to encrypt the concatenated string with a private key to obtain an encrypted string, concatenate the hash value with the encrypted concatenated string in a preset order, and use the concatenated result as the virtual number to be dialed.
[0085] The preset order may be: hash value first, encrypted string second, hash value second, encrypted string first, etc.
[0086] For example, the hash value is "20210906000001", the concatenated string is "A01B01150xxxxxxxx", the concatenated string is encrypted to obtain the encrypted string "AE82df", the preset order is the hash value first and the encrypted string later, the hash value "20210906000001" and the encrypted string "AE82df" are concatenated in the preset order to obtain "20210906000001AE82df" as the virtual number to be dialed.
[0087] S210: In response to the calling operation, making a call based on the virtual number.
[0088] In one embodiment, Figure 3 The algorithm diagram of the calling method of a virtual number in another embodiment may include:
[0089] (1) The terminal obtains service information. When the user communication account is not a virtual number and the user communication account is judged (verified) to be normal, the service information and the user communication account are concatenated to obtain a concatenated string, and the concatenated string is encrypted. If a hash value is stored, the hash value is incremented to obtain a new hash value. After the new hash value is concatenated with the encrypted concatenated string, a virtual number is obtained, a call is made to the virtual number, and a soft phone exchange is performed. The virtual number is decrypted through the line management platform, and finally the network service provider calls the user communication account.
[0090] (2) The terminal obtains service information. When the user communication account is not a virtual number, it is determined (verified) that the user communication account is normal, and the service information and the user communication account are concatenated to obtain a concatenated string. The concatenated string is encrypted. If the hash value is not stored, a hash operation is performed on the concatenated string to obtain a hash value. The hash value is concatenated with the encrypted concatenated string to obtain a virtual number. A call is made to the virtual number, and a soft phone exchange is performed. The virtual number is decrypted through the line management platform, and finally the network service provider calls the user communication account.
[0091] (3) The terminal obtains service information. When the user communication account is not a virtual number and it is determined (verified) that the user communication account is abnormal, an abnormality is recorded.
[0092] (4) The terminal obtains service information. When the user's communication account is a virtual number, a call is made to the virtual number, and a softphone exchange is performed. The virtual number is decrypted by the line management platform, and finally the network service provider calls the user's communication account.
[0093] The calling method of the above virtual number obtains the business information and the user communication account after obtaining the user authorization authority; splices the business information and the user communication account to obtain a spliced string; determines whether a hash value matching the spliced string is stored, and if not, performs a hash operation on the spliced string to obtain a hash value; splices the hash value with the encrypted string obtained by encrypting the spliced string, and uses the spliced result as the virtual number to be dialed; responds to the call operation, and makes a call based on the virtual number. Through the encryption and splicing technology of the user communication account, the encrypted transmission of the user communication account between various systems is realized, and the normal number is restored only when calling, so that the internal circulation is safe and controllable. At the same time, the virtual number is used as the unique serial number of the entire call process, which connects the entire call process in series, which is convenient for problem location. In addition, the business information and the user communication account are spliced, and after being decrypted and read on the line management platform, it is convenient to select the optimal outbound call number and landing gateway and other lines.
[0094] In one embodiment, Figure 4 As shown, the calling steps of the virtual number may include:
[0095] S402, in response to the call operation, decrypt the encrypted string in the virtual number to obtain a concatenated string; extract the service information and the user communication account from the concatenated string.
[0096] In one embodiment, the terminal can respond to a call operation, send the virtual number to a softphone switching platform (e.g., FreeSwitch platform) for softphone switching, transmit the virtual number to a line management platform, and decrypt the encrypted string based on the stored public key and ciphertext to obtain a concatenated string; extract business information and user communication account from the concatenated string.
[0097] For example, the virtual number is "20210906000001AE82df". The terminal can intercept the last six digits of the virtual number to obtain the encrypted string "AE82df", decrypt the encrypted string "AE82df", and obtain the concatenated string "A01B01150xxxxxxxx". Extract the business information and user communication account from the concatenated string "A01B01150xxxxxxxx", and obtain the business information "A01" and "B01", and the user communication account "150xxxxxxxx".
[0098] S404, determining the outbound call number based on the priority in the service information.
[0099] Among them, the priority refers to the customer priority, for example, high priority (A01), normal priority (A02), low priority (A03), and the outbound number is the number used to dial the user's communication account.
[0100] For example, when the customer priority is high priority (A01), you can use numbers with higher fixed-line connection rates as outbound numbers, such as numbers in the 95 and 400 ranges. When the customer priority is normal priority (A02), you can use general numbers as outbound numbers.
[0101] S406: When the number of dialing times in the service information does not reach the preset condition, a call is made to the user's communication account based on the outbound call number.
[0102] The preset condition is a limiting condition on the number of dialing times during the dialing process. For example, the preset condition may refer to the number of successful dialing times being greater than or equal to a preset threshold.
[0103] In one embodiment, when the number of successful dialing in the service information is less than a preset threshold, the terminal calls the user's communication account based on the outbound call number.
[0104] For example, the preset threshold is 1, and when the number of successful dialing is less than 1, the terminal calls the user's communication account based on the outbound call number.
[0105] In one embodiment, when the number of dialing times in the service information reaches a preset condition, calling the user's communication account is stopped.
[0106] In one embodiment, when the number of successful dialing in the service information is greater than or equal to a preset threshold, calling the user's communication account is stopped.
[0107] For example, when the preset threshold is 1, when the number of successful dialing is greater than or equal to 1, calling the user communication account is stopped.
[0108] In one embodiment, after S406, after the terminal call is connected, the service information can be used to
[0109] In one embodiment, before the terminal calls the virtual number, it can also select different outbound numbers, dialing lines, and speech content according to the business information, and determine whether to continue the call next time.
[0110] For example, if the user's waiting stage is M2, you can set more rounds of dialing times and choose an outbound number in the 95 or 400 range with a higher connection rate than ordinary fixed-line numbers to call the user's communication account. At the same time, choose more serious words to talk to the user based on the business information.
[0111] If the user promises to repay the loan according to the call result information in the service information, no call will be made next time. If the user's communication account has been called multiple times with the same outbound call number but has not been connected, a new outbound call number will be used. If the user's communication account has been called with the same line but has been hung up, a new call line will be switched.
[0112] In this embodiment, the encrypted string in the virtual number is decrypted to obtain a concatenated string; the service information and the user communication account are extracted from the concatenated string. The outbound call number is determined based on the priority in the service information. When the number of dials in the service information does not reach the preset condition, the user communication account is called based on the outbound call number, and the encrypted transmission of the user communication account between various systems is realized. The normal number is restored only when a call is made, and the internal circulation is safe and controllable. At the same time, the outbound call number is determined based on the priority in the service information, which improves the connection rate.
[0113] It should be understood that although Figure 2-4 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 2-4 At least part of the steps may include multiple steps or multiple stages. These steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.
[0114] In one embodiment, Figure 5 As shown, a virtual number calling device is provided. The device can adopt a software module or a hardware module, or a combination of the two to become a part of a computer device. The device specifically includes: an acquisition module 502, a first splicing module 504, a calculation module 506, a second splicing module 508 and a calling module 510, wherein:
[0115] The acquisition module 502 is used to obtain the service information and the user communication account after obtaining the user authorization authority;
[0116] A first concatenation module 504 is used to concatenate the service information and the user communication account to obtain a concatenated string;
[0117] The operation module 506 is used to determine whether a hash value matching the concatenated string is stored, and if not, perform a hash operation on the concatenated string to obtain a hash value;
[0118] The second concatenation module 508 is used to concatenate the hash value with the encrypted string obtained by encrypting the concatenated string, and use the concatenated result as a virtual number to be dialed;
[0119] The calling module 510 is configured to make a call based on the virtual number in response to a calling operation.
[0120] In one embodiment, the operation module 506 is also used to determine whether there is a hash column that matches the concatenated string; if not, it is determined that a hash value that matches the concatenated string is not stored; a hash operation is performed on the concatenated string to obtain a hash value; the operation module 506 is also used to initialize the hash column based on the hash value.
[0121] In one embodiment, the operation module 506 is also used to obtain a hash value from the hash column; perform self-increment processing on the hash value to obtain a new hash value; concatenate the new hash value with the encrypted string obtained by encrypting the concatenated string, and use the concatenated result as a virtual new virtual number to be dialed; and make a call based on the new virtual number in response to a call operation.
[0122] In one embodiment, the call module 510 is also used to decrypt the encrypted string in the virtual number in response to the call operation to obtain a concatenated string; extract business information and user communication account from the concatenated string; determine the outbound number based on the priority in the business information; when the number of dialing in the business information does not reach the preset condition, call the user communication account based on the outbound number; the call module 510 is also used to stop calling the user communication account when the number of dialing in the business information reaches the preset condition.
[0123] In one embodiment, Figure 6 As shown, the device also includes: a judgment module 512 and a verification module 514, wherein:
[0124] The judgment module 512 is used to judge whether the user communication account is a virtual type of number; when the user communication account is a virtual type of number, a calling operation is performed based on the user communication account; when the user communication account is not a virtual type of number, the service information and the user communication account are concatenated to obtain a concatenated string.
[0125] Verification module 514 is used to verify the integrity and correctness of the user communication account when the user communication account is not a virtual type number; after the user communication account is verified, execute the step of splicing the service information and the user communication account to obtain a spliced string.
[0126] In one embodiment, the verification module 514 is further configured to record the user communication account as an abnormal user communication account when the user communication account verification fails; generate error information based on the abnormal user communication account, and send the error information to the server.
[0127] The calling method, device, computer equipment and storage medium of the above-mentioned virtual number obtain business information and user communication account after obtaining user authorization authority; splice the business information and user communication account to obtain a spliced string; determine whether a hash value matching the spliced string is stored, if not, perform a hash operation on the spliced string to obtain a hash value; splice the hash value with the encrypted string obtained by encrypting the spliced string, and use the spliced result as the virtual number to be dialed; respond to the call operation, and make a call based on the virtual number. Through the encryption and splicing technology of the user communication account, the encrypted transmission of the user communication account between various systems is realized, and the normal number is restored only when calling, so that the internal circulation is safe and controllable. At the same time, the virtual number is used as the unique serial number of the entire call process, which connects the entire call process in series, which is convenient for problem location. In addition, the business information and the user communication account are spliced, and after being decrypted and read on the line management platform, it is convenient to select the optimal outbound call number and landing gateway and other lines.
[0128] For the specific definition of the calling device of the virtual number, please refer to the definition of the calling method of the virtual number in the above text, which will not be repeated here. Each module in the above-mentioned calling device of the virtual number can be implemented in whole or in part by software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
[0129] In one embodiment, a computer device is provided. The computer device may be a terminal or a server. In this embodiment, the computer device is taken as a terminal for example. The internal structure diagram thereof may be as follows: Figure 7 As shown. The computer device includes a processor, a memory, a communication interface, a display screen and an input device connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be achieved through WIFI, an operator network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a method for calling a virtual number is implemented. The display screen of the computer device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covered on the display screen, or a button, trackball or touchpad set on the computer device housing, or an external keyboard, touchpad or mouse, etc.
[0130] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0131] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.
[0132] In one embodiment, a computer-readable storage medium is provided, storing a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0133] In one embodiment, a computer program product or computer program is provided, the computer program product or computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps in the above-mentioned method embodiments.
[0134] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0135] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0136] The above embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.
Claims
1. A method for calling a virtual number, characterized in that: The method comprises: After obtaining the user's authorization, obtain business information and user communication account; Concatenating the service information and the user communication account to obtain a concatenated string; Determine whether a hash value matching the concatenated string is stored, and if not, perform a hash operation on the concatenated string to obtain the hash value; concatenate the hash value with an encrypted string obtained by encrypting the concatenated string, and use the concatenated result as a virtual number to be dialed; and make a call based on the virtual number in response to a call operation; If so, obtain the hash value from the hash column; perform self-increment processing on the hash value to obtain a new hash value; concatenate the new hash value with the encrypted string obtained by encrypting the concatenated string, and use the concatenated result as the virtual new virtual number to be dialed; in response to the call operation, make a call based on the new virtual number.
2. The method according to claim 1, characterized in that After obtaining the user authorization authority, obtaining the service information and the user communication account, the method further includes: Determining whether the user communication account is a virtual type number; When the user communication account is a number of the virtual type, a calling operation is performed based on the user communication account; When the user communication account number is not a virtual type number, the step of concatenating the service information and the user communication account number to obtain a concatenated character string is performed.
3. The method according to claim 2, characterized in that The method further comprises: When the user communication account is not a number of the virtual type, verifying the integrity and correctness of the user communication account; After the user communication account is verified, the step of concatenating the service information and the user communication account to obtain a concatenated character string is performed.
4. The method according to claim 3, characterized in that The method further comprises: When the user communication account verification fails, recording the user communication account as an abnormal user communication account; An error message is generated based on the abnormal user communication account, and the error message is sent to the server.
5. The method according to claim 1, characterized in that The determining whether a hash value matching the concatenated string is stored, and if not, performing a hash operation on the concatenated string includes: Determine whether there is a hash column matching the concatenated string; If not, determining that a hash value matching the concatenated string is not stored; Performing a hash operation on the concatenated character string to obtain the hash value; The method further includes initializing the hash column based on the hash value.
6. The method according to claim 1, characterized in that The step of concatenating the hash value with the encrypted string obtained by encrypting the concatenated string comprises: Using the RSA algorithm, encrypting the concatenated string with a private key to obtain an encrypted string; The hash value is concatenated with the encrypted string obtained by the encrypted concatenated string in a preset order.
7. The method according to any one of claims 1 to 6, characterized in that: In response to the calling operation, making a call based on the virtual number comprises: In response to the call operation, decrypt the encrypted string in the virtual number to obtain a concatenated string; extract the service information and the user communication account from the concatenated string; Determine an outbound call number based on the priority in the service information; When the number of dialing times in the service information does not reach a preset condition, calling the user communication account based on the outbound call number; The method further includes: when the number of dialing times in the service information reaches the preset condition, stopping calling the user communication account.
8. A calling device for a virtual number, characterized in that: The device comprises: The acquisition module is used to obtain business information and user communication account after obtaining user authorization authority; A first concatenation module, configured to concatenate the service information and the user communication account to obtain a concatenated string; A calculation module, used for determining whether a hash value matching the concatenated string is stored, and if not, performing a hash operation on the concatenated string to obtain the hash value; A second concatenation module is used to concatenate the hash value with an encrypted string obtained by encrypting the concatenated string, and use the concatenated result as a virtual number to be dialed; A calling module, configured to make a call based on the virtual number in response to a calling operation; The operation module is also used to obtain the hash value from the hash column; perform self-increment processing on the hash value to obtain a new hash value; concatenate the new hash value with the encrypted string obtained by encrypting the concatenated string, and use the concatenated result as the virtual new virtual number to be dialed; and make a call based on the new virtual number in response to a call operation.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Encryption method and device, computer equipment and storage medium
CN108650275A
Virtual number generation method and device
CN110266825A