Video stream transmission method and device applied to bank and video transmission system

By sending video requests to the streaming media server with the smallest load in the bank's video streaming system, the problem of load imbalance in the traditional streaming media polling and scheduling strategy is solved, and the load balancing of the streaming media server and the stable operation of the system is achieved.

CN119835259AActive Publication Date: 2025-04-15中国邮政储蓄银行股份有限公司
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
CN202411974354.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-15
Estimated Expiration
2044-12-30

AI Technical Summary

Technical Problem

The traditional streaming media polling and scheduling strategy has load imbalance, which may cause a single streaming media to be overloaded or even downtime, which will affect the stable operation of the entire system.

Method used

By obtaining the video request, the target video of the downstream node is obtained and sent to the target streaming server of the upstream node, which is the streaming server with the lowest load.

Benefits of technology

The load balancing of the streaming media server is realized, avoiding the overload of a single streaming server, and improving the throughput of the streaming media cluster and the efficiency of video transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119835259A_ABST
    Figure CN119835259A_ABST
Patent Text Reader

Abstract

The invention provides a video stream transmission method and device applied to a bank and a video transmission system. The method comprises the steps that a video request is acquired, and the video request is a request that an upstream node requests a downstream node to send a video; obtaining a target video of the downstream node according to the video request; the target video of the downstream node is sent to a target streaming media server of an upstream node, the upstream node comprises a plurality of streaming media servers, and the target streaming media server is the streaming media server with the minimum load in the plurality of streaming media servers. According to the scheme, the problem that in the prior art, a streaming media polling scheduling strategy is unbalanced in load, so that single streaming media is possibly overloaded or even crashed, and then stable operation of a whole system is affected is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer streaming media technology, and in particular to a video streaming transmission method, device, computer program product and video transmission system applied to banks. Background Art

[0002] With the rapid development of the Internet and the increasing number of users, high-concurrency streaming scenarios are constantly emerging, and traditional streaming media technology (server) faces major challenges. At present, the traditional streaming media polling scheduling strategy has load imbalance, which may cause a single streaming media to be overloaded or even crash, thus affecting the stable operation of the entire system. Summary of the invention

[0003] The main purpose of the present application is to provide a video stream transmission method, device, computer program product and video transmission system for use in banks, so as to at least solve the problem of load imbalance in the streaming media polling scheduling strategy in the prior art, which may cause a single streaming media to be overloaded or even crash, thereby affecting the stable operation of the entire system.

[0004] In order to achieve the above-mentioned purpose, according to one aspect of the present application, a video stream transmission method applied to a bank is provided, comprising: obtaining a video request, wherein the video request is a request from an upstream node to a downstream node to send a video; according to the video request, obtaining a target video of the downstream node; sending the target video of the downstream node to a target streaming media server of the upstream node, wherein the upstream node includes multiple streaming media servers, and the target streaming media server is the streaming media server with the smallest load among the multiple streaming media servers.

[0005] According to another aspect of the present application, a video stream transmission device applied to a bank is provided, comprising: a first acquisition unit, used to acquire a video request, wherein the video request is a request from an upstream node to a downstream node to send a video; a second acquisition unit, used to acquire a target video of the downstream node according to the video request; a sending unit, used to send the target video of the downstream node to a target streaming media server of the upstream node, wherein the upstream node includes multiple streaming media servers, and the target streaming media server is the streaming media server with the smallest load among the multiple streaming media servers.

[0006] According to another aspect of the present application, a computer program product is provided, comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements the steps of any one of the video stream transmission methods applied to banks.

[0007] According to another aspect of the present application, a video transmission system is provided, comprising: one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs include means for executing any one of the video stream transmission methods applied to banks.

[0008] By applying the technical solution of the present application, when video needs to be transmitted, the downstream will transmit the video to the upstream streaming media server with the smallest load. This can improve the throughput of the streaming media cluster, and the video can be allocated to the streaming media server with the best performance and the fastest response, thereby achieving load balancing of the streaming media servers and avoiding overloading of a single streaming media server. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The drawings constituting part of the present application are used to provide a further understanding of the present application. The exemplary embodiments and descriptions of the present application are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0010] Figure 1 A hardware structure block diagram of a mobile terminal for executing a video stream transmission method applied to a bank provided in an embodiment of the present application is shown;

[0011] Figure 2 A schematic diagram of a process of a video stream transmission method applied to a bank provided in an embodiment of the present application is shown;

[0012] Figure 3 A flow chart of the streaming media scheduling algorithm of this solution is shown;

[0013] Figure 4 A schematic diagram showing the streaming media service cluster deployment and cascading method of this solution is shown;

[0014] Figure 5 A schematic diagram of selecting the minimum load node by the entropy weight-TOPSIS model is shown;

[0015] Figure 6 A structural block diagram of a video stream transmission device applied to a bank provided according to an embodiment of the present application is shown.

[0016] The above drawings include the following reference numerals:

[0017] 102, processor; 104, memory; 106, transmission device; 108, input and output devices. DETAILED DESCRIPTION

[0018] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0019] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0020] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0021] For the convenience of description, some nouns or terms involved in the embodiments of the present application are explained below:

[0022] Streaming media: refers to a technology that compresses a series of media data and transmits them in segments in the form of streams over the network, thereby achieving real-time transmission of audio and video for viewing over the network.

[0023] Streaming media server: The main function is to transmit video files to the client using streaming protocols (RTP / RTSP, MMS, RTMP, etc.) for users to watch online; it can also receive real-time video streams from video capture and compression software, and then send them to the client using streaming protocols.

[0024] Entropy weight method: For a certain indicator, the entropy value can be used to judge the degree of dispersion of a certain indicator. The smaller the information entropy value, the greater the degree of dispersion of the indicator, and the greater the impact of the indicator on the comprehensive evaluation (i.e., weight). Therefore, the information entropy tool can be used to calculate the weight of each indicator and provide a basis for the comprehensive evaluation of multiple indicators.

[0025] TOPSIS model: (Technique for Order Preference by Similarity to an Ideal Solution) The model is called "superior and inferior solution distance method" in Chinese. It is a method of ranking according to the degree of proximity between the evaluation object and the idealized goal. It is a distance comprehensive evaluation method.

[0026] Monitoring center: refers to the place where network technology is used to receive and process security system information and manage control system equipment.

[0027] Under the existing head office-branch management model of banks, due to the hierarchical deployment of streaming media in the bank's security system and network bandwidth limitations, there may be a phenomenon of repeated acquisition of video streams, resulting in excessive data source load, large streaming transmission delays, low efficiency and even frame breaks.

[0028] The traditional streaming media polling scheduling strategy has problems such as unbalanced load and untimely feedback of actual streaming media load information, which may cause a single streaming media to be overloaded or even crash, thus affecting the stable operation of the entire system. In addition, it is difficult to ensure load balancing when streaming media clusters are deployed and video streams are reused.

[0029] At present, for cluster deployment of streaming media services, it is necessary to add a central node scheduling server to make decisions and process all client requests, and obtain the optimal streaming media node to respond to client requests. For the bank's hierarchical deployment, adding a central node will cause delays in calculating streaming media loads, and the failure of the central node will cause the entire streaming media service to be unavailable. In addition, during the process of obtaining video streams, there will also be a problem of request loops. Therefore, the stability of the scheduling service will affect the stability of the entire video system.

[0030] As introduced in the background technology, the streaming media polling scheduling strategy in the prior art has load imbalance, which may cause a single streaming media to be overloaded or even crash, thereby affecting the stable operation of the entire system. To solve the above problems, the embodiments of the present application provide a video stream transmission method, device, computer program product and video transmission system for use in banks.

[0031] The technical solutions in the embodiments of the present invention will be described clearly and completely below in conjunction with the accompanying drawings in the embodiments of the present invention.

[0032] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 FIG. 1 is a hardware structure block diagram of a mobile terminal for a video stream transmission method applied to a bank according to an embodiment of the present invention. Figure 1 As shown, the mobile terminal may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the mobile terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.

[0033] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the display method of device information in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, the above method is implemented. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof. The transmission device 106 is used to receive or send data via a network. The above-mentioned specific examples of the network may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0034] In this embodiment, a video stream transmission method for banking that runs on a mobile terminal, a computer terminal or a similar computing device is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0035] Figure 2 FIG. 1 is a flow chart of a video stream transmission method applied to a bank according to an embodiment of the present application. Figure 2As shown, the method comprises the following steps:

[0036] Step S201, obtaining a video request, wherein the video request is a request from an upstream node to a downstream node to send a video;

[0037] Specifically, the system receives a video request from an "upstream node". An upstream node usually refers to a node that is located higher in the network hierarchy, which may be the monitoring center of the head office or the monitoring center of a first-level branch. The goal of this request is to request that a video be sent from a "downstream node" (i.e., a location lower in the network hierarchy, such as the monitoring center of a second-level branch or the location of the video source device). The video request may be a real-time preview request, a playback request, or a video download request, depending on the monitoring requirements of the upstream node.

[0038] Step S202, acquiring the target video of the downstream node according to the video request;

[0039] Specifically, after receiving the video request, the downstream node starts to process the request. Its main task is to obtain the specified video stream from the video source (such as a surveillance camera). The target video here refers to the specific video stream requested by the upstream node. It can be a real-time picture of a camera or a playback video of a historical record. The downstream node obtains the target video from the video source device based on the information in the video request, such as video ID, timestamp, etc.

[0040] Step S203, sending the target video of the downstream node to the target streaming server of the upstream node, wherein the upstream node includes multiple streaming servers, and the target streaming server is the streaming server with the smallest load among the multiple streaming servers.

[0041] Specifically, after acquiring the target video, the downstream node will select which "target streaming server" to send the video stream to based on the load information and video stream channel information in its cache. Since the upstream node may contain multiple streaming servers, the downstream node will use the entropy weight method and TOPSIS model to calculate and determine the streaming server with the smallest current load. Selecting the server with the smallest load for video streaming transmission can ensure the efficiency and stability of video streaming transmission, avoid overloading a single server, further optimize the transmission path of the video stream, and ensure the fast response and high quality of video transmission.

[0042] Through this embodiment, when video needs to be transmitted, the downstream transmits the video to the upstream streaming media server with the smallest load. This can improve the throughput of the streaming media cluster. The video can be allocated to the streaming media server with the best performance and the fastest response, thereby achieving load balancing of the streaming media servers and avoiding overloading of a single streaming media server.

[0043] Specifically, the solution proposed in this application solves the load balancing problem when a streaming media cluster is deployed under the head office-branch management structure, dynamically schedules streaming media under bandwidth-constrained conditions, achieves load balancing, and supports the reuse of existing video streams, thereby effectively saving network bandwidth, maximizing the use of existing resources, and improving the performance of streaming media and video sources.

[0044] Specifically, the solution proposed in this application mainly includes determining the minimum load node and obtaining the target streaming link based on the streaming media status information, as well as the entire system consisting of the streaming media cluster, video equipment, and client.

[0045] Specifically, the scheduling process of this solution is as follows: Figure 3 As shown, it can be described as the following steps:

[0046] (1) Determine the organization level based on the video stream request initiated by the client and judge whether the current request is a preview request;

[0047] (2) If it is a preview request, determine whether the current preview video stream exists based on the current cache:

[0048] ① If it exists, obtain the streaming media service node where the video stream is located, and determine whether the streaming media directly under the video stream request is the parent node of the node where the current video stream is located:

[0049] 1) If yes, forward the video stream to the minimum streaming node of the upper load, and respond to the video stream to the client;

[0050] 2) Otherwise, directly respond the video stream to the client;

[0051] ② If it does not exist, obtain the list of the agency's direct streaming media services, obtain the streaming media service node with the smallest load in the list, and determine whether the streaming media directly requested by the video stream is the parent node of the node where the current video stream is located:

[0052] 1) If yes, forward the video stream to the minimum streaming node of the upper load, and respond to the video stream to the client;

[0053] 2) Otherwise, directly respond the video stream to the client;

[0054] (3) If it is not a preview request, execute steps (2)-②.

[0055] (4) After each video stream connection is terminated or disconnected, the streaming media load status information and the existing video stream channel information in the cache are updated, and the next connection is waited for.

[0056] Specifically, a "video preview request" usually refers to a request initiated from a monitoring center or a remote client to view the video images of one or more cameras in real time. When the bank's monitoring center operator or authorized user wants to monitor the situation at a specific location in real time, they will send a video preview request to the system. After receiving this request, the system will call the corresponding video stream based on the information in the request (such as camera ID, preview time, etc.), and transmit these video streams to the requester's device through the network for real-time playback.

[0057] Specifically, in the prior art, streaming media servers are deployed in clusters and two-level cascades, which are competent for scenarios with a small number of devices and simple streaming modes, but do not support complex business scenarios with large amounts of device data, high concurrency, and multi-level cascades. For the hierarchical management of the head office and branches in the banking field, video requests from its subordinate institutions will be intercepted by the scheduling service, which may cause loops in requests for streaming media services. For example, if the scheduling service is deployed at the head office, a client of a branch will request a video stream under its institution and will first request the scheduling service. The scheduling service will allocate a streaming media server and respond to the client, and then the client will access the corresponding streaming media. If you directly request the streaming media service of the institution at that level, there will be no loop problem, and the response time will be shorter and fewer network resources will be occupied.

[0058] During the specific implementation process, before obtaining the video request, the above method also includes the following steps: obtaining the first scheduling information of the Nth layer node, wherein the above first scheduling information is the information of the Nth layer node requesting scheduling of the N+1th layer node, N≥1; based on the above first scheduling information, scheduling the N+1th layer node to provide services for the Nth layer node.

[0059] This solution avoids the information feedback delay in traditional centralized scheduling and reduces the risk of service unavailability caused by central node downtime. In addition, through multi-level cascading and video stream multiplexing, unnecessary video stream transmission is reduced, saving network resources and costs. The intelligent scheduling strategy ensures efficient use of resources and reduces the streaming pressure of video source devices. At the same time, since the N-th layer node can directly schedule the N+1-th layer node, the request processing level is reduced, improving the efficiency of video stream processing and system performance.

[0060] Specifically, in the hierarchical deployment of the bank security system, the Nth layer node can be a monitoring center or streaming media server located at different levels such as the head office, first-level branch, and second-level branch. This node will collect and send "first scheduling information", which contains the request scheduling requirements from the Nth layer to the N+1th layer (i.e. the next layer). These requirements may include preview, playback or download requests for video streams, as well as the node's own demand assessment for video stream transmission capabilities.

[0061] The nodes at the N+1 layer (usually the streaming server cluster at the next level) will use the entropy weight method and TOPSIS model to perform intelligent scheduling based on the first scheduling information received. This process involves dynamically calculating the load of each streaming server and selecting the server with the smallest load to respond to the video stream request of the N-layer node. Once the target server is determined, the video stream will be transmitted from the video source device to the N-layer node through the optimal path to meet its monitoring needs.

[0062] Specifically, assume that the security system of a large bank adopts a three-level streaming media server deployment, namely the head office monitoring center (first layer), the first-level branch monitoring center (second layer), and the second-level branch monitoring center (third layer).

[0063] The head office monitoring center (layer 1) needs to preview the real-time video monitoring screen of the first-level branch A. The head office monitoring center will send the first scheduling information to request the scheduling of the first-level branch A's streaming media server (layer 2) to provide real-time video streams. This scheduling information not only includes the video stream ID, request type (real-time preview), and the time period of the required video, but also includes the status information of the head office monitoring center itself, such as the currently connected streaming media server and the number of acquired video streams, so that the next-level streaming media server can perform load assessment.

[0064] After receiving the information from the head office, the streaming media server cluster of the first-level branch A will use the entropy weight method to calculate the indicator weight according to the load of its own server (such as CPU usage, memory usage, bandwidth occupancy, etc.) and the existing video stream channel information, and then use the TOPSIS model to determine which server in the cluster has the smallest load and is most suitable for providing video streaming services to the head office. Assuming that the load of server B is the smallest, the cluster will schedule server B to start transmitting the video stream. After receiving the scheduling instruction, server B will start to pull the required real-time video stream from the video source device of the second-level branch and transmit it to the head office monitoring center. During the transmission process, server B will update the communication channel information of the video stream to its cache for rapid reuse of subsequent requests.

[0065] Specifically, depending on the business needs of the security system in the banking field, the network between each first-level branch may not be connected, so the equipment-second branch-first branch-head office level is introduced. The specific deployment method is as follows Figure 4 shown.

[0066] Specifically, in the banking field, it is a head office-branch form. The head office establishes a monitoring center, which is responsible for the monitoring facilities of all office sites at the head office level and the monitoring facilities of all branches to its outlets and office buildings. It can initiate a video stream request through the client of the monitoring center and has the right to view the monitoring videos of office sites across the country; for the first and second branches, a first-branch monitoring center and a second-branch monitoring center are established, which are responsible for all monitoring equipment in the first and second branches and subordinate institutions, and can initiate a video stream request at the same level and subordinate institutions through the client of the monitoring center. In order to alleviate the large number of video stream requests across the country, streaming media servers are deployed in the head office, first branch, and second branch respectively, and the existing video streams are reused, which can effectively save network resources, reduce the pressure of equipment push streaming, and achieve rapid response to client requests. Cluster servers at each institutional level share a cache, which records the status information of all streaming media servers deployed at this level and the communication channel information of existing video streams.

[0067] Specifically, the prior art does not consider the cascading problem caused by the lack of network connectivity between regions in actual operation. Currently in the banking field, due to bandwidth limitations and high private network costs, there is no network connectivity between regions, and the communication during streaming media is overly dependent on the scheduling server.

[0068] In some embodiments, before obtaining the video request, the method further includes the following steps: obtaining third scheduling information of the first node of the Mth layer, wherein the third scheduling information is information that the first node of the Mth layer requests to schedule the second node of the Mth layer, M≥2, M≤N; sending the third scheduling information to the node of the M-1th layer; based on the third scheduling information, scheduling the second node of the Mth layer to provide services to the node of the M-1th layer, and the node of the M-1th layer forwards the data sent by the second node of the Mth layer to the first node of the Mth layer.

[0069] In this solution, through cross-level data forwarding, efficient scheduling and transmission of video streams in a multi-level structure are achieved, ensuring the continuity and timeliness of data transmission. The multi-level scheduling mechanism ensures the security of information transmission between nodes at all levels. At the same time, data forwarding through upper-level nodes makes the video stream transmission path more controllable, avoiding the risk of data leakage that may be caused by direct cross-level communication.

[0070] Specifically, in a hierarchically deployed bank security system, the Mth layer can represent any intermediate level, such as a first-level branch or a second-level branch, where the value of M ranges from 2 to N (N is the highest level of the entire hierarchical structure). Assume that in the same level M, the first node (such as the streaming server cluster of the first-level branch A) needs to obtain the video stream from the second node (such as the streaming server cluster of the first-level branch B). The first node will collect and generate "third scheduling information", which contains detailed information on requesting the video stream from the second node, including the video stream ID, request type (such as real-time preview or historical playback), video time period, etc.

[0071] The first node (streaming server cluster of first-level branch A) does not communicate directly with the second node (streaming server cluster of first-level branch B), but sends the third scheduling information to the next level, namely the M-1 layer (the M-1 layer here may be the head office monitoring center where first-level branch A is located). This design takes into account the isolation of each level of the banking system and the characteristics of private network communication, ensuring the secure transmission of information.

[0072] After receiving the third scheduling information, the node at the M-1 layer (the head office monitoring center) uses the entropy weight method and the TOPSIS model to evaluate the load of the second node (the streaming server cluster of the first-level branch B) and selects the server with the smallest load to provide the video stream for the first node. Once the target server is determined, the second node at the M layer will start transmitting the video stream to the node at the M-1 layer, realizing cross-layer transmission of the video stream.

[0073] After receiving the video stream from the first-level branch B, the head office monitoring center forwards the data back to the streaming server cluster of the first-level branch A that originally issued the request. In this way, the first node does not need to communicate directly with the second node, but obtains the video stream indirectly through the node of the upper level. This mechanism ensures the controllability of data flow and communication efficiency, while also avoiding possible loop request problems.

[0074] Taking the monitoring center of the first-level branch A (assuming it is the first node of the Mth layer, M=2) as an example, it needs to obtain the video stream from the monitoring center of the first-level branch B (i.e., the second node of the Mth layer) for internal monitoring analysis or to provide video data to the head office monitoring center. The monitoring center of the first-level branch A will generate the third scheduling information based on its own needs and the load of the monitoring center of the first-level branch B. This information includes key elements such as video stream information (such as surveillance camera ID), request type (real-time preview or historical playback), and the time range of the required video.

[0075] The monitoring center of the first-level branch A will not directly initiate a request to the monitoring center of the first-level branch B, but will report the third scheduling information to its superior node, that is, the monitoring center of the head office (M-1 layer, M = 1). This design takes into account the internal network isolation and communication security of the banking system, ensuring that the request information can be transmitted safely and orderly between layers.

[0076] After receiving the third scheduling information, the head office monitoring center uses the entropy weight method and TOPSIS model to evaluate the load of the streaming server cluster of the first-level branch B monitoring center, and determines which server has the lowest CPU usage, memory usage, bandwidth occupancy and other indicators, and is most suitable for providing video streaming services for the first-level branch A. Assuming that the load of server C is the smallest, the head office monitoring center will schedule server C to start transmitting video streams.

[0077] Server C (located in the monitoring center of the first-level branch B) starts processing the video stream request, obtains video data from the video source device (such as the monitoring camera of the second-level branch), and transmits the data to the head office monitoring center. After receiving the video stream, the head office monitoring center forwards the video data to the monitoring center of the first-level branch A that originally issued the request. This process ensures the continuity and efficiency of video stream transmission, while avoiding the network delay and data security issues that may be caused by direct cross-branch communication.

[0078] Specifically, the solution of the present application considers the reuse of multi-level cascading of streaming media and video streams in streaming media, and cancels the previous centralized scheduling service in the deployment of services. Each service node in the cluster calculates its own load status, and no longer needs to wait for the stream to be taken or the stream to be closed before notifying the scheduling service, so it can be processed quickly in the streaming media service. Moreover, there will be no problem of request loops during request processing, ensuring rapid response while saving network resources. The multi-level streaming media service cluster deployment method alleviates the huge pressure of device data volume. Compared with a single service node, the performance is significantly improved. It can still operate normally in the face of concurrent requests from multiple clients, and is suitable for situations where network bandwidth is insufficient in the field of banking security.

[0079] Specifically, the solution of this application is a two-level cascade method, which can cope with scenarios with a small number of devices and a simple cascade mode, but does not support complex business scenarios with large device data volume, high concurrency and multi-level cascade. This solution proposes a streaming media multi-level cascade method suitable for the field of bank security, which alleviates the pressure of a single streaming media service node corresponding to a large number of video devices and can quickly process multiple concurrent requests.

[0080] Specifically, in order to relieve the working pressure of the streaming media server in the prior art, the current mainstream solution is the streaming media service cluster technology. In this scenario, the video transmission strategy of the streaming media has become one of the core components of the entire streaming media technology, which determines the maximum throughput of the server cluster.

[0081] At present, there are two main types of load balancing algorithms in the existing technology: static load balancing algorithm and dynamic load balancing algorithm. The operation of a general streaming media server can be evaluated by parameters such as CPU usage, memory usage, and bandwidth occupancy. The traditional static load balancing algorithm is allocated in a fixed manner. Although it is simple to implement and runs fast, the performance parameters of the streaming media cluster change in practice, making it difficult to ensure load balancing while considering the streaming media's own operating conditions and certain complex scenarios. The dynamic load balancing algorithm mainly calculates the load size based on the node status information during operation and selects the node with the smallest load to process client requests.

[0082] During the specific implementation process, according to the above-mentioned video request, obtaining the target video of the above-mentioned downstream node can be achieved through the following steps: according to the above-mentioned video request, searching whether there is cache data of the above-mentioned target video in the cache; if the above-mentioned cache data of the above-mentioned target video is in the cache, scheduling the above-mentioned downstream node where the above-mentioned target video is located; finding the above-mentioned target video from the above-mentioned streaming media server of the above-mentioned downstream node, and sending the above-mentioned target video to the above-mentioned upstream node.

[0083] In this solution, through the cache mechanism, the system can quickly respond to repeated video requests without having to re-acquire the video stream from the video source device, significantly improving the scheduling speed of the video stream and user experience. The reuse of cached data reduces the frequent access to the video source device and reduces the bandwidth requirements for data transmission.

[0084] Specifically, when a monitoring center (upstream node) issues a video request, such as requesting preview or playback of a specific video stream (target video) of a branch, the system will first search its cache for cached data of the video. Cached data refers to video streams that have been previously requested and stored locally or on nodes at the same level. The purpose is to quickly respond to future identical requests, reduce frequent access to video source devices, and save network bandwidth.

[0085] If the cache data of the target video is found in the cache, the system will directly dispatch the downstream node where the video is located (that is, the node that provides the video stream, usually the monitoring center of the first or second branch where the video source device is located). The downstream node will search for the target video from its local storage or the streaming media server being transmitted according to the dispatch instruction, and prepare to send it to the upstream node.

[0086] After receiving the scheduling request, the streaming media server of the downstream node will search the storage location or transmission status of the target video from its database. If the target video is currently being transmitted or has been stored, the server will transmit the video data to the upstream node. After the upstream node receives the video data, it completes the preview or playback request. The entire process does not need to pull the video stream from the video source device again, which greatly reduces the delay and bandwidth consumption of network communication.

[0087] Assume that in a security monitoring system of a large bank, the head office monitoring center (upstream node) needs to preview the real-time video monitoring screen of the first-level branch X. The system is deployed using a multi-level streaming server cluster, including the head office monitoring center, multiple first-level branch monitoring centers (M layers, M = 2) and second-level branch monitoring centers (N layers, N = 3).

[0088] When the head office monitoring center sends a video request to obtain the video stream of the first-level branch X, the system first searches the cache data of the video stream in the cache of the head office monitoring center. The cache records the communication channel information of all acquired video streams, including the identification of the streaming media server, the ID of the video stream, and the current transmission status of the video stream.

[0089] If the video stream data of the first-level branch X is found in the cache, it means that there is a video stream that is currently being transmitted or stored and can be reused. At this time, the system will schedule the downstream node where the target video is located, that is, the streaming server cluster of the first-level branch X. The scheduling process involves dynamically evaluating the load of each node in the streaming server cluster of the first-level branch X, using the entropy weight method to calculate the weight of the hardware module utilization rate, and combining the TOPSIS model to determine which server in the cluster has the smallest load and is most suitable for providing video streaming services to the head office.

[0090] In the streaming server cluster of the first-level branch X, the scheduled server will start to search for the target video from the video streams it stores or is transmitting. The server identifies the communication channel information of the target video through the internal video stream management mechanism. This information includes the video stream ID, timestamp, video source device identifier, and the current status of the video stream (such as: transmitting, stored, or not acquired). Once the target video is found, the server starts to prepare the video data and sends the video stream to the head office monitoring center through the dedicated network.

[0091] For example, a security analyst at the head office monitoring center selects to preview the real-time surveillance video of the first-level branch X on the monitoring system client. After receiving the video request, the system first searches the cache of the head office for the video stream cache data of the first-level branch X. Due to a previous preview request, the video stream has been cached, and the system quickly finds the cache information of the target video. Next, the system dispatches the streaming server cluster of the first-level branch X to determine the best node for providing the video stream.

[0092] In the streaming server cluster of the first-level branch X, the entropy weight method and TOPSIS model were used to evaluate the load, and server D was determined to be the node with the smallest load and the most suitable as the video source. Server D found the target video stream from its cache and began to transmit the video data to the head office monitoring center. After the head office monitoring center received the video data, the analyst's client displayed the real-time monitoring screen of the first-level branch X. The whole process was efficient and fast.

[0093] In some embodiments, according to the above-mentioned video request, the target video of the above-mentioned downstream node is obtained, which can be specifically achieved through the following steps: when the above-mentioned cache data of the above-mentioned target video is not in the cache, calling the camera of the above-mentioned downstream node; controlling the above-mentioned camera of the above-mentioned downstream node to perform shooting, obtain the above-mentioned target video, and send the above-mentioned target video to the above-mentioned upstream node.

[0094] In this solution, when the target video does not exist in the cache, the camera can be quickly called for real-time shooting or historical video retrieval, providing instant response capabilities to sudden or first-time request events. Although there is no cached data, the target camera is precisely scheduled to avoid unnecessary video resource pull and reduce network bandwidth consumption, especially when network resources are limited. Even if there is no cached data, the camera can still be dynamically called to flexibly handle various video requests, including real-time monitoring and historical video playback, which improves the adaptability and flexibility of the solution.

[0095] Specifically, when the monitoring center (upstream node) issues a video request, if the requested video stream (target video) is not found in the cache (a mechanism that temporarily stores data to quickly respond to requests), it means that the video stream has not been requested before or has expired and is not cached.

[0096] Downstream nodes refer to the monitoring centers of the first or second level branches where the video source devices (such as cameras) are located. The system will send control instructions to these nodes to call the cameras corresponding to the target video. The instructions contain key information such as the camera ID, the requested video stream type (real-time or historical), and the time period of the required video.

[0097] After receiving the call instruction, the streaming media server of the downstream node will control the target camera to start working. If it is a real-time video request, the camera will start real-time shooting and push the video stream; if the request is for historical video, the camera or its connected storage device will retrieve the video data of the corresponding time period from the storage. The streaming media server is responsible for processing and encoding the video data to form the target video stream.

[0098] Once the target video stream is acquired, the streaming server will send it to the monitoring center (upstream node) that requested the video. This process may involve cross-level transmission, such as from the second-level branch monitoring center to the first-level branch, and then to the head office monitoring center, to ensure that the video stream can be transmitted along the preset optimized path to achieve the goals of fast response and low network consumption.

[0099] Suppose the security personnel of the head office monitoring center need to check the surveillance video of the business hall of the first-level branch X on a certain day. After receiving this video request, the system of the monitoring center will first search the cache to see whether there is corresponding surveillance video data of the first-level branch X in the requested time period. If it does not exist in the cache (perhaps because there has been no similar request before, or the cached data has expired), the system will proceed to the next step, which is to call the camera.

[0100] When the system recognizes that the video request cannot be satisfied by the cached data, it sends a control instruction to the streaming media server of the first-level branch X, requesting to call and start the surveillance camera in the business hall. This step may involve searching the camera database, locating the target camera, and sending specific shooting instructions, including video quality settings, shooting time period, etc.

[0101] After receiving the call instruction from the head office, the streaming media server of the first-level branch X will control the designated camera to start working. If it is a real-time video request, the camera will start real-time shooting and generate a video stream; if it is a historical video playback request, the system will retrieve and extract the video data within the requested time range from the storage device. The streaming media server is responsible for processing and encoding the video data and converting it into a transmittable video stream format.

[0102] The streaming media server of the first-level branch X sends the generated or retrieved target video stream to the head office monitoring center. This process may involve video streaming transmission through a dedicated network to ensure the security and transmission speed of video data. After the head office monitoring center receives the video stream, the video request is satisfied, and the security personnel can view or replay the target video in the monitoring system.

[0103] Specifically, in the prior art solutions, the weights used to calculate the streaming media with the smallest load are fixed based on the usage rate of the streaming media's hardware modules, the number of streaming paths, the number of preset specification paths, and the number of video streams that have been acquired from the device but not forwarded to the upper-level streaming media. However, in actual situations, hardware usage information is often closely related to the performance of the streaming media, the weights are not fixed, and the artificially given empirical values ​​often have deviations and cannot accurately measure the actual load of the streaming media.

[0104] In the specific implementation process, before sending the target video of the downstream node to the target streaming media server of the upstream node, the method also includes the following steps: obtaining relevant indicators of the streaming media server, wherein the relevant indicators include one or more of CPU utilization, memory utilization, bandwidth utilization, preview path, playback download path, and video download path; determining the weight values ​​of all the relevant indicators according to the entropy weight method; and using the TOPSIS algorithm to screen from the multiple streaming media servers according to the relevant indicators and the weight values ​​corresponding to the relevant indicators to find the target streaming media server.

[0105] In this solution, the entropy weight method and TOPSIS algorithm are combined to intelligently evaluate the current load and performance of the streaming media server, realize dynamic load balancing of the server cluster, and ensure the high efficiency and stability of the video service. This technology ensures that the video request is assigned to the server with the best performance and the smallest load, avoids excessive resource consumption and server overload, and optimizes the resource utilization efficiency of the entire system. The intelligent screening mechanism can quickly identify and schedule the target streaming media server, reduce the waiting time for video request processing, and improve the instant response capability of video monitoring and playback.

[0106] When the system needs to process a video request, it first collects performance metrics of the streaming media server related to video transmission. These metrics can include:

[0107] CPU usage: reflects the server's ability to process video streams and current workload.

[0108] Memory usage: Indicates the available memory on the server, which has a direct impact on the caching and processing speed of video streams.

[0109] Bandwidth usage: determines the efficiency and quality of video streaming. Insufficient bandwidth may cause video transmission delays or interruptions.

[0110] Preview channels: counts the number of real-time preview video streams currently being processed by the server, which affects the real-time response capability of the server.

[0111] Playback channels: Calculates the number of video streams in the ongoing historical playback, reflecting the usage of server resources by high-definition streams.

[0112] Video download paths: records the number of video file download requests in progress on the server, which affects the server's storage and transmission capabilities.

[0113] The entropy weight method is a statistical method used to dynamically evaluate and determine the weight of indicators. In this scenario, the system uses the entropy weight method to analyze the above-collected streaming server-related indicators and calculate the weight value of each indicator's impact on the overall server performance. The size of the weight value reflects the relative importance of the indicator to the streaming server performance evaluation in the current scenario.

[0114] TOPSIS (Technique for Order Preference by Similarity to an Ideal Solution) is a multi-criteria decision analysis method used to determine the option that is closest to the ideal solution. This system uses the TOPSIS algorithm, combined with the previously determined indicators and weight values, to evaluate the performance of each streaming server and select the target streaming server with the best performance and the most suitable for the current video request requirements from multiple servers. This algorithm takes into account the comprehensive impact of all relevant indicators, including not only hardware performance indicators, but also the load of real-time and historical video services, ensuring that the selected server achieves the best balance in all aspects.

[0115] In a specific application scenario, in a multi-level security monitoring system of a large bank, the head office monitoring center needs to intelligently schedule streaming media servers in an environment with high concurrent requests for real-time and historical data to ensure efficient and stable video streaming. The following are detailed implementation steps and effect demonstrations based on the above technical description:

[0116] When the head office monitoring center receives a real-time video preview request from a first-level branch, the system starts to collect key performance indicators from multiple streaming servers. Assume that there are three streaming servers: A, B, and C. The indicators obtained by the system include: CPU usage, memory usage, bandwidth usage, number of current preview video streams, number of ongoing historical video playback downloads, and number of video file downloads for each server.

[0117] The indicators of server A are: CPU utilization 50%, memory utilization 60%, bandwidth utilization 40%, preview paths 10, playback download paths 5, video download paths 3.

[0118] The indicators of server B are: CPU utilization 30%, memory utilization 70%, bandwidth utilization 50%, preview channels 15, playback download channels 7, video download channels 2.

[0119] The indicators of server C are: CPU utilization 40%, memory utilization 50%, bandwidth utilization 30%, preview paths 8, playback download paths 4, video download path 1.

[0120] The entropy weight method is used to calculate the weights of the above six indicators (CPU usage, memory usage, bandwidth usage, preview paths, playback download paths, and video download paths). Assume that after calculation, the weights are: 0.15 (CPU), 0.20 (memory), 0.25 (bandwidth), 0.15 (preview paths), 0.15 (playback download paths), and 0.10 (video download paths). These weights reflect the importance of each indicator to the performance of the streaming media server in the current video service environment.

[0121] Next, the system uses the TOPSIS algorithm to comprehensively evaluate the calculated weight values ​​and the relevant indicators of each server to determine which server is most suitable as the target server for video streaming. The TOPSIS algorithm first standardizes the indicator values ​​of each server, then calculates the positive and negative ideal solution distances of each server based on the weight values, and finally determines the server closest to the positive ideal solution as the target server.

[0122] Assume that after TOPSIS algorithm calculation, the closeness of servers A, B, and C are 0.65, 0.82, and 0.74 respectively. Therefore, the system will select server B as the target streaming server to handle the video preview request from the first-level branch.

[0123] Specifically, this solution is based on the video streaming transmission of the entropy weight-TOPSIS model. This method takes into account the type of client video stream request, the reuse of existing video streams, and the selection of the minimum load streaming media, thereby improving the throughput of the streaming media cluster system and providing a good experience for the client. Before the client initiates a video request, it will query the streaming media cluster cache directly under the institution where the client is located to obtain the streaming media server with the lowest current load, and then connect to the target server and proceed to the subsequent steps.

[0124] Specifically, this solution selects the service node with the smallest load as the optimal node based on the entropy weight-TOPSIS model, and dynamically calculates the weights of each indicator using the entropy weight method to avoid the inaccuracy caused by empirical values; the TOPSIS model is combined with the CPU utilization rate, memory utilization rate, bandwidth utilization rate, number of preview paths, playback / video download paths and other indicators of the streaming media server to achieve the selection of the node with the smallest load, thereby improving the throughput of the streaming media cluster system and providing a good experience for the client.

[0125] Specifically, this scheme is used to dynamically determine the weights of various indicators on the streaming media server, such as CPU usage, memory usage, bandwidth usage, etc. The entropy weight method is based on the information entropy theory. The smaller the information entropy, the greater the discreteness of the indicator, and the greater its impact on the comprehensive evaluation, that is, the higher the weight should be. This method avoids the use of fixed or empirical weights and can more accurately reflect the actual load of the server.

[0126] The full name of the TOPSIS model is Technique for Order Preference by Similarity to an Ideal Solution. (TOPSIS) is a decision analysis method used to find the best and second-best solutions among multiple alternatives. In this solution, the TOPSIS model is used to select the streaming server with the smallest load. It evaluates the performance of the server by calculating the distance between each server and the "ideal solution" (best indicator value) and the "worst solution" (worst indicator value). The server that is closer to the ideal solution and farther from the worst solution is considered to have the smallest load and is most suitable as a node for video streaming transmission.

[0127] Specifically, in the above scheme, when selecting the streaming media with the smallest load according to the status information of the streaming media, the calculation weight is fixed. However, in actual situations, the hardware utilization rate is often closely related to the performance of the streaming media, the weight is not fixed, and the empirical value often has deviations, which cannot accurately measure the actual load of the streaming media. This scheme provides a dynamically adjustable weight according to the running status, comprehensively considers the influencing conditions of various indicators and obtains the best choice.

[0128] Currently, due to bandwidth limitations and high private network costs in the banking field, there is no network connectivity between regions, and the communication during streaming media is overly dependent on the scheduling server. In addition, video requests will be intercepted by the scheduling service, which may cause loops in streaming media service requests. This solution proposes to directly send requests to the streaming media service directly under the institution at that level. Each service updates the cache information according to the current status, so there will be no loop problem, and the response time will be shorter and less network resources will be occupied.

[0129] Specifically, the method for obtaining the streaming media server with the smallest load mentioned in the above steps selects the CPU usage, memory usage, bandwidth usage, number of preview paths, and number of playback / video download paths of the streaming media server as the load calculation indicators for the streaming media service. The weight of each indicator is calculated using the entropy weight method to dynamically measure the impact of each indicator on the streaming media load. Then, according to the TOPSIS model, the streaming media node with the smallest load is selected as the one that is closest to the optimal solution and farthest from the worst solution in the cluster. The node with the smallest load is selected according to the entropy weight-TOPSIS model, such as Figure 5 As shown, the specific steps are as follows:

[0130] (1) Data standardization:

[0131] Suppose there are m streaming media server nodes, there are n node load evaluation indicators, and the server node to be evaluated is denoted as X ij(i=1,2…,m;j=1,2…,n) is the jth evaluation index of the i-th server node, and the data matrix X corresponding to the index is as follows:

[0132]

[0133] Since the selected evaluation indicators have different properties and magnitudes, if we want to use the entropy weight method to assign weights, we must first eliminate the impact of these differences on the evaluation results. After the original evaluation matrix model X is processed by data standardization, the new matrix Y = {y ij}(0≤i≤1,0≤j≤1),y ij is the standard value of the jth evaluation index value of the i-th evaluation object after standardization, y ij ∈[0,1]. Convert all indicators into the direction where the smaller the indicator, the better. The specific formula is:

[0134]

[0135] The matrix Y after normalization transformation is:

[0136]

[0137] (2) Determine the proportion of the jth indicator of the i-th evaluation sample to the indicator, and calculate the entropy value of the j-th indicator:

[0138]

[0139]

[0140] (3) Calculate the degree of difference in entropy values:

[0141] g j =1-e j .

[0142] (4) Calculate the entropy weight of the jth indicator:

[0143]

[0144] (5) Construct a normalized decision matrix:

[0145] According to the needs of TOPSIS calculation, normalization processing is performed on the basis of the standardization processing in step 1 to facilitate the consistency of direction when calculating positive and negative ideal solutions in the subsequent text.

[0146]

[0147] After normalization, we get a new matrix:

[0148]

[0149] Combine the calculated entropy weight Wj and multiply the matrix Y′ to obtain the objective weighted evaluation matrix formula:

[0150]

[0151] (6) Calculate the optimal and worst solutions based on the weighted evaluation matrix:

[0152]

[0153] (7) Calculate the distance from the weighted normalized vector of sample evaluation index to the optimal solution and the worst solution

[0154]

[0155] (8) Calculate the degree of closeness of the optimal solution of each streaming media and sort them in ascending order. The higher the ranking, the lower the load, and vice versa.

[0156]

[0157] In some embodiments, after sending the target video of the downstream node to the target streaming server of the upstream node, the method further includes the following steps: obtaining the status information and video channel information of the streaming server in the cache, wherein the status information is the operating status data of the streaming server at a certain moment, and the video channel information is the transmission path of the video stream; updating the status information and the video channel information in the cache to obtain the updated status information and the updated video channel information.

[0158] In this solution, by updating status information in real time, the server load can be accurately understood, over-allocation of resources can be avoided, and dynamic load balancing of the server cluster can be achieved. This not only improves the efficiency of resource utilization, but also ensures the stability and response speed of video services. The updated video channel information can help quickly identify which video streams have been cached or are being transmitted, thereby realizing the reuse of video streams, reducing frequent access to source devices and consumption of network resources, and improving the overall efficiency of video services.

[0159] Specifically, in the bank's multi-level security monitoring system, each level of the monitoring center deploys a streaming server cluster to handle the reception, forwarding and storage of video streams. In order to achieve fast and intelligent video stream scheduling, the system maintains a cache that stores the status information of the streaming server and video channel information.

[0160] Status information refers to the operating status data of the streaming media server at a certain moment, including but not limited to CPU usage, memory usage, bandwidth usage, video stream preview and playback channels, etc. These data reflect the current load and performance of the server and are crucial for intelligent scheduling.

[0161] Video channel information refers to the transmission path of the video stream in the server cluster, including the source device of the video stream, the streaming media server it passes through, and the target receiver (such as the client of the monitoring center). This information is used to quickly identify the current location of the video stream and whether there is already a server processing the same video stream, so as to achieve video stream reuse and reduce additional resource consumption.

[0162] The system automatically updates the streaming media server status information and video channel information in the cache periodically or when a specific event triggers (such as the start or end of video streaming transmission). The update of status information involves real-time collection of server performance data, including CPU, memory and bandwidth usage, as well as the preview and playback paths of video streaming. The update of video channel information includes recording the latest transmission path of the video streaming, and which servers are processing or have processed a specific video stream.

[0163] After the update process is completed, the system will have the latest and accurate streaming server status information and video channel information. This updated information is crucial for subsequent video streaming scheduling decisions, ensuring that the system can make the best decision based on current server performance and resource usage when processing new video requests.

[0164] Specifically, status information refers to the operating status data of the streaming media server at a certain moment, including but not limited to the following:

[0165] CPU usage: the degree of occupancy of the server processor;

[0166] Memory usage: the usage of available memory on the server;

[0167] Bandwidth usage: The bandwidth usage of the network connection, especially the part used for video streaming;

[0168] Preview channels: the number of video streams currently being previewed by the client;

[0169] Playback / video download paths: The number of video streams that are being played back or downloaded.

[0170] This information is an important indicator of the streaming media server load. By updating the status information in real time, the system can accurately determine the real-time load status of the server and provide a basis for the subsequent entropy weight calculation and TOPSIS model to select the minimum load node.

[0171] Video stream channel information refers to the path and status details of the video stream from the video source to the client, including:

[0172] Video stream ID: an ID used to uniquely identify a video stream;

[0173] Source streaming server: the streaming server where the video stream is originally located;

[0174] Current streaming server: The server that currently transmits the video stream, which may have been transmitted through multiple streaming servers;

[0175] Client information: Information about the client receiving the video stream, including the client ID and connection status.

[0176] The above solution can ensure that the same video stream can be reused by multiple requests, avoiding resource waste and repeated bandwidth consumption. Determine the shortest path from the source to the client to reduce transmission delay. After the video stream transmission is interrupted, the transmission can be quickly resumed without re-establishing the connection or starting the stream from scratch.

[0177] Whenever the video stream connection ends (e.g. the client stops previewing the video) or the video stream is disconnected (e.g. due to a network problem), the streaming media server will update the above status information and video stream channel information. This means that the server load will be adjusted in real time, and the multiplexing status of the video stream will also be updated. The system can immediately reflect the latest resource availability and provide the most optimized scheduling decision for the next video stream request. This mechanism ensures high performance and efficiency of the system, especially in high concurrency and bandwidth-constrained environments.

[0178] In summary, the scheme of this application uses the entropy weight method and the TOPSIS model to dynamically evaluate the load of the streaming media server and select the optimal service node accordingly. The entropy weight method dynamically adjusts the indicator weight by calculating the information entropy of each indicator to reflect the actual load of the server. The TOPSIS model is based on the optimized weights, comprehensively considers multiple indicators (such as CPU usage, memory usage, bandwidth usage, etc.), calculates the distance between each server and the ideal state, and selects the server closest to the ideal state, that is, the server with the smallest load, to respond to the video streaming request.

[0179] The solution of this application emphasizes the reuse of existing video streams during video stream transmission, rather than re-pulling them each time. This means that if a video stream has been used by a client, other clients can use the existing stream when requesting the same video stream, without having to push the stream again from the source. This greatly reduces the demand for network bandwidth and the pressure on the video source, and improves resource utilization.

[0180] The solution of this application also takes into account the hierarchical management characteristics of the bank security system and designs a multi-level streaming service cluster deployment method to avoid the delay and request loop problems that may be caused by the traditional centralized scheduling server. Each streaming service node can make independent decisions based on local cache and status information without waiting for the response of the central scheduling server, which speeds up the request processing speed and enhances the stability and responsiveness of the system.

[0181] The embodiment of the present application also provides a video stream transmission device applied to a bank. It should be noted that the video stream transmission device applied to a bank in the embodiment of the present application can be used to execute the video stream transmission method for applying to a bank provided in the embodiment of the present application. The device is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware for a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0182] The following is an introduction to the video stream transmission device applied to a bank provided in an embodiment of the present application.

[0183] Figure 6 FIG. 1 is a structural block diagram of a video stream transmission device applied to a bank according to an embodiment of the present application. Figure 6 As shown, the device comprises:

[0184] A first acquisition unit 10 is used to acquire a video request, wherein the video request is a request from an upstream node to a downstream node to send a video;

[0185] A second acquisition unit 20, configured to acquire a target video of the downstream node according to the video request;

[0186] The sending unit 30 is used to send the target video of the downstream node to the target streaming server of the upstream node, wherein the upstream node includes multiple streaming servers, and the target streaming server is the streaming server with the smallest load among the multiple streaming servers.

[0187] Through this embodiment, when video needs to be transmitted, the downstream transmits the video to the upstream streaming media server with the smallest load. This can improve the throughput of the streaming media cluster. The video can be allocated to the streaming media server with the best performance and the fastest response, thereby achieving load balancing of the streaming media servers and avoiding overloading of a single streaming media server.

[0188] During the specific implementation process, the above-mentioned device also includes a third acquisition unit and a scheduling unit. The third acquisition unit is used to obtain the first scheduling information of the Nth layer node before obtaining the video request, wherein the above-mentioned first scheduling information is the information that the Nth layer node requests to schedule the N+1th layer node, N≥1; the scheduling unit is used to schedule the N+1th layer node to provide services for the Nth layer node based on the above-mentioned first scheduling information.

[0189] This solution avoids the information feedback delay in traditional centralized scheduling and reduces the risk of service unavailability caused by central node downtime. In addition, through multi-level cascading and video stream multiplexing, unnecessary video stream transmission is reduced, saving network resources and costs. The intelligent scheduling strategy ensures efficient use of resources and reduces the streaming pressure of video source devices. At the same time, since the N-th layer node can directly schedule the N+1-th layer node, the request processing level is reduced, improving the efficiency of video stream processing and system performance.

[0190] In some embodiments, the above-mentioned device also includes a fourth acquisition unit, a sending unit and a processing unit, and the fourth acquisition unit is used to obtain the third scheduling information of the first node of the Mth layer before obtaining the video request, wherein the above-mentioned third scheduling information is the information that the above-mentioned first node of the Mth layer requests to schedule the second node of the Mth layer, M≥2, M≤N; the sending unit is used to send the above-mentioned third scheduling information to the node of the M-1th layer; the processing unit is used to schedule the above-mentioned second node of the Mth layer to provide services for the node of the M-1th layer based on the above-mentioned third scheduling information, and the node of the M-1th layer forwards the data sent by the above-mentioned second node of the Mth layer to the above-mentioned first node of the M layer.

[0191] In this solution, through cross-level data forwarding, efficient scheduling and transmission of video streams in a multi-level structure are achieved, ensuring the continuity and timeliness of data transmission. The multi-level scheduling mechanism ensures the security of information transmission between nodes at all levels. At the same time, data forwarding through upper-level nodes makes the video stream transmission path more controllable, avoiding the risk of data leakage that may be caused by direct cross-level communication.

[0192] During the specific implementation process, the second acquisition unit includes a search module, a scheduling module and a sending module. The search module is used to search whether there is cache data of the above-mentioned target video in the cache according to the above-mentioned video request; the scheduling module is used to schedule the above-mentioned downstream node where the above-mentioned target video is located when the above-mentioned cache data of the above-mentioned target video is in the cache; the sending module is used to find the above-mentioned target video from the above-mentioned streaming media server of the above-mentioned downstream node, and send the above-mentioned target video to the above-mentioned upstream node.

[0193] In this solution, through the cache mechanism, the system can quickly respond to repeated video requests without having to re-acquire the video stream from the video source device, significantly improving the scheduling speed of the video stream and user experience. The reuse of cached data reduces the frequent access to the video source device and reduces the bandwidth requirements for data transmission.

[0194] In some embodiments, the second acquisition unit includes a calling module and a processing module. The calling module is used to call the camera of the downstream node when there is no cached data of the target video in the cache; the processing module is used to control the camera of the downstream node to perform shooting, obtain the target video, and send the target video to the upstream node.

[0195] In this solution, when the target video does not exist in the cache, the camera can be quickly called for real-time shooting or historical video retrieval, providing instant response capabilities to sudden or first-time request events. Although there is no cached data, the target camera is precisely scheduled to avoid unnecessary video resource pull and reduce network bandwidth consumption, especially when network resources are limited. Even if there is no cached data, the camera can still be dynamically called to flexibly handle various video requests, including real-time monitoring and historical video playback, which improves the adaptability and flexibility of the solution.

[0196] During the specific implementation process, the above-mentioned device also includes a fifth acquisition unit, a determination unit and a screening unit. The fifth acquisition unit is used to obtain relevant indicators of the above-mentioned streaming media server before sending the above-mentioned target video of the above-mentioned downstream node to the target streaming media server of the above-mentioned upstream node, wherein the above-mentioned relevant indicators include one or more of CPU utilization, memory utilization, bandwidth utilization, preview channels, playback download channels, and video download channels; the determination unit is used to determine the weight values ​​of all the above-mentioned relevant indicators according to the entropy weight method; the screening unit is used to adopt the TOPSIS algorithm, according to the above-mentioned relevant indicators and the weight values ​​corresponding to the above-mentioned relevant indicators, to screen from the multiple above-mentioned streaming media servers and find the above-mentioned target streaming media server.

[0197] In this solution, the entropy weight method and TOPSIS algorithm are combined to intelligently evaluate the current load and performance of the streaming media server, realize dynamic load balancing of the server cluster, and ensure the high efficiency and stability of the video service. This technology ensures that the video request is assigned to the server with the best performance and the smallest load, avoids excessive resource consumption and server overload, and optimizes the resource utilization efficiency of the entire system. The intelligent screening mechanism can quickly identify and schedule the target streaming media server, reduce the waiting time for video request processing, and improve the instant response capability of video monitoring and playback.

[0198] In some embodiments, the above-mentioned device also includes a sixth acquisition unit and an update unit. The sixth acquisition unit is used to obtain the status information and video channel information of the above-mentioned streaming media server in the cache after sending the above-mentioned target video of the above-mentioned downstream node to the target streaming media server of the above-mentioned upstream node, wherein the above-mentioned status information is the operating status data of the above-mentioned streaming media server at a certain moment, and the above-mentioned video channel information is the transmission path of the video stream; the update unit is used to update the above-mentioned status information and the above-mentioned video channel information in the cache to obtain the updated above-mentioned status information and the updated above-mentioned video channel information.

[0199] In this solution, by updating status information in real time, the server load can be accurately understood, over-allocation of resources can be avoided, and dynamic load balancing of the server cluster can be achieved. This not only improves the efficiency of resource utilization, but also ensures the stability and response speed of video services. The updated video channel information can help quickly identify which video streams have been cached or are being transmitted, thereby realizing the reuse of video streams, reducing frequent access to source devices and consumption of network resources, and improving the overall efficiency of video services.

[0200] The video stream transmission device applied to a bank includes a processor and a memory. The first acquisition unit, the second acquisition unit and the sending unit are stored in the memory as program units, and the processor executes the program units stored in the memory to implement corresponding functions. The modules are all located in the same processor; or, the modules are located in different processors in any combination.

[0201] The processor includes a kernel, which calls the corresponding program unit from the memory. One or more kernels can be set, and the kernel parameters can be adjusted to solve the problem of load imbalance in the streaming media polling scheduling strategy in the prior art, which may cause a single streaming media to be overloaded or even crash, thereby affecting the stable operation of the entire system.

[0202] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0203] An embodiment of the present invention provides a computer-readable storage medium, which includes a stored program. When the program is running, the device where the computer-readable storage medium is located is controlled to execute the video stream transmission method applied to banks.

[0204] An embodiment of the present invention provides a processor, which is used to run a program, wherein the program executes the video stream transmission method applied to a bank when running.

[0205] An embodiment of the present invention provides a device, the device includes a processor, a memory, and a program stored in the memory and executable on the processor, and when the processor executes the program, at least steps of a video stream transmission method applied to a bank are implemented. The device in this article can be a server, a PC, a PAD, a mobile phone, etc.

[0206] A computer program product includes a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the video stream transmission method applied to a bank in each embodiment of the present application are implemented.

[0207] The present application also provides a video transmission system, comprising: one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs include means for executing any one of the above-mentioned video stream transmission methods applied to banks.

[0208] Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.

[0209] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0210] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0211] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0212] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0213] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0214] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0215] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0216] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0217] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A video stream transmission method applied to a bank, characterized in that: include: Obtaining a video request, wherein the video request is a request from an upstream node to a downstream node to send a video; According to the video request, obtaining the target video of the downstream node; The target video of the downstream node is sent to the target streaming server of the upstream node, wherein the upstream node includes multiple streaming servers, and the target streaming server is the streaming server with the smallest load among the multiple streaming servers.

2. The method according to claim 1, characterized in that Before obtaining the video request, the method further includes: Acquire first scheduling information of the Nth layer node, wherein the first scheduling information is information that the Nth layer node requests to schedule the N+1th layer node, where N≥1; Based on the first scheduling information, the N+1th layer node is scheduled to provide services for the Nth layer node.

3. The method according to claim 2, characterized in that Before obtaining the video request, the method further includes: Acquire third scheduling information of the first node of the Mth layer, wherein the third scheduling information is information that the first node of the Mth layer requests to schedule the second node of the Mth layer, M≥2, M≤N; Sending the third scheduling information to the node of the M-1th layer; Based on the third scheduling information, the second node of the Mth layer is scheduled to provide services for the nodes of the M-1th layer, and the nodes of the M-1th layer forward the data sent by the second node of the Mth layer to the first node of the Mth layer.

4. The method according to claim 1, characterized in that: Acquiring a target video of the downstream node according to the video request includes: According to the video request, searching in the cache whether there is cache data of the target video; When the cache data of the target video is present in the cache, scheduling the downstream node where the target video is located; The target video is found from the streaming media server of the downstream node, and the target video is sent to the upstream node.

5. The method according to claim 4, characterized in that Acquiring a target video of the downstream node according to the video request includes: In the case where the cached data of the target video is not present in the cache, calling the camera of the downstream node; The camera of the downstream node is controlled to shoot, obtain the target video, and send the target video to the upstream node.

6. The method according to claim 1, characterized in that Before sending the target video of the downstream node to the target streaming media server of the upstream node, the method further includes: Obtain relevant indicators of the streaming media server, wherein the relevant indicators include one or more of CPU usage, memory usage, bandwidth usage, preview paths, playback download paths, and video download paths; Determine the weight values ​​of all the relevant indicators according to the entropy weight method; The TOPSIS algorithm is adopted to screen the plurality of streaming media servers according to the relevant indicators and the weight values ​​corresponding to the relevant indicators, and find the target streaming media server.

7. The method according to any one of claims 1 to 6, characterized in that After sending the target video of the downstream node to the target streaming media server of the upstream node, the method further includes: Acquire the state information and video channel information of the streaming media server in the cache, wherein the state information is the operation status data of the streaming media server at a certain moment, and the video channel information is the transmission path of the video stream; The state information and the video channel information in the cache are updated to obtain the updated state information and the updated video channel information.

8. A video stream transmission device used in a bank, characterized in that: include: A first acquisition unit, configured to acquire a video request, wherein the video request is a request from an upstream node to a downstream node to send a video; A second acquisition unit, configured to acquire a target video of the downstream node according to the video request; A sending unit is used to send the target video of the downstream node to the target streaming server of the upstream node, wherein the upstream node includes multiple streaming servers, and the target streaming server is the streaming server with the smallest load among the multiple streaming servers.

9. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the video stream transmission method applied to a bank as described in any one of claims 1 to 7 are implemented.

10. A video transmission system, characterized in that: include: One or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs include a method for executing the video streaming transmission method for a bank as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method and device for transmitting streaming media data

    CN106534217A

  • Dynamic feedback load balancing method based on weighted least connection

    CN106790381A

  • Network live streaming delivery method, system and device

    CN107645485A

  • Audio and video stream load balancing method and device

    CN111193788A

  • Distributed streaming media grouping management system and method, equipment and medium

    CN114040166A