Virtual number acquisition method, computing device, readable storage medium and program product
By introducing the mechanism of the first and second virtual number collections on the server, the flexible allocation and recycling of virtual numbers is achieved, the problem of low virtual number utilization is solved, the resource utilization rate and the stability of communication services are improved, and the user experience is optimized.
Patent Information
- Application Number
- CN202510489247.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-17
- Publication Date
- 2025-07-22
AI Technical Summary
In the prior art, the utilization rate of virtual numbers is low, especially during the off-peak periods of service providers, a large number of virtual numbers are idle and cannot be reused by other services, resulting in waste of resources and inefficiency.
By introducing a mechanism of the first virtual number set and the second virtual number set, virtual numbers are flexibly allocated to realize the multiplexing and recycling of virtual numbers, including finding the virtual number corresponding to the target physical number in the first set, if not, the virtual number is obtained from the second set, and recycling it to the second set when idle, supporting the sharing of the third virtual number set to cope with high concurrency scenarios.
It improves the utilization rate of virtual accounts, reduces resource waste, improves server-side allocation efficiency, ensures the stability and user experience of communication services, and adapts to the dynamic changes in service providers' services.
Smart Images

Figure CN120358303A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present application relate to the field of computer technology, and particularly to a method for obtaining virtual numbers, a computing device, a computer-readable storage medium, and a computer program product. Background Art
[0002] In the current continuous development of communication technology, virtual numbers, as an important communication resource, are widely used in many fields. A virtual number is not a real physical number, but a number identifier for communication generated by technical means. Virtual numbers are mainly used to hide the real physical number of the service provider during communication, thereby building a privacy protection barrier for the service provider.
[0003] For many service providers, in order to meet diverse business needs, they often provide multiple different types of services. Each service is equipped with a corresponding physical number to achieve effective communication with users.
[0004] In related technologies, a static virtual number binding mode of "one physical number - one virtual number" is usually adopted. In this binding mode, each physical number is fixedly bound to a virtual number. When the server receives a virtual number acquisition request from the client for a certain service, it will find the corresponding virtual number according to the pre-set binding relationship between the physical number and the virtual number, and feedback it to the client.
[0005] The inventors found that in actual applications, there are obvious peak and trough periods for the services of service providers. During off-peak periods, a large number of virtual numbers are idle and cannot be reused by other services, resulting in low utilization of virtual numbers. Summary of the Invention
[0006] Embodiments of the present application provide a method for obtaining virtual numbers, a computing device, a computer-readable storage medium, and a computer program product.
[0007] In a first aspect, an embodiment of the present application provides a method for obtaining a virtual number, which is applied to a server, and the method includes:
[0008] Receiving a virtual number acquisition request sent by a client, where the virtual number acquisition request includes a service identifier of a target service;
[0009] In response to the virtual number acquisition request, determining a target physical number corresponding to the target service;
[0010] Searching in a first virtual number set to find whether there is a first virtual number corresponding to the target physical number;
[0011] If so, using the first virtual number as the target virtual number;
[0012] If not, searching for a second virtual number from the second virtual number set, and using the second virtual number as the target virtual number;
[0013] Save the second virtual number and the target physical number in correspondence with each other in the first virtual number set, and delete the second virtual number from the second virtual number set;
[0014] Sending the target virtual number to the client, so that the client initiates a call request to the service provider based on the target virtual number;
[0015] When it is detected that any virtual number in the first virtual number set satisfies the conversion condition, the any virtual number is saved in the second virtual number set, and the any virtual number and its corresponding physical number are deleted from the first virtual number set.
[0016] In a second aspect, an embodiment of the present application provides a method for obtaining a virtual number, which is applied to a client, and the method includes:
[0017] Displaying a virtual number acquisition control for a target service provided by a service provider on a display interface;
[0018] In the case of receiving a trigger operation of the user for the virtual number acquisition control, a virtual number acquisition request is sent to the server, so that the server determines the target physical number corresponding to the target service in response to the virtual number acquisition request; searches the first virtual number set to see whether there is a first virtual number corresponding to the target physical number; if so, uses the first virtual number as the target virtual number; if not, searches the second virtual number from the second virtual number set, and uses the second virtual number as the target virtual number; saves the second virtual number and the target physical number in the first virtual number set in correspondence, and deletes the second virtual number from the second virtual number set; sends the target virtual number to the client, so that the client initiates a call request to the service provider based on the target virtual number; and in the case of detecting that any virtual number in the first virtual number set satisfies the conversion condition, saves the any virtual number in the second virtual number set, and deletes the any virtual number and its corresponding physical number from the first virtual number set;
[0019] Receive the target virtual number sent by the server.
[0020] In a third aspect, an embodiment of the present application provides a device for obtaining a virtual number, which is applied to a server, and the device includes:
[0021] A first receiving module, configured to receive a virtual number acquisition request sent by a client, wherein the virtual number acquisition request includes a service identifier of a target service;
[0022] A first determination module, configured to determine a target physical number corresponding to the target service in response to the virtual number acquisition request;
[0023] A first search module, used for searching whether there is a first virtual number corresponding to the target physical number in the first virtual number set;
[0024] A second determining module is used to use the first virtual number as the target virtual number if there is a first virtual number corresponding to the target physical number in the first virtual number set;
[0025] A second search module is used to search for a second virtual number from a second virtual number set when the first virtual number corresponding to the target physical number does not exist in the first virtual number set, and use the second virtual number as the target virtual number;
[0026] A first saving module, used for saving the second virtual number and the target physical number in the first virtual number set in correspondence, and deleting the second virtual number from the second virtual number set;
[0027] A first sending module, configured to send the target virtual number to the client, so that the client initiates a call request to the service provider based on the target virtual number;
[0028] The second saving module is used to detect that when any virtual number in the first virtual number set meets the conversion condition, save the any virtual number into the second virtual number set, and delete the any virtual number and its corresponding physical number from the first virtual number set.
[0029] In a fourth aspect, an embodiment of the present application provides a device for obtaining a virtual number, which is applied to a client, and the device includes:
[0030] A first display module, used to display a virtual number acquisition control for a target service provided by a service provider on a display interface;
[0031] A second sending module, configured to send a virtual number acquisition request to a server when receiving a trigger operation of a user for the virtual number acquisition control, so that the server determines a target physical number corresponding to the target service in response to the virtual number acquisition request; search whether there is a first virtual number corresponding to the target physical number in a first virtual number set; if so, use the first virtual number as the target virtual number; if not, search for a second virtual number in a second virtual number set and use the second virtual number as the target virtual number; correspondingly save the second virtual number and the target physical number to the first virtual number set, and delete the second virtual number from the second virtual number set; send the target virtual number to the client, so that the client initiates a call request to the service provider based on the target virtual number; when detecting that any virtual number in the first virtual number set meets the conversion condition, save the any virtual number to the second virtual number set, and delete the any virtual number and its corresponding physical number from the first virtual number set;
[0032] A second receiving module, configured to receive the target virtual number sent by the server.
[0033] In a fifth aspect, an embodiment of the present application provides a computing device, including a processing component and a storage component;
[0034] The storage component stores a computer program; the computer program is used to be called and executed by the processing component to implement the virtual number acquisition method provided by the embodiment of the present application.
[0035] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processing component, the virtual number acquisition method provided by the embodiment of the present application is implemented.
[0036] In a seventh aspect, an embodiment of the present application provides a computer program product, including a computer program or instruction, and when the computer program or instruction is executed by a processing component, the virtual number acquisition method provided by the embodiment of the present application is implemented.
[0037] In an embodiment of the present application, the following technical solution is adopted: receiving a virtual number acquisition request sent by a client, where the virtual number acquisition request includes a service identifier of a target service; in response to the virtual number acquisition request, determining a target physical number corresponding to the target service; checking whether there is a first virtual number corresponding to the target physical number in a first virtual number set; if so, using the first virtual number as the target virtual number; if not, searching for a second virtual number in a second virtual number set and using the second virtual number as the target virtual number; correspondingly saving the second virtual number and the target physical number into the first virtual number set, and deleting the second virtual number from the second virtual number set; sending the target virtual number to the client so that the client can initiate a call request to the service provider based on the target virtual number; when it is detected that any virtual number in the first virtual number set meets the conversion condition, saving the any virtual number into the second virtual number set, and deleting the any virtual number and its corresponding physical number from the first virtual number set. Through the cooperation of the first virtual number set and the second virtual number set, as well as the recycling mechanism of virtual numbers, the reuse of virtual numbers is achieved, and the waste of virtual number resources is reduced.
[0038] These aspects or other aspects of the present application will be more clearly understood in the following description of the embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] The drawings described herein are used to provide a further understanding of the present application, and constitute a part of the present application. The illustrative embodiments and descriptions thereof of the present application are used to explain the present application, and do not constitute an improper limitation to the present application. In the drawings:
[0040] Figure 1 A system architecture diagram to which a technical solution of an embodiment of the present application can be applied is shown;
[0041] Figure 2 A flowchart of an embodiment of a method for acquiring a virtual number provided by the present application;
[0042] Figure 3 A flowchart of an embodiment of a method for acquiring a virtual number provided by the present application;
[0043] Figure 4 A schematic diagram of a method for acquiring a virtual number provided by an embodiment of the present application;
[0044] Figure 5 A block diagram of an apparatus for acquiring a virtual number provided by an embodiment of the present application;
[0045] Figure 6 A block diagram of an apparatus for acquiring a virtual number provided by another embodiment of the present application;
[0046] Figure 7 A block diagram of a computing device provided by an embodiment of the present application. Detailed implementation manners
[0047] To make the objectives, technical solutions, and advantages of the present application clearer, the technical solutions of the present application will be clearly and completely described below in conjunction with specific embodiments of the present application and the corresponding drawings. Apparently, the described embodiments are only a part rather than all of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present application without creative efforts shall fall within the scope of protection of the present application.
[0048] It should be noted that in the case where the embodiments of the present application involve user information, the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the embodiments of the present application are all information and data authorized by the user or fully authorized by all parties. In addition, the collection, use, and processing of relevant data need to comply with relevant laws, regulations, and standards of relevant countries and regions, and corresponding operation entrances are provided for users to choose to authorize or reject. In addition, various models (including but not limited to language models or large models) involved in the present application comply with relevant laws and standards.
[0049] In the current context of the continuous development of communication technologies, virtual numbers, as an important communication resource, are widely used in many fields. A virtual number is not a real physical number but a number identifier for communication generated through technical means. Virtual numbers are mainly used to hide the real physical number of the service provider during communication, thus building a privacy protection barrier for the service provider.
[0050] For many service providers, to meet diverse business needs, they often provide multiple different types of services. Each service is equipped with a corresponding physical number to enable effective communication with users.
[0051] In the related art, a static virtual number binding mode of "one physical number - one virtual number" is usually adopted. In this binding mode, each physical number is fixedly bound to a virtual number. When the server receives a virtual number acquisition request from the client for a certain service, it will find the corresponding virtual number according to the pre-set binding relationship between the physical number and the virtual number and feedback it to the client.
[0052] The inventor found during the process of implementing the concept of the present application that in actual applications, there are obvious peak and off-peak periods for the services of the service provider. During the off-peak periods, a large number of virtual numbers are idle and cannot be reused by other services, resulting in a low utilization rate of virtual numbers.
[0053] In view of the technical problem of the low utilization rate of existing virtual numbers, an embodiment of the present application provides a solution. The basic idea is as follows: Receive a virtual number acquisition request sent by a client, where the virtual number acquisition request includes a service identifier of a target service; in response to the virtual number acquisition request, determine a target physical number corresponding to the target service; check whether there is a first virtual number corresponding to the target physical number in a first virtual number set; if so, use the first virtual number as the target virtual number; if not, search for a second virtual number in a second virtual number set and use the second virtual number as the target virtual number; correspondingly save the second virtual number and the target physical number to the first virtual number set, and delete the second virtual number from the second virtual number set; send the target virtual number to the client so that the client can initiate a call request to the service provider based on the target virtual number; when it is detected that any virtual number in the first virtual number set meets the conversion condition, save the any virtual number to the second virtual number set, and delete the any virtual number and its corresponding physical number from the first virtual number set. Through the cooperation of the first virtual number set and the second virtual number set, as well as the recycling mechanism of virtual numbers, the reuse of virtual numbers is achieved, and the waste of virtual number resources is reduced. In terms of flexibility, it is no longer limited to the static binding mode, and virtual numbers can be flexibly allocated according to the actual needs of services, adapting to the dynamic changes of the services provided by service providers. At the same time, it can also improve the efficiency of the server in allocating virtual numbers, ensure the stability of communication services, optimize the communication experience between users and service providers, and improve the overall service quality.
[0054] Next, the technical solutions in the embodiments of the present application will be clearly and completely described with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without creative efforts shall fall within the protection scope of the present application.
[0055] Figure 1 FIG. shows a system architecture diagram to which a technical solution of an embodiment of the present application can be applied. The system architecture may include a client 101 and a server 102.
[0056] Among them, a connection can be established between the client 101 and the server 102 through a network. The network provides a medium for the communication link between the client 101 and the server 102. The network may include various connection types, such as wired, wireless, or fiber optic cables, etc. The client 101 can interact with the server 102 through the network to receive or send messages, etc.
[0057] Among them, the client 101 can be a browser, an APP (Application), or a web application such as an H5 (HyperText Markup Language 5) application, or a light application (also known as a mini-program, a lightweight application) or a cloud application, etc. The client 101 can be deployed in an electronic device and needs to rely on the device or certain apps in the device to run, etc. The electronic device can, for example, have a display screen and support information browsing, etc., such as a personal mobile terminal such as a mobile phone, a tablet computer, a personal computer, a desktop computer, a smart speaker, a smart watch, etc. For ease of understanding, Figure 1 the client is mainly represented by the device image in Figure 1 . Various other types of applications can usually be configured in the electronic device, such as human-computer dialogue applications, model training applications, text processing applications, web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, etc. The electronic device can refer to a device used by a user and having functions such as computing, Internet access, and communication required by the user. For example, it can be a mobile phone, a tablet computer, a personal computer, a wearable device, etc. The electronic device usually can include at least one processing component and at least one storage component. The electronic device may also include basic configurations such as a network card chip, an IO (input / output) bus, and audio-video components. This application does not limit this. Optionally, according to the implementation form of the electronic device, some peripheral devices may also be included, such as a keyboard, a mouse, a stylus, a printer, etc. This application does not limit this.
[0058] The server 102 can include servers that provide various services, such as a server for background training that provides support for the models used on the client 101, or a server that processes the interaction information sent by the client, etc.
[0059] It should be noted that the server 102 can be implemented as a distributed server cluster composed of multiple servers, or can be implemented as a single server. The server can also be a server of a distributed system, or a server combined with a blockchain. The server can also 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 communication, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms, or a smart cloud computing server or a smart cloud host with artificial intelligence technology.
[0060] It should be noted that the method for obtaining a virtual number provided in the embodiments of the present application is generally executed by the server 102, and the corresponding device for obtaining a virtual number is generally set in the server 102. However, in other embodiments of the present application, the client 101 may also have a similar function to the server 102, so as to execute the method for obtaining a virtual number provided in the embodiments of the present application.
[0061] It should be understood that Figure 1 the number of clients and servers in
[0062] The implementation details of the technical solutions in the embodiments of the present application are elaborated in detail below.
[0063] Figure 2 FIG. is a flowchart of an embodiment of a method for obtaining a virtual number provided by the present application. The technical solution of this embodiment can be executed by the server.
[0064] Figure 2 The method for obtaining a virtual number shown may include the following steps:
[0065] 201: Receive a virtual number acquisition request sent by the client. The virtual number acquisition request includes a service identifier of the target service.
[0066] Among them, when the user has a need to communicate with the service provider, the client can be used to send a virtual number acquisition request to the server. The service provider may refer to a subject that can provide various products or services for the user and realizes communication interaction by means of a virtual number.
[0067] Taking the service provider as a local life service platform as an example, the local life service platform may involve various local life services such as housekeeping services, repair services, beauty and hair services, etc. Taking housekeeping services as an example, users can make appointments for cleaning, nannies, maternity nurses and other services through the local life service platform; repair services cover home appliance repair, pipeline dredging, house repair and other projects; beauty and hair services provide hair styling, beauty care and other contents.
[0068] In the local life service platform, for services of different service types, there may be different physical numbers. For example, housekeeping services, repair services, and beauty and hair services may respectively correspond to physical numbers.
[0069] The virtual number acquisition request can be used to request to obtain the virtual number of the target service among the various services provided by the service provider. By obtaining the virtual number of the target service, the user can perform operations such as service consultation and service reservation.
[0070] Among them, the virtual number acquisition request may include a service identifier of the target service.
[0071] 202: In response to a virtual number acquisition request, determine the target physical number corresponding to the target service.
[0072] After the server receives a virtual number acquisition request, it can parse the request content, and then, for example, determine the target physical number corresponding to the target service through a pre-set service and physical number correspondence table. For example, in a life service platform, the domestic service corresponds to the physical number A. When the client requests the virtual number of the maintenance service, the server can determine that the target physical number is A.
[0073] 203: Check whether there is a first virtual number corresponding to the target physical number in the first virtual number set.
[0074] 204: If so, use the first virtual number as the target virtual number.
[0075] 205: If not, search for a second virtual number in the second virtual number set and use the second virtual number as the target virtual number.
[0076] 206: Corresponding save the second virtual number and the target physical number into the first virtual number set, and delete the second virtual number from the second virtual number set.
[0077] 207: Send the target virtual number to the client so that the client can initiate a call request to the service provider based on the target virtual number.
[0078] 208: When it is detected that any virtual number in the first virtual number set meets the conversion condition, save any virtual number into the second virtual number set, and delete any virtual number and its corresponding physical number from the first virtual number set.
[0079] After determining the target physical number, the server can check whether there is a first virtual number corresponding to the target physical number in the first virtual number set. If it exists, for example, if there is already a virtual number V1 corresponding to the physical number A in the first virtual number set, then V1 can be directly used as the target virtual number. If the first virtual number set does not have a first virtual number corresponding to the target physical number, the server can search for an idle second virtual number in the second virtual number set. Assume that there is a virtual number V2 in the second virtual number set that is in an idle state. The server can then use V2 as the target virtual number.
[0080] In an embodiment of the present application, the first virtual number set is used to store virtual numbers that are currently in an active binding state. For the service provider, the physical number of each service will form a binding relationship with the unique virtual number in the first virtual number, and this binding relationship will remain effective during a specific binding period. For example, once the physical number corresponding to the housekeeping and cleaning service in the life service platform is bound to a virtual number, during the entire subsequent binding period, whenever a user sends a virtual number acquisition request for the housekeeping and cleaning service through the client, the server will find the virtual number from the first virtual number set for allocation, ensuring that the user can always obtain the same virtual number when contacting the same service multiple times, thereby improving the consistency and convenience of user communication, and also helping the service provider to establish a unified and stable brand communication image.
[0081] The second virtual number set can be used to store virtual number resources that are temporarily idle for a specific service provider. These idle virtual numbers are stored in the second virtual number set during off-peak service hours, or in the transitional stage when the service binding relationship has not yet been established and the binding relationship has been released. For example, in the life service platform, the beauty and hairdressing service has relatively less business volume during the morning hours on weekdays. Some of the virtual numbers previously allocated to the service will be transferred from the first virtual number set to the second virtual number set due to no demand for use. Once a new virtual number acquisition request arrives later, and there is no corresponding virtual number available in the first virtual number set, the server can retrieve a suitable idle virtual number from the second virtual number set, activate it and allocate it for use, thereby realizing the flexible circulation and efficient reuse of virtual number resources within the service provider.
[0082] After sending the target virtual number to the client, the server can continuously monitor the virtual number acquisition request for the target physical number. Taking the first time period set to 5 minutes as an example, within these 5 minutes, if no virtual number acquisition request for the target physical number A is received, the server can perform a virtual number recycling operation, that is, save the virtual number V2 to the second virtual number set and delete it from the first virtual number set, so that V2 becomes an idle virtual number that can be used by other target physical numbers again, completing a virtual number recycling process.
[0083] In the embodiments of the present application, through the cooperation of the first virtual number set and the second virtual number set, as well as the recovery mechanism of the virtual number, the reuse of virtual numbers is realized, and the waste of virtual number resources is reduced. In terms of flexibility, it is no longer limited to the static binding mode, and virtual numbers can be flexibly allocated according to the actual needs of the service to adapt to the dynamic changes of the service provider's business. At the same time, it can also improve the efficiency of the server's allocation of virtual numbers, ensure the stability of communication services, optimize the communication experience between users and service providers, and improve the overall service quality.
[0084] As described above, in the virtual number allocation mode in the related art, the static binding method of "one physical number for one virtual number" has problems of resource waste and poor flexibility. Through the cooperation of the first virtual number set and the second virtual number set, and the recycling mechanism of virtual numbers, the utilization rate of virtual numbers is improved to a certain extent. However, when there is no idle virtual number in the second virtual number set, it may still be impossible to allocate virtual numbers to the client in a timely manner. In scenarios where the service request volume is large and concentrated, this will seriously affect the user experience and the normal operation of the service. For example, during the big promotion activities of an e-commerce platform, a large number of users consult different services at the same time. If only relying on the first and second virtual number sets, it may not be possible to meet all virtual number requirements, resulting in some users being unable to contact the service provider in a timely manner. In some embodiments, the method may further include:
[0085] In the case where no second virtual number in the idle state is found in the second virtual number set, determine a third virtual number set, where the third virtual number set includes third virtual numbers shared by multiple service providers;
[0086] Search for a third virtual number in the idle state in the third virtual number set, and determine the third virtual number as the target virtual number;
[0087] Correspondingly save the third virtual number and the target physical number to the first virtual number set, and delete the third virtual number from the third virtual number set.
[0088] As described above, after the server receives the virtual number acquisition request sent by the client, it can first determine the target physical number corresponding to the target service, and then search in the first virtual number set to see if there is a corresponding first virtual number. If not, continue to search for an idle second virtual number in the second virtual number set.
[0089] When no idle second virtual number is found in the second virtual number set, the server can determine the third virtual number set. In practical applications, the third virtual number set can be a shared resource jointly maintained and used by multiple service providers. For example, multiple e-commerce platforms jointly build a shared third virtual number pool in order to improve the utilization rate of virtual number resources, and the servers of each platform can obtain virtual numbers from this pool.
[0090] After determining the third virtual number set, the server can search for a third virtual number in the idle state in the third virtual number set. To achieve efficient search, an index, such as a hash index, can be established for the third virtual number set in the database, so that the idle virtual number can be quickly located. Suppose an idle third virtual number V3 is found in the third virtual number set, and the server can determine V3 as the target virtual number.
[0091] Next, the server can save the correspondence between V3 and the target physical number to the first virtual number set. At the same time, to prevent V3 from being re-allocated by other requests, the server can delete V3 from the third virtual number set.
[0092] By introducing the third virtual number set as a shared resource, the embodiments of the present application improve the success rate of virtual number allocation in complex business scenarios. In a high-concurrency service request scenario, even if the resources of the second virtual number set are insufficient, virtual numbers can be obtained from the shared third virtual number set, ensuring the continuity of communication between users and service providers and avoiding service interruptions caused by virtual number allocation failures. This not only improves the user experience and enhances users' trust in the service platform but also provides strong support for service providers in business expansion and user growth. At the same time, it further improves the overall utilization efficiency of virtual number resources and realizes the optimal allocation of resources.
[0093] To improve the utilization rate of virtual number resources, in some embodiments, the method may further include:
[0094] When it is detected that no number acquisition request for the target physical number is received within the second time period, save the third virtual number to the third virtual number set and delete the second virtual number from the first virtual number set.
[0095] When the server detects that no number acquisition request for the target physical number is received within the second time period, it can save the third virtual number bound to the target physical number to the third virtual number set and delete it from the first virtual number set. Through this virtual number recycling mechanism, dynamic recycling and reallocation of shared virtual number resources can be achieved, ensuring the efficient transfer of virtual number resources among multiple service providers and improving the overall resource utilization rate.
[0096] Among them, the second time period can be flexibly selected according to actual application requirements.
[0097] In some embodiments, when it is detected that any virtual number in the first virtual number set meets the conversion condition, saving the any virtual number to the second virtual number set and deleting the any virtual number and its corresponding physical number from the first virtual number set can be specifically implemented as:
[0098] When it is detected that no acquisition request for the any virtual number is received again within the first time period, it is determined that the any virtual number meets the conversion condition.
[0099] In some embodiments, when it is detected that any virtual number in the first virtual number set meets the conversion condition, saving the any virtual number to the second virtual number set and deleting the any virtual number and its corresponding physical number from the first virtual number set can be specifically implemented as follows:
[0100] Create a first recycling message for any virtual number;
[0101] Send the first recycling message to the delayed message queue, and the delayed message queue is set with a first delay condition corresponding to the first time period;
[0102] When it is detected based on the delayed message queue that the first recycling message meets the first delay condition, save any virtual number to the second virtual number set and delete the second virtual number from the first virtual number set.
[0103] When the server does not receive a virtual number acquisition request for the target physical number within the first time period, the virtual number recycling process can be started. First, the server can create a first recycling message for any virtual number. The first recycling message can be a structured data object, including key information: the unique identifier of the virtual number (such as the virtual number ID in UUID format) to clarify the virtual number to be recycled; the physical number indicating the service originally bound to the virtual number; the recycling instruction indicating the specific content of the execution of the recycling operation; and other auxiliary information such as the message creation time and message priority.
[0104] Next, the server can send the first recycling message to the delayed message queue. RabbitMQ supports implementing the delayed message function through plugins (such as the rabbitmq_delayed_message_exchange plugin). When sending a message, the server sets a first delay condition corresponding to the first time period for the first recycling message, that is, setting the message to be delivered to the consumer end after a 5-minute delay in the queue. After the first recycling message enters the delayed message queue, it will wait in a specific delayed queue. During this period, the message will not be acquired and processed by the consumer, thus avoiding the occupation of virtual number resources by immediate recycling.
[0105] Inside the delayed message queue, RabbitMQ can manage the delay time of the message through a timer or time wheel algorithm. At regular time intervals, the system checks whether the messages in the delayed message queue have reached the delay time. When it is detected based on the delayed message queue that the first recycling message meets the first delay condition (that is, the message has waited in the queue for 5 minutes), the message will be delivered to the consumer end.
[0106] The server can be pre-deployed with a dedicated virtual number recycling consumer service, which continuously monitors the consumer end of the delayed message queue. When the first recycling message is received, the consumer service parses the message content to obtain the virtual number and physical number information. Then, specific recycling operations are performed based on the information: any virtual number is saved to the second virtual number set, and any virtual number is deleted from the first virtual number set, making any virtual number become an available idle virtual number again, completing the entire recycling process.
[0107] In the embodiments of the present application, the asynchronous delayed recycling of virtual numbers is achieved by introducing a delayed message queue, effectively solving the performance problems brought by the real-time recycling of virtual numbers in high-concurrency scenarios. On the one hand, it avoids the preemption of server resources by high-frequency polling and synchronous recycling, reduces the read and write pressure on the server, and enables the server to efficiently complete the recycling operation while processing a large number of virtual number allocation requests; on the other hand, through precise delayed condition settings, it ensures that virtual numbers are recycled within a specified time period, realizes the timely reuse of virtual number resources, and significantly improves resource utilization.
[0108] The implementation method of recycling virtual numbers from the first virtual number set to the third virtual number set can refer to the above specific implementation manners and will not be elaborated here.
[0109] In some embodiments, specifically saving the second virtual number corresponding to the target physical number to the first virtual number set can be implemented as follows:
[0110] The second virtual number and the target physical number are stored as key-value pairs in the key-value pair storage database corresponding to the first virtual number set.
[0111] In the embodiments of the present application, Redis can be selected as the key-value pair storage database corresponding to the first virtual number set to utilize the high-speed read and write characteristics based on memory and rich data structure support of Redis to achieve the efficient storage of the corresponding relationship between virtual numbers and physical numbers.
[0112] The server can first perform data formatting processing on the virtual number and the target physical number to ensure that the data meets the Redis storage requirements. For example, the virtual number and the target physical number can be uniformly converted to the string type for subsequent storage and query. Then, the Hash data structure in Redis can be used for storage. The Hash structure in Redis is a data type that is very suitable for storing a collection of key-value pairs. It stores data in the form of a single key corresponding to multiple fields and values. In this embodiment, the first virtual number set is used as the key of the Hash, for example, named "virtual_number_mapping"; the target physical number is used as the field of the Hash, and the corresponding virtual number is used as the value of this field. By executing the HSET command in Redis, the corresponding relationship between the virtual number and the target physical number can be stored in the Hash structure. For example, if the target physical number is "123456" and the target virtual number is "987654", then execute the command HSET virtual_number_mapping 123456 987654, thereby storing the corresponding relationship between the virtual number "987654" and the target physical number "123456" in the Hash structure corresponding to the first virtual number set.
[0113] By adopting a key-value pair storage database to store the corresponding relationship between virtual numbers and physical numbers in the embodiments of the present application, it is possible to effectively handle a large number of virtual number allocation requests in a high-concurrency scenario and improve the response speed of virtual number allocation.
[0114] During the virtual number allocation process, after the corresponding relationship between the virtual number and the target physical number is established, if there is no effective status management mechanism, it may occur that the same virtual number is incorrectly bound to multiple physical numbers. For example, in a high-concurrency scenario, multiple clients simultaneously request virtual number allocation. If the server does not lock the already allocated virtual number, it may cause the virtual number to be repeatedly allocated. In some embodiments, after saving the second virtual number and the target physical number to the first virtual number set, the method may further include:
[0115] Set the second virtual number to an unallocable state to prevent the second virtual number from being bound to other physical numbers.
[0116] In the embodiments of the present application, to effectively manage the status of virtual numbers, a status flag field can be set for each virtual number in the Redis database to record the current status of the virtual number, such as "allocable", "unallocable", etc.
[0117] Based on this, when a new virtual number allocation request arrives, the server can first obtain the status identification field value of the virtual number to be allocated from the Redis database. If the status is "unallocatable", the allocation request is directly rejected; if the status is "allocatable", the subsequent virtual number allocation process continues.
[0118] In this technology, when it is determined that the second virtual number needs to be reclaimed, the lock on the second virtual number can be released and the second virtual number can be set to an allocatable state.
[0119] The embodiment of the present application avoids the problem of repeated binding of virtual numbers by setting the allocated virtual numbers to an unallocatable state, thereby improving the accuracy and reliability of virtual number allocation.
[0120] It should be noted that the Redis database used in the embodiment of the present application is only an optional implementation method. In practical applications, for example, MySQL, Apache, etc. can also be used.
[0121] Figure 3 This is a flowchart of an embodiment of a method for obtaining a virtual number provided in the present application. The technical solution of this embodiment can be executed by a client.
[0122] Figure 3 The method for obtaining the virtual number may include the following steps:
[0123] 301: Displaying a virtual number acquisition control for a target service provided by a service provider on a display interface;
[0124] 302: upon receiving a trigger operation of the user for the virtual number acquisition control, sending a virtual number acquisition request to the server, so that the server determines the target physical number corresponding to the target service in response to the virtual number acquisition request; searching from the first virtual number set whether there is a first virtual number corresponding to the target physical number; if so, taking the first virtual number as the target virtual number; if not, searching from the second virtual number set, taking the second virtual number as the target virtual number; saving the second virtual number and the target physical number in correspondence to the first virtual number set, and deleting the second virtual number from the second virtual number set; sending the target virtual number to the client, so that the client initiates a call request to the service provider based on the target virtual number; upon detecting that any virtual number in the first virtual number set satisfies the conversion condition, saving the any virtual number in the second virtual number set, and deleting the any virtual number and its corresponding physical number from the first virtual number set;
[0125] 303: Receive the target virtual number sent by the server.
[0126] The detailed implementation manners and beneficial effects of the steps in the method of this embodiment have been described in detail in the foregoing embodiments, and will not be elaborated herein.
[0127] Figure 4 It is a schematic diagram of the virtual number acquisition method provided by the embodiment of the present application.
[0128] As Figure 4 shown, after the client 401 sends a virtual number acquisition request for obtaining the virtual number of the target service of the service provider to the server 402, the server 402 first determines the target physical number corresponding to the target service. Then, the server 402 can first check whether there is a first virtual number corresponding to the target physical number in the first virtual number set 4021. If it exists, this first virtual number can be directly used as the target virtual number and sent to the client 401, and the client 401 can initiate a call request to the service provider based on this target virtual number.
[0129] If the server 402 does not find the corresponding first virtual number in the first virtual number set 4021, the server 402 can look for an idle second virtual number in the second virtual number set 4022. Once found, this second virtual number is determined as the target virtual number. Subsequently, this second virtual number and the target physical number can be stored in the key-value pair storage database corresponding to the first virtual number set 4021 in the form of a key-value pair, that is, it is saved to the first virtual number set 4021, and at the same time, this second virtual number is deleted from the second virtual number set 4022. At the same time, this target virtual number can be sent to the client 401 for the client 401 to initiate a call request to the service provider.
[0130] After using the second virtual number as the target virtual number, if within the first time period, the server 402 does not receive another virtual number acquisition request for this target physical number, a first recovery message about this second virtual number will be created, and then this first recovery message will be sent to the delay message queue set with the first delay condition corresponding to the first time period. When it is detected based on this delay message queue that the first recovery message meets the first delay condition, this second virtual number is deleted from the first virtual number set 4021 and saved back to the second virtual number set 4022.
[0131] If there is also no second virtual number in the idle state in the second virtual number set 4022, the server 402 can determine the third virtual number set 4023, which contains third virtual numbers shared by multiple service providers. Then, the server 402 will search for a third virtual number in the idle state from the third virtual number set 4023, and after finding it, determine it as the target virtual number. Subsequently, this third virtual number is correspondingly saved in the first virtual number set 4021 together with the target physical number, and at the same time, this third virtual number is deleted from the third virtual number set 4023. After that, the target virtual number is also sent to the client 401 for initiating a call request. If within the second time period, the server 402 detects that no number acquisition request for this target physical number is received, this third virtual number will be deleted from the first virtual number set 4021 and saved back to the third virtual number set 4023.
[0132] Figure 5 The block diagram of an apparatus for obtaining a virtual number provided by an embodiment of the present application. This apparatus can be applied to a server, such as Figure 5 shown. This apparatus may include:
[0133] A first receiving module 501, configured to receive a virtual number acquisition request sent by a client, where the virtual number acquisition request includes a service identifier of a target service;
[0134] A first determination module 502, configured to determine a target physical number corresponding to the target service in response to the virtual number acquisition request;
[0135] A first search module 503, configured to search in the first virtual number set to find whether there is a first virtual number corresponding to the target physical number;
[0136] A second determination module 504, configured to use the first virtual number as the target virtual number when there is a first virtual number corresponding to the target physical number in the first virtual number set;
[0137] A second search module 505, configured to search for a second virtual number in the second virtual number set and use the second virtual number as the target virtual number when there is no first virtual number corresponding to the target physical number in the first virtual number set;
[0138] A first saving module 506, configured to correspondingly save the second virtual number and the target physical number in the first virtual number set, and delete the second virtual number from the second virtual number set;
[0139] A first sending module 507, configured to send the target virtual number to the client so that the client can initiate a call request to the service provider based on the target virtual number;
[0140] A second saving module 508, configured to save any virtual number that meets the conversion condition in the first virtual number set to the second virtual number set, and delete the any virtual number and its corresponding physical number from the first virtual number set.
[0141] In some embodiments, the apparatus may further include:
[0142] A third determining module, configured to determine a third virtual number set when a second virtual number is not found in the second virtual number set, where the third virtual number set includes third virtual numbers shared by multiple service providers;
[0143] A third searching module, configured to search for a third virtual number from the third virtual number set and determine the third virtual number as the target virtual number;
[0144] A third saving module, configured to correspondingly save the third virtual number and the target physical number to the first virtual number set, and delete the third virtual number from the third virtual number set.
[0145] In some embodiments, the apparatus may further include:
[0146] A fourth saving module, configured to save the third virtual number to the third virtual number set and delete the second virtual number from the first virtual number set when it is detected that no number acquisition request for the target physical number is received within a second time period.
[0147] In some embodiments, the second saving module 508 may specifically be configured to:
[0148] When it is detected that no acquisition request for the any virtual number is received again within a first time period, determine that the any virtual number meets the conversion condition.
[0149] In some embodiments, the second saving module 508 may specifically be configured to:
[0150] Create a first recycling message for any virtual number;
[0151] Send the first recycling message to a delayed message queue, and the delayed message queue is set with a first delay condition corresponding to the first time period;
[0152] When it is detected based on the delayed message queue that the first recycling message meets the first delay condition, save the any virtual number to the second virtual number set and delete the any virtual number from the first virtual number set.
[0153] In some embodiments, the first saving module 506 is specifically configured to:
[0154] Store the second virtual number and the target physical number as a key-value pair in the key-value storage database corresponding to the first virtual number set.
[0155] In some embodiments, after the second virtual number and the target physical number are correspondingly saved to the first virtual number set, the apparatus may further include:
[0156] A status setting module, configured to set the second virtual number to an unassignable status to prevent the second virtual number from being bound to other physical numbers.
[0157] Figure 5 The virtual number acquisition device can execute Figure 2 The virtual number acquisition method of the illustrated embodiment, the implementation principle and technical effects of which will not be elaborated. For the virtual number acquisition device in the above embodiments, the specific manners in which each module and unit perform operations have been described in detail in the embodiments related to the method, and will not be elaborated here.
[0158] Figure 6 As shown in the block diagram of a virtual number acquisition device provided in another embodiment of the present application, the device can be applied to a client, such as Figure 6 shown, the device may include:
[0159] A first display module 601, configured to display a virtual number acquisition control for a target service provided by a service provider on a display interface;
[0160] A second sending module 602, configured to, in response to a trigger operation of a user on the virtual number acquisition control, send a virtual number acquisition request to a server, so that the server, in response to the virtual number acquisition request, determines a target physical number corresponding to the target service; check whether there is a first virtual number corresponding to the target physical number in the first virtual number set; if so, use the first virtual number as the target virtual number; if not, search for a second virtual number in the second virtual number set and use the second virtual number as the target virtual number; correspondingly save the second virtual number and the target physical number in the first virtual number set, and delete the second virtual number from the second virtual number set; send the target virtual number to the client, so that the client initiates a call request to the service provider based on the target virtual number; detect that any virtual number in the first virtual number set meets a conversion condition, save the any virtual number to the second virtual number set, and delete the any virtual number and its corresponding physical number from the first virtual number set;
[0161] A second receiving module 603, configured to receive the target virtual number sent by the server.
[0162] Figure 6 The described virtual number acquisition device can execute Figure 3The method for obtaining virtual numbers described in the illustrated embodiments, its implementation principle and technical effects will not be elaborated further. For the virtual number obtaining device in the above embodiments, the specific manners in which each module and unit perform operations have been described in detail in the embodiments related to the method, and will not be elaborated here.
[0163] It should be noted that the technical solution of the embodiments of the present application is applicable to a network virtual environment. The users described generally refer to "virtual users". Real users can register user accounts on the server through the registration method to obtain user identities in the network environment. The same user account can be logged in to the server through different types of user terminals, enabling the server to identify the same user.
[0164] It should be noted that in some of the processes described in the above embodiments and the accompanying drawings, there are multiple operations that appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order in which they appear in this document or may be executed in parallel. The operation numbers such as 201 and 202 are only used to distinguish different operations, and the numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in order or in parallel. It should be noted that the descriptions such as "first" and "second" in this document are used to distinguish different messages, devices, modules, etc., and do not represent a sequence, nor do they limit that "first" and "second" are of different types.
[0165] Figure 7 This is a schematic structural diagram of an embodiment of a computing device provided by the present application. As Figure 7 shown, in practice, the computing device may include: a storage component 701 and a processing component 702.
[0166] The storage component 701 is used to store computer programs and can be configured to store various other data to support operations on the computing device. Examples of these data include instructions for any application program or method for operating on the computing device, data structures, contact data, phone book data, messages, pictures, videos, etc.
[0167] The processing component 702 is coupled to the storage component 701 and is used to execute the computer programs in the storage component 701 to implement the method for obtaining virtual numbers provided by the embodiments of the present application.
[0168] The above-mentioned processing component includes one or more processors to execute computer instructions to complete all or part of the steps in the above-mentioned method. Of course, the processing component can also be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components for executing the above-mentioned method.
[0169] The above-mentioned storage component can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, a magnetic disk or an optical disc.
[0170] The above-mentioned communication component is configured to facilitate communication between the device where the communication component is located and other devices in a wired or wireless manner. The device where the communication component is located can access a wireless network based on a communication standard, such as a mobile communication network, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel.
[0171] The above-mentioned display component may include a screen, and the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors can not only sense the boundaries of touch or swipe actions, but also detect the duration and pressure associated with the touch or swipe operations.
[0172] The above-mentioned power supply component supplies power to various components of the device where the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device where the power supply component is located.
[0173] The above audio component can be configured to output and / or input an audio signal. For example, the audio component includes a microphone (MIC). When the device where the audio component is located is in an operation mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in a memory or transmitted via a communication component. In some embodiments, the audio component further includes a speaker for outputting an audio signal.
[0174] Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor is caused to implement the steps in the above method embodiments. Among them, the computer-readable storage medium can be implemented by a volatile or non-volatile or a combination thereof, and can be removable or non-removable. Examples of computer-readable storage media include, but are not limited to, phase-change random access memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette tapes, magnetic disk storage or other magnetic storage devices or any other non-transmission medium
[0175] Accordingly, an embodiment of the present application further provides a computer program product. The computer program product includes a computer program or instruction. When the computer program or instruction is executed by a processor, the processor is caused to implement the steps in the above method embodiments. It should be understood that each process or a combination of multiple processes in the above method flow can be implemented by the computer program or instruction. In addition, these computer programs or instructions can be applied to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing devices, so that the processor of the general-purpose computer, the special-purpose computer, the embedded processor or other programmable data processing devices can be used as a device for implementing the corresponding functions in the above method embodiments.
[0176] Those skilled in the art can clearly understand that for the convenience and conciseness of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be described herein again.
[0177] It should also be noted that the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, commodity or device comprising a series of elements not only includes those elements but also includes other elements not expressly listed, or further includes elements inherent to such process, method, commodity or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, commodity or device comprising the element.
[0178] Finally, it should be noted that the above are only embodiments of the present application and are not used to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present application shall be included within the scope of the claims of the present application.
Claims
1. A method for obtaining a virtual number, characterized in that, Applied to the server side, the method includes: Receiving a virtual number acquisition request sent by a client, where the virtual number acquisition request includes a service identifier of a target service; In response to the virtual number acquisition request, determining a target physical number corresponding to the target service; Searching in a first virtual number set to find whether there is a first virtual number corresponding to the target physical number; If so, using the first virtual number as the target virtual number; If not, searching in a second virtual number set for a second virtual number and using the second virtual number as the target virtual number; Correspondingly saving the second virtual number and the target physical number to the first virtual number set, and deleting the second virtual number from the second virtual number set; Sending the target virtual number to the client so that the client can initiate a call request to the service provider based on the target virtual number; When it is detected that any virtual number in the first virtual number set meets the conversion condition, saving the any virtual number to the second virtual number set, and deleting the any virtual number and its corresponding physical number from the first virtual number set.
2. The method according to claim 1, characterized in that, The method further includes: In the case where no second virtual number is found in the second virtual number set, determining a third virtual number set, where the third virtual number set includes third virtual numbers shared by multiple service providers; Searching in the third virtual number set for a third virtual number and determining the third virtual number as the target virtual number; Correspondingly saving the third virtual number and the target physical number to the first virtual number set, and deleting the third virtual number from the third virtual number set.
3. The method according to claim 2, characterized in that, The method further includes: In the case where it is detected that no number acquisition request for the target physical number is received within a second time period, saving the third virtual number to the third virtual number set, and deleting the second virtual number from the first virtual number set.
4. The method according to claim 1, characterized in that When it is detected that any virtual number in the first virtual number set meets the conversion condition, saving the any virtual number to the second virtual number set, and deleting the any virtual number and its corresponding physical number from the first virtual number set includes: When it is detected that no acquisition request for the any virtual number is received again within a first time period, determining that the any virtual number meets the conversion condition.
5. The method according to claim 4, wherein When it is detected that any virtual number in the first virtual number set meets the conversion condition, saving the any virtual number to the second virtual number set, and deleting the any virtual number and its corresponding physical number from the first virtual number set includes: Creating a first recycling message for the any virtual number; Sending the first recycling message to a delayed message queue, where the delayed message queue is set with a first delay condition corresponding to the first time period; When it is detected based on the delayed message queue that the first recycling message meets the first delay condition, saving the any virtual number to the second virtual number set, and deleting the any virtual number and its corresponding physical number from the first virtual number set.
6. The method according to claim 5, characterized in that, The step of correspondingly storing the second virtual number and the target physical number into the first virtual number set includes: Storing the second virtual number and the target physical number as a key-value pair into the key-value pair storage database corresponding to the first virtual number set.
7. The method according to claim 6, wherein After correspondingly storing the second virtual number and the target physical number into the first virtual number set, the method further includes: Setting the second virtual number to an unassignable state to prevent the second virtual number from being bound to other physical numbers.
8. A method for obtaining a virtual number, characterized in that, When applied to a client, the method includes: Displaying a virtual number acquisition control for a target service provided by a service provider on a display interface; In response to a trigger operation by a user on the virtual number acquisition control, sending a virtual number acquisition request to a server, so that in response to the virtual number acquisition request, the server determines a target physical number corresponding to the target service; searching in a first virtual number set to find whether there is a first virtual number corresponding to the target physical number; if so, using the first virtual number as the target virtual number; if not, searching in a second virtual number set to find a second virtual number and using the second virtual number as the target virtual number; correspondingly storing the second virtual number and the target physical number into the first virtual number set and deleting the second virtual number from the second virtual number set; sending the target virtual number to the client, so that the client initiates a call request to the service provider based on the target virtual number; detecting that any virtual number in the first virtual number set meets a conversion condition, saving the any virtual number into the second virtual number set, and deleting the any virtual number and its corresponding physical number from the first virtual number set; Receiving the target virtual number sent by the server.
9. A computing device, characterized in that, Comprising a processing component and a storage component; The storage component stores a computer program; the computer program is used to be called and executed by the processing component to implement the virtual number acquisition method according to any one of claims 1 to 7, or to implement the virtual number acquisition method according to claim 8.
10. A computer-readable storage medium, characterized in that, Stored thereon is a computer program, which when executed by a processing component, implements the virtual number acquisition method according to any one of claims 1 to 7, or implements the virtual number acquisition method according to claim 8.
11. A computer program product, characterized in that, Comprising a computer program or instruction, which when executed by a processing component, implements the virtual number acquisition method according to any one of claims 1 to 7, or implements the virtual number acquisition method according to claim 8.