A multi-signaling service system architecture and management method
By adopting the multi-signaling service system architecture and the routing strategy of the registration management service unit in the signaling service system, the problem of bottlenecks in signaling services and inflexible resource allocation in high concurrency scenarios is solved, and efficient resource utilization and fault tolerance are achieved.
Patent Information
- Application Number
- CN202411939786.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-26
- Publication Date
- 2025-04-08
AI Technical Summary
In the prior art stateful services such as signaling services have problems such as low bottlenecks and inflexible resource allocation when handling concurrent signaling, resulting in low resource utilization efficiency and insufficient failover capabilities.
The multi-signaling service system architecture is adopted, including at least two signaling service units, registration management service units and gateway units. The signaling service units are provided with routing policies to dynamically allocate the signaling service units to achieve load balancing and fault tolerance.
It improves the concurrent processing capabilities of signaling services, realizes flexible allocation and efficient utilization of resources, and enhances the system's fault tolerance and failover capabilities.
Smart Images

Figure CN119788675A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to a technical field related to cloud computing load regulation, and in particular to a multi-signaling service system architecture and management method. Background Art
[0002] With the rapid development of Internet applications and services, especially the emergence of application scenarios with strict requirements for low latency and high concurrent processing capabilities such as real-time communication, video conferencing, and online games, how to effectively manage service instances has become a key issue. The application of cloud computing and microsystem technology provides a new solution to such problems. Its powerful multi-instance deployment and elastic scaling capabilities can improve service availability and system performance. In particular, for stateless services that do not save any session or transaction status, it can greatly improve operating efficiency.
[0003] However, stateful services such as signaling services rely on previous states or session data when processing requests, and each request is not completely independent. Therefore, existing technologies often do not extend them, but keep a single instance (i.e., a single signaling service unit) running to ensure session consistency. This has the following disadvantages:
[0004] On the one hand, due to the performance constraints of the host machine of the signaling service unit (here refers to the hardware carrier that realizes the function of the signaling service unit), the current means to improve the concurrent processing of signaling is to upgrade the network card and improve the performance of the machine. However, relying solely on hardware upgrades to solve the bottleneck of signaling is not only to increase costs, but also to bring additional risks due to equipment compatibility and maintenance complexity.
[0005] On the other hand, since fixed-configuration service instances lack flexibility and cannot dynamically adjust resource allocation according to actual load, resource utilization is inefficient.
[0006] Therefore, for the current stateful services, especially signaling services, the ability to process concurrent signaling has a low bottleneck and lacks flexible allocation. How to provide a multi-signaling service system architecture solution that can adapt to high-concurrency real-time scenarios and dynamically allocate devices according to the actual load of the signaling service unit is a technical problem that needs to be solved. Summary of the invention
[0007] In view of the above problems in the prior art, the present application provides a multi-signaling service system architecture and management method, so as to provide a multi-signaling service system architecture solution that can adapt to high-concurrency real-time scenarios and can dynamically allocate devices according to the actual load of the signaling service unit.
[0008] To achieve the above objectives, the first aspect of the present application provides a multi-signaling service system architecture, including:
[0009] At least two signaling service units, respectively used to provide signaling services for devices registered thereon;
[0010] A registration management service unit, used to provide a routing strategy for device registration, wherein the routing strategy records a signaling service unit allocated for a signaling registration request of the device;
[0011] The gateway unit is used to receive a signaling registration request from a device, obtain a routing policy from the registration management service unit, and distribute the signaling registration request to an allocated signaling service unit recorded in the routing policy to register the device to the allocated signaling service unit.
[0012] From the above, due to the use of multiple signaling service units, and the registration of the device to a certain signaling unit can be realized based on the strategy provided by the registration management service unit, compared with the single signaling service unit in the background technology, more signaling service units can be used to provide signaling services for many devices, and the concurrent signaling of multiple devices is processed based on multiple signaling service units, which reduces the pressure of each signaling service device, and solves the bottleneck problem of the ability to process concurrent signaling. In addition, when processing the signaling of multiple devices (such as concurrent signaling), different signaling service units can be allocated to provide signaling services for the device according to the specific conditions such as the load of each signaling service unit through the registration management service unit, so as to avoid that some signaling service units are under greater pressure of carrying traffic while other signaling service units are in an idle state, that is, load balancing of each signaling service unit is realized, which not only optimizes the utilization of resources of each signaling service unit (based on load balancing, the idle signaling service unit is avoided as much as possible), but also is conducive to the stability of the operation of each signaling service unit (based on load balancing, the load of a single signaling service unit is reduced, which also reduces the failure rate of a single signaling service unit).
[0013] In addition, the use of multiple signaling service units also improves the fault tolerance and failover capabilities of the entire system. That is, when a signaling service unit fails, the device can be registered to a normally operating signaling unit based on the strategy provided by the registration management service unit. Compared with the single signaling service unit in the background technology, the fault tolerance is higher.
[0014] As a possible implementation of the first aspect, the method further includes: a service discovery unit, configured to monitor the startup of the signaling service unit, and notify the registration management service unit of information of the started signaling service unit, so that the registration management service unit performs authorization;
[0015] The registration management service unit is also used to manage the activated signaling service unit, and the management includes authorization operations on the activated signaling service unit.
[0016] From the above, the signaling service discovery unit monitors the newly added signaling service unit, obtains the status and information, and uses it for authorization. The registration management service unit controls the interaction rights between the signaling service unit and the device through authorization, which facilitates traffic management and security management.
[0017] As a possible implementation manner of the first aspect, the signaling service unit is further used to forward the signaling;
[0018] It also includes an addressing service unit, which is used to provide routing information to the signaling service unit, so that the signaling can be forwarded to the next-hop signaling service unit when transmitted between signaling service units.
[0019] As described above, by forwarding signaling, devices registered on different signaling service units can interact with each other.
[0020] As a possible implementation manner of the first aspect, when the registration management service unit is used to provide a routing policy recording the signaling service unit allocated to the signaling registration request of the device, the signaling service unit is allocated to the signaling registration request of the device according to one of the following:
[0021] Allocate according to the load of each signaling service unit;
[0022] Allocate according to the functional scope assigned to each signaling service unit;
[0023] Allocate according to the permissions configured for each signaling service unit;
[0024] The allocation is performed based on the preset binding relationship between the device and the signaling service unit.
[0025] From the above, the signaling service units are allocated according to different usage scenarios to perform different interactive functions, which is beneficial to the load balancing of the system and improves the global resource utilization and response speed.
[0026] A second aspect of the present application provides a multi-signaling service management method, comprising: a gateway unit receives a signaling registration request from a device, and requests a routing strategy from a registration management service unit;
[0027] The registration management service unit allocates a first signaling service unit for the signaling registration request of the device, and returns it to the gateway unit through a routing strategy;
[0028] The gateway unit distributes the signaling registration request of the device to the first signaling service unit recorded in the routing policy;
[0029] The first signaling service unit receives the signaling registration request, registers the device on the first signaling service unit, and provides signaling service for the device.
[0030] As described above, the registration management service unit manages the registration rules, so that the terminal device is paired with the signaling service unit, so that each device can select the signaling service unit that is closest or best meets a certain requirement, such as authority.
[0031] As a possible implementation of the second aspect, the following also includes:
[0032] After being started, each signaling service unit is discovered by the service discovery unit;
[0033] The service discovery unit notifies the registration management service unit of information of the discovered and activated signaling service unit, so that the registration management service unit performs authorization.
[0034] From the above, the newly added signaling service instance can be discovered in real time through the service discovery unit monitoring and the registration information can be obtained; the registration management service unit can authorize it so that the signaling service unit can interact with the terminal device and coordinate the allocation of the global signaling service unit. At the same time, more signaling service units can be expanded to meet the interaction needs of different terminal devices.
[0035] As a possible implementation manner of the second aspect, the registration management service unit allocates the first signaling service unit for the signaling registration request according to at least one of the following:
[0036] Allocate according to the load of each signaling service unit;
[0037] Allocate according to the functional scope assigned to each signaling service unit;
[0038] Allocate according to the permissions configured for each signaling service unit;
[0039] The allocation is performed based on the preset binding relationship between the device and the signaling service unit.
[0040] From the above, the signaling service units are allocated according to different usage scenarios to perform different interactive functions, which is beneficial to the load balancing of the system and improves the global resource utilization and response speed.
[0041] As a possible implementation manner of the second aspect, after registering a first device on the first signaling service unit, the method further includes:
[0042] The first signaling service unit receives a first signaling from a first device, wherein the first signaling includes a second device identifier as a target device;
[0043] When the first signaling service unit determines that the second device is not registered thereon, the first signaling service unit obtains routing information of the first signaling service unit with which the second device is registered from the addressing service unit;
[0044] The first signaling service unit forwards the first signaling through the routing information to forward it to the second signaling service unit;
[0045] The second signaling service unit sends the first signaling to the second device registered thereon, so that the second device responds to the first signaling.
[0046] As described above, the interaction information between different devices can be forwarded through the addressing service unit, so that the devices registered on different signaling service units provide or receive data services.
[0047] As a possible implementation manner of the second aspect, when applied to a media service, after registering a first device on the first signaling service unit, the method further includes:
[0048] The first signaling service unit receives the media request signaling from the first device, and sends the stream pull address provided by the first media service unit to the first device; wherein the media request signaling includes the identifier of the second device as the media providing source;
[0049] When the first signaling service unit determines that the second device is not registered thereon, the first signaling service unit obtains routing information of the second signaling service unit registered with the second device from the addressing service unit;
[0050] The first signaling service unit forwards the media request signaling through the routing information to forward it to the second signaling service unit;
[0051] The second signaling service unit sends the media request signaling to the second device registered thereon, and sends the streaming address provided by the second media service unit to the second device;
[0052] The second signaling service unit receives the response information of the second device and returns it to the first device through the first signaling service unit, and establishes a media stream transmission channel between the second media service unit and the first media service unit, so that the push stream from the second device to the second media service unit is transmitted to the first media service unit through the media stream transmission channel and obtained by the first device through pulling the stream.
[0053] As described above, by using the media service unit to pull / push streams, devices registered on different signaling service units can realize the media stream transmission function.
[0054] As a possible implementation manner of the second aspect, the step of selecting the first / second media service unit by the first / second signaling service unit includes at least one of the following manners:
[0055] The first / second signaling service unit selects the first / second media service unit from the multiple media service units bound thereto;
[0056] The first / second signaling service unit communicates with the application service unit to obtain a media service unit allocated by the application service unit according to the load conditions of each media service unit as the selected first / second media service unit.
[0057] From the above, the data processing relationship between the signaling service unit and the media service unit in the first method is relatively simple, and when an abnormal situation occurs, it is relatively easy to handle; the second method can dynamically process the on-demand request according to the idleness of each media service unit. The above two methods are aimed at different usage scenarios, and the appropriate selection method can be selected according to the specific situation of the system. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] Figure 1a is a schematic diagram of a multi-signaling service system architecture provided in the first embodiment of the present application;
[0059] Figure 1b is a flowchart of a multi-signaling service system management method provided by the first embodiment of the present application;
[0060] Figure 2a is a flowchart of a multi-signaling service system management method provided by the second embodiment of the present application;
[0061] Figure 2b This is a flowchart of the signaling service discovery extension provided by the second embodiment of the present application;
[0062] Figure 2c This is a flow chart of device registration provided by the second embodiment of the present application;
[0063] Figure 2d This is a flow chart of a multi-signaling service on demand provided by the second embodiment of the present application;
[0064] It should be understood that the size and shape of each block diagram in the above structural diagram are for reference only and should not constitute an exclusive interpretation of the embodiment of the present invention. The relative position and inclusion relationship between the blocks presented in the structural diagram are only schematic representations of the structural association between the blocks, and do not limit the physical connection method of the embodiment of the present invention. DETAILED DESCRIPTION
[0065] The technical solution provided by the present application is further described below with reference to the accompanying drawings and examples. It should be understood that the system structure and business scenarios provided in the examples of the present application are mainly to illustrate the possible implementation methods of the technical solution of the present application and should not be interpreted as the only limitation on the technical solution of the present application. It is known to those of ordinary skill in the art that with the evolution of the system structure and the emergence of new business scenarios, the technical solution provided by the present application is also applicable to similar technical problems.
[0066] It should be understood that the multi-signaling service system architecture solution provided in the embodiments of the present application includes a system architecture and a management method. Since the principles of solving the problems in these technical solutions are the same or similar, some repetitions may not be repeated in the introduction of the following specific embodiments, but it should be regarded as that these specific embodiments have been referenced to each other and can be combined with each other.
[0067] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by technicians in the technical field of this application. In the event of any inconsistency, the meaning described in this specification or the meaning derived from the contents recorded in this specification shall prevail. In addition, the terms used herein are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application. In order to accurately describe the technical content in this application and to accurately understand the present invention, the following explanations or definitions are given to the terms used in this specification before describing the specific embodiments:
[0068] 1) Container Orchestration System (Kubernetes, K8S): It is an open source container orchestration platform for automating the deployment, expansion and management of containerized applications. Kubernetes provides a framework for running distributed systems, which can seamlessly expand and manage container applications across host clusters, support multiple container runtimes, and allow developers and system administrators to deploy applications in a common way, thereby saving time and resources and improving efficiency and reliability.
[0069] 2) Next-hop signaling service unit: refers to the next signaling service unit that the signaling needs to pass through to be sent to the target device.
[0070] The multi-signaling service system architecture solution provided in the embodiment of the present application can detect, discover and register newly added signaling service instances through the service management platform, register terminal devices connected to the system for the first time on the corresponding signaling service, and forward requests from terminal devices registered on different signaling services to realize multi-signaling service on demand. This method can provide a multi-signaling service system architecture solution that adapts to high-concurrency real-time scenarios and dynamically adjusts resource allocation according to actual load. The embodiment of the present application can be applied to various video conferencing, live broadcast on demand, Internet of Things, remote collaboration and other fields that require the processing of a large number of concurrent connections and real-time communications through signaling services. Refer to the accompanying drawings below for a detailed introduction to the embodiments of the present application.
[0071] The first embodiment of the present application provides a multi-signaling service system architecture, such as Figure 1a As shown, the multi-signaling service system architecture provided in this embodiment includes at least two signaling service units, a registration management service unit, and a gateway unit. The purpose and implementation method of each module are described in detail below:
[0072] At least two signaling service units, respectively used to provide signaling services for devices registered thereon;
[0073] In some embodiments, the signaling service unit and the registration management service unit are executed in a service instance manner through a container.
[0074] In some embodiments, the service instance runs in a portable container, and one container can run at least one service instance. The service instance in each container can communicate and exchange with the signaling service discovery unit or gateway unit or other service instances or terminal devices to complete the functional content of the service. The service instance in each container is packaged separately and communicates with the outside through a unique interface to prevent data interference between different services. The interface may include gRPC, RestApi, etc. The number of containers can be dynamically adjusted and expanded according to the load conditions.
[0075] In some embodiments, the service instance may include at least one of the following: a signaling service instance, a registration management service instance, an addressing service instance, and a media service instance. Among them, the signaling service instance processes control information in real-time communication, and is used to establish connections, determine the routing and forwarding of messages, etc. The registration management service is used to uniformly manage and register newly added service instances or newly added terminal devices connected to the system; the addressing service instance is used to determine which signaling service the target requested by the terminal device is registered on, and is a stateless service. During initialization, the address is assigned through the service management platform and the registration management service instance; the media service instance is used to manage and provide real-time media streams, such as audio, video, and other content.
[0076] In some embodiments, the signaling service unit is also used to forward signaling; it also includes an addressing service unit, which is used to provide routing information to the signaling service unit so that when the signaling is transmitted between signaling service units, it can be forwarded to the next-hop signaling service unit, or directly forwarded to the target signaling service unit.
[0077] A registration management service unit, configured to manage each signaling service unit, wherein the management includes implementing registration authorization of each activated signaling service unit by the registration management service unit; and also configured to provide a routing strategy for device registration, wherein the routing strategy records the signaling service unit allocated for the signaling registration request of the device;
[0078] In some embodiments, the registration management service unit runs in a portable container in an instance manner and can communicate and interact with the signaling service unit and the service discovery unit.
[0079] In some embodiments, when the registration management service unit is used to provide a routing policy that records the signaling service unit assigned to the signaling registration request of the device, the signaling service unit is assigned to the signaling registration request of the device according to one of the following: allocation according to the load of each signaling service unit; allocation according to the functional scope configured for each signaling service unit; allocation according to the authority configured for each signaling service unit; allocation according to the preset binding relationship between the device and the signaling service unit.
[0080] In some embodiments, it also includes: a service discovery unit, which is used to monitor the startup of the signaling service unit and notify the registration management service unit of the information of the started signaling service unit; the registration management service unit is also used to manage the started signaling service unit in the registration management service unit, and the management includes an authorized registration operation on the started signaling service unit.
[0081] In some embodiments, the service discovery unit can be implemented through a service management platform, which is used to continuously detect and discover new service instances, collect information about the new service instances, and communicate and exchange with multiple service instances; the service management platform may include a configuration module and a service registration module. Among them, the configuration module can uniformly manage the configuration files of all system environments and service instances, and provide functions such as version control, environment support, and security permission control; the service registration module can dynamically discover new service instances and provide corresponding configuration functions. In some embodiments, the signaling service discovery unit can be implemented through frameworks such as Nacos, Kubernetes, Consul, Zookeeper, and Eureka.
[0082] In some embodiments, the service discovery unit may collect newly added service instances, such as a signaling service unit; and may also collect other types of service instances, such as a media service unit.
[0083] The gateway unit is used to receive a signaling registration request from a device, obtain a routing policy from the registration management service unit, and distribute the signaling registration request to an allocated signaling service unit recorded in the routing policy to register the device to the allocated signaling service unit.
[0084] In some embodiments, the gateway unit can be implemented through an ingress controller under the Kubernetes architecture system; the proxy function can also be implemented using an API gateway, Service Mesh, etc.
[0085] In some embodiments, the gateway unit may use UDP as a transmission protocol, and may also use TCP, WebSocket, QUIC, etc. as a transmission protocol.
[0086] In some embodiments, the device includes at least one of the following: a client device, a data service providing device.
[0087] In some embodiments, the client device can be used to interact with the user and collect user input, and can be a front-end software that runs on various systems.
[0088] In some embodiments, the device may send registration information or a request to the network proxy or service instance; wherein the registration information sent by the device connecting to the system for the first time to the network proxy may include at least one of the following: device ID, user information, IP address. The request sent by the device to the network proxy or service instance may include: registration request, on-demand request, etc.
[0089] In some embodiments, it also includes: a media service unit, which is used to provide a media stream pulling service to the client device by interacting with the signaling service unit to implement media stream, and / or provide a media stream pushing service to the data service device to perform at least one of the streaming or connecting operations; an application service unit, which is used to manage the interaction mode and status of the media service unit, including managing the correspondence between the media service unit and the signaling service unit.
[0090] The following will be combined Figure 1b , the management method of the system architecture is specifically described, including the following steps S10-S40.
[0091] S10: The gateway unit receives a signaling registration request from a device and requests a routing strategy from the registration management service unit;
[0092] In some embodiments, each signaling service unit is discovered by a service discovery unit after being started; the service discovery unit notifies the registration management service unit of the information of the discovered activated signaling service unit, so that the registration management service unit can authorize it. The authorization specifies the authority of the signaling service unit to register and interact with the device.
[0093] In some embodiments, the newly added signaling service unit sends service information to the service discovery unit, which may include service type, IP address, port number, etc. The service discovery unit sends the service information to the registration management service unit; the registration management service unit performs authorization operations on the newly added signaling service instance according to the registration information.
[0094] In some embodiments, the service discovery unit can continuously monitor and discover newly added signaling service units and other types of service instances. The service discovery unit can also monitor and check the status of service instances, and dynamically add, delete, notify, and other management operations on service instances according to load conditions.
[0095] In some embodiments, the registration management service unit can assign a specific functional scope to the newly added signaling service unit, namely, authorized operations; such as being responsible for internal device registration (referring to devices within the system architecture) or external (external refers to devices outside the system architecture) cross-level subscription registration.
[0096] In some embodiments, a device connected to the system for the first time is registered on the corresponding signaling service unit; the registration request includes the device ID, user information, IP address and other information; wherein the registration request format can be a specific protocol message, such as SIP or a custom UDP message. The gateway interacts with the registration management service unit to request a routing strategy; the registration management service unit selects a corresponding signaling service unit according to the registration request, and provides the result to the gateway unit through the routing strategy;
[0097] S20: The registration management service unit allocates a first signaling service unit for the signaling registration request of the device, and returns it to the gateway unit through a routing strategy.
[0098] In some embodiments, the registration management service unit allocates the first signaling service unit to this signaling registration request based on at least one of the following: allocation based on the load conditions of each signaling service unit; allocation based on the functional scope configured for each signaling service unit; allocation based on the permissions configured for each signaling service unit; allocation based on the preset binding relationship between the device and the signaling service unit.
[0099] S30: The gateway unit distributes the signaling registration request of the device to the first signaling service unit recorded in the routing policy.
[0100] S40: The first signaling service unit receives the signaling registration request, registers the device on the first signaling service unit, and provides signaling services for the device.
[0101] In some embodiments, after obtaining the registration request, the first signaling service unit records the device information carried in the registration request information of the device to complete the registration.
[0102] In some embodiments, the registration management service unit may verify the legitimacy and validity of the registration request, such as whether the username and password are correct.
[0103] After the first signaling service unit processes the registration request, it may send a corresponding message of successful registration to the device. The format of the response may be a token. After receiving the response, the device stores the token.
[0104] In some embodiments, after completing the registration, the client only interacts with the registered signaling service unit.
[0105] In some embodiments, after registering a first device on the first signaling service unit, it also includes: the first signaling service unit receives a first signaling from the first device, and the first signaling includes a second device identifier as a target device; when the first signaling service unit determines that the second device is not registered on it, obtains routing information of the second signaling service unit with the second device registered from the addressing service unit; the first signaling service unit forwards the first signaling through the routing information to forward it to the second signaling service unit; the second signaling service unit sends the first signaling to the second device registered thereon, so that the second device responds to the first signaling.
[0106] In some embodiments, when applied to media services, after registering a first device on the first signaling service unit, it also includes: the first signaling service unit receives a media request signaling from the first device, and sends the pull stream address provided by the first media service unit to the first device; wherein the first media request signaling includes an identifier of a second device as a media providing source; when the first signaling service unit determines that the second device is not registered on it, it obtains routing information of a second signaling service unit with which the second device is registered from an addressing service unit; the first signaling service unit forwards the first signaling media request signaling through the routing information to forward it to the second signaling service unit; the second signaling service unit sends the first media request signaling to the second device registered thereon, and sends the push stream address provided by the second media service unit to the second device; the second signaling service unit receives the response information of the second device, and returns it to the first device through the first signaling service unit, and establishes a media stream transmission channel between the second media service unit and the first media service unit, so that the push stream from the second device to the second media service unit is transmitted to the first media service unit through the media stream transmission channel and is obtained by the first device through pull stream. Among them, the media service can also be extended to the third device and its signaling service unit and media service unit, the fourth device and its signaling service unit and media service unit, and so on according to the above forwarding and push / pull rules.
[0107] In some embodiments, when forwarding the above-mentioned media request signaling, the first signaling service unit may carry the identifier of the first media service unit, such as the IP, and after the second signaling service unit receives it, it provides it to the second media service unit, thereby the second media unit obtains the identifier of the first media service unit; when the second signaling service unit returns a response message to the first signaling service unit, it may carry the identifier of the second media service unit, such as the IP, and after the first signaling service unit receives it, it provides it to the first media service unit, thereby the first media service unit obtains the identifier of the second media service unit; the first media service unit and the second media service unit may establish a negotiation connection with each other based on each other's identifier to build a media stream channel to support the transmission of media streams between the first media service unit and the second media service unit when their respective connected devices perform push / pull operations.
[0108] In some embodiments, the step of selecting the first / second media service unit by the first / second signaling service unit includes at least one of the following methods: the first / second signaling service unit selects the first / second media service unit from multiple media service units bound to it; the first / second signaling service unit communicates with the application service unit to obtain a media service unit allocated by the application service unit according to the load conditions of each media service unit as the first / second media service unit selected. In addition to the first / second signaling service unit and its first / second media service unit, the above selection step can also be applied to any signaling service unit to select a media service unit; in the first method, a one-to-one method can also be selected for binding; in the second method, other allocation rules other than the load conditions can also be used for selection, such as based on the device type, distance, security permissions, etc., to which each media service unit is directed.
[0109] In some embodiments, the media service instance periodically sends real-time load status to the application service unit.
[0110] The second embodiment of the present application provides a multi-signaling service system architecture management method. Figure 2a The method provided by the second embodiment includes the following steps S200-S260.
[0111] S200: discovering and registering a newly added signaling service unit through a service discovery unit.
[0112] like Figure 2b As shown, the signaling service is started through Kubernetes (K8S) for multiple instances. Each signaling service instance (signaling service unit) runs in a container, which is managed by K8S. Since each signaling service instance can run in each container, the signaling service instance can be expanded according to user usage needs (for example, creating more containers to run more signaling service instances). Therefore, when the signaling service is at its peak (i.e., a period when a large number of devices use the signaling service), more signaling service instances can be expanded to provide signaling services for these devices, so as to maintain a good service quality and reduce the problem that some terminals cannot obtain services during the peak period of the above-mentioned signaling service.
[0113] Use the service management platform Nacos (service discovery unit) to monitor the generation, destruction and load of global signaling service instances.
[0114] Whenever a new signaling service instance is added, it will be discovered by the service management platform Nacos. The newly added signaling service instance will automatically send its information to Nacos, including IP address, port number, etc.
[0115] After Nacos detects a newly added signaling service instance, it will pass this information to the registration management service unit through the event notification mechanism.
[0116] The registration management service unit will add the new signaling service instance to the list of available instances based on the received information and perform authorization operations on it to ensure that the newly added signaling service instance has the authority to process signaling requests.
[0117] The registration management service unit may also allocate a specific functional scope to the newly added signaling service instance, such as which internal devices (such as a certain range) are responsible for registration or external cross-level subscription registration.
[0118] S210: Registering a device connected to the system for the first time on a corresponding signaling service through the registration management service unit and the gateway unit.
[0119] like Figure 2c As shown, the network proxy (gateway unit) uses an Ingress controller that supports the UDP protocol.
[0120] When a device such as a client or a decoder (e.g., a media provider that provides streaming) is connected to the system for the first time, a registration request is sent to the network proxy. The registration request contains basic information about the device, such as device ID, user information, IP address, etc.
[0121] When the Ingress controller receives the registration request, it interacts with the registration management service unit and requests the routing policy to perform logical control on it. The routing policy is a policy that allocates a corresponding signaling service unit to each terminal device address based on load or security considerations.
[0122] After the Ingress controller obtains the routing policy, it sends the registration information to the corresponding signaling service unit for registration. The signaling service unit sends a successful registration response to the terminal device, which contains necessary information such as the identifier assigned by the system.
[0123] After registration is completed, if the terminal device needs to interact, it will always follow this correspondence for communication interaction.
[0124] For example, according to the current signaling service load, the client is assigned to signaling service instance A and the decoder is assigned to signaling service instance B. The client can perform signaling interaction with signaling service instance A and the decoder can perform signaling interaction with signaling service instance B.
[0125] S220: The client initiates a video-on-demand request to the signaling service unit.
[0126] like Figure 2dAs shown, the registered client and end encoder perform signaling interaction with the corresponding A signaling service instance and B signaling service instance respectively.
[0127] When a client needs to on-demand media from an encoder, the client first initiates a on-demand request to the A signaling service instance.
[0128] S230: The signaling service unit performs self-checking and searches for the target encoder through the addressing service unit.
[0129] like Figure 2d As shown, the A signaling service instance performs a self-check and finds that the target is not registered on the local machine, so it sends a request to query the signaling service instance address to the stateless service addressing service instance, and the addressing service instance sends the B signaling service instance address back to the A signaling service instance.
[0130] S240: The signaling service unit forwards the on-demand request to the signaling service unit registered with the target encoder.
[0131] like Figure 2d As shown, the A signaling service instance initiates a video-on-demand request to the B signaling service instance;
[0132] The B signaling service instance finds through self-check that the target encoder is registered on the local machine and forwards the point request to the target encoder.
[0133] S250: The target encoder forwards the response information to the client through the signaling service unit.
[0134] The target encoder sends the response information to the B signaling service instance, and the B signaling service instance forwards the response information to the A signaling service instance and sends it to the client through the A signaling service instance.
[0135] At this point, the client and the target encoder complete the signaling interaction process. Based on the signaling interaction, the process of establishing a media stream channel through the media service unit is implemented through the following S260.
[0136] S260: The media service unit establishes a media stream channel, and transmits the media stream from the target encoder to the client via the media service unit.
[0137] Among them, the signaling service unit, based on the above signaling interaction, combines with the media service unit to establish a media stream channel, which can be implemented mainly in the following two ways:
[0138] One is that the application server (application service unit) predefines the binding rules, and the signaling service unit and the media service unit are bound one-to-one or one-to-many. Therefore, before the media service is provided, the signaling service unit has obtained the identification information of the media service unit according to the binding relationship, such as the IP address.
[0139] Combined with the above signaling interaction process, such as Figure 2d As shown, the client registered on the A signaling service instance wishes to on-demand the media data provided by the encoder registered on the B signaling service instance. After initiating the on-demand request (as shown in step S220 above), the A signaling service instance can select an A media service unit based on the binding relationship and feed back the streaming address of the A media service unit to the client.
[0140] After the A signaling service instance passes the addressing service (as shown in step S230 above), the A signaling service instance may carry the IP address of the A media service unit when forwarding the on-demand request to the B signaling service instance (as shown in step S240 above).
[0141] The IP address of the A media service unit can be provided to the B media service unit by the B signaling service instance. The B signaling service instance also selects a B media service unit according to the binding relationship and provides the streaming address of the B media service unit to the encoder;
[0142] Correspondingly, when the B signaling service instance returns the response information of the target encoder to the A signaling service instance (as shown in step S250 above), it can also carry the IP address of the B media service unit and be provided by the A signaling service instance to the A media service unit. The A media service unit and the B media service unit can negotiate to establish a transmission channel for the media stream based on each other's IP addresses.
[0143] During media stream transmission, the encoder pushes the stream to the address according to the push stream address of the B media service unit. The media stream is transmitted from the B media service unit to the A media service unit through the media stream transmission channel. The client then pulls the stream from the address according to the pull stream address of the A media service unit to complete the acquisition of the media stream.
[0144] This method is simple and clear. When there is an abnormal situation such as a failure of the container where the signaling service instance or the media service unit is located, the processing flow is relatively simple. For example, if a client registered with a signaling service instance cannot obtain the media stream normally, the abnormal media service unit can be directly found through the signaling service instance to perform operations such as unbinding. However, since media sharing only exists within a small range and resource utilization is limited, when the sharing demand is large, the second method can be used to stack media and establish a media stream channel.
[0145] The second method is that during the session, the signaling service unit selects a relatively idle media service unit through the application service unit for media stream transfer. After the media service unit is enabled, the application service unit can obtain the load status of the media service unit in real time, and send the identification information of the idle media service unit to the signaling service unit that needs to transmit the media stream according to the load status.
[0146] Combined with the signaling interaction process, Figure 2d Taking the same on-demand process as an example, the client registered on the A signaling service instance wishes to on-demand the media data provided by the encoder registered on the B signaling service instance. After initiating the on-demand request (as in step S220 above), the A signaling service instance requests the application service unit to obtain an available media service unit. The application service unit allocates an idle C media service unit and provides the IP address of the C media service unit to the A signaling service instance. The A signaling service instance feeds back the streaming address of the C media service unit to the client.
[0147] After the A signaling service instance passes the addressing service (as shown in step S230 above), the A signaling service instance may carry the IP address of the C media service unit when forwarding the on-demand request to the B signaling service instance (as shown in step S240 above).
[0148] The IP address of the A media service unit can be provided to the B media service unit by the B signaling service instance. The B signaling service instance requests the application service unit to obtain an available media service unit, and the application service unit allocates an idle D media service unit and provides the IP address of the D media service unit to the B signaling service instance. The B signaling service instance provides the streaming address of the D media service unit to the encoder;
[0149] Correspondingly, when the B signaling service instance returns the response information of the target encoder to the A signaling service instance (as shown in step S250 above), it can also carry the IP address of the D media service unit and be provided by the A signaling service instance to the C media service unit. The C media service unit and the D media service unit can negotiate to establish a transmission channel for the media stream based on each other's IP addresses.
[0150] During media stream transmission, the encoder pushes the stream to the address according to the push stream address of the D media service unit. The media stream is transmitted from the D media service unit to the C media service unit through the media stream transmission channel. The client then pulls the stream from the address according to the pull stream address of the C media service unit to complete the acquisition of the media stream.
[0151] This method allows global sharing of media services, which reasonably allocates existing resources and reduces resource waste. However, some media service units may be reused multiple times, which may cause performance bottlenecks in media services. In addition, this method requires multiple transfers, which increases the complexity of transmission.
[0152] Therefore, different media stacking methods can be selected according to different resource settings and system requirements to suit the demand scenarios.
[0153] In addition, the words "first, second, third, etc." or module A, module B, module C and other similar terms in the specification and claims are only used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that the specific order or sequence can be interchanged where permitted so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0154] In the above description, the numbers representing the steps, such as S110, S120, etc., do not necessarily mean that the steps will be executed in this manner. If permitted, the order of the steps can be interchanged or they can be executed simultaneously.
[0155] The term "comprising" as used in the description and claims should not be interpreted as being limited to what is listed thereafter; it does not exclude other elements or steps. Therefore, it should be interpreted as specifying the presence of the features, integers, steps or components mentioned, but does not exclude the presence or addition of one or more other features, integers, steps or components and groups thereof. Therefore, the expression "a device comprising means A and B" should not be limited to a device consisting of components A and B only.
[0156] References to "one embodiment" or "an embodiment" in this specification mean that a particular feature, structure, or characteristic described in conjunction with the embodiment is included in at least one embodiment of the present application. Therefore, the phrases "in one embodiment" or "in an embodiment" appearing in various places in this specification do not necessarily refer to the same embodiment, but may refer to the same embodiment. In addition, in one or more embodiments, the particular features, structures, or characteristics can be combined in any appropriate manner, as would be apparent to one of ordinary skill in the art from this disclosure.
[0157] Note that the above are only preferred embodiments of the present application and the technical principles used. Those skilled in the art will understand that the present application is not limited to the specific embodiments described herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present application. Therefore, although the present application is described in more detail through the above embodiments, the present application is not limited to the above embodiments, and may also include more other equivalent embodiments without departing from the concept of the present application, all of which belong to the scope of protection of the present application.
Claims
1. A multi-signaling service system architecture, characterized in that: include: at least two signaling service units, respectively used to provide signaling services for devices registered thereon; A registration management service unit, used to provide a routing strategy for device registration, wherein the routing strategy records a signaling service unit allocated for a signaling registration request of the device; The gateway unit is used to receive a signaling registration request from a device, obtain a routing policy from the registration management service unit, and distribute the signaling registration request to an allocated signaling service unit recorded in the routing policy to register the device to the allocated signaling service unit.
2. The architecture according to claim 1, characterized in that Also includes: A service discovery unit, configured to monitor the activation of a signaling service unit and notify the registration management service unit of information of the activated signaling service unit; The registration management service unit is also used to manage the activated signaling service unit, and the management includes authorization operations on the activated signaling service unit.
3. The architecture according to claim 1, characterized in that The signaling service unit is also used to forward signaling; It also includes an addressing service unit, which is used to provide routing information to the signaling service unit, so that the signaling can be forwarded to the next-hop signaling service unit when transmitted between signaling service units.
4. The architecture according to claim 1, characterized in that When the registration management service unit is used to provide a routing policy recording the signaling service unit allocated for the signaling registration request of the device, the signaling service unit is allocated for the signaling registration request of the device according to one of the following: Allocate according to the load of each signaling service unit; Allocate according to the functional scope assigned to each signaling service unit; Allocate according to the permissions configured for each signaling service unit; The allocation is performed based on the preset binding relationship between the device and the signaling service unit.
5. A multi-signaling service management method, characterized in that: include: The gateway unit receives a signaling registration request from a device and requests a routing strategy from the registration management service unit; The registration management service unit allocates a first signaling service unit for the signaling registration request of the device, and returns it to the gateway unit through a routing strategy; The gateway unit distributes the signaling registration request of the device to the first signaling service unit recorded in the routing policy; The first signaling service unit receives the signaling registration request, registers the device on the first signaling service unit, and provides signaling service for the device.
6. The method according to claim 5, characterized in that Also includes: After being started, each signaling service unit is discovered by the service discovery unit; The service discovery unit notifies the registration management service unit of information of the discovered and activated signaling service unit, so that the registration management service unit performs authorization.
7. The method according to claim 5 or 6, characterized in that: The registration management service unit allocates the first signaling service unit for the signaling registration request according to at least one of the following: Allocate according to the load of each signaling service unit; Allocate according to the functional scope assigned to each signaling service unit; Allocate according to the permissions configured for each signaling service unit; The allocation is performed based on the preset binding relationship between the device and the signaling service unit.
8. The method according to claim 5, characterized in that After registering a first device on the first signaling service unit, the method further includes: The first signaling service unit receives a first signaling from a first device, wherein the first signaling includes a second device identifier as a target device; When the first signaling service unit determines that the second device is not registered thereon, the first signaling service unit obtains routing information of the second signaling service unit registered with the second device from the addressing service unit; The first signaling service unit forwards the first signaling through the routing information to forward it to the second signaling service unit; The second signaling service unit sends the first signaling to the second device registered thereon, so that the second device responds to the first signaling.
9. The method according to claim 5, characterized in that When applied to a media service, after registering a first device on the first signaling service unit, the method further includes: The first signaling service unit receives the media request signaling from the first device, and sends the stream pull address provided by the first media service unit to the first device; wherein the media request signaling includes the identifier of the second device as the media providing source; When the first signaling service unit determines that the second device is not registered thereon, the first signaling service unit obtains routing information of the second signaling service unit registered with the second device from the addressing service unit; The first signaling service unit forwards the media request signaling through the routing information to forward it to the second signaling service unit; The second signaling service unit sends the media request signaling to the second device registered thereon, and sends the streaming address provided by the second media service unit to the second device; The second signaling service unit receives the response information of the second device and returns it to the first device through the first signaling service unit, and establishes a media stream transmission channel between the second media service unit and the first media service unit, so that the push stream from the second device to the second media service unit is transmitted to the first media service unit through the media stream transmission channel and obtained by the first device through pulling the stream.
10. The method according to claim 9, characterized in that The method further includes a step in which the first / second signaling service unit selects the first / second media service unit, including at least one of the following methods: The first / second signaling service unit selects the first / second media service unit from the multiple media service units bound thereto; The first / second signaling service unit communicates with the application service unit to obtain a media service unit allocated by the application service unit according to the load conditions of each media service unit as the selected first / second media service unit.