Communication service processing method and device and computer readable storage medium

By setting the mapping relationship between the number and the virtual number and the address information in the personal communication service, the problem of high bandwidth consumption caused by the large cardinality of individual users is solved, and flexible system integration and communication processing suitable for personal assistant scenarios are realized.

CN120075199APending Publication Date: 2025-05-30HUAWEI TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311627939.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-30
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

In the prior art, the huge base of individual users in the personal service scenarios leads to a large amount of bandwidth consumption of media transmission in calls, and the traditional call center system is not suitable for personal assistant scenarios.

Method used

By setting the mapping relationship between the number and the virtual number and the address information used to access the call communication service, the execution of the personal communication service is realized. The operator equipment does not need to know the way of calling the service in advance, and the edge cloud communication service node can quickly and efficiently negotiate and complete the processing of the personal communication service.

Benefits of technology

It solves the problem of high bandwidth consumption in personal service scenarios, realizes flexibility in system integration, does not rely on the call center system, and is suitable for personal assistant scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120075199A_ABST
    Figure CN120075199A_ABST
Patent Text Reader

Abstract

The invention discloses a communication service processing method, which is applied to operator equipment or an operator system, and comprises the following steps: the operator equipment receives a call request of a calling subscriber; under the condition that the called number is bound with the virtual number, the operator equipment creates a channel session between the calling party and the virtual number, and confirms address information which corresponds to the called number and is used for accessing and calling the communication service based on the mapping relationship; the address information indicates a first edge cloud communication service node providing a communication service corresponding to the called number; the address information is, for example, a network address for initializing webhook based on a number attribution; and the operator equipment initiates an access calling request of the communication service corresponding to the called number to the first edge cloud communication service node based on the address information. The technical problem that in the prior art, a large amount of bandwidth is consumed by media transmission in calling due to huge individual user cardinal number in an individual service scene can be solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technologies, and in particular, to a communication service processing method, a communication service processing device, and a computer-readable storage medium. Background Art

[0002] With the development of the communication industry, in the process of the evolution of communication products towards solutionization and combination, the communication capability orchestration platform plays an important role and has also become the core competitiveness of domestic and foreign communication manufacturers. The main function of the communication capability orchestration platform is to connect modular atomic communication capabilities through the method of low-code component orchestration to form a complete scenario communication service (hereinafter referred to as communication orchestration service). Typical application scenarios include user return visits, activity push, self-service, etc.

[0003] From the application scenarios of current domestic and foreign communication manufacturers, there are mainly two problems with communication orchestration services: First, the scenarios of communication orchestration services are limited. Currently, communication orchestration services, on the one hand, are used to support sub-modules for specific communication requirements and are embedded in other application programs, such as call centers; on the other hand, communication orchestration services are provided as independent services and can be triggered and called by other systems as needed, such as sending user blessings on time. Second, there are significant differences in the domestic and foreign market spaces. In the foreign market, communication orchestration services are mainly targeted at enterprise customers, especially large-scale seat centers or customer service centers, such as customer support calls, call center interactions, etc.; while in the domestic market, catalyzed by the Internet industry, the scenarios of communication orchestration services are different from those in the foreign market, and the current scenario layout for personal communication orchestration services is still blank.

[0004] Domestic call center products usually include an interactive voice response (IVR) function, but the communication capabilities are less open and it is difficult to meet the specific needs of individual merchants. Therefore, how individual merchants use personal communication orchestration services to create their own personal self-service and call transfer, while bringing more traffic to operators and promoting the integration of communication manufacturers and operators, has become an urgent problem to be solved. Summary of the Invention

[0005] This application provides a communication service processing method, device, and computer-readable storage medium. By setting the mapping relationship between a number and a virtual number and the address information used to access and call communication services, the execution of personal communication services can be realized, and the technical problem of large bandwidth consumption caused by media transmission in calls due to a huge number of individual users in the personal service scenario in the prior art can be solved.

[0006] In a first aspect, this application provides a communication service processing method, which is applied to an operator device or an operator system. The method includes:

[0007] The operator equipment receives a call request from a calling user (such as a call request initiated by a terminal device of a calling user);

[0008] In the case where the called number is bound to a virtual number, the operator device creates a channel session between the caller and the virtual number, and confirms the address information corresponding to the called number for accessing the calling communication service based on the mapping relationship; the address information indicates the first edge cloud communication service node that provides the communication service corresponding to the called number; the address information is, for example, a network address for initializing a webhook based on the number's location;

[0009] The operator device initiates an access call request for the communication service corresponding to the called number to the first edge cloud communication service node based on the address information.

[0010] In a possible implementation, after the operator device initiates an access call request for the communication service corresponding to the called number to the first edge cloud communication service node based on the address information, it also includes: the operator device receives the communication content corresponding to the communication service sent by the first edge cloud communication service node, and sends the communication content to the terminal device through the channel.

[0011] Through the above embodiments, the operator equipment is based on the mapping relationship between the number and the virtual number and the address information for accessing the communication service, that is, the virtual number can be similar to a router. Through the pre-associated address information, the operator equipment does not need to know the method of calling the service in advance, and the operator equipment and the edge cloud communication service node that provides the communication service corresponding to the called number can quickly and efficiently negotiate to complete the processing of personal communication services. Users do not need to pay attention to the virtual number and have no perception of the virtual number, which is conducive to more flexible integration between systems. There is no need to rely on the call center system in the prior art, which can be applied to the personal assistant scenario, and it solves the technical problem that the huge base of personal users in the personal service scenario in the prior art leads to a large amount of bandwidth consumption caused by media transmission in the call.

[0012] In a possible implementation, before the channel session between the calling party and the virtual number is created and the address information corresponding to the called party number for accessing and invoking the communication service is confirmed based on the mapping relationship, the method further includes:

[0013] The operator device receives and stores the above mapping relationship sent by the development cloud device after the deployment is completed; the above mapping relationship includes at least one virtual number, wherein each of the above virtual numbers corresponds to numbers of multiple different users, and each of the above numbers corresponds to its own address information.

[0014] Through the above embodiments, a virtual number can be bound to or correspond to different real numbers of multiple users, that is, a virtual number supports personal communication services associated with multiple users, and users do not need to be aware of the existence of the virtual number, which can better support the expansion of personal communication services; and make the requirements of personal communication services more lightweight. In addition, it can avoid the problem that the operator equipment virtual number is one number per person in the prior art, which causes the number pool to expand infinitely, is difficult to manage, and is not suitable for personal communication service scenarios.

[0015] In a possible implementation manner, before receiving and storing the mapping relationship, the method further includes:

[0016] The operator device receives the virtual number application request sent by the development cloud device;

[0017] The operator device returns a newly added virtual number based on the virtual number application request.

[0018] Through the above embodiment, the virtual number acts as a transit of the operator, and the concurrent call volume can be set. When a virtual number reaches the binding upper limit, other virtual numbers need to be used. If there is no available virtual number, the development cloud device can apply for a new virtual number from the number management of the operator device.

[0019] In a possible implementation, after the address information corresponding to the called number for accessing and calling the communication service is confirmed based on the mapping relationship, the method further includes: the operator device storing the calling relationship between the channel session and the address information;

[0020] The above-mentioned initiating an access call request for the communication service corresponding to the called number to the above-mentioned first edge cloud communication service node based on the above-mentioned address information includes: for the current above-mentioned channel session, the operator device initiates an access call request for the communication service corresponding to the above-mentioned called number to the above-mentioned first edge cloud communication service node based on the above-mentioned address information corresponding to the above-mentioned calling relationship.

[0021] Through the above embodiment, the operator equipment can establish a virtual number call based on the mapping relationship between the called number and the virtual number, and at the same time generate a calling relationship between the session-address information (such as session-webhook). The personal communication service is associated with the session, not the virtual number; this can facilitate the subsequent routing of the personal communication service to the corresponding service address according to the session.

[0022] In a possible implementation, the method further includes:

[0023] The operator device receives the address update information; the address update information carries the updated address information, which is used to indicate that the address information corresponding to the current channel session in the calling relationship is updated to the updated address information; the updated address information indicates the second edge cloud communication service node that provides the communication service corresponding to the called number;

[0024] For the current channel session, the operator device initiates an access call request for the communication service corresponding to the called number to the second edge cloud communication service node based on the updated address information corresponding to the calling relationship.

[0025] Through the above embodiments, regional migration of service nodes is supported during execution or operation, or a new service node is elected for migration after a service node fails. The operator equipment can receive the corresponding address update information and continue to provide personal communication services to users based on the updated address information. The process instance of activating the optimal service node can be implemented. During the process of receiving and playing audio, the transmission delay of streaming media in the network can be greatly reduced, and it is ensured that after a service node fails, other service nodes in the same region can take over after arbitration and maintain the session.

[0026] In a second aspect, the present application provides a communication service processing method, which is applied to an edge cloud operation node or an edge cloud communication service node, including:

[0027] The edge cloud communication service node obtains a personal service instance activation indication, where the personal service instance is a service instance that provides communication services for the called number;

[0028] The edge cloud communication service node activates the personal service instance corresponding to the called number based on the personal service instance activation indication;

[0029] The edge cloud communication service node sends the communication content of the communication service corresponding to the called number based on the personal service instance.

[0030] The acquisition of a personal service instance activation indication may include one of the following situations:

[0031] Case 1: The above personal service instance activation indication includes an access and invocation request for the communication service corresponding to the above called number. That is, the edge cloud communication service node receives the access and invocation request for the communication service corresponding to the above called number sent from the operator device based on the mapping relationship between the number and the virtual number and the address information for accessing and invoking the communication service; then the edge cloud communication service node is often the communication service node corresponding to the address information for accessing and invoking the communication service registered or set by default by the above called number;

[0032] Scenario 2: The above-mentioned personal service instance activation indication includes receiving a notice from the first edge cloud communication service node instructing to initiate the communication service for the above-mentioned called number. That is to say, in this scenario, with the second edge cloud communication service node as the processing entity, when it is confirmed that the first edge cloud communication service node is not the optimal processing node and the second edge cloud communication service node is the optimal processing node, the first edge cloud communication service node can initiate a migration. Then, the second edge cloud communication service node receives a notice from the first edge cloud communication service node instructing to initiate the communication service for the above-mentioned called number;

[0033] Scenario 3: The above-mentioned personal service instance activation indication includes indication information obtained after the failure of the first edge cloud communication service node and arbitrated and selected as the new communication service node, and the above-mentioned indication information is used to instruct to initiate the communication service for the above-mentioned called number. That is to say, in this scenario, with the second edge cloud communication service node as the processing entity, in the case of the failure of the first edge cloud communication service node that originally executed the personal communication service, when other communication service nodes in the same region as the first edge cloud communication service node elect the second edge cloud communication service node through arbitration, then the second edge cloud communication service node is equivalent to obtaining the indication information arbitrated and selected as the new communication service node, that is, it knows that it is necessary to initiate the communication service for the above-mentioned called number.

[0034] Through the above embodiments, the operator device is based on the mapping relationship between the number and the virtual number and the address information for accessing and invoking the communication service. That is to say, the virtual number can be regarded as a router. Through the pre-associated address information, the operator device does not need to know in advance the way of invoking the service. After receiving the access and invocation request for the communication service corresponding to the called number, the edge cloud communication service node can activate the personal service instance. The operator device and the edge cloud communication service node providing the communication service corresponding to the called number can quickly and efficiently negotiate to complete the processing of the personal communication service. The user does not need to pay attention to the virtual number and is also unaware of the virtual number, which is beneficial to more flexible integration between systems. There is no need to rely on the call center system in the prior art, and it can be applied to the personal assistant scenario. Moreover, it solves the technical problem of a large amount of bandwidth consumption caused by media transmission during calls due to the huge number of individual users in the personal service scenario in the prior art.

[0035] Moreover, during the execution or operation process, it supports the service node to perform regional migration, or elect a new service node for migration after the service node fails. The operator device can receive the corresponding address update information and continue to provide personal communication services for the user according to the updated address information. It can realize the process instance of activating the optimal service node. During the voice recording and playback process, the delay of streaming media transmission in the network can be greatly reduced, and it is ensured that after the service node fails, it can be taken over by other service nodes in the same region after arbitration and the session can be maintained.

[0036] In a possible implementation, before activating the personal service instance corresponding to the called number based on the above personal service instance activation indication, it further includes: the edge cloud communication service node receives the communication service metadata corresponding to the number sent by the development cloud device and saves it;

[0037] The activation of the personal service instance corresponding to the called number by the edge cloud communication service node based on the above personal service instance activation indication includes: activating the personal service instance corresponding to the called number based on the above personal service instance activation indication and the communication service metadata corresponding to the called number.

[0038] Through the above embodiments, when the development cloud device deploys the communication service, it can send the orchestrated personal communication service process metadata to multiple edge cloud communication service nodes without discrimination. Then, the edge cloud communication service nodes that receive this metadata can be ready to be pulled up by the communication service at any time, that is, in a pending activation state, and each communication service node is equivalent; therefore, it supports the movement of communication service nodes in the cloud according to the geographical location. For example, during the execution or operation, the communication between communication service nodes can be triggered according to the geographical location of the calling party, and the process instance of the optimal service node can be activated, and then the broadcast session status information will also be from the original node to the new node area. During the voice recording and playback process, the latency of streaming media transmission in the network can be greatly reduced.

[0039] In a possible implementation, after activating the personal service instance corresponding to the called number based on the above personal service instance activation indication, it further includes:

[0040] The edge cloud communication service node generates session information and establishes a correspondence between the current channel session and the above session information;

[0041] The edge cloud communication service node synchronizes the above session information to other communication service nodes in the edge cloud of the same region.

[0042] Through the above embodiments, the edge cloud communication service node that executes or runs the communication service synchronizes the context data of the session information to other communication service nodes in the same region as redundant backup, and synchronization is performed every time the session information is updated, which can further ensure the reliability of the system.

[0043] In a possible implementation, after sending the communication content of the communication service corresponding to the called number based on the above personal service instance, it further includes:

[0044] Judge whether the region where the calling party is located matches the region where the edge cloud communication service node providing the current communication service is located;

[0045] If there is no match, notify the second edge cloud communication service node to start the communication service corresponding to the called number; the second edge cloud communication service node is the edge cloud communication service node in the area where the calling party is located.

[0046] After activating the personal service instance corresponding to the called number on the second edge cloud communication service node, synchronize the session information to the communication service corresponding to the called number provided by the second edge cloud communication service node.

[0047] Through the above embodiments, each communication service node can maintain the same geographical relationship between service nodes (for example, maintaining a geographical relationship table). Then, when the edge cloud communication service node that originally provided personal communication services discovers that the area where the calling party is located does not match the area where the edge cloud communication service node providing the current communication service is located, it can notify the edge cloud communication service node in the area where the calling party is located to trigger the second edge cloud communication service node to start the communication service corresponding to the called number; thus, for the personal assistant scenario, automatic service grid optimization can be achieved, avoiding a large number of irregular service calls.

[0048] In a possible implementation manner, it is characterized in that it further includes:

[0049] The edge cloud communication service node that originally provided personal communication services receives a startup success message from the second edge cloud communication service node.

[0050] The edge cloud communication service node that originally provided personal communication services sends call relationship update information to the operator device based on the startup success message; the call relationship update information is used to indicate that there is an update to the address information corresponding to the current channel session, and the updated address information indicates the second edge cloud communication service node that provides the communication service corresponding to the called number.

[0051] The edge cloud communication service node that originally provided personal communication services deletes the service instance of this communication service node and notifies other service nodes in the same area as this communication service node to delete the synchronized session information.

[0052] Through the above embodiments, the distributed strategy can be effectively utilized, enabling the communication service node to migrate with the session location, and during the voice recording and playback process, the delay of streaming media transmission in the network can be significantly reduced.

[0053] In a possible implementation, for the above-mentioned case 3, before the edge cloud communication service node that originally provided personal communication services fails, the context data of the session information is synchronized to other communication service nodes in the same region as redundant backup; therefore, when a failure occurs, the elected new edge cloud communication service node can provide personal communication services to users in a timely manner based on the synchronized session information, and continue to synchronize the context data of its updated session information to other communication service nodes in the same region as redundant backup. Moreover, after the edge cloud communication service node that originally provided personal communication services is repaired, it can be automatically or on-demand migrated back to the original edge cloud communication service node that provided personal communication services. Thus, it is possible to provide users with highly reliable and high-performance personal communication services that take both into account.

[0054] In a third aspect, the present application provides a communication service processing method, which is applied to a device on the development cloud side and includes:

[0055] The device on the development cloud side establishes a binding relationship between a number and a communication service;

[0056] The device on the development cloud side determines the mapping relationship between the number and the virtual number, and sends the communication service metadata corresponding to the number to each edge cloud running node;

[0057] The device on the development cloud side determines the address corresponding to the edge cloud communication service node where the number is registered as the address information, and binds the above address information to the corresponding number and writes it into the above mapping relationship;

[0058] The device on the development cloud side sends the above mapping relationship to the operator device.

[0059] Through the above embodiments, the device on the development cloud side runs the service on distributed nodes without discrimination during the deployment of the communication service. Each edge cloud communication service node can be ready to be pulled up by the communication service at any time, and subsequent service nodes can support moving or migrating on the cloud according to the geographical location. Based on the mapping relationship between the number and the virtual number and the address information used to access and call the communication service, that is, the operator device can use the virtual number similar to a router. Through the pre-associated address information, the operator device does not need to know in advance the way to call the service. After receiving the access and call request for the communication service corresponding to the called number, the edge cloud communication service node can activate the personal service instance. The operator device and the edge cloud communication service node that provides the communication service corresponding to the called number can quickly and efficiently negotiate to complete the processing of the personal communication service. Users do not need to pay attention to the virtual number and are also unaware of the virtual number, which is beneficial to more flexible integration between systems. It does not rely on the call center system in the prior art, can be applied to the personal assistant scenario, and solves the technical problem of a large amount of bandwidth consumption caused by media transmission during calls due to a huge number of individual users in the personal service scenario in the prior art.

[0060] In a possible implementation, the above-mentioned mapping relationship between the number and the virtual number includes:

[0061] In the case where there is an available virtual number, the device on the development cloud side determines the mapping relationship between the number and the available virtual number;

[0062] In the case where there is no available virtual number, the device on the development cloud side sends virtual number application information to the above-mentioned operator device, receives the new virtual number returned by the above-mentioned operator device, and determines the mapping relationship between the number and the new virtual number.

[0063] Through the above embodiments, one virtual number can be bound to or correspond to different real numbers of multiple users, that is, one virtual number supports associating with the personal communication services of multiple users, and users do not need to perceive the existence of the virtual number, which can better support the expansion of personal communication services; and make the requirements of personal communication services more lightweight. Moreover, it can avoid the problem in the prior art that the virtual numbers of operator devices are one number per person, resulting in an infinite expansion of the number pool, which is difficult to manage and not suitable for the personal communication service scenario.

[0064] In a fourth aspect, the present application provides a communication service processing device, including:

[0065] A receiving unit, which receives a call request;

[0066] A creating and determining unit, configured to create a channel session between the calling party and the virtual number in the case where the called number is bound to a virtual number, and confirm the address information for accessing and invoking the communication service corresponding to the called number based on the mapping relationship; the address information indicates the first edge cloud communication service node that provides the communication service corresponding to the called number;

[0067] A first initiating unit, configured to initiate an access and invocation request for the communication service corresponding to the called number to the first edge cloud communication service node based on the address information.

[0068] In a possible implementation, the above-mentioned communication service processing device further includes:

[0069] A receiving and storing unit, configured to receive and store the mapping relationship before the creating and determining unit creates a channel session between the calling party and the virtual number and confirms the address information for accessing and invoking the communication service corresponding to the called number based on the mapping relationship; the mapping relationship includes at least one virtual number, where each virtual number corresponds to numbers of multiple different users, and each number corresponds to its own address information.

[0070] In a possible implementation, the above-mentioned communication service processing device further includes:

[0071] A request receiving unit, configured to receive a virtual number application request before the receiving and storing unit receives and stores the mapping relationship.

[0072] A returning unit, configured to return a newly added virtual number based on the virtual number application request.

[0073] In a possible implementation manner, the communication service processing device further includes:

[0074] A saving unit, configured to save the call relationship between the channel session and the address information after the creating and determining unit confirms, based on the mapping relationship, the address information corresponding to the called number for accessing and invoking the communication service.

[0075] Specifically, the first initiating unit is configured to, for the current channel session, initiate an access and call request for the communication service corresponding to the called number to the first edge cloud communication service node based on the corresponding address information in the call relationship.

[0076] In a possible implementation manner, the communication service processing device further includes:

[0077] An update information receiving unit, configured to receive address update information; the address update information carries updated address information, and is used to indicate updating the address information corresponding to the current channel session in the call relationship to the updated address information; the updated address information indicates a second edge cloud communication service node that provides the communication service corresponding to the called number.

[0078] A second initiating unit, configured to, for the current channel session, initiate an access and call request for the communication service corresponding to the called number to the second edge cloud communication service node based on the corresponding updated address information in the call relationship.

[0079] In a fifth aspect, the present application provides a communication service processing device, including:

[0080] An obtaining unit, configured to obtain an indication for activating a personal service instance, where the personal service instance is a service instance that provides a communication service for a called number.

[0081] An activating unit, configured to activate the personal service instance corresponding to the called number based on the indication for activating the personal service instance.

[0082] A first sending unit, configured to send communication content of the communication service corresponding to the called number based on the personal service instance.

[0083] In a possible implementation, the above-mentioned personal service instance activation indication includes an access call request for the communication service corresponding to the above-mentioned called number.

[0084] In a possible implementation, the above-mentioned personal service instance activation indication includes receiving a notification from the first edge cloud communication service node to start the communication service of the above-mentioned called number.

[0085] In a possible implementation, the above-mentioned personal service instance activation indication includes, after the failure of the first edge cloud communication service node, the indication information obtained through arbitration and selected as the new communication service node, and the above-mentioned indication information is used to indicate starting the communication service of the above-mentioned called number.

[0086] In a possible implementation, the above-mentioned communication service processing device further includes:

[0087] A receiving and saving unit, configured to receive and save the communication service metadata corresponding to the number before the above-mentioned activation unit activates the personal service instance corresponding to the above-mentioned called number based on the above-mentioned personal service instance activation indication;

[0088] The above-mentioned activation unit is specifically configured to activate the personal service instance corresponding to the above-mentioned called number based on the above-mentioned personal service instance activation indication and the communication service metadata corresponding to the above-mentioned called number.

[0089] In a possible implementation, the above-mentioned communication service processing device further includes:

[0090] A session information generation unit, configured to generate session information after the above-mentioned activation unit activates the personal service instance corresponding to the above-mentioned called number based on the above-mentioned personal service instance activation indication, and establish a correspondence between the current channel session and the above-mentioned session information;

[0091] A first synchronization unit, configured to synchronize the above-mentioned session information to other communication service nodes of the edge cloud in the same region.

[0092] In a possible implementation, the above-mentioned communication service processing device further includes:

[0093] A judgment unit, configured to judge whether the region where the calling party is located matches the region where the edge cloud communication service node providing the current communication service is located after the above-mentioned first sending unit sends the communication content of the communication service corresponding to the above-mentioned called number based on the above-mentioned personal service instance;

[0094] A notification unit, configured to, if not matching, notify the second edge cloud communication service node to start the communication service corresponding to the above-mentioned called number; the above-mentioned second edge cloud communication service node is the edge cloud communication service node in the region where the calling party is located;

[0095] A second synchronization unit, configured to synchronize the session information to the communication service corresponding to the called number provided by the second edge cloud communication service node after the personal service instance corresponding to the called number is activated on the second edge cloud communication service node.

[0096] In a possible implementation, the communication service processing device further includes:

[0097] A success message receiving unit, configured to receive a startup success message from the second edge cloud communication service node;

[0098] An update information sending unit, configured to send call relationship update information to the operator device based on the startup success message; the call relationship update information is used to indicate that the address information corresponding to the current channel session has been updated, and the updated address information indicates the second edge cloud communication service node that provides the communication service corresponding to the called number.

[0099] A deletion notification unit, configured to delete the service instance of this communication service node and notify other service nodes in the same region as this communication service node to delete the synchronized session information.

[0100] In a sixth aspect, the present application provides a communication service processing device, including:

[0101] A binding establishment unit, configured to establish a binding relationship between a number and a communication service;

[0102] A mapping relationship determination and sending unit, configured to determine the mapping relationship between a number and a virtual number, and send the communication service metadata corresponding to the number to each edge cloud running node;

[0103] A binding writing unit, configured to determine the address information based on the address of the edge cloud communication service node corresponding to the number registration location, and bind the address information to the corresponding number and write it into the mapping relationship;

[0104] A second sending unit, configured to send the mapping relationship to the operator device.

[0105] In a possible implementation, the mapping relationship determination and sending unit is specifically configured to, in the case of an available virtual number, determine the mapping relationship between the number and the available virtual number; in the case of no available virtual number, send virtual number application information to the operator device, receive a new virtual number returned by the operator device, and determine the mapping relationship between the number and the new virtual number.

[0106] Seventh aspect, the present application provides a communication service processing device, including: one or more processors and one or more memories; the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer-executable programs. When the one or more processors execute the computer-executable programs, the electronic device is caused to execute any possible implementation method in the first aspect, the second aspect, or the third aspect.

[0107] Eighth aspect, the present application provides a computer-readable storage medium storing a computer program. When the computer program runs on a processor of an electronic device, the electronic device is caused to execute any possible implementation method in the first aspect. Description of the Drawings

[0108] Figure 1 is a schematic diagram of the functional architecture of a communication service processing provided by the present application;

[0109] Figure 2 is a schematic diagram of the physical device networking of a communication service processing provided by the present application;

[0110] Figure 3 is a schematic diagram of the deployment and execution based on implicit number mapping of a communication service processing provided by the present application;

[0111] Figure 4 is a schematic diagram of the regional migration of service nodes during the communication session of a communication service processing provided by the present application;

[0112] Figure 5 is a schematic diagram of the regional migration after service failure during the communication session of a communication service processing provided by the present application. Detailed Embodiments

[0113] Next, the technical solutions in the embodiments of the present application will be clearly and elaborately described with reference to the drawings. Among them, in the description of the embodiments of the present application, unless otherwise specified, " / " means "or". For example, A / B may mean A or B; "and / or" in the text is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B may mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of the present application, "a plurality of" means two or more than two.

[0114] Hereinafter, the terms "first" and "second" are only used for descriptive purposes and cannot be construed as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of the embodiments of the present application, unless otherwise specified, the meaning of "a plurality of" is two or more than two.

[0115] First, the terms involved in the embodiments of this application are introduced.

[0116] (1) Communication service

[0117] A communication service is a service provided by a telecommunications provider or a set of specific user information transmission functions provided by a telecommunications system to a group of users.

[0118] Specifically, a communication service can refer to a service that realizes the transmission, exchange, and sharing of information and data through various communication technologies and channels. These services can include, but are not limited to, one or more of voice calls, text messages, emails, video calls, data transmission, and instant messaging. Among them, voice communication is the most traditional and common communication method, allowing people to communicate in real time through a phone or other voice call applications, and can include one or more of ordinary phones, Internet Protocol (VoIP) phones, video calls, etc. The text message service allows users to communicate through text messages, usually used to send short text messages. Email is an electronic message service for sending and receiving texts and files, and it is usually used for business communication and the transmission of long text content. Video communication services allow users to have face-to-face video communication over the network to enhance the intimacy of remote communication, and can include one or more of video conferencing, video phones, and real-time video chat applications. Data communication services are used to transmit digital data and can include one or more of files, images, audio, and video.

[0119] (2) Webhook

[0120] A webhook is a method of increasing or changing the performance of a web page through custom callback functions, and these callbacks can be saved, modified, and managed by third-party users and developers who may be related to the original website or application.

[0121] Specifically, a webhook can be called a callback URL and is a method of realizing automated data transmission and event notification through an HTTP request. It allows applications to exchange information in real time or asynchronously. Usually, when a certain event occurs, an application can send an HTTP request to a specific URL of another application, passing relevant data to the target application, thereby triggering specific operations or processing.

[0122] Exemplarily, webhooks can include the following scenarios: ① Event notification. When a specific event occurs in a certain system or application, such as one or more of new user registration, successful payment, file update, etc., webhooks can be used to notify other systems or services so that they can take corresponding measures; ② Automated integration. Webhooks allow different applications to automatically share data and trigger operations, thus achieving a more efficient workflow and integration; ③ Real-time data synchronization. When the data in an application changes, webhooks can be used to synchronize these changes to other applications in real time to ensure data consistency; ④ Customized processing. Webhooks can be used for customized processing to execute specific business logic or operations based on the received information.

[0123] (3) Communication orchestration service

[0124] In this application, "communication orchestration service" refers to a technology and platform that creates customized communication scenarios and services by modularly combining different communication capabilities. Its communication capability modules can at least include one or more of voice communication, SMS, email, instant messaging, data transmission, etc., and are usually used to achieve specific business goals, at least including one or more of user follow-up, activity push, self-service, etc.

[0125] Specifically, the communication orchestration service can include the following characteristics: ① Modularity. Communication capabilities are decomposed into atomic-level modules, and each module represents a specific communication function, such as one or more of sending SMS, initiating a voice call, pushing a notification, etc. These modules can be combined as needed to build complex communication processes; ② Low-code orchestration. The communication orchestration service usually provides a user-friendly interface or tool that allows users to use a small amount of programming code or scripts. Even if they are not professional developers, they can easily create and manage communication processes; ③ Connectivity. The communication orchestration service can easily integrate different communication channels and service providers to interoperate with a variety of communication tools and platforms. This means that one or more of SMS, voice, email, etc. can be used simultaneously; ④ Automation. The communication orchestration service has an automation function that allows communication operations to be executed according to specific trigger events or conditions. For example, when a user registers, the system can automatically send a welcome SMS; ⑤ Customization. The communication orchestration service allows customized communication processes to be created according to specific business needs to meet the needs of different industries and organizations, and can provide users with a personalized communication experience.

[0126] (4) Personal communication service

[0127] In this application, "personal communication service" refers to a service deployed on the edge cloud for providing personal calls.

[0128] Specifically, the personal communication service may include the following unit modules: ① Service instance, which is an instance of the personal communication process. Each process will be started as an instance, and each call to an instance will generate a session; ② Arbitration unit, which is responsible for electing a new regional node from other nodes in the same region after a service node fails; ③ Control unit, which is responsible for communicating with the operator and applying the personal communication service content to the session. It belongs to the external communication unit; ④ Migration unit, which is responsible for identifying the location of the caller and migrating the session to other regions. It belongs to the distributed internal communication unit; ⑤ Location unit, which is responsible for maintaining the global geographical location and is used for arbitration and migration in conjunction with other nodes in the same region.

[0129] (5) Development cloud

[0130] In this application, the "development cloud" refers to a development environment that provides communication service orchestration.

[0131] Specifically, the characteristics and functions of the development cloud are designed to provide a flexible, efficient, and secure environment to support the development, management, and deployment of communication service orchestration. It can meet the communication needs of individuals, different industries, and organizations, improve communication efficiency, and protect user privacy at the same time. The development cloud may include the following functions: ① Deployment of communication service orchestration; ② Binding of user numbers; ③ Binding of hidden virtual numbers; ④ Allocation of virtual numbers. The development cloud may include the following characteristics: ① Automation and scalability. The development cloud can have automation functions and can trigger communication operations according to specific events or conditions; ② Security. The development cloud can provide one or more security measures such as authentication, access control, and data encryption to protect the privacy of user data and communication; ③ Cross-regionality. It allows developers to deploy communication services across multiple geographical locations to ensure coverage of a wider user group; ④ Optimization of user experience. The development cloud can support personalized communication services to improve the user experience, such as one or more functions among self-service, push notifications, and personalized messages.

[0132] (6) Edge cloud

[0133] In this application, the "edge cloud" refers to an execution environment or computing resource for providing communication service orchestration, usually located in the edge area of the physical network architecture, close to the geographical location of the user or device. This environment can execute the orchestration and processing tasks of communication services to meet the communication needs of users.

[0134] Specifically, the edge cloud is a computing and execution environment, usually composed of multiple nodes or servers distributed in different geographical regions. These nodes can run processes for communication service orchestration to handle users' communication requests. The edge cloud is typically deployed at the edge of the physical network architecture, close to the geographical location of the end-users or devices, which can reduce communication latency and improve communication performance. The edge cloud is used to execute communication service orchestration, which means it can combine different communication capability modules into a complete communication service according to users' needs, such as call processing, messaging, etc. Personal communication service is a special communication service deployed on the edge cloud, which provides call services for individual users. Due to the geographical characteristics of communication services, the edge cloud allows the personal communication service to be distributed on nodes in different geographical regions to better meet users' needs. The edge cloud environment usually has flexibility and scalability, and can dynamically allocate and manage computing resources according to needs to adapt to different communication scenarios and user scales.

[0135] (7) Operator

[0136] In this application, the "operator" can refer to the core network of the operator, which includes several service capabilities. Specifically, it can also refer to operator equipment or operator systems.

[0137] Specifically, the operator can include the following service modules: ① Control service, which is used to communicate with external systems and transmit information to the voice channel, control display, etc. It is responsible for communicating with external systems, receiving and sending control information to manage various functions during a call, such as call display, call transfer, etc.; ② Number book service, which is used to maintain a virtual number pool and manage the binding relationship between customers and virtual numbers, etc.; ③ Address service, which is used for users to obtain the calling location, etc. For example, when making an emergency call, the location of the caller needs to be determined; ④ Voice service, which is used to create a call channel, etc., so that a call can be made between two or more users.

[0138] (8) Implicit number mapping

[0139] In this application, "implicit number mapping" refers to a method for communication service deployment and execution, in which the association between the virtual number and the user is implicit, and the user does not need to explicitly know or perceive the virtual number.

[0140] Specifically, the user does not need to know the virtual number, nor does he need to manually bind or manage the virtual number. The user does not have to perceive the existence of the virtual number. The implicit number mapping mechanism supports associating multiple users with the same virtual number. One virtual number can represent multiple users at the same time, such as group communication or multi-user shared services. Users do not have to handle the creation, management, or binding of virtual numbers. Implicit number mapping has high scalability, which allows the system to easily add new users without changing the user experience or system architecture.

[0141] (9) Regional migration of service nodes

[0142] In this application, "regional migration of service nodes" means that during a communication session, the communication service node can dynamically migrate or switch to different nodes within different geographical regions based on the geographical location information of the calling or called user.

[0143] Specifically, during a communication session, the service node can determine which node should handle the communication service based on the geographical location of the calling or called user, which means that users in different geographical regions may be assigned to different service nodes. When a communication session involves multiple geographical regions, the service node can dynamically migrate or switch to a node within a suitable geographical region, which can ensure the performance and efficiency of the communication service. The goal of the regional migration of service nodes is to provide high-performance and highly reliable communication services. By allocating service nodes in different geographical regions, the communication needs of users can be better met, while improving the availability and fault tolerance of the system.

[0144] Currently, cloud communication orchestration service is a service provided through a cloud computing platform, which is used to connect, orchestrate, and manage communication capabilities to meet specific communication requirements, such as SMS sending, voice calls, real-time communication, etc. In cloud communication orchestration service, on the one hand, although regions are divided, network performance issues still exist during cross-region communication, and the geographical location of service nodes cannot be adjusted according to the callers. On the other hand, when applied to personal communication orchestration service operations, due to the fact that the voice recording and playback functions consume a large amount of bandwidth, it is also impossible to select the optimal communication orchestration service node. It should be understood that despite the regional division, during cross-region communication, network performance issues are still faced. Specifically, the geographical location of service nodes cannot be adjusted according to the requirements of the callers, which may lead to problems such as delays and packet losses during communication, affecting call quality and user experience. In personal communication orchestration service operations, since the voice recording and playback functions consume a large amount of bandwidth, existing technologies cannot flexibly select the optimal communication orchestration service node, which may lead to unreasonable service node planning, making the service network chaotic and affecting the performance and reliability of the system. Exemplarily, personal communication orchestration service involves users in multiple regions. Some users are in city d, and some users are in Nanjing. Since existing technologies cannot adjust the geographical location of service nodes according to the requirements of the callers, when users in city d use self-service, they may call the city d node, while when users in Nanjing use it, they call the Nanjing node. That is, when the location of the service node is fixed, users usually associate the region where they register with the service node. Therefore, even if users move to other regions, the service nodes they call are still the nodes in the region where they registered. In this case, users registered in city d call the city d node when they are in city d, but even if they move to Nanjing, due to the fixed location of the service node, they can still only call the city d node and cannot adjust the service node according to their current geographical location. Exemplarily, in a personal communication orchestration service system, the service nodes are distributed in three cities, namely city a, city b, and city c. When users register, they will specify the service node as the node in the city where they are located. For example, a user in city a selects the city a node. However, since existing technologies cannot adjust the service node in real time according to the geographical location of the caller, when the service node registered by this user in city a is processing a communication request, if a user from city b or city c dials his number, the call may be routed to the city a node for processing. Similarly, if the city a node is relatively busy while the city b or city c nodes are relatively idle, a user registered in city b or city c may also be routed to nodes in other cities when dialing a number. This means that the selection of service nodes may not be based on the geographical location of the caller, but on the location predetermined by the system or specified by the user during registration. Such a fixed service node allocation may cause some nodes to be overloaded while other nodes are relatively idle, thus affecting the load balancing and performance optimization of the entire service system.This will lead to the following problems: First, network latency. Since the positions of service nodes are fixed, there is a situation where users registered in city d still call the nodes in city d after coming to Nanjing, resulting in an increase in communication latency. Second, since the existing technology cannot select the optimal communication orchestration service nodes, it may cause some nodes to consume a large amount of bandwidth while other nodes are relatively idle, leading to the imbalance of the service network.

[0145] Currently, in the cloud communication orchestration service of enterprise call centers, the cloud communication orchestration service of enterprise call centers uses virtual numbers to bind communication orchestration services, triggers communication service calls from the operator network, binds a single virtual number to a single communication service, and realizes call transfer to multiple numbers through the call center. Exemplarily, assume that an enterprise provides services in three cities, namely city b, city a, and city c. In order to provide services to customers in these cities, the enterprise needs to purchase a batch of virtual numbers from the operator. For example, purchase local virtual numbers in city b so that customers can contact the enterprise through these numbers. The enterprise call center is usually a place that provides services centrally, such as providing customer service, technical support, etc. If the enterprise decides to assign a virtual number to each personal assistant so that users can directly communicate with the personal assistant, a personal assistant usually refers to a personal virtual assistant provided through software or applications. Since the personal user base may be very large and each user needs an independent virtual number, this will lead to a sharp expansion of the virtual number resource pool. Assume that the enterprise has 100,000 personal users, and each user hopes to use an independent virtual number to communicate with the personal assistant. Each user is assigned an independent virtual number, and the virtual number resource pool needs to contain 100,000 different numbers. In addition, in the traditional enterprise call center system, call transfer may involve seat personnel, that is, operators working in the call center. These seat personnel are responsible for answering calls, handling customer problems, and then may transfer the call to other seat personnel or departments. At the same time, there is also a problem that the service nodes cannot be dynamically adjusted according to the geographical locations of both parties in the call. This will lead to the following problems: On the one hand, in the scenario of personal assistants, it will lead to a sharp expansion of the resource pool because there are no seat personnel and it is not applicable to the personal assistant scenario. On the other hand, because the positions of service nodes in the network are fixed and cannot be adjusted according to both parties in the call, there is also a problem with the geographical locations of service nodes.

[0146] Currently, in cloud computing instance startup methods, when a user moves from one geographical location to another, the cloud provider network determines whether to migrate the computing instance based on the user's location and service quality constraints. If the network latency between the user's current location and the original computing instance exceeds a set threshold, the cloud provider network can trigger the migration of the computing instance. Exemplarily, in a voice assistant service, the user can interact with the voice assistant by calling a service number. This is a stateful service because the voice assistant may need to remember the user's preferences, context, and previous interactions. Suppose the user is using the voice assistant service at home, she asks for some weather information and interacts with the voice assistant. Suddenly, the user needs to go out. At this time, the system can detect the network switch and trigger the migration of the service instance. The voice assistant may need to remember the user's questions, answers, and context information. During the migration of the service instance, it is necessary to ensure that this information is preserved so as to remain consistent on the new service node. This will lead to the following problems: only a rough description of supporting service instance migration in this architecture, lack of detailed information on which specific technologies, protocols, or algorithms are used to support service instance migration, no description of how to migrate in a stateful service process, and no description of how to ensure the reliability of computing instance migration.

[0147] In personal communication orchestration services, there are mainly but not limited to the following problems: First, the personal user base is huge, and media transmission during calls brings a large amount of bandwidth consumption. Unreasonable service node planning will cause service network chaos; Second, the technologies of call centers are not applicable to individuals, and the requirements of personal services are more lightweight. The current usage method of operator virtual numbers is also not applicable to individuals. One number per person will cause the number pool to expand infinitely and be difficult to manage; Third, the service instance migration of personal communication services has significant geographical characteristics and dynamics, and requires the matching of session retention technology and service migration technology.

[0148] To solve the above problems, this application provides a communication service processing method, related devices, and systems. It can deploy services to equivalent service nodes in multiple regions through cloud-edge collaboration, register multi-user shared virtual numbers and personal mobile phone number services with the operator, and also realize the routing from calls to personal communication services through virtual-real number mapping and service webhooks, and achieve the geographical migration of sessions through the caller location information at runtime; at the same time, it supports the arbitration of regional nodes when service nodes fail.

[0149] This application uses the form of distributed services, and the collaborative capabilities involved include: deployment collaboration, invocation collaboration, and operation collaboration.

[0150] Deployment collaboration involves cloud-edge collaboration, from cloud development to multiple edge cloud deployments. Deployment collaboration is usually part of cloud-edge collaboration, which is a comprehensive collaboration method aiming to achieve collaborative work from the cloud to the edge, including development, deployment, and operation phases. Deployment collaboration is a key link in this process, involving deploying services from the cloud to multiple edge nodes to meet distributed operation requirements. Exemplarily, in personal communication service processing, for implementing self-service in the voice assistant scenario, the service needs to be deployed on edge cloud nodes in different geographical locations to provide a better service experience. The process of deployment collaboration is as follows: Developers complete the development of personal communication service processing on the development cloud system, including but not limited to writing self-service processes, defining communication interfaces, configuring service parameters, etc. Package the developed communication service processing to ensure that the package file contains all necessary components, dependencies, and configuration information. Determine which edge cloud nodes to deploy the service to according to user distribution and system design to minimize communication latency and improve service quality. Use the deployment tools or platforms provided by the development cloud system to deploy the packaged communication service processing on the selected edge cloud nodes, including but not limited to steps such as file transfer, decompression, and environment configuration. Once the services are deployed on each edge cloud node, they need to work together. For example, it is necessary to ensure that when users call the service in different regions, they can be redirected to the nearest edge node to reduce communication latency. Through this process of deployment collaboration, personal communication service processing runs synchronously on multiple edge cloud nodes to meet the needs of users in different geographical locations and provide more efficient self-service as a whole.

[0151] Call collaboration means that in personal communication service processing, through the method of number mapping, direct calling of personal numbers is allowed, and the user's communication service processing is invoked in the background. Exemplarily, the user registers their personal number and corresponding communication services, including but not limited to voice assistants, messaging services, etc., in the personal communication service processing. The system associates the user's personal number with the corresponding communication service processing through number mapping, which can be managed in the virtual number pool of the service node, establishing a mapping relationship between the user number and the corresponding service instance. Then, anyone can directly call the user's personal number. When someone calls the user's personal number, the system routes the communication call to the associated communication service processing according to the mapping relationship, starts the corresponding service process, and according to the user's needs and the registered service type, the user's communication service processing begins to execute the corresponding service process, such as automatic voice navigation, message push, etc. It can be understood that anyone can communicate with the user by directly dialing the personal number registered by the user because the user's personal number is publicly visible and has nothing to do with the actual location of the communication service processing. When someone calls the user's personal number, the system will route the communication request to the communication service processing associated with the user number according to the pre-established mapping relationship, which is usually achieved through virtual numbers or other means. Once the communication request is routed to the correct communication service processing, the system will start the service process associated with the user, and this service process will perform corresponding processing according to the user's needs and the registered service type. Generally speaking, this process uses the user's personal number as an entry point to guide the communication request to the correct communication service processing and execute the corresponding service process according to the user's needs, achieving the flexibility and transparency of personal communication services.

[0152] Operational coordination means that during a call, based on the location of the caller, the optimal communication service processing node is automatically selected, and at the same time, it has the ability to locally restore services at a faulty node. Exemplarily, when a user initiates a communication request at a specific geographical location, the system senses the user's geographical location through "based on the location of the caller during the call". For example, user A is in city d and user B is in Nanjing. The system automatically selects the optimal communication service processing node according to the caller location information, and has selected a service node closer to user A or user B. For example, when user A makes a call, the system selects the city d node, and when user B makes a call, it selects the Nanjing node. If the selected service node fails, the system needs to have the ability to locally restore services. For example, if the city d node fails, the system can automatically switch to the Nanjing node to ensure the availability of communication services. The above service nodes refer to the actual computing units or servers that carry out communication service processing. These service nodes are distributed in different geographical locations, responsible for processing users' communication requests and executing communication service processing procedures. Each service node has a specific geographical location, and the system provides personal communication service processing through these nodes. According to the caller location of the user, the system selects a service node near the corresponding geographical location. This can ensure low latency and high performance of communication services; if the selected service node is unavailable due to a fault or other reasons, the system needs to have the ability to switch to a standby node, which ensures that even if a certain node fails, the communication service can still continue to run on other available nodes. In summary, operational coordination in personal communication service processing is manifested as the system being able to intelligently select service nodes according to the caller location, provide better communication services, and achieve local restoration in case of a fault, ensuring the stability and reliability of the entire communication service processing.

[0153] Figure 1 It is a schematic diagram of the functional architecture of a communication service processing provided by this application; Figure 2 It is a schematic diagram of the physical device networking for a communication service processing provided by this application. As Figure 1 、 Figure 2 shown, the specific units corresponding to the physical device networking for communication service processing based on the functional architecture include:

[0154] (1) Development cloud unit

[0155] The development cloud in the physical device networking corresponding to communication service processing. Both the development cloud and the development server can be composed of multiple physical components, depending on their scale and design. Generally, their physical components may include: Server hardware: including processors (CPUs), memory (RAM), hard drives (HDD / SSD), network cards, etc., which form the core of the server; Network devices: including switches, routers, firewalls, etc., for managing network communication and security; Storage devices: Storage servers usually include disk arrays or network attached storage devices (NAS) for storing large amounts of data and files; Virtualization / containerization technologies: The development cloud usually uses virtual machine or container technologies, which may include hypervisors, container managers, etc.; Monitoring and management devices: Devices and software for monitoring server status, resource utilization, and automated management; Power and cooling devices: Power and cooling systems to ensure the server runs and remains in good condition; Security devices: including firewalls, intrusion detection systems (IDS), encryption devices, etc., for protecting the system from security threats.

[0156] It should be understood that the development cloud is a cloud computing environment for developing, testing, and deploying software applications. It provides resources and tools for developers and teams to build, test, and host their applications. In the development cloud, there are various units and components, including: Communication service orchestration: This unit is an environment for managing and orchestrating communication services. It may include functions such as API management, configuration of communication services, routing rules, message queues, and event handling. Communication service orchestration helps developers create and manage communication and data transfer between different services; User number binding unit, which associates the user's communication number with their account or identity in the development cloud environment. This binding may involve identity association. A user may have an account or identity identifier in the development cloud, which is bound to their communication number; Privacy virtual number binding unit, which associates the user's real number with a virtual number or anonymous number. This association can be used to protect user privacy, provide anonymity, and control the flow of information; Virtual number allocation unit, which is a module or component responsible for allocating and managing virtual numbers. It usually includes the following functions: number allocation, number management, privacy protection, allocation policies, release, and recycling.

[0157] (2) Edge cloud unit

[0158] The running cloud node in the physical device networking corresponding to communication service processing. A running cloud node generally refers to a node that runs and manages specific services, applications, or functions in a cloud environment, and it may include a series of physical and software components. For example, server hardware, which are actual physical servers, may be bare-metal servers or virtualized hosts that carry and run actual services and applications; network devices, including routers, switches, firewalls, etc., used to manage and maintain communication between nodes and connections to external networks; storage devices, devices for storing data, files, and other key information, may include hard disks, solid-state drives, network storage, etc.; redundant devices, and usually redundant or backup hardware devices are also included to improve reliability and fault tolerance.

[0159] The communication server in the running cloud node may include: communication software, communication software running on the server, which may be server software of VoIP (Voice over Internet Protocol) or other communication protocols; data transmission components, components that process data transmission and communication traffic to ensure the delivery of messages, calls, or other communication methods; protocol processors, components used to process different communication protocols, capable of parsing and processing communication data in different formats; connection managers, which manage connections between nodes to ensure the reliability and stability of communication services.

[0160] These physical components and communication servers form the basis of the running cloud node, providing the infrastructure to support various service and communication requirements.

[0161] It should be understood that the personal communication service unit in the edge cloud includes: service instance unit, arbitration unit, control unit, migration unit, location unit. Specifically, the service instance unit refers to the personal communication process instance, and each process will be started as an instance, and each call to an instance will generate a session; the arbitration unit is responsible for electing a new regional node with other nodes in the same region after a service node fails; the control unit is responsible for communicating with the operator and applying the personal communication service content to the session, and it belongs to the external communication unit; the migration unit is responsible for identifying the calling location and migrating the session to other regions, and it belongs to the distributed internal communication unit; the location unit is responsible for maintaining the global geographical location, which is used to cooperate with other nodes in the same region for arbitration and migration. These units cooperate with each other to ensure that the personal communication service can run in an efficient, reliable, and secure manner in the edge cloud. The service instance unit is the specific executor of the service, while the arbitration, control, migration, and location units provide the environment and support to manage and optimize the operation of the entire communication service.

[0162] (3) Operator

[0163] It should be understood that the operators include: a control service unit, a phone book service unit, an address service unit, and a voice service unit. Specifically, the control service unit is used to communicate with external systems, transmit information to the voice channel, control the display, etc.; the phone book service unit is used to maintain a virtual number pool and manage the binding relationship between customer virtual numbers, etc.; the address service unit is used by users to obtain the geographical location of the caller, etc.

[0164] Optionally, the operators in personal communication services usually include telecommunications operators and Internet service providers. In the field of communication services, these operators provide different services, including but not limited to: telecommunications operators, who provide traditional telephone communication services, mobile communication services (such as mobile phones, data services, etc.), and Internet access services. They manage basic communication network facilities, such as telephone lines, base stations, and network infrastructure, etc.; Internet service providers (ISPs), who provide Internet access services, allowing users to access the Internet through various connections (such as fiber optic, cable, DSL, etc.). They provide users with network connections and infrastructure, enabling them to access the Internet and communicate.

[0165] Optionally, in addition to these two main types of operators, there are some cloud service providers that may provide support or additional functions for communication services, such as cloud communication service providers, communication API providers, etc. They provide various communication tools and solutions to help developers and enterprises build and manage communication functions.

[0166] (4) User side

[0167] The user side of personal communication services refers to the interface or platform used by end users to access, manage, and use communication services. This endpoint is usually an application or software, which can be a mobile app, a web app, a desktop app, or other forms of user interfaces. This user side may have the following functions: communication functions, allowing users to perform basic communication functions such as voice calls, video calls, instant messaging, etc.; contact management: users can manage their address books, add, delete, or edit contact information; message recording and storage: retain call records, message records, and other communication histories, providing viewing and management functions; settings and personalization, allowing users to personalize communication settings, such as volume, ringtone, notification preferences, etc.; security and privacy settings: provide privacy settings and security measures to ensure the security of users' communication content and personal information; the user side connects to the server or cloud of personal communication services to achieve communication interaction with other users or services, and this endpoint provides users with a convenient, fast, and personalized communication experience.

[0168] Embodiment 1

[0169] Figure 3It is a deployment and execution schematic diagram of implicit number mapping-based communication service processing provided by this application.

[0170] As Figure 3 shown, the following steps 301-328 are the deployment and execution phases of the communication service based on implicit number mapping.

[0171] Deployment phase steps 301-311:

[0172] (Develop the device or system on the cloud side) Establish the binding relationship between the number and the communication service. Corresponding to step 301 in Embodiment 1.

[0173] It should be understood that the device developed on the cloud side refers to the device or platform provided by the cloud computing platform or service provider for developing, deploying, and managing cloud services. These devices may include tools and resources for developing, testing, and deploying cloud applications, services, or solutions.

[0174] Optionally, configure, set, or store information on the device developed on the cloud side to ensure that the correct binding relationship is established between the number and the corresponding communication service. This may involve creating records, mapping tables, or other data structures to associate the number with the corresponding communication service node or handler.

[0175] It should also be understood that once the device developed on the cloud side establishes the binding relationship between the number and the communication service, when the device developed on the cloud side receives a communication request related to this number, the device developed on the cloud side can correctly route the request to the corresponding communication service node or handler for processing according to this binding relationship.

[0176] 301. The developer orchestrates the communication service, submits the personal mobile phone number to the development cloud system, and binds it to the communication service.

[0177] The developer conducts the orchestration and development of the communication service on the cloud. The current development of the communication service process uses the method of dragging and dropping low-code visual components. Submit the personal mobile phone number as the identifier bound to the communication service.

[0178] It should be understood that a developer refers to a software developer or team responsible for creating and designing communication service processes. "On the cloud" means that the development environment and resources are located on a cloud computing platform, which provides infrastructure, services, and tools that enable developers to build and deploy applications in the cloud. The orchestration development of communication services refers to the process of designing and organizing communication services, including defining service processes, configuring interactions, and enabling collaboration between different services. Communication service processes represent a series of communication-related operations and tasks, which can include at least one or more of call control, messaging, and multimedia communication. Low-code visual component drag-and-drop development refers to using a low-code development platform that contains visual components, and developers can create the processes and functions of an application by dragging these components. The low-code platform aims to simplify application development and reduce the workload of manual coding. In summary, developers use low-code visual tools on the cloud platform to develop communication service processes in a drag-and-drop manner, making the development process more simplified and efficient, reducing the complexity of traditional manual coding, and increasing the development speed.

[0179] It should be understood that users need to submit their personal mobile phone numbers, and this mobile phone number will be used as an identifier and bound to the communication service. The communication service can be a service that includes phone calls, SMS services, or other communication methods. Specifically, when using the communication service, users may have some personalized needs or preferences, and these needs and preferences can be realized through the binding relationship between the mobile phone number and the communication service. For example, some communication services can support users' personalized settings, such as custom ringtones, message reminder methods, themes, etc. Through the binding relationship, the system can associate the user's personalized settings with their mobile phone number, so that when the user logs in on different devices, these personalized settings can be retained. For specific business communication services, users may have their own customization requirements, such as the language selection for automatic voice navigation, the frequency of message pushing, etc. Associating these settings with the user's mobile phone number can ensure that when the user uses the communication service, the development cloud system can provide corresponding services according to their personalized settings. Allowing developers to create multiple processes means that developers have the right to create multiple communication service processes, which may be different business logics, communication scenarios, or service customizations to meet different needs. Selecting one as the binding during deployment means that although multiple communication service processes can be created.

[0180] Exemplarily, a developer creates two different communication service processes. The voice call service process is used to handle voice calls and may include functions such as voice recognition and voice synthesis. The text message service process focuses on the handling of text messages and may include functions such as message sending, receiving, and parsing. Suppose a user registers for this communication service platform and wishes to use both voice call and text message functions simultaneously. In this case, the developer can allow the user to select their preferred communication method in the application settings, and the user's selection will affect their binding relationship with the communication service.

[0181] Before receiving and storing the mapping relationship in step 311 below, it further includes: (the operator device) receiving a virtual number application request (sent by the development cloud device); (the operator device) returning a newly added virtual number based on the above virtual number application request. The above process corresponds to steps 302 and 303.

[0182] It should be understood that the development cloud device (or related system) sends a virtual number application request to the operator device. This request may include relevant information for applying for a virtual number, such as the required quantity, location, service requirements, etc. The operator device receives and processes this request and starts generating new virtual numbers for the applicants.

[0183] It should also be understood that based on the received virtual number application request, the operator device generates and returns newly added virtual numbers. These virtual numbers are generated according to the needs and requirements of the applicants and are assigned to the applicants for use. This process may involve generating virtual numbers, allocating and recording these numbers, and then returning them to the applicants or related systems.

[0184] (The device on the development cloud side) determines the mapping relationship between the number and the virtual number (corresponding to steps 302 and 303 in the first embodiment), and sends the communication service metadata corresponding to the number to each edge cloud operation node (corresponding to steps 307 and 308 in the first embodiment).

[0185] It should be understood that on the device on the development cloud side, the mapping relationship between the number and the corresponding virtual number is determined, which means that a specific number (which may be a telephone number or other identifier) is associated with the corresponding virtual number for identifying and routing communications.

[0186] Optionally, the communication service metadata related to these numbers can be collected, sorted, and prepared. This metadata may include information such as communication protocols, routing information, authentication, service configurations, etc., for assisting in the normal operation and management of the communication service.

[0187] It should also be understood that sending the determined mapping relationship and communication service metadata to each edge cloud operating node can be achieved through network communication methods to ensure that each node in the edge cloud can access this data.

[0188] The above mapping relationship between the determined number and the virtual number includes: when there is an available virtual number, the device on the development cloud side determines the mapping relationship between the number and the available virtual number; when there is no available virtual number, the device on the development cloud side sends virtual number application information to the above operator device, receives the new virtual number returned by the above operator device, and determines the mapping relationship between the number and the new virtual number.

[0189] It should be understood that if there are already available virtual numbers, the device on the development cloud side will map and associate the numbers with these available virtual numbers, which means pointing these specific numbers to the existing virtual numbers to establish a connection between the two.

[0190] It should also be understood that when there is no available virtual number, the device on the development cloud side will send virtual number application information to the operator device, and the operator device will respond to this request and return a new virtual number to the device on the development cloud side. Then, the device on the development cloud side will establish a mapping relationship between this new virtual number and the corresponding number.

[0191] Through the above embodiments, one virtual number can be bound to or correspond to different real numbers of multiple users, that is, one virtual number supports associating the personal communication services of multiple users, and users do not need to perceive the existence of the virtual number, which can better support the expansion of personal communication services; and make the requirements of personal communication services more lightweight. Moreover, it can avoid the problem in the prior art that the virtual numbers of operator devices are one number per person, resulting in an infinite expansion of the number pool, which is difficult to manage and not suitable for the personal communication service scenario.

[0192] 302. The development cloud system checks whether there is an available virtual number.

[0193] 303. If there is no available virtual number, the development cloud system automatically applies for a virtual number from the operator in the number service.

[0194] In the deployment stage, it is judged whether there is an available virtual number. As a transit of the operator, the virtual number has a concurrency call volume limit, which is recorded internally by the communication service platform. After a virtual number exceeds the binding upper limit, other virtual numbers need to be used. If there is no available virtual number, the platform needs to apply for a new virtual number from the operator's number management service.

[0195] It should be understood that determining whether there are available virtual numbers means that when deploying a communication service, the development cloud system checks whether there are still unused virtual numbers currently. The concurrent call volume limit of a virtual number means that each virtual number has a limit, that is, the number of calls that can be processed simultaneously. If the concurrent call volume of a certain virtual number reaches the upper limit, the system needs to consider using other virtual numbers. Using other virtual numbers after exceeding the binding upper limit means that when a certain virtual number has reached the upper limit of binding with the communication service, the system needs to select other available virtual numbers to continue the service. This may involve sequentially selecting the next available virtual number. Applying for a new virtual number from the operator when there are no available virtual numbers means that if all virtual numbers have been used and there are no available virtual numbers, the communication service platform will communicate with the operator's number management service to request a new virtual number. This may include that there are no available numbers in the virtual number pool recorded within the system, or the system needs to expand the number of virtual numbers to handle more concurrent calls. Generally speaking, this process ensures that the communication service platform can dynamically manage virtual number resources when processing a large number of communication requests to ensure the availability and performance of the system.

[0196] Exemplarily, when a new user registers or an existing user needs to bind a virtual number, the development cloud system will first check whether there are available virtual numbers currently. If there are available virtual numbers, the development cloud system will select a virtual number and bind it to the user's mobile phone number. The binding relationship is updated, and the user can use the virtual number for communication. For example, available virtual number: 123456, binding relationship updated: user 1 mobile phone number: user1phone, bound virtual number: 123456, user 2 mobile phone number: user2phone, bound virtual number: 123456. If there are no available virtual numbers currently, the development cloud system will trigger the process of automatically applying for a new virtual number. The development cloud system sends a request to the operator's number service to apply for a new virtual number. For example, the newly applied virtual number is 789012. After the operator provides the new virtual number, the system binds it to the user's mobile phone number. The binding relationship is updated, and the user can use the new virtual number for communication. Available virtual number: 789012, binding relationship updated: user 1 mobile phone number: user1phone, bound virtual number: 789012, user 2 mobile phone number: user2phone, bound virtual number: 789012. In this way, the development cloud system ensures that each user has a virtual number and dynamically applies for a new virtual number when needed to meet business requirements.

[0197] In the above embodiments, the virtual number acts as a transit for the operator and has the ability to set the concurrent call volume. When a virtual number reaches its bound upper limit, the system needs to switch to other available virtual numbers. If there are no available virtual numbers at present, the development cloud device can apply to the number management of the operator device for a new virtual number. This mechanism allows for dynamic switching based on the bound upper limit of the virtual number when the communication load is high. When a virtual number has reached its limit, the system can automatically divert call traffic to other available virtual numbers. When all available virtual numbers are in use and there is no idle capacity, the development cloud device can apply to the number management of the operator device to obtain a new virtual number to meet the communication service requirements. This approach helps optimize the utilization of communication resources, avoid overloading of a single virtual number, and ensure the continuity and stability of communication services. At the same time, it also allows the system to dynamically adjust and expand the use of virtual numbers when needed to adapt to changing communication load requirements.

[0198] 304. The development cloud system automatically binds virtual numbers Virtual number: [user1phone, user2phone].

[0199] 305. The development cloud notifies the user that the mobile phone number has been successfully bound.

[0200] If there are available numbers, the background binds the user's mobile phone number and the virtual number together. Different from the existing method of "binding multiple real numbers of a user to one virtual number", this application adopts the method of "binding the real numbers of multiple users to one virtual number", and the user does not need to perceive the existence of the virtual number.

[0201] It should be understood that if there are available numbers means that when the system checks that there are available virtual numbers, the background will bind the user's mobile phone number to this virtual number. This binding is to establish an association between the user and the virtual number, so that communication services can communicate with the user through the virtual number. Binding the real numbers of multiple users to one virtual number means that, different from the traditional method, this method allows one virtual number to be bound to the real numbers of multiple users at the same time, which means that one virtual number can be associated with multiple users, rather than being limited to one user. The user does not need to perceive the existence of the virtual number means that for the user, they do not need to know or perceive the existence of the virtual number. The user uses their own real number for communication, and the use of the virtual number is carried out behind the system. The user only needs to enjoy the convenience of communication services without caring about the management and binding process of the virtual number. The flexibility of the binding method lies in that it supports the establishment of an association between one virtual number and multiple users, thus better adapting to the multi-user and personalized communication needs. At the same time, the user experience is simpler because they do not need to understand or deal with the complexity of the virtual number.

[0202] Exemplarily, in the development cloud system, a user registers two mobile phone numbers: user1phone and user2phone. The function of the system is to automatically generate a virtual number for these two users, then bind this virtual number to the users' mobile phone numbers. Next, the system notifies the user that the mobile phone number and the virtual number are successfully bound. The specific process is as follows: When user 1 registers, they provide the mobile phone number user1phone. When user 2 registers, they provide the mobile phone number user2phone. The development cloud system generates a virtual number, such as Virtual Number 123456, in the background according to the business logic. The system establishes a binding relationship between this virtual number and the users' mobile phone numbers, forming the following binding relationship: Virtual Number: 123456, bound users: [user1phone, user2phone]. The system notifies the user of the successful binding of the mobile phone number and the virtual number through SMS, push notifications, or other means. The possible notification content is as follows: "Dear user, your mobile phone numbers user1phone and user2phone have been successfully bound to the virtual number 123456. Thank you for using our service!" In this way, when using the communication service of the development cloud system, the user can communicate through the virtual number 123456 without caring about what the specific virtual number is, and the system can correctly route the communication to the corresponding user according to the binding relationship.

[0203] Optionally, "binding the real numbers of multiple users to one virtual number" means that when a virtual number is used in a team or family scenario, multiple members can use the same virtual number for communication. For some shared services, such as a customer service hotline, multiple users can contact the service provider through the same virtual number at the same time.

[0204] (The edge cloud communication service node) receives the communication service metadata corresponding to the number sent by the development cloud device, (and saves it). Corresponding to steps 307 and 308 in Embodiment 1.

[0205] It should be understood that the edge cloud communication service node receives and saves the communication service metadata corresponding to the number from the development cloud device.

[0206] Optionally, the development cloud device may send communication service information about a specific number, which describes various attributes, configurations, or other necessary metadata information of the communication service corresponding to the number. This may include the service type of the number, permission settings, communication protocols, etc.

[0207] Optionally, the edge cloud communication service node is responsible for receiving this information and storing or saving it, which ensures that the communication service node can refer to or use this metadata information when processing the communication of this number subsequently, so as to perform appropriate processing according to the defined rules or attributes.

[0208] 306. The user publishes a communication service to the development cloud system.

[0209] 307. The development cloud system distributes the communication service metadata to the running nodes of the personal communication service in the called area of the edge cloud in the same region.

[0210] 308. The development cloud system distributes the communication service metadata to the running nodes of other nodes in the called area of the edge cloud in the same region.

[0211] The communication service metadata is distributed to each edge cloud, and the communication service is in a pending activation state. In this process, each service node is equivalent.

[0212] It should be understood that the developer defines a communication service in the development cloud system and publishes it to the development cloud system. The development cloud system distributes the metadata of the communication service to the edge cloud in the same region in a certain way, specifically to the running nodes of the personal communication service. This means that the communication service will be executed in the personal communication service node on the edge cloud in the user's location. At the same time, the metadata of the communication service is also distributed to the running nodes of other edge cloud nodes in the same region. This is to back up or distribute the service on multiple nodes in the same region to ensure the high availability or load balancing of the service. In this process, the communication service is in a pending activation state at each edge cloud node, indicating that the service has not been started and executed yet. At this time, each service node is equivalent. After the communication service metadata is distributed to each edge cloud node, these nodes all have the potential ability to start and execute this communication service. Each edge cloud node has the same service configuration and metadata, so they can all independently start and execute the same communication service when needed.

[0213] Exemplarily, assume that a developer wants to release a communication service for speech recognition, which can perform voice input at the user end and return the recognized text result. The developer creates a new communication service in the development cloud system, defines metadata such as the name, description, input and output formats of the service. The development cloud system determines that the region selected by the user is City A, and sends the communication service metadata to the personal communication service node in the region of City A. This node may be a single server or a group of servers dedicated to executing personal communication services. At the same time, to improve the availability and performance of the service, the development cloud system also sends the communication service metadata to other regional nodes outside the region of City A, such as City B, City C, etc. In this way, no matter where the user uses the service, they can obtain the service from a regional node closer to them. This communication service may include multiple steps such as voice input collection, transcoding, and speech recognition. By sending the service metadata to each edge cloud node, the system realizes the coordination of service deployment and execution. Users can experience the same communication service globally. At the same time, since there are multiple nodes in the same region, even if a certain node fails, other nodes can still provide services, improving the availability of the system.

[0214] In the above embodiment, it is described that the development cloud device sends the pre-orchestrated personal communication service process metadata to multiple edge cloud communication service nodes during communication service deployment. Among them, after receiving the communication service process metadata, the nodes can prepare to process the communication service. The equivalence among the nodes allows them to move flexibly according to the geographical location, and maintaining the transmission of session state information during the node migration can reduce the latency of streaming media transmission during the call.

[0215] (The device on the development cloud side) determines the address of the edge cloud communication service node corresponding to the number registration location as the address information, binds the above address information with the corresponding number, and writes it into the above mapping relationship; (The device on the development cloud side) sends the above mapping relationship to the operator device. Corresponding to steps 309-311 in Embodiment 1, it involves the device on the development cloud side determining the address information of the edge cloud communication service node corresponding to the number registration location, determining this address information and binding it with the corresponding number, then writing this information into the mapping relationship, and sending this mapping relationship to the operator device.

[0216] It should be understood that determining the address of the edge cloud communication service node corresponding to the number registration location as the address information means initializing the network address of the webhook based on the number's home location, which means determining the network address of the corresponding edge cloud communication service node according to the registration location or home location of a specific telephone number, that is, using the home location information of the telephone number as the basis for initializing the network address of the webhook.

[0217] It should also be understood that by using the location information of the telephone number as part of the initialization of the webhook, it can be ensured that the network address of the webhook is associated with the number registration location or the home location, so that the communication service for this number can establish an association with the corresponding edge cloud communication service node, in order to more effectively process the relevant communication.

[0218] It should also be understood that the address information is bound to the corresponding number and written into the above mapping relationship. According to the obtained address information, it is bound to the corresponding number to ensure the association between the number and the specific edge cloud communication service node, so as to effectively route the communication requests from this number to the correct edge cloud node, and then update or write this information into the previously established mapping relationship. This mapping relationship can be a data structure or a database, which records information such as the number, virtual number (if any), metadata of the communication service, and the address information of the bound edge cloud communication service node.

[0219] It should also be understood that once the mapping relationship is updated, the development cloud side device sends this mapping relationship containing the number, address information and other communication service related data to the operator device, and this process can be achieved through network transmission to ensure that the operator device obtains the latest mapping relationship data.

[0220] In steps 309 - 311 of the first embodiment, the development cloud side device adopts a distributed node architecture when deploying the communication service, enabling the service to run without difference on each edge cloud communication service node. This architecture allows the edge cloud communication service node to be ready to start the communication service at any time and supports the service node to move or migrate according to the geographical location in the cloud. In addition, the operator device uses the mapping relationship between the number, virtual number and the address information for accessing the communication service, analogizes the virtual number to a router. Through the pre-associated address information, the operator device does not need to know in advance the way of service invocation. When the edge cloud communication service node receives a communication service access call request for a specific called number, it can activate the corresponding personal service instance. This method enables the operator device and the edge cloud communication service node providing the communication service to negotiate and process the personal communication service quickly and efficiently. The user does not need to pay attention to the existence of the virtual number and is unaware of it. This flexibility is beneficial to system integration and does not rely on the traditional call center system, especially suitable for the personal assistant scenario. This method also solves the problem of a large amount of bandwidth consumption caused by communication media transmission due to the huge number of individual users in the prior art.

[0221] 309. The development cloud system obtains the registration location of the personal number.

[0222] The development cloud platform obtains the registration location of the user's mobile phone number as the basis for initializing the microservice address.

[0223] It should be understood that the registration location of the user's mobile phone number refers to the address information provided by the user when registering with the telephone service provider, which is the main geographical location or place of attribution of the user. The basis for initializing the microservice address means that microservice is a software design approach in service-oriented architecture (SOA), where applications are split into small, independent service units that collaborate with each other to complete the overall business logic. In this case, each microservice may run at different physical locations or servers. Initializing the address based on the registration location means that the cloud platform can associate the user with the corresponding microservice node according to the registration location of the user's mobile phone number, which can be achieved by routing the user request to the microservice node closest to the user's registration location. By using the registration location of the user's mobile phone number as the basis for initializing the microservice address, the system can provide services more effectively, reduce latency, improve response speed, and provide a better user experience. This method helps to ensure that the user communicates with the nearest service node, reducing network latency and thus improving service performance.

[0224] It should be understood that in the microservice design of service-oriented architecture, each microservice is a relatively independent service unit that can focus on specific business functions. These microservices can run independently at different physical locations or servers and collaborate with each other to form a complete business logic. The basis for initializing the microservice address is usually to optimize performance, improve availability, or meet specific business requirements.

[0225] Exemplarily, in personal communication service processing, using the microservice architecture can make the system more flexible, scalable, and support distributed service deployment. Assume that personal communication service processing involves functions such as user registration and personalized services. When a user registers, the system can obtain the user's registration location information. Based on the user's registration location, the microservices related to personal communication services can be initialized to the nodes closest to the user's registration location. In this way, when the user initiates a communication service request, the system can route the request to the nearest microservice node, improving the service response speed.

[0226] Optionally, some communication services may be more relevant to users in specific regions. For example, if users in a certain region are more inclined to use a specific language or have regional communication needs, the system can initialize the corresponding microservices to the corresponding nodes according to these characteristics, which can better meet the personalized communication needs of users.

[0227] Optionally, in a microservices architecture, the overall network topology of the system can be considered, and microservices can be initialized on key nodes of the network topology to better share the load and improve the availability of the overall system. For example, in a cross-region communication scenario, services can be initialized on the edge nodes of each region to better serve local users.

[0228] Specifically, in a microservices architecture, services usually register their own information, including the service name, address, port, etc., with the service registry when starting up. The registry maintains information about all available services. When other services need to call a certain service, they can query the registry for information about that service to obtain its address and other relevant information. Load balancing techniques are used to distribute requests to multiple service instances to ensure that each instance can share the load evenly, which helps improve the availability and performance of the system. Common load balancing strategies include round-robin, least connections, least response time, etc.

[0229] Optionally, a common service discovery pattern is client-side discovery and server-side discovery. In client-side discovery, the client is responsible for querying the service registry and selecting the service instance to call. In server-side discovery, the communication between services is handled by a proxy layer, which knows how to select service instances from the registry.

[0230] Optionally, through dynamic configuration, the configuration information of services, including the address information for service initialization, can be dynamically adjusted during system operation. This enables the system to dynamically adjust the deployment of services according to real-time operating conditions.

[0231] Optionally, in a cloud-native environment, by using relevant functions of cloud service providers, such as elastic scaling and auto-scaling, the cloud platform can automatically adjust the number and location of service instances according to the load situation and service requirements.

[0232] It should be understood that the specific initialization process will vary according to the specific architecture and technology selection. For example, some systems may use a specific configuration center to manage service configuration information, while others may use cloud-based solutions to achieve dynamic service deployment.

[0233] 310. The development cloud system selects the initialization personal communication service webhook address according to the personal number registration location.

[0234] Since the personal communication service has obvious regional characteristics and most of its callers are local users, the edge cloud communication service address of the registration region is used as the webhook address and bound to the personal mobile number.

[0235] It should be understood that when the development cloud system initializes the personal communication service, it will select the corresponding webhook address according to the registration location of the personal number. The registration location of the personal number refers to the geographical location information provided by the user during registration, indicating the area where the user is located. A webhook is a terminal address used to receive real-time notifications and data. Here, the webhook address is used to receive and process notifications and requests related to the personal communication service. Initialization refers to the configuration and preparation work carried out when the system starts or a specific operation is performed. Here, initialization refers to the settings and preparations made by the development cloud system when the user registers for the personal communication service. Generally speaking, when initializing the personal communication service, the development cloud system will select an appropriate webhook address according to the registration location of the user's personal number, aiming to match the personal communication service with the user's registration area, thereby improving the efficiency and response speed of the communication service.

[0236] It should be understood that there are different users of the personal communication service in different regions, and most communications are initiated by local users. To improve the efficiency and quality of communications, the development cloud system chooses to associate the address of the personal communication service with the user's registration area. Specifically, users usually need to register before using the personal communication service. When registering, they will provide personal information, including the area where they are located, and this area information represents the user's registration location. The edge cloud communication service is a node that provides communication services and is distributed in different regions. Each region has a corresponding edge cloud communication service address for processing communication requests in that region. Here, binding the edge cloud communication service address to the user's mobile phone number means that the development cloud system will, according to the region where the user registers, associate the edge cloud communication service address of the corresponding region with the user's mobile phone number as the Webhook address. Since the personal communication service is mainly targeted at local users, by associating the edge cloud communication service address with the registration area, the development cloud system can more effectively process communication requests initiated by local users, reduce latency during communication, and improve service quality. In this way, the development cloud system can intelligently select the corresponding communication service node according to the user's registration area, making the communication service closer to the user and improving the efficiency and response speed of the service.

[0237] Before creating a channel session between the caller and the virtual number and confirming the address information (abbreviated as the Webhook address, which is the network address of the webhook initialized based on the number's area of origin) corresponding to the called number based on the mapping relationship in step 321 below in step 317 below, it also includes: (this operator device) receiving and storing the mapping relationship; the mapping relationship includes at least one virtual number, where each virtual number corresponds to the numbers of multiple different users, and each number corresponds to its own address information. The above process corresponds to step 311.

[0238] It should be understood that the mapping relationship refers to associating a virtual number with the numbers of multiple different users and providing respective address information for each number, and this address information can be used to access and call communication services.

[0239] It should also be understood that the operator device first receives information about the relationship between the virtual number and the numbers of multiple different users, and this mapping relationship can be transmitted to the device in a certain data format (such as a database table, a mapping file, etc.) so that the device can understand and process these association relationships.

[0240] It should also be understood that after receiving the mapping relationship, the operator device stores this relationship information in its internal database or relevant storage medium for the purpose of being able to quickly access and use this mapping relationship information in subsequent processing.

[0241] It should also be understood that this mapping relationship includes the correspondence between the virtual number and the numbers of multiple different users. For each virtual number, there can be multiple different user numbers associated with it. At the same time, for each user number, this mapping relationship also provides respective address information, and these address information are network addresses used to access and call communication services, such as the network address for initializing the webhook of the number's home location.

[0242] It should also be understood that in this mapping relationship, the address information provided for each user number can include the network address of the user's location, communication service node information, etc., and these address information are the basis for initiating communication service access and call requests in subsequent steps.

[0243] The storage and management of the above mapping relationship are to ensure that during call processing, the virtual number can be accurately mapped to the correct user number and the communication service address information corresponding to each user number can be obtained, so as to ensure that the call can be successfully connected to the correct user. The storage and use of this mapping relationship are important preliminary deployment preparations in call processing.

[0244] 311. The development cloud platform updates the one-virtual-multiple-real number mapping relationship to the number service, such as:

[0245] Virtual number: [<user1phone, webhook1>, <user1phone, webhook2>];

[0246] The development cloud platform provides the virtual-real number mapping relationship to the operator number management service to facilitate service invocation according to the binding relationship during the call process.

[0247] It should be understood that this process involves the mapping relationship between virtual numbers and actual numbers, and how these mapping relationships are updated to the number service and provided to the operator number management service. Specifically, the mapping relationship between virtual numbers and actual numbers means that a virtual number is a number provided by the development cloud platform and used to identify a communication service, while the actual number is the user's real mobile phone number. The mapping relationship indicates which virtual number corresponds to which actual number and the associated communication service. Updating to the number service means that the development cloud platform updates the mapping relationship between the virtual numbers and actual numbers it maintains to the number management service on behalf of the operator.

[0248] Optionally, the number management service can be a centralized system responsible for managing all the association information between virtual numbers and actual numbers. By updating these mapping relationships to the number management service, it can be ensured that the communication service associated with the user can be accurately found during the communication process.

[0249] It should be understood that providing to the operator number management service means that the development cloud platform provides the mapping relationship between virtual numbers and actual numbers to the operator number management service, which helps the operator better understand and process call requests made on its network. The provision of the mapping relationship involves some protocols or interfaces to ensure the effective sharing of this information between the two systems.

[0250] It should be understood that the service invocation during the call process means that when a user makes a call, the operator can route the call to the associated communication service based on the provided mapping relationship. In this way, the service associated with the user can correctly respond to the call and execute the corresponding communication service process.

[0251] Generally speaking, this process establishes an effective association between virtual numbers, actual numbers, and communication services, enabling the accurate finding and invocation of services related to the user during the communication process.

[0252] Exemplarily, assume there are two users, namely user1 and user2, and their mobile phone numbers are user1phone and user2phone respectively. The development cloud platform has established a one-to-many virtual-to-real mapping relationship as follows: Virtualnumber: [<user1phone, webhook1>, <user1phone, webhook2>, <user2phone, webhook3>]. Here, each <user mobile phone number, webhook address> combination represents a mapping from a virtual number to an actual webhook address. For example, for user1phone, there are two different webhook addresses, namely webhook1 and webhook2. Then, the development cloud platform provides these mapping relationships to the operator's number management service. In this way, when someone dials user1phone, the number management service can find the corresponding webhook address (which may be webhook1 or webhook2) according to the mapping relationship and route the call to the correct communication service. In this way, a virtual number is bound to multiple actual numbers at the same time, and each actual number corresponds to a webhook address, ensuring more flexible communication service invocation and routing.

[0253] It should be understood that the webhook address is the interface or terminal address of the actual communication service associated with the user's mobile phone number. Each webhook address corresponds to an independent communication service instance or node. For example, webhook1 corresponds to one service, webhook2 corresponds to another service, and so on. These services may be located in different geographical locations and hosted by different edge cloud nodes.

[0254] Specifically, when someone dials a certain virtual number, the number management service will look up the mapping relationship to find the webhook address associated with the virtual number. Then, the service will route the call to the correct communication service, which means the call will be passed to the specific communication service instance corresponding to the selected webhook address. This kind of mapping and routing ensures the correct transfer of the call, enabling the user's communication service to receive and process the call request.

[0255] The above embodiments allow a virtual number to be associated with multiple different real numbers at the same time, providing more flexible support for personal communication services. This kind of association enables users not to be aware of the existence of the virtual number, and also supports better scalability of personal communication services, bringing lightweight communication service requirements, avoiding the problems of number pool expansion and difficult management caused by the traditional one-person-one-number method, and being more suitable for the scenario of personal communication services.

[0256] Execution phase steps 312 - 328

[0257] Receiving a call request means that the control service device of the operator receives a call request from the calling user (initiated by the terminal device of the calling-side user), corresponding to step 312.

[0258] It should be understood that the control service devices are located at the core of the mobile network and play important roles in coordinating, controlling, and managing mobile communications. These devices can include various nodes of the mobile core, such as Mobile Switching Center (MSC), Home Location Register / Home Subscriber Server (HLR / HSS), Media Gateway Control Function (MGCF), Serving-Call Session Control Function (S-CSCF), etc.

[0259] It should also be understood that after the calling user initiates a call request, their terminal device will send signaling data to the nearest base station or access point, and these signaling data will then be transmitted to the control service devices, which will parse the signaling, verify the user's identity, identify the call target, and make routing decisions, etc.

[0260] Optionally, the control service devices will check the identity, permissions, and subscription information of the calling user. Once it is confirmed that the user is legal and has the permission to make a call, they will further process the call request, determine the location of the called user, and decide how to forward the call request.

[0261] Optionally, the control service devices of the operator will route the call request to the correct destination according to the location and status of the called user. Once the connection is established, the control service devices will continuously monitor the call quality and process the signaling during the call to ensure the stability of the call quality, and release the relevant resources after the call ends.

[0262] 312. The user dials the called personal mobile phone number to the operator's control service.

[0263] 313. The operator's control service queries the number service to check whether the called number is bound to a service.

[0264] When the calling party dials the called personal mobile phone number, the operator's control service queries the number service to check whether the mobile phone number is bound to a virtual number.

[0265] It should be understood that the user dials the called personal mobile phone number to the operator's control service means that the user uses the control service provided by the operator to dial a certain person's mobile phone number, and this mobile phone number is the called number. The operator's control service queries the number service to check whether the called number is bound to a service means that the operator's control service queries whether the called number is bound to a certain service through the connection with the number service.

[0266] It should be understood that when the caller dials the callee's personal mobile phone number, it means that a person (the caller) uses a mobile phone or a telephone device to dial the personal mobile phone number of another person (the callee). The operator's control service refers to the service provided by the operator, which can be a telephone management service, a number identification service, or other additional functions. This service intervenes when a phone call occurs and can perform various types of queries or operations. Querying the number service means that the operator's control service communicates with the number service to query whether the called number is associated with a virtual number. This query is to confirm whether the called number uses a virtual number in another service. The whole process is that in the case where the caller dials the callee's personal mobile phone number, and the operator's control service queries the number service during this process to check whether the called number is associated with a virtual number.

[0267] 314. If the called number is not bound to a service, the operator's number service will feedback to the control service.

[0268] 315. A calling-callee channel is established between the user and the operator's number service.

[0269] If the called number is not bound to a virtual number, the calling-callee channel is established normally.

[0270] It should be understood that the called number not being bound to a service means that when the user dials a number, the operator's number service will check whether the called number is bound to a certain service, especially whether it is associated with a virtual number. If the called number is not bound to any service or virtual number, this status will be confirmed.

[0271] It should be understood that the number service's feedback to the control service means that after confirming that the called number is not bound to a service, the operator's number service will send feedback information to the control service. This feedback can include the status of the called number, a prompt for not being bound to a service, or other relevant information. The establishment of a channel between the user and the operator's number service means that during the call process, a communication channel is established between the user and the operator's number service to query and confirm the status and service binding situation of the called number. This channel can be used for two-way communication to handle relevant services or status during the call.

[0272] It should be understood that establishing a calling-callee channel means that if the called number is not bound to a virtual number or other service, the call will normally establish a channel between the caller and the callee. This means that the caller and the callee can start normal call communication without being affected by additional services or virtual numbers.

[0273] For example, suppose A dials B's phone number, and B's number is not bound to any service or virtual number. When A dials B's number, the operator's number service will check and confirm that B's number is not bound to any service. The number service will feedback this status to the operator's control service. At the same time, a channel is established between user A and the operator's number service, allowing two-way communication. After confirming that B's number is not bound to a service, the call channel between the caller and the called party will be established normally, and A and B can start the call communication without being affected by any virtual number or other service. The whole process allows the operator to handle the service status in the call in real time, while ensuring the normal connection of the call.

[0274] In the case where the called number is bound to a virtual number, (the operator device) creates a channel session between the caller and the virtual number, and confirms the address information corresponding to the called number for accessing the communication service based on the mapping relationship; the address information indicates the first edge cloud communication service node that provides the communication service corresponding to the called number; the address information is, for example, a network address for initializing the webhook based on the number's location. The above process corresponds to steps 316, 317, 318, 320, and 321.

[0275] It should be understood that creating a channel session between a calling user and a virtual number means that after the calling user initiates a call request, the operator equipment will establish a channel or connection to associate the calling user with the corresponding virtual number;

[0276] It should also be understood that confirming the address information corresponding to the called number for accessing and calling the communication service based on the mapping relationship means that when there is a mapping relationship between the called number and the virtual number, the operator equipment will confirm the actual communication service address information corresponding to the called number based on this relationship, which may involve some kind of database or mapping table that records the association relationship between the called number and the virtual number.

[0277] It should be noted that the above mapping relationship is based on step 311 in which the cloud platform develops the mapping relationship between virtual and real numbers and provides it to the operator's number management service. There is no order of execution for the two steps of "creating a channel session between the caller and the virtual number" and "confirming the address information corresponding to the called number for accessing and calling the communication service based on the mapping relationship" and they are not limited here.

[0278] It should also be understood that the first edge cloud communication service node of the communication service refers to the first edge cloud communication service node that the operator equipment will determine to provide communication services for the number once the actual communication service address information corresponding to the called number is confirmed. This node is usually the cloud communication service node closest to the location of the called number.

[0279] It should also be understood that the address information is, for example, a network address for initializing a webhook based on the number's area of jurisdiction. This means that when the called number is associated with the first edge cloud communication service node of the communication service, in the communication network, the location or area of jurisdiction where the called number is located is used as the basis for initializing the webhook network address. A webhook is a communication mechanism that allows data to be sent or a specific action to be triggered via an HTTP POST request to a predefined URL when a specific event occurs.

[0280] Specifically, each phone number is associated with a specific geographical location or area of jurisdiction. The operator's network can determine its area of jurisdiction based on information such as the area code and country code of the phone number. Edge cloud communication service nodes are servers or devices distributed at the edge of the network that provide fast response and lower latency services. These nodes are usually located near the user's location.

[0281] Exemplarily, the edge cloud communication service node corresponding to the called number is selected based on the area of jurisdiction or location information where the number is located. This node information is used to initialize a webhook network address, which can be used in a notification mechanism when specific events such as call events and call status changes occur. For example, when someone dials a virtual number associated with this called number, this webhook will be triggered to notify relevant systems or applications to process the call request or changes in the call status.

[0282] 316. If the called number has a bound service, the operator's number service feeds back to the control service.

[0283] 317. A channel is established between the user and the operator's number service for the caller and the virtual number.

[0284] 318. The operator's control service generates a session ID (session identifier).

[0285] If the called number is bound to a virtual number, indicating that personal communication services are bound, a channel is established between the caller and the virtual number, and a channel session is created, generating a channel session session, including channel ID, caller and callee information, etc.

[0286] It should be understood that the called number having a bound service means that when a user dials a number, the operator's number service discovers that the called number already has a bound service, especially associated with a virtual number or other personal communication services. The number service feeding back to the control service means that after confirming that the called number has a bound service, the operator's number service sends feedback information to the control service, notifying the control service about what kind of service the called number is bound to, which can include relevant information about the virtual number or other communication services.

[0287] It should be understood that establishing a channel between the user and the operator's number service means that during a call, a communication channel is established between the user and the operator's number service for subsequent operations and communications. Establishing a channel between the caller and the virtual number means that the control service generates a session ID to identify the call session. If the called number is bound to a virtual number or other personal communication service, the control service will instruct the operator's number service to establish a communication channel between the caller and the virtual number, and this channel will be used for the call connection between the caller and the virtual number. Creating a channel session means that this channel session contains key information such as the channel ID, caller and called information, etc., to ensure the normal progress of the call session between the caller and the virtual number.

[0288] It should be understood that a Session ID is a unique identifier used to identify a session in a specific communication or interaction process. In computer science and network communications, it is used to track and manage information associated with a specific user, device, or process. This ID is usually generated at the start of the session and remains unchanged throughout the session or is used to identify changes in the session state.

[0289] Exemplarily, assume that A dials B's phone number, and B's number has been bound to a virtual number, indicating that he uses a certain personal communication service. When A dials B's number, the operator's number service will detect that B's number has been bound to a virtual number, and the number service will feedback this information to the operator's control service. During this process, a channel is established between user A and the operator's number service. The control service generates a session ID and instructs the number service to establish a communication channel between the caller and the virtual number. This channel is used for the call connection between A and B. The channel session contains the necessary information to ensure normal communication and management during the call. This process allows the operator to identify and handle the binding of specific services during the call connection while ensuring the establishment and management of the communication between the caller and the virtual number.

[0290] 319. The operator's control service displays the called personal number to the user.

[0291] It should be understood that the operator's control service uses the virtual number to replace or hide the original called personal number and then displays the converted information to the user.

[0292] Exemplarily, assume that A uses the services provided by the operator to call B's number. B's number is configured in a privacy protection state, so his actual number does not want to be directly displayed to the caller. The operator's control service intervenes in this call, replaces B's original number with a virtual number or alias, and displays this virtual number to A. In this case, although B's number is hidden, what A sees is the alternative information of the called number, which may be a virtual number or other identifier, enabling A to make a call and communicate with B while protecting B's privacy.

[0293] 320. The operator's control service obtains the webhook address of the called communication service from the number service.

[0294] 321. The operator's number service returns the webhook address of the communication service bound to the current called number to the control service according to the virtual-real number mapping relationship.

[0295] The control service provides the called number to the number service and obtains the webhook address of the personal communication service from the virtual-real number table. This process involves information exchange between the operator's control service and the number service, mainly obtaining the webhook address of the communication service bound to the called number and obtaining the webhook address of the personal communication service according to the virtual-real number mapping relationship.

[0296] It should be understood that obtaining the webhook address of the called communication service means that the control service sends a request to the number service to obtain the webhook address of the communication service bound to a specific called number. This request is for a specific communication service associated with the called number, which can be message push, notification, or other call-related services.

[0297] It should be understood that returning the webhook address according to the virtual-real number mapping relationship means that the number service searches for and returns the webhook address of the communication service bound to the current called number according to the virtual-real number mapping relationship. This mapping relationship refers to the correspondence between the virtual number and the actual number, so as to find the corresponding communication service information.

[0298] It should be understood that the control service obtains the webhook address of the communication service according to the virtual-real number table means that the control service provides the called number, and then the number service will obtain the webhook address of the personal communication service according to the virtual-real number table or mapping relationship. This method can ensure that the communication service information associated with the real number can be obtained without directly exposing the real number.

[0299] Exemplarily, assume that A dials B's phone number, and B's number has been associated with a personal communication service and has a webhook address for receiving communication-related information. The operator's control service requests the number service to obtain the webhook address of the communication service bound to B's number. The number service finds the corresponding information in the virtual-real number mapping table according to the pre-set mapping relationship, and then returns the webhook address of the communication service associated with B's number to the control service.

[0300] In step 321, after confirming the address information corresponding to the called number for accessing and invoking the communication service based on the mapping relationship, it further includes: (the operator device) saving the call relationship between the above channel session and the above address information; the above accessing and invoking the communication service corresponding to the called number from the above first edge cloud communication service node based on the above address information includes: for the current above channel session, (the operator device) initiating an access and invocation request for the communication service corresponding to the called number to the above first edge cloud communication service node based on the corresponding above address information in the above call relationship.

[0301] After confirming the address information corresponding to the called number for accessing and invoking the communication service in step 321, step 322 involves saving the call relationship between the channel session and the address information.

[0302] It should be understood that the operator device creates a channel session between the caller and the virtual number in step 317. This channel session records the communication connection status and related information between the caller user and the virtual number, which can include call status, connection parameters, call content, etc.

[0303] It should also be understood that the operator device associates the channel session with the address information corresponding to the called number and saves this call relationship, aiming to quickly locate the correct communication service address during the call to ensure the stability and continuity of the call connection.

[0304] Optionally, saving this call relationship can involve database records, associated identifiers, or other forms of association methods, so that the device can effectively retrieve and manage this information when needed.

[0305] 322. The operator's control service saves the session processing relationship <session, webhook>.

[0306] Generate a service call relationship at the session level <session, webhook>, which is convenient for routing to the corresponding service address according to the session in subsequent sessions.

[0307] It should be understood that saving the session processing relationship means that at the beginning of each session, the operator's control service will establish an association between the session and the corresponding webhook address. This association information is stored, usually in the form of a key-value pair, to ensure that each session has a corresponding target service address.

[0308] It should be understood that generating a session-level service call relationship means that each session has a corresponding webhook address, which is used to uniquely identify the session and the target service address required for subsequent communication. This relationship can be stored in a database, cache or other data structure to facilitate subsequent retrieval and use.

[0309] It should be understood that the routing operation in a subsequent session means that when a subsequent session occurs, the control service can quickly retrieve the corresponding webhook address according to the session ID, which allows the control service to accurately send the message or request to the target service address associated with the session.

[0310] Exemplarily, assuming that the call between A and B is managed by the operator's control service, and each session has a unique session ID, when A calls B, the control service creates a new session and assigns a session ID, which is associated with the webhook address of Bob's communication service, so that in the subsequent communication process, the communication service used by B can be quickly located according to this ID. When B receives a message from A, the control service uses the session ID to find and locate the webhook address of B's ​​communication service, and then routes the message to the address, which ensures the accurate delivery of the message, so that the communication between A and B can proceed smoothly, and through this association, the control service can quickly route to the correct service address in subsequent sessions. (The operator device) initiates an access call request for the communication service corresponding to the called number to the first edge cloud communication service node based on the above address information. Corresponding step 323.

[0311] It should be understood that the previously confirmed address information (the network address of the webhook initialized based on the number's location) indicates the first edge cloud communication service node of the communication service corresponding to the called number. The operator device constructs an access call request that meets the requirements of the communication service node based on the previously obtained address information. This request may use a specific protocol (such as HTTP or other communication protocols) and may include the operations to be performed, required parameters, and related authentication information. The operator device uses the constructed access call request to initiate a request to the first edge cloud communication service node corresponding to the called number through the network. This request will be transmitted to the corresponding communication service node and wait for a response.

[0312] Optionally, after receiving the request, the first edge cloud communication service node will perform corresponding processing, which may involve verifying the legality of the request, executing relevant operations (such as establishing a call connection or processing call status), recording communication events, etc.

[0313] Generally speaking, the operator device uses the previously confirmed address information to initiate an access call request to the first edge cloud communication service node corresponding to the called number. This request can be for performing specific communication operations, such as establishing a call connection, notifying call status changes, etc. This process allows the operator device to interact with the communication service node to ensure that call services or related communication events are processed smoothly.

[0314] Step 323 initiates an access call request for the communication service corresponding to the called number to the above-mentioned first edge cloud communication service node based on the above address information, including: for the channel session in step 322, (the operator device) initiates an access call request for the communication service corresponding to the called number to the above-mentioned first edge cloud communication service node based on the corresponding address information in the above call relationship.

[0315] It should be understood that in step 322, the operator device has established a channel session and saved the call relationship with the address information. In step 323, for this channel session, the device will initiate an access call request for the communication service to the first edge cloud communication service node corresponding to the called number based on the address information in the previously saved call relationship.

[0316] It should also be understood that the channel session created in step 322 records the communication connection status and related information between the calling user and the virtual number. The operator device has saved the call relationship between the channel session and the address information corresponding to the called number. Based on the saved call relationship, the operator device uses the previously confirmed address information to initiate an access call request for the communication service to the first edge cloud communication service node corresponding to the called number.

[0317] 323. The control service of the operator accesses the personal communication service in the called area of the edge cloud in the same region according to the webhook of the session.

[0318] In a session, the webhook address of the control service session calls the personal communication service.

[0319] It should be understood that accessing the personal communication service according to the webhook of the session means that the control service uses the webhook address stored in the session to initiate a connection with the personal communication service, and this connection usually occurs over the network.

[0320] It should be understood that the control service in the session invoking the personal communication service means that during the session, the control service uses the webhook address of the session (address information, i.e., the network address for initializing the webhook based on the number's location) to invoke the personal communication service. This invocation can include messaging, information exchange, or other communication operations to support functions such as calls, messaging, or other session-related functions.

[0321] Exemplarily, assume that A makes a call to B through the operator's control service. The control service stores the webhook address of the session and wishes to invoke the personal communication service to support this call. The control service uses the webhook address in the session to access the personal communication service in the edge cloud of the same region. For example, when the call between A and B is in progress, the control service uses the stored webhook address to locate and invoke the personal communication service used by B in the edge cloud of the same region. This service can be a service that supports audio or video calls. The control service uses this service to ensure the smooth progress of the call. Through this process, the control service can conveniently access the personal communication service in the edge cloud of the same region according to the webhook address stored in the session, thereby providing a better communication experience.

[0322] In the above embodiment, the operator device can establish a virtual number call based on the mapping relationship between the called number and the virtual number. At the same time, it can create an invocation relationship between the session - address information (such as session - webhook). This association is not directly associated with the virtual number but with the call session to support the personal communication service. In this way, the personal communication service can be directly associated with the session rather than the virtual number, which is very useful for subsequent communication services. Through this association, the operator device can route the communication to the corresponding service address according to the session, enabling the communication service to be more targeted in routing and management based on session information rather than simply relying on the association of the virtual number.

[0323] The personal service instance activation indication includes the access invocation request for the communication service corresponding to the above - mentioned called number. Corresponding to step 324.

[0324] It should be understood that the personal service instance activation indication refers to the access invocation request for the communication service for the called number, which is sent by the operator device to the edge cloud communication service node based on the mapping relationship between the number, the virtual number, and the address information. Usually, this edge cloud communication service node is the communication service node corresponding to the address information where the called number is default - registered or set for accessing and invoking the communication service. That is to say, the communication service node pointed to by the called number receives the communication service request from the operator device.

[0325] 324. The personal communication service in the called area of the same-region edge cloud activates the personal communication service instance according to the called number.

[0326] It should be understood that activating the personal communication service instance according to the called number means that when the personal communication service receives an activation request for the called number, it will activate the corresponding personal communication service instance within the edge cloud based on the identification of this number, which may involve creating a communication service environment dedicated to this number or instantiating specific services.

[0327] In summary, the access call request for the communication service corresponding to the above-mentioned called number means that when the personal communication service receives an activation request for the called number, it performs corresponding operations within the edge cloud based on the identification of this number to activate the personal communication service instance corresponding to this number.

[0328] In step 324, before activating the personal service instance corresponding to the above-mentioned called number based on the above personal service instance activation indication, it further includes: (the edge cloud communication service node) receives the communication service metadata corresponding to the number sent by the development cloud device, (and saves it). Corresponding to steps 307 and 308 in Embodiment 1.

[0329] (The edge cloud communication service node) activating the personal service instance corresponding to the above-mentioned called number based on the above personal service instance activation indication includes: activating the personal service instance corresponding to the above-mentioned called number based on the above personal service instance activation indication and the communication service metadata corresponding to the above-mentioned called number.

[0330] It should be understood that the communication service metadata corresponding to the called number refers to the information describing the communication service corresponding to a specific number, and these metadata may include the service type, permissions, communication protocol, special configurations, or other relevant information of this number.

[0331] It should also be understood that activating the personal service instance means that the edge cloud communication service node performs corresponding operations according to the received personal service instance activation indication and the communication service metadata corresponding to the called number to start or activate the personal service instance corresponding to the called number, which may include establishing a communication environment related to this number, applying specific service rules or configurations, and ensuring that this number can perform communication services normally.

[0332] The above embodiments describe that when deploying communication services, the developed cloud device sends pre - orchestrated personal communication service process metadata to multiple edge cloud communication service nodes. This enables each node that receives the metadata to be ready to process communication services at any time and be in a pending activation state. And these communication service nodes are functionally equivalent. This architecture supports the flexible movement of communication service nodes according to geographical locations. For example, the communication between nodes is triggered according to the geographical location of the caller to activate the processing flow of the optimal service node. During such a migration process, the broadcast session state information is transmitted from the original node to the area of the new node, which helps to reduce the latency of streaming media transmission in the network during a call.

[0333] 325. Generate the process session information flow_session for the personal communication service in the called area of the edge cloud in the same region.

[0334] After receiving a call request, the personal communication service node activates a personal service instance according to the <phone, service> relationship, generates the session information flow_session, and establishes the relationship between session and flow_session. This is to facilitate the subsequent requests from the session to be processed in the context of flow_session.

[0335] It should be understood that generating the process session information (flow_session) means that within the personal communication service, for this activation request, a process session information (flow_session) will be generated. This information contains the context, parameters, or other information related to this communication or service, and is used to record and manage the state of the entire communication process.

[0336] It should be understood that establishing the relationship between session and flow_session means that the personal communication service associates the generated process session information (flow_session) with the session. In this way, for subsequent requests from a specific session, the personal communication service can use this association to ensure processing in the context of flow_session.

[0337] Exemplarily, assume that A dials B's number, and B's number is associated with a personal communication service instance. When A starts a call, the personal communication service activates the communication service instance for B's number in the edge cloud. During this activation process, the personal communication service generates a flow session information (flow_session) related to this call, which contains call-related information and parameters. This flow_session is associated with the session corresponding to this call. For example, when B answers the call request from A, the personal communication service uses this association to ensure that requests from the session between A and B are processed in the context of the flow_session. In this way, the personal communication service can more effectively manage and process the status information during the call and ensure that requests related to a specific session are correctly processed and responded to.

[0338] 326. The personal communication service in the called area of the edge cloud in the same region synchronizes the flow_session to other nodes in the called area of the edge cloud in the same region.

[0339] To ensure system reliability, the flow_session context data is synchronized to other service nodes in the same region as redundant backup. Each time the flow_session is updated, synchronization is performed. This process describes the personal communication service synchronizing the flow session information (flow_session) between different edge cloud nodes in the same region to ensure data reliability and redundant backup.

[0340] It should be understood that synchronizing the flow session information to other nodes means that when the personal communication service generates or updates the flow session information (flow_session) on an edge cloud node in a certain region, it synchronizes this information to other edge cloud nodes in the same region. This synchronization can utilize specific data synchronization protocols or mechanisms to ensure data consistency and timeliness.

[0341] It should be understood that the redundant backup for ensuring system reliability means that synchronizing the flow_session context data to other service nodes can serve as a redundant backup to increase system reliability. Synchronization operations are performed after each update to ensure that the backed-up data is up-to-date. In this way, even if a certain node fails or becomes unavailable, the system can still continue to run, reducing the risk of data loss.

[0342] For example, suppose B's communication service is in an edge cloud node in a certain region, processing calls with A. Each time a call starts or the process session information is updated, this edge cloud node will synchronize the flow_session context data to other edge cloud nodes in the same region. For example, when A and B are talking, B's communication service updates the process session information and records the status and related information of the call. To ensure data reliability, B's communication service will synchronize the flow_session information of this call to other service nodes in the same region as a redundant backup. This synchronization operation ensures that even if a node fails, other nodes can still obtain the latest flow_session context data and continue the call. Such a redundant backup strategy helps improve the reliability and fault tolerance of the system.

[0343] After the operator device initiates an access call request for the communication service corresponding to the called number to the first edge cloud communication service node based on the address information of the above step 323, it also includes: the operator device receives the communication content corresponding to the communication service sent by the above first edge cloud communication service node, and sends the communication content to the terminal device through the channel.

[0344] It should be understood that the first edge cloud communication service node processes the request and performs corresponding communication service operations, and then generates communication content. The first edge cloud communication service node sends the communication content back to the operator device. Once the operator device receives the communication content sent by the communication service node, it will send these contents to the terminal device through the previously established channel, that is, the terminal device of the called user. Finally, the terminal device of the called user receives the communication content transmitted by the operator device and performs corresponding processing or display, so that the user can perceive, read or hear these contents.

[0345] 327. The personal communication service in the called area of ​​the edge cloud in the same region will pass the execution content to the operator's control service.

[0346] 328. The operator's control service is sent to the channel and delivered to the user according to the execution content.

[0347] The personal communication service passes the communication content to the control service, which then passes it to the channel. This process describes the personal communication service passing the communication content to the operator's control service, which then passes the content to the channel for final delivery to the user.

[0348] It should be understood that the personal communication service passing communication content to the control service means that the personal communication service generates or receives communication content (such as messages, call data, etc.), and then passes these contents to the operator's control service. This content may need to be delivered to a specific user, so the control service is required to perform subsequent processing and delivery.

[0349] It should be understood that the control service sending the content to the user through the channel means that after receiving the communication content, the control service decides to send the content to a specific channel or channel according to information such as the type of the content and the target user. This channel can be a specific service or pipeline for user communication, used to deliver the content to the user, such as SMS, telephone line, message push channel, etc.

[0350] Exemplarily, assume that A uses a certain instant messaging application to chat with B. When A sends a message to B, the personal communication service (the edge cloud node where the application is located) will receive this message. Then, the personal communication service passes this message to the operator's control service. After receiving this message, the control service decides to pass this message to B through a specific channel according to the content of the message and B's communication settings. It is also possible that the control service passes this message to the message push service to push the message to B's device through this service. In the whole process, the personal communication service is responsible for the generation and delivery of the message, while the control service is responsible for passing the message to the appropriate channel according to the message content and user settings to ensure that the message can be successfully delivered to the target user B.

[0351] In steps 327 and 328, the operator device acts as an intermediate for transmitting the communication content, receiving the content from the communication service node and sending it to the terminal device of the called user through the channel, ensuring that the communication content can be correctly transmitted and presented to the user during the communication process.

[0352] In the first embodiment, the operator device, through the mapping relationship between the number and the virtual number and the address information for accessing and invoking the communication service, similar to the function of a router, enables the operator device to quickly and efficiently negotiate and process the personal communication service with the edge cloud communication service node providing the communication service corresponding to the called number without having to know the specific invocation method of the communication service in advance. This mechanism has the following key advantages: (1) The virtual number is similar to a router, routing communications through the mapping relationship and providing flexibility and scalability for the operator device's communication service; (2) Users do not need to pay attention to the existence or role of the virtual number, making the whole communication service more transparent to users and enhancing the user experience; (3) It is applicable to scenarios such as personal assistants, making system integration more flexible and no longer relying on a specific call center system, improving the flexibility and scalability of the system; (4) Solving the media transmission bandwidth problem, it solves the technical problem of a large amount of bandwidth consumption caused by the media transmission of the call center system due to a large user base in the personal service scenario.

[0353] (Edge cloud communication service node) obtains an activation indication for a personal service instance, where the personal service instance is a service instance that provides communication services for a called number; (the edge cloud communication service node) activates the personal service instance corresponding to the called number based on the personal service instance activation indication; (the edge cloud communication service node) sends the communication content of the communication service corresponding to the called number based on the personal service instance.

[0354] It should be understood that the above activation indication is a high-level description. The activation indication can be an access call request sent by the operator, which means that when the operator needs to perform a communication service, it will send a request to the edge cloud communication service node, and this request may serve as an activation indication to trigger the service node to execute the corresponding communication service.

[0355] It should also be understood that the activation indication can be the startup information received after the service node migrates. When the service node migrates, it will receive an indicative message prompting it to start a specific service instance.

[0356] It should also be understood that the activation indication can be the information received after being selected during a failure election process. When a failure occurs and a new node is elected to take over the service, the selected node will receive an indication message to activate the service instance to ensure service continuity.

[0357] Among them, obtaining the activation indication for the personal service instance can include one of the following situations:

[0358] Situation 1: The personal service instance activation indication includes an access call request for the communication service corresponding to the called number. That is, the edge cloud communication service node receives the access call request for the communication service corresponding to the called number sent from the operator device based on the mapping relationship between the number and the virtual number and the address information for accessing and calling the communication service; then the edge cloud communication service node is often the communication service node corresponding to the address information for accessing and calling the communication service that is default registered or set for the called number. Corresponding to step 324 in Embodiment 1 and step 413 in Embodiment 2, the contents of these two steps are the same.

[0359] It should be understood that the personal service instance activation indication includes an access call request for the communication service corresponding to the called number, which means that the edge cloud communication service node has received a communication service request for the called number from the operator device. Generally, this edge cloud communication service node is the communication service node corresponding to the address information for accessing and calling the communication service that is default registered or set for the called number. The contents described in step 324 in Embodiment 1 and step 413 in Embodiment 2 are the same, both involving the edge cloud communication service node receiving the access call request for the communication service for the called number sent by the operator device. For details, refer to step 324 in Embodiment 1.

[0360] Scenario 1 describes that the operator device utilizes the mapping relationship between the number and the virtual number as well as the address information, regards the virtual number as a router, and does not need to know the service call method in advance. After the edge cloud communication service node receives the communication service request for the called number, it can immediately activate the personal service instance. This mechanism enables the operator device and the communication service node to quickly and efficiently complete the processing of personal communication services, while the user does not need to pay attention to the virtual number and is unaware of the existence of the virtual number. Specifically: (1) The virtual number is similar to a router. Using the mapping relationship, the virtual number acts as a router, allowing the device to not need to know the service call method in advance; (2) Quickly activate the personal service instance. After receiving the communication request, the edge cloud communication service node can immediately activate the personal service instance; (3) Efficient negotiation and processing. The quick negotiation and processing between the operator device and the communication service node are beneficial to flexible integration and do not rely on a specific call center system; (4) Applicable to scenarios such as personal assistants, solving the problem of increased bandwidth consumption caused by a large user base.

[0361] Scenario 2: The above-mentioned personal service instance activation indication includes receiving a notice from the first edge cloud communication service node instructing to start the communication service for the above-mentioned called number. That is to say, in this scenario, with the second edge cloud communication service node as the processing entity, when it is confirmed that the first edge cloud communication service node is not the optimal processing node and the second edge cloud communication service node is the optimal processing node, the first edge cloud communication service node can initiate a migration, and then the second edge cloud communication service node receives a notice from the first edge cloud communication service node instructing to start the communication service for the above-mentioned called number. This corresponds to step 420 in Embodiment 2.

[0362] Scenario 3: The above-mentioned personal service instance activation indication includes the indication information obtained after arbitration and selected as the new communication service node after the failure of the first edge cloud communication service node, and the above-mentioned indication information is used to instruct to start the communication service for the above-mentioned called number. That is to say, in this scenario, with the second edge cloud communication service node as the processing entity, in the case where the first edge cloud communication service node that originally executed the personal communication service fails, when other communication service nodes in the same region as the first edge cloud communication service node elect the second edge cloud communication service node through arbitration, then the second edge cloud communication service node is equivalent to obtaining the indication information selected as the new communication service node through arbitration, that is, it knows to start the communication service for the above-mentioned called number. This corresponds to step 519 in Embodiment 3.

[0363] Scenario 2 and Scenario 3 describe that the operator device supports the regional migration of the service node during the execution process or elects a new service node for migration after a failure to ensure the user's personal communication service. This mechanism can continue to provide communication services for the user according to the received address update information and implement the process instance of activating the optimal service node. During a call, this mechanism can significantly reduce the delay of streaming media transmission in the network and ensure that other service nodes in the same region can arbitrate and take over the call session after the service node fails, maintaining the continuity of the call. Specifically: (1) Support node migration and fault handling. The operator device can receive address update information, support the migration and fault handling of the node, and ensure the user's communication service; (2) Activate the optimal service node. The system can activate the optimal service node to reduce the delay of streaming media transmission in the network during a call; (3) Ensure continuity after a fault. After the service node fails, other service nodes in the same region can arbitrate and take over the call session, maintaining the continuity of the call and not interrupting the user experience.

[0364] Embodiment 2

[0365] Figure 4 It is a schematic diagram of the regional migration of the service node during the communication session process of a communication service provided by this application.

[0366] Combined with Figure 3 , as Figure 4 shown, the following steps 401-417 are the execution phase of the communication service based on implicit number mapping in Embodiment 1. For specific content, refer to steps 312-328 in Embodiment 1.

[0367] 401. The user dials the called personal mobile phone number to the operator's control service; 402. The operator's control service queries the number service to check whether the called number is bound to a service; 403. If the called number is not bound to a service, the operator's number service feeds back to the control service; 404. A calling-callee channel is established between the user and the operator's number service; 405. If the called number is bound to a service, the operator's number service feeds back to the control service; 406. A calling-virtual number channel is established between the user and the operator's number service; 407. The operator's control service generates a session ID (session identifier); 408. The operator's control service displays the called personal number to the user; 409. The operator's control service obtains the webhook address of the called communication service from the number service; 410. The operator's number service returns the webhook address of the communication service bound to the current called number to the control service according to the virtual-real number mapping relationship; 411. The operator's control service saves the session processing relationship <session, webhook>; 412. The operator's control service accesses the personal communication service in the called area of the same-region edge cloud according to the webhook of the session; 413. The personal communication service in the called area of the same-region edge cloud activates a personal communication service instance according to the called number (specifically refer to step 324 in Embodiment 1); 414. The personal communication service in the called area of the same-region edge cloud generates a process session information flow_session; 415. The personal communication service in the called area of the same-region edge cloud synchronizes flow_session to other nodes in the called area of the same-region edge cloud; 416. The personal communication service in the called area of the same-region edge cloud passes the execution content to the operator's control service; 417. The operator's control service sends the execution content to the user through the channel.

[0368] In short, this process describes the communication process of the user dialing the called number through the operator's control service. Starting from querying whether the called number is bound to a service, if not bound, a feedback is made; if bound, a calling-virtual number channel is established. The control service generates a session ID and displays the called number, obtains the communication service address and saves the session processing relationship, then accesses the communication service in the called area, activates the service instance and synchronizes the session information to other edge cloud nodes. Finally, the personal communication service passes the content to the control service, and the control service passes the content to the channel and then to the user, completing the entire communication process. This series of steps ensures the smoothness, coherence, and reliability of communication. As Figure 4 shown, the following steps 418 - 430 are for the regional migration of service nodes during the communication session.

[0369] In the first case of "obtaining the activation indication of the personal service instance", after sending the communication content of the communication service corresponding to the called number based on the above personal service instance, it further includes: determining whether the region where the calling party is located matches the region where the edge cloud communication service node providing the current communication service is located; if not, notifying the second edge cloud communication service node to activate the communication service corresponding to the called number; the second edge cloud communication service node is the edge cloud communication service node in the region where the calling party is located; after the second edge cloud communication service node activates the personal service instance corresponding to the called number, synchronizing the session information to the communication service corresponding to the called number provided by the second edge cloud communication service node. The above process corresponds to steps 418-422 in Embodiment 2.

[0370] It should be understood that in the first case of obtaining the activation indication of the personal service instance, the edge cloud communication service node performs operations based on whether the region where the calling party is located matches the region where the current node providing the communication service is located.

[0371] It should also be understood that first, the edge cloud communication service node checks whether the region where the calling party is located matches the region where the current node providing the communication service is located. If these two regions do not match, that is, the region where the calling party is located is different from the region where the current service node is located.

[0372] It should also be understood that if a mismatch is found, the current service node will send a notice to the second edge cloud communication service node, requesting it to activate the communication service corresponding to a specific called number. This second edge cloud communication service node is located in the region where the calling party is located.

[0373] It should also be understood that after receiving the notice, the second edge cloud communication service node will activate the personal service instance corresponding to the specific called number to ensure the provision of the corresponding communication service in the region where the calling party is located.

[0374] It should also be understood that after the second edge cloud communication service node activates the personal service instance corresponding to the called number, the current session information will be synchronized to this second edge cloud communication service node, which ensures that the corresponding session information can be obtained for the communication service provided in the region where the calling party is located, so as to smoothly conduct the communication service.

[0375] In steps 418 to 422, each communication service node can maintain the same geographical relationship between service nodes (for example, maintain a geographical relationship table). Then, when the edge cloud communication service node that originally provided the personal communication service discovers that the area where the caller is located does not match the area where the edge cloud communication service node providing the current communication service is located, it can notify the edge cloud communication service node in the area where the caller is located, triggering the second edge cloud communication service node to start the communication service corresponding to the called number. Thus, for the personal assistant scenario, the optimization of the automatic service grid can be realized, avoiding a large number of irregular service calls.

[0376] 418. For the personal communication service in the same-region edge cloud called area, verify whether the caller area information matches the current service node area (called area), and return the verification result to the operator's address service.

[0377] After the initial session is generated, communication has started between the first personal communication service and the control service. Synchronously, the first personal communication service verifies whether the area where the caller number is located is the same as the current personal communication service area (called area). If the areas are the same, the service status is continued. If they are not the same, step 419 is triggered. This process involves the communication between the personal communication service and the control service after the initial session is generated, verifying whether the area where the caller number is located is the same as the current service node area.

[0378] It should be understood that the first personal communication service (the first communication service) refers to the entity that processes the communication service in the called area after the initial session is generated. This service can be a node or instance that processes calls, responsible for managing and maintaining the call status in the called area and maintaining the coherence of the call link.

[0379] Specifically, the node or instance that processes calls refers to the specific component or entity in the communication service system responsible for managing and executing the call process. These nodes or instances can be software, hardware, or specific modules in the system, used to process functions such as call initiation, routing, connection, and termination. A node usually refers to a specific location or device in the communication network that can receive and send call data. These nodes are located in different parts of the network and are used to forward call signals or data packets, such as routers, switches, or other relay devices. In this application, the running cloud node refers to a cloud node where the communication server can be a specific software service or module running on the cloud platform, responsible for handling communication requirements in the cloud.

[0380] It should be understood that the communication after the initial session is generated means that the personal communication service and the control service start communicating after the session is created. At this time, the personal communication service checks whether the area information of the caller number matches the area information of the current service node (called area).

[0381] It should be understood that regional matching verification means that the personal communication service compares the region of the calling number with the region information of the current called service node. If the two are consistent, it indicates that the region where the called service is located matches the calling region of the call, and the called region service will continue to maintain its current state.

[0382] It should be understood that triggering step 419 in the case of non - matching means that if the regions do not match, that is, the region where the calling number is located is inconsistent with the current personal communication service region (called region), step 419 will be triggered, and subsequent cross - regional processing will be involved, such as re - allocating service instances or taking over the call by communication services in other regions.

[0383] Optionally, the operator's address service generally refers to a service used to manage and process location information, regional relationships, and routing information of communication services. This service is responsible for recording and managing communication nodes in different regions or locations, the relationships between nodes, and how to route and process communications during the communication process.

[0384] Specifically, the operator's address service can perform location management, record the locations, regional information, and node identifiers of different communication service nodes; the operator's address service can maintain regional relationships, maintain the relationships between communication service nodes in different regions to ensure the smooth progress of cross - regional communications; the operator's address service can provide routing information to guide the communication transmission of communication services between different regions to ensure that communications can be transmitted along the correct path; the operator's address service can receive feedback from communication service nodes, which may include communication status, regional matching information, etc., and may trigger subsequent adjustments or processing. The operator's address service is set to ensure that the operator's communication services can be efficiently transmitted and interacted between different regions, and the address service can help the operator manage and adjust communication service nodes to complete communication transmission in the optimal way.

[0385] Exemplarily, assume that A calls B in area d of the city. After the personal communication service (edge cloud node located in area A) communicates with the operator's control service, it verifies whether the region where the calling number is located (area d of the city) is consistent with the region of the current called service node (called region). If the region of A's number matches the region of the current called service node, the communication service will continue to maintain its current state and maintain the call. However, if it is found that the region of A's number does not match the region of the current called service node, for example, the region where A's number is located is area d of the city, while the current service node is area a of the city, then step 419 will be triggered, which requires cross - regional processing, such as re - assigning service instances or switching to the communication service in the corresponding region to ensure the smooth progress of the call.

[0386] 419. If the region information does not match, the personal communication service in the called region notifies the personal communication service in the calling region to activate the instance.

[0387] When it is found that the calling area is inconsistent with the first service area (initial called area), the current service node (called area) notifies the calling area service node to initiate the second communication service. The basis for this process is that each communication service node maintains the same geographical relationship between service nodes (geographical relationship table). This process describes that when the personal communication service in the called area discovers that the calling area is inconsistent with the current service node area (called area), based on the maintained geographical relationship table between service nodes, it notifies the personal communication service activation instance in the calling area.

[0388] It should be noted that the "first communication service" and the "second communication service" refer to two different personal communication service instances, which may be located in different geographical locations or different network nodes and are used to handle different stages or functions in the communication process.

[0389] Specifically, the first communication service and the second communication service represent the communication service situations at different times or different geographical locations. The first communication service is the communication service when A is located in city d, while the second communication service is the communication service when A is located in city a. These two services may be different instances of the same service or completely different communication service entities. In short, the "first communication service" is the communication service used by A when in city d, and the "second communication service" is a different communication service used by A in city a for the call demand from the area of city d. These two services may be different instances of the same service or different communication service entities.

[0390] Exemplarily, the "first communication service" refers to the communication service in the case where A located in the area of city d (calling area) dials B located in the area of city d (called area). This service is responsible for handling the call process within the same area and may include functions such as initiating a call, routing, and establishing a connection. The "second communication service" refers to the communication service in the case where after A travels on business to city a, A located in the area of city a (calling area) dials B located in the area of city d (called area). This service is also responsible for handling the call process, but in this case, the geographical location of A has changed, and different communication nodes or services are required to handle the call request, that is, another communication service is needed to handle the call demand for this geographical location.

[0391] It should be understood that the mismatch of geographical information means that the personal communication service in the called area discovers that the area information of the calling area is inconsistent with the current service node (called area) during verification.

[0392] It should be understood that notifying the calling area service node means that when a mismatch is found, the current service node (called area) will notify the personal communication service node in the calling area, and this notification includes a request to initiate the second communication service.

[0393] It should be understood that the geographical relationship table based on maintenance means that the basis of this process is that each communication service node maintains the same geographical relationship table between service nodes, and this table is used to determine which service node is responsible for processing communications in a specific region.

[0394] Exemplarily, assume that the registration location of the A (caller) number is in area d of city d, and the call is made to the B (callee) number with the registration location in area d of city d. Then, A (the caller) goes on a business trip to city a. The personal communication service in the called area verifies at the edge cloud node in area d of city d that the caller area is inconsistent with the current service node area (area d of city d). In this case, the area relationship table shows that the personal communication service node corresponding to the caller area d of city d is optimal in area a of city d. Therefore, the communication service node in the called area (area d of city d) will notify the personal communication service node in area a of city d and request it to initiate the processing of the communication service for B. This process ensures that the communication service between the caller and the callee can be carried out on the optimal geographical node, guaranteeing the smooth progress of the call without delay.

[0395] The personal service instance activation indication includes receiving a notification from the first edge cloud communication service node instructing to initiate the communication service of the above-mentioned called number. Corresponding to step 420 in Embodiment 2, step 420 involves the first node sending a notification requesting the optimal node (the second node) to initiate the communication service of a specific called number.

[0396] It should be understood that this is the second case of the personal service instance activation indication, which includes receiving an indication from the first edge cloud communication service node to initiate the communication service of a specific called number. In this case, the second edge cloud communication service node plays the role of the processing entity.

[0397] It should also be understood that the second edge cloud communication service node being the processing entity means that in this case, the second edge cloud communication service node becomes the entity processing this communication service. It receives an indication from the first edge cloud communication service node indicating that the first node is not the best processing node, while the second node is the optimal processing node and should be responsible for initiating the communication service of a specific called number.

[0398] It should also be understood that when it is confirmed that the first edge cloud communication service node is not the optimal node, the first node can initiate node migration. During this process, the second edge cloud communication service node will receive a notification from the first node instructing it to initiate the communication service of a specific called number.

[0399] Simply put, when the second edge cloud communication service node is confirmed as the optimal node, it receives an indication from the first node to initiate the communication service of a specific called number.

[0400] 420. The personal communication service in the calling area of the same-region edge cloud activates the personal communication service instance according to the called number.

[0401] After the second communication service receives the start-up information, it activates the service instance. This process describes that when the regions where the personal communication services in the calling and called areas do not match, the communication service in the called area notifies the service in the calling area to activate the corresponding communication service instance.

[0402] It should be understood that activating the personal communication service instance means that the personal communication service in the calling area, according to the user's call request, identifies the region or relevant information of the called number, and based on this information, it sends an instruction to start or activate the communication service instance.

[0403] It should be understood that the second communication service receiving and activating the service instance means that the second communication service that receives this start-up information will activate the corresponding service instance according to the instruction, ensuring that an available communication environment is established for this communication.

[0404] Exemplarily, assume that the registration location of A (calling) number is in area d of city d, and it dials B (called) number whose registration location is in area d of city d. Then, A (calling) goes on a business trip to city a. When A makes a call to B, the personal communication service in the called area checks at the edge cloud node in area d of city d that the calling area and the current service node area (area d of city d) do not match. In this case, the personal communication service in area a of city a where A is located (calling) will send an instruction to activate the personal communication service instance in city a. After receiving this instruction, the second communication service will start the service instance in city a, so that B can receive and talk to A, meeting the communication requirements in the case of region mismatch. Optionally, the personal communication service instance can be a single communication service unit or entity created for a specific user or communication request. A service that can be created for a specific user or communication requirement can handle the calls, messaging, or other communication forms of that user. This instance runs independently and can usually be independently managed and operated, isolated from other communication service instances. It can be responsible for handling the user's communication requests, which may involve call establishment, messaging, data transmission, etc. During the communication process, it may maintain status information such as call status, session information, and call time. After the communication ends, this service instance can clean up and release resources to terminate the communication process.

[0405] For example, for the call request of user A, a personal communication service instance is created for A. This instance runs independently, processes A's call requirements, and cleans up relevant resources after the call ends. Additionally, if users B and C are also on calls simultaneously, for each user, there will be their own personal communication service instances to handle their communication needs. 421. The personal communication service in the called area synchronizes the flow_session to a new node of the personal communication service in the calling area.

[0406] The first communication service synchronizes the flow_session to the second communication service.

[0407] It should be understood that according to the scenario described above, during a call, there are communication service instances in the called area (city d) and the calling area (city a). After the communication starts, session-related information (e.g., flow_session) may be generated. At this time, the communication service in the called area will synchronize this session information to a new node of the personal communication service in the calling area to ensure that there is also a relevant communication service instance in the calling area that can handle this call.

[0408] For example, A (the caller, registered in city d) calls B (the called party, also in city d). After the call starts, the communication service in the called area generates session information (flow_session). This process becomes the first communication service. Then, A goes on a business trip to city a. A (the caller, changed to city a) calls B (the called party, still in city d). After the call starts, the personal communication service in the called area checks at the edge cloud node in the city d area that the calling area and the current service node area (city d area) are inconsistent. In this case, the personal communication service in the called area changes the edge cloud node in the city d area to the edge cloud node in the city a area. This process is that the personal communication service in the calling area (city a where A is located) will send an instruction to activate the personal communication service instance in city a. After receiving this instruction, the second communication service will start the service instance in city a, so that B can receive the call and communicate with A, and synchronize the previous session information (flow_session) to the new node of the personal communication service in the calling area to ensure that there is also the call-related information in the calling area, facilitating both parties' communication services to share and access this information throughout the call process.

[0409] It should be noted that in a phone call, "flow_session" can include information such as the call start time, authentication information of both parties in the call, call duration, call status (connected, hung up, etc.). This information is created and updated during the call and shared among communication services to ensure the smooth progress of the call. It is a collection of specific information maintained in the same process or session as the aforementioned flow_session.

[0410] After activating the personal service instance corresponding to the called number based on the above personal service instance activation indication, it further includes: (the edge cloud communication service node) generating session information and establishing a correspondence between the current channel session and the session information; (the edge cloud communication service node) synchronizing the session information to other communication service nodes of the edge cloud in the same region.

[0411] It should be understood that after activating the personal service instance corresponding to a specific called number, the communication service node creates a session information, which may include relevant parameters of the call, status information, communication protocols, or other data related to the call.

[0412] It should also be understood that the communication service node establishes a correspondence between the current channel session (referring to the connection status during the call) and the just-created session information, which ensures the connection between the channel session and the relevant session information for referencing and updating the session status during the call.

[0413] It should also be understood that the communication service node synchronizes the just-created session information to other edge cloud communication service nodes in the same region, which ensures that other nodes in the same geographical area can also obtain the session information about the current call for reference or continued service when needed.

[0414] It should be noted that the above process corresponds to three cases of obtaining the personal service instance activation indication. In case 1, "the access call request for the communication service corresponding to the called number", the "session information is synchronized to other communication service nodes of the edge cloud in the same region" corresponds to step 326 in Embodiment 1 and 415 in Embodiment 2, specifically referring to step 326 in Embodiment 1. In case 2, "receiving a notification to start the communication service of the called number from the first edge cloud communication service node", the "session information is synchronized to other communication service nodes of the edge cloud in the same region" corresponds to 422 in Embodiment 2. In case 3, "after the failure of the first edge cloud communication service node, obtaining the indication information selected as the new communication service node by arbitration", the "session information is synchronized to other communication service nodes of the edge cloud in the same region" corresponds to 522 in Embodiment 3.

[0415] Through the above embodiments, the edge cloud communication service node that executes or runs the communication service synchronizes the context data of the session information to other communication service nodes in the same region as redundant backup, and synchronization is performed each time the session information is updated, which can further ensure the reliability of the system.

[0416] 422. The personal communication service in the calling area synchronizes the flow_session to other nodes in the same region.

[0417] That is, the second communication service synchronizes the flow_session to other service nodes in its location area.

[0418] It should be understood that if the personal communication service in the calling area generates a flow_session (session information) during a call, this information will be synchronized to other service nodes in the same region to ensure that the communication services within the entire region can access and share this session information.

[0419] For example, A (the caller, registered in city d) calls B (the called party, also in city d). After the call starts, the communication service in the called area generates session information (flow_session), and this process becomes the first communication service; then, A goes on a business trip to city a. A (the caller, changed to city a) calls B (the called party, still in city d) and starts the call. According to the above call background, this second communication service can synchronize this session information (flow_session) to other service nodes in the area of city a so that the information related to this call can be shared and accessed among different communication services within the entire area of city a. In this way, no matter which place in city a the service nodes involved in the call are located, they can access this session information (flow_session), ensuring the sharing of call-related information among service nodes within the entire region.

[0420] (The edge cloud communication service node that originally provided personal communication services) receives the startup success message from the above-mentioned second edge cloud communication service node; (The edge cloud communication service node that originally provided personal communication services) sends call relationship update information to the above-mentioned operator device based on the above-mentioned startup success message; the call relationship update information is used to indicate that the address information corresponding to the current channel session has been updated, and the updated address information indicates the above-mentioned second edge cloud communication service node that provides the communication services corresponding to the above-mentioned called number; (The edge cloud communication service node that originally provided personal communication services) deletes the service instance of this communication service node and notifies other service nodes in the same region as this communication service node to delete the synchronized session information. The above process corresponds to steps 423-426 in Embodiment 2 and describes a series of operations performed by the edge cloud communication service node that originally provided personal communication services after receiving the startup success message from the second edge cloud communication service node.

[0421] It should be understood that receiving the startup success message from the above-mentioned second edge cloud communication service node means that the edge cloud communication service node that originally provided personal communication services receives a message from the second edge cloud communication service node, and this message indicates that the second node has successfully started the communication service for a specific called number.

[0422] It should also be understood that sending the call relationship update information to the above-mentioned operator device means that this node sends the call relationship update information to the operator device based on the received startup success message, aiming to inform that the address information corresponding to the current channel session has been updated, and the updated address information indicates that the second edge cloud communication service node is the node that provides the communication services for the specific called number.

[0423] It should also be understood that deleting the service instance of this communication service node means that the edge cloud communication service node that originally provided personal communication services deletes its own service instance because the service has been migrated to the second node, which ensures that there will be no duplicate service processing.

[0424] It should also be understood that notifying other service nodes in the same region as this communication service node to delete the synchronized session information means that this node also notifies other service nodes in the same region and requests them to delete the session information synchronized with this node, which ensures the consistency of the session information throughout the region.

[0425] Through the above embodiments, the distributed strategy can be effectively utilized, enabling the communication service node to migrate along with the session location. During the process of receiving and playing back audio, the latency of streaming media transmission in the network can be significantly reduced.

[0426] In summary, the above describes the operation process executed by the node that originally provided communication services after receiving the successful startup message from the second node: updating the address information, deleting the service instance of this node, and notifying the service nodes in other regions to synchronize the above operations to ensure the consistency of the entire system. The communication service node can migrate according to the location requirements of the session. Whether due to geographical location matching or other reasons, the node can dynamically adapt to the requirements. By allowing the service node to migrate as the session location changes, data does not need to be transmitted over long distances during the communication process. This can minimize the data transmission path, reduce the network transmission delay, and effectively utilize the distributed strategy. By enabling the communication service node to migrate as the session location changes, the delay of the streaming media transmitted in the network during the communication sending and receiving process is greatly reduced. See steps 423 to 426 below for details.

[0427] 423. The service activation in the personal communication service of the calling area is successful, the session synchronization is successful, and the result is fed back to the personal communication service of the called area.

[0428] That is, the second communication service notifies the first communication service that the startup is successful.

[0429] It should be understood that in this case, if the personal communication service in the calling area successfully completes these operations after activating a new communication service instance and synchronizing the session, it will send a notice to the personal communication service in the called area to inform that the startup operation has been successfully completed.

[0430] For example, A (the caller, registered in city d) makes a call to B (the called party, also in city d). After the call starts, the communication service in the called area generates session information (flow_session), and this process becomes the first communication service. Then, A goes on a business trip to city a. A (the caller, changed to city a) makes a call to B (the called party, still in city d) and starts the call. According to the above call background, when the communication service of A activates a new communication service instance in city a and successfully synchronizes the flow_session (session information) related to the call to other nodes in the city a area, the service in the calling area will send a notice to the called communication service in the city d area to inform that the new communication service instance has been successfully started and the session information (flow_session) has also been successfully synchronized. In this way, the personal communication service in the called area knows that the operation in the calling area has been successfully completed and the corresponding communication service instance is ready to handle the communication from the calling area.

[0431] According to Embodiment 1, the operator device receives address update information; the address update information carries updated address information, which is used to indicate updating the address information corresponding to the current channel session in the call relationship of Embodiment 1 to the updated address information; the updated address information indicates a second edge cloud communication service node that provides communication services corresponding to the called number.

[0432] It should be understood that in step 424, the operator device receives address update information, which carries updated address information for updating the address information corresponding to the channel session in Embodiment 1. The updated address information indicates a second edge cloud communication service node that provides communication services corresponding to the called number.

[0433] It should also be understood that receiving address update information means that the operator device receives address update information sent by a personal communication service (which can be a system, service, or device) in the called area. This information contains new address information for updating the address of a specific channel session.

[0434] It should also be understood that updating the address information of the channel session means that the address update information contains updated address information, which is used to instruct the operator device to update the address information corresponding to the channel session in Embodiment 1. The purpose is to ensure that the address information used during the call or communication process is the latest and points to the latest location of the communication service corresponding to the called number.

[0435] It should also be understood that updating to the second edge cloud communication service node means that the updated address information indicates a second edge cloud communication service node that provides communication services corresponding to the called number. This means that the provider or location of the communication service has changed, and the channel session needs to be pointed to this new service node to maintain the coherence and effectiveness of the communication.

[0436] Generally speaking, in this process, after receiving the update information, the device will update the address information associated with the channel session in Embodiment 1 according to the latest address information carried therein to ensure that the communication service can be correctly routed to the new second edge cloud communication service node.

[0437] It should be noted that the second edge cloud communication service node may be another service node in the same region (in the failure scenario, corresponding to steps 518 - 521 of Embodiment 3), or it may be a service node in another region (in the migration scenario, corresponding to step 326 in Embodiment 1; steps 422 and 428 in Embodiment 2; step 522 in Embodiment 3).

[0438] 424. The personal communication service in the called area updates the processing relationship <session, webhook_NEW> to the operator's control service.

[0439] The first communication service notifies the control service to update the session processing relationship to <session, webhook_NEW>, where webhook_NEW is the address of the second communication service.

[0440] It should be understood that if the personal communication service in the called area needs to update the processing relationship with the control service, it will send an update request to the operator's control service, requesting to update the processing relationship of a specific session (session) to a new address (webhook_NEW), which points to the location of the second communication service (the new second edge cloud communication service node).

[0441] For example, A (the caller, registered in city d) calls B (the called, also in city d). After the call starts, the communication service in the called area generates session information (flow_session), which is the first communication service. Then, A goes on a business trip to city a. A (the caller, changed to city a) calls B (the called, still in city d). According to the above call scenario, during the call, the personal communication service in city d needs to update the processing relationship with the control service, informing the operator's control service that a new address (webhook_NEW) should be used for a certain session (session), which points to the second communication service in city a. This update can include a request or notification to inform the operator's control service to use the new address (webhook_NEW) when processing a specific session, so as to ensure that subsequent operations for this session can be correctly routed to the second communication service in the area of city a.

[0442] 425. The personal communication service in the called area deletes the communication service instance of this node.

[0443] 426. The personal communication service in the called area deletes the communication service sessions of other nodes in the same region.

[0444] The first communication service deletes the service instance of this node and notifies other nodes to delete the synchronized sessions.

[0445] It should be understood that if the personal communication service in the called area needs to delete the communication service instance of this node and notify other nodes in the same region to delete the corresponding synchronous sessions, it will perform the following operations: A (calling party, registered in city d) calls B (called party, also in city d). After the call starts, the communication service in the called area generates session information (flow_session), and this process becomes the first communication service; then, A goes on a business trip to city a, and A (calling party, changed to city a) calls B (called party, still in city d). According to the above call background, after the call ends, the personal communication service in city d needs to delete the communication service instance of this node, as well as delete the relevant session information synchronized to other nodes in city d.

[0446] Optionally, this operation may include clearing the communication service instance in the local node and sending a notification to the communication service nodes in other city d areas to inform them to delete the session information synchronized during the call. This ensures that the session information related to this call is correctly cleaned up and deleted throughout the city d area to release resources and maintain system consistency.

[0447] For the channel session in step 424, the operator device initiates an access call request for the communication service corresponding to the called number to the second edge cloud communication service node based on the updated address information corresponding to the calling relationship.

[0448] It should be understood that in step 424, for the channel session, the operator device initiates an access call request for the communication service corresponding to the called number to the second edge cloud communication service node based on the updated address information in the previously established call relationship.

[0449] It should also be understood that the above-mentioned updated address information corresponding to the call relationship refers to the updated address information contained in the previously updated call relationship, which indicates that the operator equipment should route access to the communication service to the second edge cloud communication service node.

[0450] It should also be understood that initiating an access call request for the communication service corresponding to the called number means that the operator equipment uses the updated address information to initiate an access call request for the communication service corresponding to the called number to the second edge cloud communication service node. This request may include detailed information on executing the communication operation, authentication parameters, and required communication service instructions, etc.

[0451] Optionally, after receiving the request, the second edge cloud communication service node will perform corresponding processing. After processing the request, the communication service node will generate a response or result and return it to the operator equipment through the network.

[0452] 427. The operator's control service accesses the personal communication service in the calling area according to the webhook_NEW of the session.

[0453] In the subsequent processing flow of the session, the control service will call the second communication service according to webhook_NEW.

[0454] It should be understood that the operator's control service needs to access the personal communication service in the calling area based on the new address (webhook_NEW) of a specific session, which means that in the subsequent processing flow, the control service will use the new address (webhook_NEW) to call the second communication service.

[0455] For example, A (the caller, registered in city d) calls B (the callee, also in city d). After the call starts, the communication service in the called area generates session information (flow_session), and this process becomes the first communication service; then, A goes on a business trip to city a. A (the caller, changed to city a) calls B (the callee, still in city d). According to the above call background, during the call, if the operator's control service needs to communicate with the personal communication service in the calling area according to a specific session, and the address of this communication service has been updated to a new address (webhook_NEW, pointing to the second communication service), the operator's control service will initiate a communication operation with the second communication service based on this new address.

[0456] It should be understood that this process ensures that during the processing of a specific session, the operator's control service will use the new address (webhook_NEW), which has been updated to point to the second communication service in the calling area, so as to ensure that the latest updated communication service is called during the session processing, and ensure the smooth progress of the call process.

[0457] Through steps 424 - 427, it is illustrated that the operator's device supports the regional migration of service nodes or the election of a new service node after a failure during execution to continue providing personal communication services to users, realizing the process of activating the optimal service node. At the same time, it reduces the latency of streaming media transmission in the network during the call and ensures that after the service node fails, other service nodes in the same region can take over and maintain the continuity of the session. Specifically, the operator's device can receive address update information. After the service node migrates or fails, it can continue to provide communication services according to the updated address information, realizing the process of activating the optimal service node, ensuring the reduction of the latency of streaming media transmission in the network during the call, and after the service node fails, other service nodes in the same region can arbitrate and take over the session to maintain the continuity of the call.

[0458] Step 428 in the second embodiment below corresponds to the second case of "obtaining the personal service instance activation indication", and the execution steps are the same as those of step 522 in the third embodiment corresponding to the third case of "obtaining the personal service instance activation indication". For details, refer to step 428 in the second embodiment.

[0459] It should be understood that before the edge cloud communication service node providing the original personal communication service fails, the context data of the session information is synchronized to other communication service nodes in the same region as redundant backup; therefore, when a failure occurs, the newly elected edge cloud communication service node can provide personal communication services to users in a timely manner based on the synchronized session information, and continue to synchronize the context data of its updated session information to other communication service nodes in the same region as redundant backup. Moreover, after the edge cloud communication service node that originally provided personal communication services is repaired, it can be automatically or on-demand migrated back to the edge cloud communication service node that originally provided personal communication services. Thus, it can provide highly reliable and high-performance personal communication services that take both into account.

[0460] 428. The personal communication service in the calling area synchronizes flow_session to other nodes in the same region.

[0461] To ensure the reliability of the system, the second communication service synchronizes the flow_session context data to other service nodes in the same region as redundant backup. Synchronization is performed each time flow_session is updated.

[0462] It should be understood that in the calling area, to ensure the stability and reliability of the system, the second communication service will synchronize the context data of the session information (flow_session) during the call to other service nodes in the same region to create redundant backup. And synchronization is performed each time the session information (flow_session) is updated to ensure the real-time nature and consistency of the backup data.

[0463] For example, A (the caller, registered in city d) calls B (the called party, also in city d). After the call starts, the communication service in the called area generates session information (flow_session), and this process becomes the first communication service; then, A goes on a business trip to city a, and A (the caller, changed to city a) calls B (the called party, still in city d). According to the above call background, during the call, the second communication service in the calling area continuously records the context data of the call, the session information (flow_session), which includes the relevant information and status of the call.

[0464] It should be understood that in order to ensure that this data will not be lost, the second communication service will synchronize these session information (flow_session) data to other service nodes in the same region regularly or when the data is updated. These nodes may be located on other servers in Area A of the city. In this way, even if a certain node fails or data is lost, there is backup data on other nodes, which can ensure the integrity and reliability of the call data.

[0465] 429. The personal communication service in the calling area will transfer the execution content to the operator's control service.

[0466] 430. The operator's control service will send the execution content to the channel and then to the user.

[0467] That is, the second communication service will transfer the communication content to the control service, and then the control service will transfer it to the channel.

[0468] It should be understood that the personal communication service in the calling area transfers the specific content of the call to the operator's control service, and then the control service will send this content to the corresponding channel and transfer it to the user.

[0469] For example, A (the caller, registered in City D) calls B (the called party, also in City D). After the call starts, the communication service in the called area generates session information (flow_session), and this process becomes the first communication service. Then, A goes on a business trip to City A. A (the caller, changed to City A) calls B (the called party, still in City D). According to the above call background, during the call, the communication service in the calling area records the call content and relevant information. When the call is in progress, this communication service will transfer the call content to the operator control service in the area where it is located. The control service will receive this content and then, as needed, transfer the call content to a specific channel and finally send it to user B, so that the call content can be received and understood by B. Such a process ensures that the transmission and exchange of call information can proceed smoothly.

[0470] Optionally, in the field of communication and networking, a "channel" usually refers to a path or medium for transmitting data. The channel can be physical (such as cables, optical fibers) or logical (such as network connections, transmission protocols). It provides a framework for data transmission to ensure that information can be transmitted from one place to another.

[0471] Specifically, in the present application, a "channel" may refer to a medium or network framework for data transmission, which is used to transmit call content or other communication data from the operator's control service to the user so that the user can receive this information. For example, in mobile communication, the channel may refer to the transmission path of the mobile network. Through this channel, the control service transmits the call content to the user of the receiving mobile phone, enabling the user to receive and understand this content. The selection and use of the channel depend on the characteristics and technical configurations of the communication network.

[0472] It should be noted that the above steps 427 to 430 are continuously executed in a loop according to the foregoing steps.

[0473] Embodiment III

[0474] Combined with Figure 3 , as Figure 5 shown, the following steps 501 to 517 are the execution phase of the communication service based on implicit number mapping in Embodiment I. For specific content, refer to steps 312 to 328 in Embodiment I.

[0475] 501. The user dials the called personal mobile phone number to the operator's control service; 502. The operator's control service queries the number service to check whether the called number is bound to a service; 503. If the called number is not bound to a service, the operator's number service feeds back to the control service; 504. A calling-callee channel is established between the user and the operator's number service; 505. If the called number is bound to a service, the operator's number service feeds back to the control service; 506. A calling-virtual number channel is established between the user and the operator's number service; 507. The operator's control service generates a session ID (session identifier); 508. The operator's control service displays the called personal number to the user; 509. The operator's control service obtains the webhook address of the called communication service from the number service; 510. The operator's number service returns the webhook address of the communication service bound to the current called number to the control service according to the virtual-real number mapping relationship; 511. The operator's control service saves the session processing relationship <session, webhook>; 512. The operator's control service accesses the personal communication service in the called area of the same-region edge cloud according to the webhook of the session; 513. The personal communication service in the called area of the same-region edge cloud activates a personal communication service instance according to the called number; 514. The personal communication service in the called area of the same-region edge cloud generates flow session information flow_session; 515. The personal communication service in the called area of the same-region edge cloud synchronizes flow_session to other nodes in the called area of the same-region edge cloud; 516. The personal communication service in the called area of the same-region edge cloud passes the execution content to the operator's control service; 517. The operator's control service sends the execution content to the user through the channel.

[0476] In short, the execution phase of the communication service based on implicit number mapping involves user call and verification, verification result processing, establishment of channels and virtual number channels, session management and synchronization, and execution content transfer and transmission. Based on the status of the number, the communication link is dynamically established and the call status information is managed to ensure consistency and stability during the call process.

[0477] Figure 5 It is a schematic diagram of regional migration after service failure in the communication session process of a communication service provided by this application.

[0478] Such as Figure 5 shown, the following steps 518 to 524 involve regional migration after service failure in the communication session process.

[0479] 518. The service node of the personal communication service in the same-region edge cloud fails.

[0480] When the first communication service fails, it will be detected by other nodes in the same region.

[0481] It should be understood that in the edge cloud, there are multiple nodes for the personal communication service. When one of the nodes (such as the first communication service node) fails, other nodes will detect this failure status because they maintain communication and monitoring links with each other. This kind of monitoring can help the system detect and respond to failures in real time, ensuring the continuity and stability of the service.

[0482] For example, assume that in a communication service network of an edge cloud, there are multiple nodes (A, B, C). When node A fails, nodes B and C will observe the status change of node A and may receive a notification of node A's failure through an internal communication mechanism or a monitoring system. In this way, nodes B and C can be aware of the problem and may take corresponding measures to maintain the operation of the entire system.

[0483] The personal service instance activation indication includes the indication information obtained after the failure of the first edge cloud communication service node and arbitrated and selected as the new communication service node. The above indication information is used to indicate the start of the communication service of the above called number. Corresponding to step 519 in Embodiment 3, step 519 involves that after the first node fails, other nodes elect a second node through arbitration to take over the communication service. This process involves the second node receiving an indication to start the communication service of a specific called number.

[0484] It should be understood that this is the third case of the personal service instance activation indication, which includes the indication information obtained by the second edge cloud communication service node after the failure of the first edge cloud communication service node. This indication information requires it to start the communication service of a specific called number. In this case, the second edge cloud communication service node becomes the processing entity.

[0485] It should also be understood that the second edge cloud communication service node becomes the entity responsible for processing the communication service because the first edge cloud communication service node that originally executed the personal communication service has failed.

[0486] It should also be understood that after the first edge cloud communication service node fails, other communication service nodes in the same region elect a second edge cloud communication service node through arbitration to take over the communication service.

[0487] It should also be understood that in this process, the second edge cloud communication service node obtains an indication information stating that it has been selected as the new communication service node and should start the communication service of a specific called number.

[0488] 519. Arbitration selects and activates services in adjacent areas;

[0489] Other nodes will initiate arbitration to elect a second communication service within the scope of the regional nodes and activate the service instances thereon. Since the first communication service will synchronize the flow_session session to other nodes in the same region before the failure, the second communication service already has the session information.

[0490] It should be understood that in the case of a failure of the first communication service node, other nodes conduct arbitration and select a second communication service node to activate the service instance.

[0491] Optionally, when the first communication service node fails and other nodes detect the failure, these nodes may initiate an arbitration process, which may be carried out within the scope of the regional nodes. During the arbitration process, other nodes may elect and select a second communication service node, activate it and take over the service instance. At this time, the second communication service node has received and synchronized the flow_session session information from the first communication service node, so it has the integrity of these session information and can continue to provide services.

[0492] For example, assume that a communication service network consists of multiple regional nodes. When the first communication service of a certain regional node fails, other nodes can start the arbitration process, elect a second communication service node through voting or other mechanisms. The elected second communication service node can take over the session and continue to run because it has synchronized the flow_session session information from the first communication service node, ensuring that the service can still maintain continuity on other nodes when a failure occurs.

[0493] 520. Update the processing relationship <session, webhook_NEW_neighbor>;

[0494] That is, the second communication service notifies the control service to change the webhook information to webhook_NEW.

[0495] It should be understood that the second communication service notifies the control service to update the processing relationship, that is, the correspondence between the session ID (session) and the new Webhook address (webhook_NEW_neighbor).

[0496] Optionally, if the second communication service takes over the session and starts the service instance, it will notify the control service to update the relevant session processing information. This update may involve associating the session ID (session) with the new Webhook address (webhook_NEW_neighbor) so that in subsequent communication processes, the control service can correctly route to the second communication service according to the session ID.

[0497] For example, assume that the first communication service fails and the second communication service takes over the session and operates normally on the service instance. At this time, the second communication service may send a notice to the control service, requesting to update the Webhook address corresponding to the session ID (session) to a new address (webhook_NEW_neighbor). In this way, during subsequent communication processes, the control service will use this new Webhook address to interact with the second communication service to ensure that information can be correctly transmitted and processed.

[0498] Optionally, once the failed node is repaired, the automatic fallback process may require the following steps: (1) Health check: The repaired node will undergo a health check to ensure that it can operate normally; (2) Node ready: Once the node passes the health check, it will be readied as a standby node; (3) Rejoin the service network: The repaired node will communicate with other nodes to indicate that it is ready to rejoin the service network; (4) Synchronize data: The repaired node may need to synchronize the latest data, session information, or other necessary status information from other nodes to ensure synchronization with the entire network; (5) Automatic migration: Once the node is restored to normal and ready, the system may automatically migrate certain tasks or services back to the repaired node. The specific implementation of the automatic fallback may vary depending on the system architecture, and this process may require monitoring and automation mechanisms to ensure the automatic migration of nodes and guarantee service continuity.

[0499] Combined with Figure 4 , as Figure 5 shown, the following steps 521 to 524 are the loop part in the regional migration of service nodes during the communication session in Embodiment 2. For specific content, refer to steps 427 to 430 in Embodiment 2.

[0500] 521. The control service of the operator accesses the personal communication service (i.e., the second communication service) of other regional nodes (i.e., other nodes in the same region) according to webhook_NEW_neighbor of the session; 522. The personal communication service of the other regional node synchronizes flow_session to other nodes in the same region; 523. The personal communication service of the other regional node transmits the execution content to the control service of the operator; 524. The control service of the operator sends the execution content to the channel and then to the user.

[0501] In short, the above steps involve the interaction between the operator control service and the personal communication service, and it is a continuous loop, as well as the transmission and synchronization of session information (session) and execution content (which may be call content or other information) during the communication process. Finally, this content is transmitted to the user through the channel.

[0502] It should be understood that each step in the above method embodiments provided by this application can be completed by the integrated logic circuit of the hardware in the processor or the instructions in the form of software. The method steps disclosed in combination with the embodiments of this application can be directly embodied as being executed and completed by the hardware processor, or executed and completed by the combination of the hardware and software modules in the processor.

[0503] This application also provides a communication service processing device, which includes: one or more processors and one or more memories; the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer-executable programs. When the one or more processors execute the above computer-executable programs, the electronic device is caused to execute the method in any one of the above embodiments.

[0504] This application also provides a computer program product, which includes: a computer program (which can also be referred to as code or instructions). When the computer program is run, the computer is caused to execute the method executed by the communication service processing device in any one of the above embodiments.

[0505] This application also provides a computer-readable storage medium, which stores a computer program (which can also be referred to as code or instructions). When the computer program is run, the computer is caused to execute the method executed by the communication service processing device in any one of the above embodiments.

[0506] The various embodiments of this application can be combined arbitrarily to achieve different technical effects.

[0507] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line) or wirelessly (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that the computer can access or a data storage device such as a server or data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk).

[0508] Those of ordinary skill in the art can understand that all or part of the processes in the above method embodiments can be completed by instructing relevant hardware with a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the above method embodiments. The aforementioned storage medium includes various media that can store program codes, such as ROM or random access memory RAM, magnetic disks, or optical discs.

[0509] In summary, the above are only embodiments of the technical solution of the present invention and are not intended to limit the protection scope of the present invention. Any modifications, equivalent replacements, improvements, etc. made based on the disclosure of the present invention should be included within the protection scope of the present invention.

Claims

1. A communication service processing method, characterized in that, it includes: Receiving a call request; When the called number is bound to a virtual number, creating a channel session between the caller and the virtual number, and confirming, based on the mapping relationship, the address information for accessing and invoking the communication service corresponding to the called number; the address information indicates the first edge cloud communication service node providing the communication service corresponding to the called number; Initiating an access call request for the communication service corresponding to the called number to the first edge cloud communication service node based on the address information.

2. The method according to claim 1, characterized in that, Before creating the channel session between the caller and the virtual number and confirming, based on the mapping relationship, the address information for accessing and invoking the communication service corresponding to the called number, it further includes: Receiving and storing the mapping relationship; the mapping relationship includes at least one virtual number, where each virtual number corresponds to the numbers of multiple different users, and each number corresponds to its own address information.

3. The method according to claim 2, characterized in that, Before receiving and storing the mapping relationship, it further includes: Receiving a virtual number application request; Returning a newly added virtual number based on the virtual number application request.

4. The method according to any one of claims 1 - 3, characterized in that, After confirming, based on the mapping relationship, the address information for accessing and invoking the communication service corresponding to the called number, it further includes: Saving the call relationship between the channel session and the address information; The step of initiating an access call request for the communication service corresponding to the called number to the first edge cloud communication service node based on the address information includes: For the current channel session, initiating an access call request for the communication service corresponding to the called number to the first edge cloud communication service node based on the corresponding address information in the call relationship.

5. The method according to claim 4, characterized in that, it further includes: Receiving address update information; The address update information carries updated address information, which is used to indicate updating the address information corresponding to the current channel session in the call relationship to the updated address information; the updated address information indicates the second edge cloud communication service node providing the communication service corresponding to the called number; For the current channel session, initiating an access call request for the communication service corresponding to the called number to the second edge cloud communication service node based on the corresponding updated address information in the call relationship.

6. A communication service processing method, characterized in that, it includes: Obtaining a personal service instance activation indication, where the personal service instance is a service instance providing a communication service for the called number; Activating the personal service instance corresponding to the called number based on the personal service instance activation indication; Sending the communication content of the communication service corresponding to the called number based on the personal service instance.

7. The method according to claim 6, characterized in that, The personal service instance activation indication includes an access call request for the communication service corresponding to the called number.

8. The method according to claim 6, wherein, the personal service instance activation indication includes receiving a notification from a first edge cloud communication service node indicating to initiate the communication service of the called number.

9. The method according to claim 6, wherein, the personal service instance activation indication includes, after a failure of the first edge cloud communication service node, obtaining indication information arbitrated and selected as a new communication service node, and the indication information is used to indicate to initiate the communication service of the called number.

10. The method according to claim 7, wherein, before activating the personal service instance corresponding to the called number based on the personal service instance activation indication, further includes: receiving and saving communication service metadata corresponding to the number; activating the personal service instance corresponding to the called number based on the personal service instance activation indication includes: activating the personal service instance corresponding to the called number based on the personal service instance activation indication and the communication service metadata corresponding to the called number.

11. The method according to any one of claims 6 - 10, wherein, after activating the personal service instance corresponding to the called number based on the personal service instance activation indication, further includes: generating session information, and establishing a correspondence between the current channel session and the session information; synchronizing the session information to other communication service nodes of the edge cloud in the same region.

12. The method according to claim 7 or 10, wherein, after sending the communication content of the communication service corresponding to the called number based on the personal service instance, further includes: judging whether the region where the calling party is located matches the region where the edge cloud communication service node providing the current communication service is located; if not, notifying a second edge cloud communication service node to initiate the communication service corresponding to the called number; the second edge cloud communication service node is the edge cloud communication service node in the region where the calling party is located; after the second edge cloud communication service node activates the personal service instance corresponding to the called number, synchronizing the session information to the communication service corresponding to the called number provided by the second edge cloud communication service node.

13. The method according to claim 12, wherein, further includes: receiving a start - up success message from the second edge cloud communication service node; sending call relationship update information to the operator device based on the start - up success message; the call relationship update information is used to indicate that there is an update in the address information corresponding to the current channel session, and the updated address information indicates the second edge cloud communication service node providing the communication service corresponding to the called number; deleting the service instance of this communication service node, and notifying other service nodes in the same region as this communication service node to delete the synchronized session information.

14. A communication service processing method, wherein, includes: establishing a binding relationship between a number and a communication service; determining a mapping relationship between the number and a virtual number, and sending the communication service metadata corresponding to the number to each edge cloud operation node; Determine the address of the edge cloud communication service node corresponding to the number registration location as address information, bind the address information to the corresponding number, and write it into the mapping relationship; Send the mapping relationship to the operator device.

15. According to the method described in claim 14, it is characterized in that, the determination of the mapping relationship between the number and the virtual number includes: When there is an available virtual number, determine the mapping relationship between the number and the available virtual number; When there is no available virtual number, send virtual number application information to the operator device, receive the new virtual number returned by the operator device, and determine the mapping relationship between the number and the new virtual number.

16. A communication service processing device, it is characterized in that, it includes a unit that executes the steps of the method described in any one of claims 1-15.

17. A communication service processing device, it is characterized in that, it includes: one or more processors and one or more memories; the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer-executable programs. When the one or more processors execute the computer-executable programs, the electronic device executes the method described in any one of claims 1-15.

18. A computer-readable storage medium stores a computer program, it is characterized in that, when the computer program runs on the processor of the electronic device, the electronic device executes the method described in any one of claims 1-15.

Citation Information

Cited By

  • Service instance management method and device, equipment and medium

    CN120751006A

  • Method and apparatus for managing service instance, device and medium

    CN120751006B