CN109547727B - Data caching method and device - Google Patents

Data caching method and device Download PDF

Info

Publication number
CN109547727B
CN109547727B CN201811203720.2A CN201811203720A CN109547727B CN 109547727 B CN109547727 B CN 109547727B CN 201811203720 A CN201811203720 A CN 201811203720A CN 109547727 B CN109547727 B CN 109547727B
Authority
CN
China
Prior art keywords
memory
data packet
memory blocks
memory block
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811203720.2A
Other languages
Chinese (zh)
Other versions
CN109547727A (en
Inventor
崔博
朱道彦
潘庭勇
杨春晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visionvera Information Technology Co Ltd
Original Assignee
Visionvera Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Visionvera Information Technology Co Ltd filed Critical Visionvera Information Technology Co Ltd
Priority to CN201811203720.2A priority Critical patent/CN109547727B/en
Publication of CN109547727A publication Critical patent/CN109547727A/en
Application granted granted Critical
Publication of CN109547727B publication Critical patent/CN109547727B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a data caching method and device, which are applied to a video network. The method comprises the following steps: the video network terminal applies for a set number of memory blocks as a memory pool for data caching by calling a preset memory application function in an operating system; the video networking terminal receives a data packet which is issued by the video networking server based on a video networking protocol according to a downlink communication link configured for the video networking terminal; and the video network terminal allocates a target memory block required by the data packet from the memory pool and caches the data packet to the target memory block. The invention can only call the memory application function in the operating system once at the beginning to apply for a larger memory as the memory pool, and directly allocate the memory blocks from the memory pool during the subsequent data caching, thereby avoiding the section error of the memory application function when frequently calling without dynamically and frequently calling the operating system, and improving the stability of the system.

Description

Data caching method and device
Technical Field
The present invention relates to the field of video networking technologies, and in particular, to a data caching method and a data caching device.
Background
With the rapid development of network technologies, bidirectional communications such as video conferences, video teaching, video phones, and the like are widely popularized in the aspects of life, work, learning, and the like of users. In the communication process, the terminals of the two communication parties can mutually transmit data. After receiving the data, the terminal firstly caches the data and carries out corresponding processing, and then decodes, displays and the like the data.
In the prior art, after receiving data each time, a terminal applies for a memory with a size required by the data by calling an operating system, so that the operating system needs to be frequently called, and the frequent calling can cause errors in the system, thereby reducing the stability of the system.
Disclosure of Invention
In view of the above problems, embodiments of the present invention are proposed to provide a data caching method and a corresponding data caching apparatus that overcome or at least partially solve the above problems.
In order to solve the above problem, an embodiment of the present invention discloses a data caching method, which is applied to a video network, where the video network includes a video network terminal and a video network server, and the method includes:
the video network terminal applies for a set number of memory blocks as a memory pool for data caching by calling a preset memory application function in an operating system;
the video networking terminal receives a data packet which is issued by the video networking server based on a video networking protocol according to a downlink communication link configured for the video networking terminal;
and the video network terminal allocates a target memory block required by the data packet from the memory pool and caches the data packet to the target memory block.
Preferably, the memory pool has allocation pointers, the memory blocks in the memory pool are arranged in sequence, and the step of allocating, by the video network terminal, the target memory block required by the data packet from the memory pool includes: the video network terminal judges whether the number of the remaining memory blocks in the memory pool from the memory block currently pointed by the allocation pointer is larger than or equal to the number of the memory blocks required by the data packet or not according to the downward sequence; when the judgment result is yes, the video network terminal allocates the target memory blocks required by the data packets in a downward sequence from the memory block currently pointed by the allocation pointer; and when the judgment result is negative, the video network terminal points the allocation pointer to the top memory block of the memory pool, and allocates the target memory blocks required by the data packets in a downward sequence from the memory block currently pointed by the allocation pointer.
Preferably, the step of allocating, in a descending order from the memory block currently pointed to by the allocation pointer, the target memory block required by the data packet includes: the video network terminal judges whether the number of the remaining idle memory blocks in the downward sequence is greater than or equal to the number of the memory blocks required by the data packet or not from the memory block currently pointed by the allocation pointer; when the judgment result is yes, the video network terminal allocates idle memory blocks of the number of the memory blocks required by the data packet in a downward sequence from the memory block currently pointed by the allocation pointer as a target memory block required by the data packet; and when the judgment result is negative, the video network terminal continues to return to execute the step that the video network terminal judges whether the number of the remaining idle memory blocks is larger than or equal to the number of the memory blocks required by the data packet or not from the memory block currently pointed by the allocation pointer in the downward sequence.
Preferably, the memory pool has an allocation pointer, the memory blocks in the memory pool are arranged in sequence, and after the step of allocating, by the video network terminal, the target memory block required by the data packet from the memory pool and caching the data packet in the target memory block, the method further includes: and the video network terminal points the allocation pointer to the next memory block of the last target memory block.
Preferably, the method further comprises the following steps: and the video network terminal extracts the data packets from the memory pool according to the sequence of the data packet caching time from morning to evening and releases the memory blocks for caching the extracted data packets.
On the other hand, the embodiment of the invention also discloses a data caching device, which is applied to the video network, wherein the video network comprises a video network terminal and a video network server, and the video network terminal comprises:
the application module is used for applying for memory blocks with a set number by calling a preset memory application function in an operating system to serve as a memory pool for data caching;
the receiving module is used for receiving a data packet which is issued by the video networking server based on a video networking protocol according to a downlink communication link configured for the video networking terminal;
and the allocation module is configured to allocate a target memory block required by the data packet from the memory pool, and cache the data packet in the target memory block.
Preferably, the allocation module comprises: a determining unit, configured to determine whether the number of remaining memory blocks in the memory pool from the memory block currently pointed to by the allocation pointer is greater than or equal to the number of memory blocks required by the data packet in a descending order; a memory allocation unit, configured to, when the determination result of the determination unit is yes, allocate, in a downward order, a target memory block required by the data packet, starting from a memory block to which the allocation pointer currently points; and when the judgment result of the judgment unit is negative, pointing the allocation pointer to the top memory block of the memory pool, and allocating the target memory blocks required by the data packets in a downward sequence from the memory block currently pointed by the allocation pointer.
Preferably, the memory allocation unit is specifically configured to: judging whether the number of the remaining idle memory blocks in the downward sequence is greater than or equal to the number of the memory blocks required by the data packet or not from the memory block currently pointed by the allocation pointer; when the judgment result is yes, allocating idle memory blocks of the number of the memory blocks required by the data packet from the memory block currently pointed by the allocation pointer in a downward sequence to serve as target memory blocks required by the data packet; and if not, continuing to return to the step of executing the video network terminal to judge whether the number of the remaining idle memory blocks is greater than or equal to the number of the memory blocks required by the data packet or not from the memory block currently pointed by the allocation pointer in the downward sequence.
Preferably, the memory pool has a distribution pointer, the memory blocks in the memory pool are arranged in sequence, and the video network terminal further includes: an adjusting module, configured to, after the allocating module allocates the target memory block needed by the data packet from the memory pool and caches the data packet in the target memory block, point the allocation pointer to a memory block next to a last target memory block.
Preferably, the video network terminal further comprises: and the releasing module is used for extracting the data packets from the memory pool according to the sequence of the caching time of the data packets from morning to evening and releasing the memory blocks for caching the extracted data packets.
In the embodiment of the invention, a video network terminal applies for a set number of memory blocks as a memory pool for data caching by calling a preset memory application function in an operating system; the video networking terminal receives a data packet which is issued by the video networking server based on a video networking protocol according to a downlink communication link configured for the video networking terminal; and the video network terminal allocates a target memory block required by the data packet from the memory pool and caches the data packet to the target memory block. Therefore, in the embodiment of the invention, the memory with a larger memory application function in the operating system can be called once at the beginning to serve as the memory pool, and the memory blocks can be directly allocated from the memory pool during the subsequent data caching, so that the operating system does not need to be called dynamically and frequently, the memory application function can be prevented from generating segment errors during frequent calling, and the stability of the system is improved.
Drawings
FIG. 1 is a schematic networking diagram of a video network of the present invention;
FIG. 2 is a schematic diagram of a hardware architecture of a node server according to the present invention;
fig. 3 is a schematic diagram of a hardware structure of an access switch of the present invention;
fig. 4 is a schematic diagram of a hardware structure of an ethernet protocol conversion gateway according to the present invention;
FIG. 5 is a flowchart illustrating steps of a data caching method according to a first embodiment of the present invention;
fig. 6 is a block diagram of a data caching apparatus according to a second embodiment of the present invention.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in further detail below.
The video networking is an important milestone for network development, is a real-time network, can realize high-definition video real-time transmission, and pushes a plurality of internet applications to high-definition video, and high-definition faces each other.
The video networking adopts a real-time high-definition video exchange technology, can integrate required services such as dozens of services of video, voice, pictures, characters, communication, data and the like on a system platform on a network platform, such as high-definition video conference, video monitoring, intelligent monitoring analysis, emergency command, digital broadcast television, delayed television, network teaching, live broadcast, VOD on demand, television mail, Personal Video Recorder (PVR), intranet (self-office) channels, intelligent video broadcast control, information distribution and the like, and realizes high-definition quality video broadcast through a television or a computer.
To better understand the embodiments of the present invention, the following description refers to the internet of view:
some of the technologies applied in the video networking are as follows:
network Technology (Network Technology)
Network technology innovation in video networking has improved over traditional Ethernet (Ethernet) to face the potentially enormous video traffic on the network. Unlike pure network Packet Switching (Packet Switching) or network Circuit Switching (Circuit Switching), the Packet Switching is adopted by the technology of the video networking to meet the Streaming requirement. The video networking technology has the advantages of flexibility, simplicity and low price of packet switching, and simultaneously has the quality and safety guarantee of circuit switching, thereby realizing the seamless connection of the whole network switching type virtual circuit and the data format.
Switching Technology (Switching Technology)
The video network adopts two advantages of asynchronism and packet switching of the Ethernet, eliminates the defects of the Ethernet on the premise of full compatibility, has end-to-end seamless connection of the whole network, is directly communicated with a user terminal, and directly bears an IP data packet. The user data does not require any format conversion across the entire network. The video networking is a higher-level form of the Ethernet, is a real-time exchange platform, can realize the real-time transmission of the whole-network large-scale high-definition video which cannot be realized by the existing Internet, and pushes a plurality of network video applications to high-definition and unification.
Server Technology (Server Technology)
The server technology on the video networking and unified video platform is different from the traditional server, the streaming media transmission of the video networking and unified video platform is established on the basis of connection orientation, the data processing capacity of the video networking and unified video platform is independent of flow and communication time, and a single network layer can contain signaling and data transmission. For voice and video services, the complexity of video networking and unified video platform streaming media processing is much simpler than that of data processing, and the efficiency is greatly improved by more than one hundred times compared with that of a traditional server.
Storage Technology (Storage Technology)
The super-high speed storage technology of the unified video platform adopts the most advanced real-time operating system in order to adapt to the media content with super-large capacity and super-large flow, the program information in the server instruction is mapped to the specific hard disk space, the media content is not passed through the server any more, and is directly sent to the user terminal instantly, and the general waiting time of the user is less than 0.2 second. The optimized sector distribution greatly reduces the mechanical motion of the magnetic head track seeking of the hard disk, the resource consumption only accounts for 20% of that of the IP internet of the same grade, but concurrent flow which is 3 times larger than that of the traditional hard disk array is generated, and the comprehensive efficiency is improved by more than 10 times.
Network Security Technology (Network Security Technology)
The structural design of the video network completely eliminates the network security problem troubling the internet structurally by the modes of independent service permission control each time, complete isolation of equipment and user data and the like, generally does not need antivirus programs and firewalls, avoids the attack of hackers and viruses, and provides a structural carefree security network for users.
Service Innovation Technology (Service Innovation Technology)
The unified video platform integrates services and transmission, and is not only automatically connected once whether a single user, a private network user or a network aggregate. The user terminal, the set-top box or the PC are directly connected to the unified video platform to obtain various multimedia video services in various forms. The unified video platform adopts a menu type configuration table mode to replace the traditional complex application programming, can realize complex application by using very few codes, and realizes infinite new service innovation.
Networking of the video network is as follows:
the video network is a centralized control network structure, and the network can be a tree network, a star network, a ring network and the like, but on the basis of the centralized control node, the whole network is controlled by the centralized control node in the network.
As shown in fig. 1, the video network is divided into an access network and a metropolitan network.
The devices of the access network part can be mainly classified into 3 types: node server, access switch, terminal (including various set-top boxes, coding boards, memories, etc.). The node server is connected to an access switch, which may be connected to a plurality of terminals and may be connected to an ethernet network.
The node server is a node which plays a centralized control function in the access network and can control the access switch and the terminal. The node server can be directly connected with the access switch or directly connected with the terminal.
Similarly, devices of the metropolitan network portion may also be classified into 3 types: a metropolitan area server, a node switch and a node server. The metro server is connected to a node switch, which may be connected to a plurality of node servers.
The node server is a node server of the access network part, namely the node server belongs to both the access network part and the metropolitan area network part.
The metropolitan area server is a node which plays a centralized control function in the metropolitan area network and can control a node switch and a node server. The metropolitan area server can be directly connected with the node switch or directly connected with the node server.
Therefore, the whole video network is a network structure with layered centralized control, and the network controlled by the node server and the metropolitan area server can be in various structures such as tree, star and ring.
The access network part can form a unified video platform (the part in the dotted circle), and a plurality of unified video platforms can form a video network; each unified video platform may be interconnected via metropolitan area and wide area video networking.
1. Video networking device classification
1.1 devices in the video network of the embodiment of the present invention can be mainly classified into 3 types: servers, switches (including ethernet gateways), terminals (including various set-top boxes, code boards, memories, etc.). The video network as a whole can be divided into a metropolitan area network (or national network, global network, etc.) and an access network.
1.2 wherein the devices of the access network part can be mainly classified into 3 types: node servers, access switches (including ethernet gateways), terminals (including various set-top boxes, code boards, memories, etc.).
The specific hardware structure of each access network device is as follows:
a node server:
as shown in fig. 2, the system mainly includes a network interface module 201, a switching engine module 202, a CPU module 203, and a disk array module 204;
the network interface module 201, the CPU module 203, and the disk array module 204 all enter the switching engine module 202; the switching engine module 202 performs an operation of looking up the address table 205 on the incoming packet, thereby obtaining the direction information of the packet; and stores the packet in a queue of the corresponding packet buffer 206 based on the packet's steering information; if the queue of the packet buffer 206 is nearly full, it is discarded; the switching engine module 202 polls all packet buffer queues for forwarding if the following conditions are met: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero. The disk array module 204 mainly implements control over the hard disk, including initialization, read-write, and other operations on the hard disk; the CPU module 203 is mainly responsible for protocol processing with an access switch and a terminal (not shown in the figure), configuring an address table 205 (including a downlink protocol packet address table, an uplink protocol packet address table, and a data packet address table), and configuring the disk array module 204.
The access switch:
as shown in fig. 3, the network interface module mainly includes a network interface module (a downlink network interface module 301 and an uplink network interface module 302), a switching engine module 303 and a CPU module 304;
wherein, the packet (uplink data) coming from the downlink network interface module 301 enters the packet detection module 305; the packet detection module 305 detects whether the Destination Address (DA), the Source Address (SA), the packet type, and the packet length of the packet meet the requirements, and if so, allocates a corresponding stream identifier (stream-id) and enters the switching engine module 303, otherwise, discards the stream identifier; the packet (downstream data) coming from the upstream network interface module 302 enters the switching engine module 303; the incoming data packet of the CPU module 304 enters the switching engine module 303; the switching engine module 303 performs an operation of looking up the address table 306 on the incoming packet, thereby obtaining the direction information of the packet; if the packet entering the switching engine module 303 is from the downstream network interface to the upstream network interface, the packet is stored in the queue of the corresponding packet buffer 307 in association with the stream-id; if the queue of the packet buffer 307 is nearly full, it is discarded; if the packet entering the switching engine module 303 is not from the downlink network interface to the uplink network interface, the data packet is stored in the queue of the corresponding packet buffer 307 according to the guiding information of the packet; if the queue of the packet buffer 307 is nearly full, it is discarded.
The switching engine module 303 polls all packet buffer queues, which in this embodiment of the present invention is divided into two cases:
if the queue is from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queued packet counter is greater than zero; 3) obtaining a token generated by a code rate control module;
if the queue is not from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero.
The rate control module 308 is configured by the CPU module 304, and generates tokens for packet buffer queues from all downstream network interfaces to upstream network interfaces at programmable intervals to control the rate of upstream forwarding.
The CPU module 304 is mainly responsible for protocol processing with the node server, configuration of the address table 306, and configuration of the code rate control module 308.
Ethernet protocol conversion gateway
As shown in fig. 4, the apparatus mainly includes a network interface module (a downlink network interface module 401 and an uplink network interface module 402), a switching engine module 403, a CPU module 404, a packet detection module 405, a rate control module 408, an address table 406, a packet buffer 407, a MAC adding module 409, and a MAC deleting module 410.
Wherein, the data packet coming from the downlink network interface module 401 enters the packet detection module 405; the packet detection module 405 detects whether the ethernet MAC DA, the ethernet MAC SA, the ethernet length or frame type, the video network destination address DA, the video network source address SA, the video network packet type, and the packet length of the packet meet the requirements, and if so, allocates a corresponding stream identifier (stream-id); then, the MAC deletion module 410 subtracts MAC DA, MAC SA, length or frame type (2byte) and enters the corresponding receiving buffer, otherwise, discards it;
the downlink network interface module 401 detects the sending buffer of the port, and if there is a packet, obtains the ethernet MAC DA of the corresponding terminal according to the video networking destination address DA of the packet, adds the ethernet MAC DA of the terminal, the MAC SA of the ethernet coordination gateway, and the ethernet length or frame type, and sends the packet.
The other modules in the ethernet protocol gateway function similarly to the access switch.
A terminal:
the system mainly comprises a network interface module, a service processing module and a CPU module; for example, the set-top box mainly comprises a network interface module, a video and audio coding and decoding engine module and a CPU module; the coding board mainly comprises a network interface module, a video and audio coding engine module and a CPU module; the memory mainly comprises a network interface module, a CPU module and a disk array module.
1.3 devices of the metropolitan area network part can be mainly classified into 2 types: node server, node exchanger, metropolitan area server. The node switch mainly comprises a network interface module, a switching engine module and a CPU module; the metropolitan area server mainly comprises a network interface module, a switching engine module and a CPU module.
2. Video networking packet definition
2.1 Access network packet definition
The data packet of the access network mainly comprises the following parts: destination Address (DA), Source Address (SA), reserved bytes, payload (pdu), CRC.
As shown in the following table, the data packet of the access network mainly includes the following parts:
DA SA Reserved Payload CRC
wherein:
the Destination Address (DA) is composed of 8 bytes (byte), the first byte represents the type of the data packet (such as various protocol packets, multicast data packets, unicast data packets, etc.), there are 256 possibilities at most, the second byte to the sixth byte are metropolitan area network addresses, and the seventh byte and the eighth byte are access network addresses;
the Source Address (SA) is also composed of 8 bytes (byte), defined as the same as the Destination Address (DA);
the reserved byte consists of 2 bytes;
the payload part has different lengths according to different types of data packets, and is 64 bytes if the data packet is a variety of protocol packets, and is 32+1024 or 1056 bytes if the data packet is a unicast data packet, of course, the length is not limited to the above 2 types;
the CRC consists of 4 bytes and is calculated in accordance with the standard ethernet CRC algorithm.
2.2 metropolitan area network packet definition
The topology of a metropolitan area network is a graph and there may be 2, or even more than 2, connections between two devices, i.e., there may be more than 2 connections between a node switch and a node server, a node switch and a node switch, and a node switch and a node server. However, the metro network address of the metro network device is unique, and in order to accurately describe the connection relationship between the metro network devices, parameters are introduced in the embodiment of the present invention: a label to uniquely describe a metropolitan area network device.
In this specification, the definition of the Label is similar to that of the Label of MPLS (Multi-Protocol Label Switch), and assuming that there are two connections between the device a and the device B, there are 2 labels for the packet from the device a to the device B, and 2 labels for the packet from the device B to the device a. The label is classified into an incoming label and an outgoing label, and assuming that the label (incoming label) of the packet entering the device a is 0x0000, the label (outgoing label) of the packet leaving the device a may become 0x 0001. The network access process of the metro network is a network access process under centralized control, that is, address allocation and label allocation of the metro network are both dominated by the metro server, and the node switch and the node server are both passively executed, which is different from label allocation of MPLS, and label allocation of MPLS is a result of mutual negotiation between the switch and the server.
As shown in the following table, the data packet of the metro network mainly includes the following parts:
DA SA Reserved label (R) Payload CRC
Namely Destination Address (DA), Source Address (SA), Reserved byte (Reserved), tag, payload (pdu), CRC. The format of the tag may be defined by reference to the following: the tag is 32 bits with the upper 16 bits reserved and only the lower 16 bits used, and its position is between the reserved bytes and payload of the packet.
Example one
The data caching method of the embodiment of the invention can be applied to the video network. The video network terminal and the video network server (specifically, the node server) may be included in the video network, and one video network server may access a plurality of video network terminals. The data caching method of the embodiment of the invention can be particularly applied to video networking terminals. The video network terminal is a video network service landing device, an actual participant or a server of the video network service, and the video network terminal can be various set top boxes, streaming media gateways, storage gateways, media synthesizers, code boards and the like. The terminal of the video network needs to be registered on the video network server to carry out normal service.
Referring to fig. 5, a flowchart illustrating steps of a data caching method according to a first embodiment of the present invention is shown.
The data caching method of the embodiment of the invention can comprise the following steps:
step 501, the terminal of the video network applies for a set number of memory blocks as a memory pool for data caching by calling a preset memory application function in the operating system.
The data caching method of the embodiment of the invention can be applied to the communication process based on the video networking, such as video conference, video teaching, video telephone, live broadcasting release, live broadcasting watching and the like.
For example, taking a video conference as an example, in a communication process of the video conference, a video networking terminal (such as a conference speaking party) of a sender may encapsulate collected video data into a video data packet based on a video networking protocol, and send the video data packet to a video networking server through the video networking. The video data packet may include information of a video networking terminal of the sender and information of a video networking terminal of the receiver, and the video networking server may issue the video data packet to the video networking terminal of the receiver (such as a conference participant) through the video networking based on a video networking protocol. After receiving the video data packet, the video networking terminal of the receiver caches the video data packet and performs related processing, such as processing of disorder and packet loss, and the like, and after the processing, decodes the video data packet and displays a corresponding video.
The embodiment of the invention mainly describes the caching process of the data packet after the video networking terminal of the receiver receives the data packet sent by the video networking server. Therefore, the video network terminal related in the embodiment of the invention is a video network terminal of a receiving party.
If the data packet is not preprocessed, the video network terminal calls a preset memory application function in the operating system after receiving the data packet sent by the video network server every time, and applies the memory with the size required by the current data packet to the operating system for caching the current data packet. However, this method may cause frequent calls to the memory application function of the operating system, which may easily cause the memory application function itself to generate segment errors, and reduce the stability of the system.
Therefore, the embodiment of the present invention proposes a scheme for creating a memory pool in advance in view of the above problems. At the beginning, for example, after the video network terminal is started, the video network terminal may apply for a set number of memory blocks as a memory pool for data caching by calling a preset memory application function in the operating system. Therefore, in the embodiment of the present invention, before receiving a data packet, the video networking terminal applies for a set number of memory blocks in advance, and creates a memory pool by using the memory blocks, where the memory pool is used to cache a subsequently received data packet. For the specific process of calling the memory application function to apply for the memory block, a person skilled in the art may perform related processing according to actual experience, and this is not discussed in detail in the embodiments of the present invention.
For the memory application function, a person skilled in the art may select any applicable memory application function according to practical experience, which is not limited in this embodiment of the present invention. For example, the memory application function may be a kmalloc function, a vmalloc function, a _ get _ free _ page function, a malloc function family, an alloca function, or the like. For the set amount, a person skilled in the art may select any suitable value according to practical experience, and the embodiment of the present invention is not limited thereto. For example, the set number may be 100, 150, 200, etc.
Step 502, the video network terminal receives a data packet which is sent by the video network server based on the video network protocol according to a downlink communication link configured for the video network terminal.
In a preferred embodiment, the video networking server may issue, based on a video networking protocol, a data packet to the video networking terminal according to a downlink communication link configured for the video networking terminal (i.e., the video networking terminal of the receiving party), where the data packet may be specifically a data packet sent by the video networking terminal of the sending party to the video networking server. The data packets may be video data packets, audio data packets, and so on.
In practical applications, the video network is a network with a centralized control function, and includes a master control server and a lower level network device, where the lower level network device includes a terminal, and one of the core concepts of the video network is to configure a table for a downlink communication link of a current service by notifying a switching device by the master control server, and then transmit a data packet based on the configured table.
Namely, the communication method in the video network includes:
and the master control server configures the downlink communication link of the current service.
And transmitting the data packet of the current service sent by the source terminal (such as the video network terminal of the sender) to the target terminal (such as the video network terminal of the receiver) according to the downlink communication link.
In the embodiment of the present invention, configuring the downlink communication link of the current service includes: and informing the switching equipment related to the downlink communication link of the current service to allocate the table.
Further, transmitting according to the downlink communication link includes: the configured table is consulted, and the switching equipment transmits the received data packet through the corresponding port.
In particular implementations, the services include unicast communication services and multicast communication services. Namely, whether multicast communication or unicast communication, the core concept of the table matching-table can be adopted to realize communication in the video network.
As mentioned above, the video network includes an access network portion, in which the master server is a node server and the lower-level network devices include an access switch and a terminal.
For the unicast communication service in the access network, the step of configuring the downlink communication link of the current service by the master server may include the following steps:
and a substep S11, the main control server obtains the downlink communication link information of the current service according to the service request protocol packet initiated by the source terminal, wherein the downlink communication link information includes the downlink communication port information of the main control server and the access switch participating in the current service.
In the substep S12, the main control server sets a downlink port to which a packet of the current service is directed in a packet address table inside the main control server according to the downlink communication port information of the main control server; and sending a port configuration command to the corresponding access switch according to the downlink communication port information of the access switch.
In sub-step S13, the access switch sets the downstream port to which the packet of the current service is directed in its internal packet address table according to the port configuration command.
For a multicast communication service (e.g., video conference) in the access network, the step of the master server obtaining downlink information of the current service may include the following sub-steps:
in sub-step S21, the main control server obtains a service request protocol packet initiated by the target terminal and applying for the multicast communication service, where the service request protocol packet includes service type information, service content information, and an access network address of the target terminal.
Wherein, the service content information includes a service number.
And a substep S22, the main control server extracts the access network address of the source terminal in a preset content-address mapping table according to the service number.
In the substep of S23, the main control server obtains the multicast address corresponding to the source terminal and distributes the multicast address to the target terminal; and acquiring the communication link information of the current multicast service according to the service type information and the access network addresses of the source terminal and the target terminal.
Step 503, the video network terminal allocates a target memory block required by the data packet from the memory pool, and caches the data packet in the target memory block.
After receiving the data packet sent by the video network server, the video network terminal allocates the memory block required by the data packet from the pre-established memory pool.
In a specific implementation, data packets received by the video network terminal are based on the video network, and the data packets have the characteristics of being received first and processed first, so that the memory blocks in the memory pool can be sequentially allocated and released in the embodiment of the present invention.
Therefore, the memory blocks in the memory pool in the embodiment of the present invention may be arranged in sequence. For example, if the memory pool includes 100 memory blocks, the 100 memory blocks may be arranged in an order from top to bottom according to their respective numbers as 1-100, where the memory block 1 is a top memory block of the memory pool, and the memory block 100 is a bottom memory block of the memory pool.
In a preferred embodiment, step 503 may include the following sub-steps:
in sub-step a1, the video network terminal determines whether the number of remaining memory blocks in the memory pool from the memory block currently pointed to by the allocation pointer is greater than or equal to the number of memory blocks required by the data packet in a downward order. If yes, executing substep A2; if not, then sub-step A3 is performed.
The data packet received by the video network terminal can comprise information such as the size of the data packet. The video network terminal can determine the number of the memory blocks required by the data packet according to the size of the data packet. For example, if the size of a received data packet is 1MB and the size of data that can be stored in each memory block is 128KB, the number of memory blocks required for the data packet is 8.
The terminal of the video network may set an allocation pointer for the memory pool in advance, where the allocation pointer is used to indicate a starting position when the memory block is allocated. Therefore, the network-of-sight terminal may determine whether the number of the remaining memory blocks in the downward order from the memory block currently pointed to by the allocation pointer is greater than or equal to the number of the memory blocks required by the data packet.
For example, if the memory pool includes 100 memory blocks, i.e., memory blocks 1 to 100, and the memory block to which the allocation pointer currently points is the memory block 93, the number of remaining memory blocks in the downward order from the memory block to which the allocation pointer currently points is 8, and the number of memory blocks required by the received data packet is 8, so that it can be determined that the number of remaining memory blocks in the downward order from the memory block to which the allocation pointer currently points is equal to the number of memory blocks required by the data packet. If the memory pool includes 100 memory blocks, namely, memory blocks 1 to 100, and the memory block to which the allocation pointer currently points is the memory block 98, the number of remaining memory blocks in the downward order from the memory block to which the allocation pointer currently points is 3, and the number of memory blocks required by the received data packet is 8, it can be determined that the number of remaining memory blocks in the downward order from the memory block to which the allocation pointer currently points is smaller than the number of memory blocks required by the data packet.
In sub-step a2, when the determination result is yes, the video network terminal allocates the target memory block required by the data packet in a downward order from the memory block currently pointed by the allocation pointer.
If the number of remaining memory blocks in the downward order from the memory block currently pointed to by the allocation pointer is greater than or equal to the number of memory blocks required by the data packet, the target memory block required by the data packet may be allocated in the downward order from the memory block currently pointed to by the allocation pointer without adjusting the position of the allocation pointer.
In a preferred embodiment, the step of allocating, in a downward order from the memory block currently pointed to by the allocation pointer, the target memory blocks required by the data packets may include:
a1, the video network terminal determines whether the number of remaining free memory blocks in the downward order from the memory block currently pointed by the allocation pointer is greater than or equal to the number of memory blocks required by the data packet. If yes, a2 is executed; if not, execution continues back to a 1.
Although the number of remaining memory blocks in descending order from the memory block currently pointed to by the allocation pointer is greater than or equal to the number of memory blocks required for the data packet, these remaining memory blocks may be idle or occupied. Therefore, in the embodiment of the present invention, the remaining memory blocks are not directly allocated, but a further determination may be made to determine whether the number of the idle memory blocks in the remaining memory blocks is greater than or equal to the number of the memory blocks required by the data packet.
a2, when the result of the determination is yes, the video network terminal allocates, in a downward order, the idle memory blocks of the number of the memory blocks required by the data packet from the memory block currently pointed by the allocation pointer, as the target memory block required by the data packet.
If the number of remaining idle memory blocks in the downward order is greater than or equal to the number of memory blocks required by the data packet, starting from the memory block to which the allocation pointer currently points, the video networking terminal may allocate, in the downward order, the idle memory blocks of the number of memory blocks required by the data packet, starting from the memory block to which the allocation pointer currently points, as the target memory block required by the data packet.
For example, if the memory block currently pointed to by the allocation pointer is the memory block 93, the number of remaining memory blocks in the downward order from the memory block currently pointed by the allocation pointer is 8, the number of memory blocks required by the received data packet is 8, and of the remaining 8 memory blocks, the 8 memory blocks from the memory block 93 to the memory block 100 are all idle, so that it may be determined that the number of remaining idle memory blocks in the downward order from the memory block currently pointed by the allocation pointer is equal to the number of memory blocks required by the data packet. Therefore, the 8 free memory blocks from the memory block 93 to the memory block 100 may be allocated in the descending order as the target memory block required by the data packet.
If the memory block to which the allocation pointer currently points is the memory block 93, the number of remaining memory blocks in the downward order from the memory block to which the allocation pointer currently points is 8, the number of memory blocks required by the received data packet is 8, and of the remaining 8 memory blocks, the 6 memory blocks from the memory block 93 to the memory block 98 are idle, and the two memory blocks from the memory block 99 to the memory block 100 are occupied, so that it can be determined that the number of remaining idle memory blocks in the downward order from the memory block to which the allocation pointer currently points is smaller than the number of memory blocks required by the data packet. Considering that the data packet is released first from the cache, and therefore if the occupied memory block may be released after waiting for a period of time, in this case, the embodiment of the present invention may wait for a period of time and continue to execute a1 back until the free memory block is allocated according to the procedure a2 after whether the number of remaining free memory blocks in the downward order from the memory block currently pointed to by the allocation pointer is greater than or equal to the number of memory blocks required by the data packet.
In sub-step a3, when the determination result is negative, the video networking terminal points the allocation pointer to the top memory block of the memory pool, and allocates the target memory block required by the data packet in a downward order from the memory block currently pointed by the allocation pointer.
If the number of remaining memory blocks in the downward order from the memory block to which the allocation pointer currently points is smaller than the number of memory blocks required by the data packet, the position of the allocation pointer may be adjusted to point the allocation pointer to the top memory block of the memory pool, and the target memory block required by the data packet is allocated in the downward order from the memory block to which the allocation pointer currently points (i.e., the top memory block).
The specific process of allocating the target memory chunk required by the data packet in the sub-step A3 in the downward order from the memory chunk currently pointed to by the allocation pointer is substantially similar to the above sub-step A3, and specific reference is made to the above description of the sub-step A3, and embodiments of the present invention are not discussed in detail herein.
In this embodiment of the present invention, after the step of allocating, by the video networking terminal, the target memory block required by the data packet from the memory pool and caching the data packet in the target memory block, the method may further include: and the video network terminal points the allocation pointer to the next memory block of the last target memory block. That is, after allocating the memory block to the received data packet, the video networking terminal also needs to update the pointing direction of the allocation pointer, so that the memory block can be correctly allocated in the following. For example, when a data packet is received this time, the memory block to which the allocation pointer points before the memory is allocated is the memory block 50, and the memory blocks allocated to the data packet are the memory blocks 50 to 57, then the internet-of-view terminal points the allocation pointer to the memory block 58 after allocation.
After caching the received data packets, the video networking terminal may further extract the data packets from the memory pool according to the sequence of the data packet caching time from morning to evening, and release the memory block for caching the extracted data packets. The video network terminal can decode and display the extracted data packet, so as to realize data transmission between the video network terminals.
In the embodiment of the invention, the memory application function in the operating system can be called once to apply for a larger memory as the memory pool at the beginning, and the memory blocks can be directly allocated from the memory pool during the subsequent data caching, so that the operating system does not need to be called dynamically and frequently, section errors of the memory application function can be avoided when the operating system is called frequently, and the stability of the system is improved.
It should be noted that, for simplicity of description, the method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the illustrated order of acts, as some steps may occur in other orders or concurrently in accordance with the embodiments of the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no particular act is required to implement the invention.
Example two
Referring to fig. 6, a block diagram of a data caching apparatus according to a second embodiment of the present invention is shown. The data caching device provided by the embodiment of the invention can be applied to the video network, and the video network comprises a video network terminal and a video network server.
The data caching device of the embodiment of the invention can be particularly applied to a video network terminal, and can comprise the following modules positioned in the video network terminal:
the video networking terminal includes:
an application module 601, configured to apply for a set number of memory blocks as a memory pool for data caching by calling a preset memory application function in an operating system;
a receiving module 602, configured to receive a data packet that is sent by the video networking server based on a video networking protocol according to a downlink communication link configured for the video networking terminal;
an allocating module 603, configured to allocate a target memory block required by the data packet from the memory pool, and cache the data packet in the target memory block.
In a preferred embodiment, the allocation module comprises: a determining unit, configured to determine whether the number of remaining memory blocks in the memory pool from the memory block currently pointed to by the allocation pointer is greater than or equal to the number of memory blocks required by the data packet in a descending order; a memory allocation unit, configured to, when the determination result of the determination unit is yes, allocate, in a downward order, a target memory block required by the data packet, starting from a memory block to which the allocation pointer currently points; and when the judgment result of the judgment unit is negative, pointing the allocation pointer to the top memory block of the memory pool, and allocating the target memory blocks required by the data packets in a downward sequence from the memory block currently pointed by the allocation pointer.
In a preferred embodiment, the memory allocation unit is specifically configured to: judging whether the number of the remaining idle memory blocks in the downward sequence is greater than or equal to the number of the memory blocks required by the data packet or not from the memory block currently pointed by the allocation pointer; when the judgment result is yes, allocating idle memory blocks of the number of the memory blocks required by the data packet from the memory block currently pointed by the allocation pointer in a downward sequence to serve as target memory blocks required by the data packet; and if not, continuing to return to the step of executing the video network terminal to judge whether the number of the remaining idle memory blocks is greater than or equal to the number of the memory blocks required by the data packet or not from the memory block currently pointed by the allocation pointer in the downward sequence.
In a preferred embodiment, the memory pool has an allocation pointer, the memory blocks in the memory pool are arranged in sequence, and the video network terminal further includes: an adjusting module, configured to, after the allocating module allocates the target memory block needed by the data packet from the memory pool and caches the data packet in the target memory block, point the allocation pointer to a memory block next to a last target memory block.
In a preferred embodiment, the video network terminal further includes: and the releasing module is used for extracting the data packets from the memory pool according to the sequence of the caching time of the data packets from morning to evening and releasing the memory blocks for caching the extracted data packets.
In the embodiment of the invention, the memory application function in the operating system can be called once to apply for a larger memory as the memory pool at the beginning, and the memory blocks can be directly allocated from the memory pool during the subsequent data caching, so that the operating system does not need to be called dynamically and frequently, section errors of the memory application function can be avoided when the operating system is called frequently, and the stability of the system is improved.
For the device embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, refer to the partial description of the method embodiment.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
Embodiments of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing terminal to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing terminal to cause a series of operational steps to be performed on the computer or other programmable terminal to produce a computer implemented process such that the instructions which execute on the computer or other programmable terminal provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications of these embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the invention.
Finally, it should also be noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or terminal that comprises the element.
The data caching method and the data caching device provided by the invention are described in detail, specific examples are applied in the text to explain the principle and the implementation of the invention, and the description of the above embodiments is only used for helping to understand the method and the core idea of the invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (6)

1. A data caching method is applied to a video network, wherein the video network comprises a video network terminal and a video network server, and the method comprises the following steps:
the video network terminal applies for a set number of memory blocks as a memory pool for data caching by calling a preset memory application function in an operating system, wherein the memory pool is provided with a distribution pointer, and the memory blocks in the memory pool work in a sequential distribution and sequential release mode;
the video networking terminal receives a data packet which is issued by the video networking server based on a video networking protocol according to a downlink communication link configured for the video networking terminal;
the video network terminal judges whether the number of the remaining memory blocks in the memory pool from the memory block currently pointed by the allocation pointer is larger than or equal to the number of the memory blocks required by the data packet or not according to the downward sequence;
when the judgment result is negative, the video network terminal points the distribution pointer to the top memory block of the memory pool, and distributes the target memory blocks required by the data packets in a downward sequence from the memory block currently pointed by the distribution pointer;
when the judgment result is yes, the video network terminal allocates the target memory blocks required by the data packets in a downward sequence from the memory block currently pointed by the allocation pointer, and caches the data packets in the target memory blocks;
when the determination result is yes, the video network terminal allocates the target memory blocks required by the data packets in a downward order, starting from the memory block to which the allocation pointer currently points, including:
the video network terminal judges whether the number of the remaining idle memory blocks in the downward sequence is greater than or equal to the number of the memory blocks required by the data packet or not from the memory block currently pointed by the allocation pointer;
when the judgment result is yes, the video network terminal allocates idle memory blocks of the number of the memory blocks required by the data packet in a downward sequence from the memory block currently pointed by the allocation pointer as a target memory block required by the data packet;
and when the judgment result is negative, the video networking terminal waits for a period of time and continues to execute the following steps: the video network terminal judges whether the number of the remaining idle memory blocks in the downward sequence is greater than or equal to the number of the memory blocks required by the data packet or not from the memory block to which the allocation pointer points currently until the number of the remaining idle memory blocks in the downward sequence is greater than or equal to the number of the memory blocks required by the data packet, and allocates the idle memory blocks of the number of the memory blocks required by the data packet in the downward sequence from the memory block to which the allocation pointer points currently as the target memory blocks required by the data packet.
2. The method according to claim 1, wherein, when the determination result is yes, after the steps of allocating, in a downward order, a target memory block required for the data packet from a memory block currently pointed to by the allocation pointer, and caching the data packet in the target memory block, the method further includes:
and the video network terminal points the allocation pointer to the next memory block of the last target memory block.
3. The method of claim 1, further comprising:
and the video network terminal extracts the data packets from the memory pool according to the sequence of the data packet caching time from morning to evening and releases the memory blocks for caching the extracted data packets.
4. The data caching device is applied to a video network, wherein the video network comprises a video network terminal and a video network server, and the video network terminal comprises:
the application module is used for applying for memory blocks with a set number by calling a preset memory application function in an operating system to serve as a memory pool for data caching, the memory pool is provided with an allocation pointer, and the memory blocks in the memory pool work in a sequential allocation and sequential release mode;
the receiving module is used for receiving a data packet which is issued by the video networking server based on a video networking protocol according to a downlink communication link configured for the video networking terminal;
the allocation module is configured to allocate a target memory block required by the data packet from the memory pool, and cache the data packet in the target memory block;
the distribution module includes:
a determining unit, configured to determine whether the number of remaining memory blocks in the memory pool from the memory block currently pointed to by the allocation pointer is greater than or equal to the number of memory blocks required by the data packet in a descending order;
a memory allocation unit, configured to, when the determination result of the determination unit is yes, allocate, in a downward order, the target memory blocks needed by the data packet from the memory block to which the allocation pointer currently points, and, when the determination result of the determination unit is no, point the allocation pointer to the top memory block of the memory pool, and allocate, in a downward order, the target memory blocks needed by the data packet from the memory block to which the allocation pointer currently points;
the memory allocation unit is specifically configured to:
judging whether the number of the remaining idle memory blocks in the downward sequence is greater than or equal to the number of the memory blocks required by the data packet or not from the memory block currently pointed by the allocation pointer;
when the judgment result is yes, allocating idle memory blocks of the number of the memory blocks required by the data packet from the memory block currently pointed by the allocation pointer in a downward sequence to serve as target memory blocks required by the data packet;
and if the judgment result is negative, waiting for a period of time, and continuing to execute the following steps: and judging whether the number of the remaining idle memory blocks in the downward sequence is greater than or equal to the number of the memory blocks required by the data packet or not from the memory block to which the allocation pointer points currently until the number of the remaining idle memory blocks in the downward sequence is greater than or equal to the number of the memory blocks required by the data packet, and allocating the idle memory blocks of the number of the memory blocks required by the data packet in the downward sequence from the memory block to which the allocation pointer points currently as the target memory blocks required by the data packet.
5. The apparatus of claim 4, wherein the video networking terminal further comprises:
an adjusting module, configured to, after the allocating module allocates the target memory block needed by the data packet from the memory pool and caches the data packet in the target memory block, point the allocation pointer to a memory block next to a last target memory block.
6. The apparatus of claim 4, wherein the video networking terminal further comprises:
and the releasing module is used for extracting the data packets from the memory pool according to the sequence of the caching time of the data packets from morning to evening and releasing the memory blocks for caching the extracted data packets.
CN201811203720.2A 2018-10-16 2018-10-16 Data caching method and device Active CN109547727B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811203720.2A CN109547727B (en) 2018-10-16 2018-10-16 Data caching method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811203720.2A CN109547727B (en) 2018-10-16 2018-10-16 Data caching method and device

Publications (2)

Publication Number Publication Date
CN109547727A CN109547727A (en) 2019-03-29
CN109547727B true CN109547727B (en) 2021-12-17

Family

ID=65843958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811203720.2A Active CN109547727B (en) 2018-10-16 2018-10-16 Data caching method and device

Country Status (1)

Country Link
CN (1) CN109547727B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988609B (en) * 2019-12-02 2023-05-02 杭州海康机器人股份有限公司 Data processing method, device, storage medium and client
CN111404986B (en) * 2019-12-11 2023-07-21 杭州海康威视系统技术有限公司 Data transmission processing method, device and storage medium
CN115118685B (en) * 2022-08-30 2022-11-25 无锡沐创集成电路设计有限公司 Data packet processing method, device, system, electronic device and medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853215B (en) * 2010-06-01 2012-05-02 恒生电子股份有限公司 Memory allocation method and device
CN103176855A (en) * 2013-03-15 2013-06-26 中兴通讯股份有限公司 Message exchange handling method and device
CN107329833B (en) * 2017-07-03 2021-02-19 苏州浪潮智能科技有限公司 Method and device for realizing memory continuity by using linked list
CN108573011A (en) * 2017-11-20 2018-09-25 北京视联动力国际信息技术有限公司 A kind of displaying of terminal device and device

Also Published As

Publication number Publication date
CN109547727A (en) 2019-03-29

Similar Documents

Publication Publication Date Title
CN109120946B (en) Method and device for watching live broadcast
CN110049271B (en) Video networking conference information display method and device
CN109120879B (en) Video conference processing method and system
CN109474715B (en) Resource configuration method and device based on video network
CN109246486B (en) Method and device for framing
CN110475090B (en) Conference control method and system
CN110572607A (en) Video conference method, system and device and storage medium
CN109743522B (en) Communication method and device based on video networking
CN109547727B (en) Data caching method and device
CN111193767B (en) Request data sending method and device and clustered server system
CN109286775B (en) Multi-person conference control method and system
CN109347844B (en) Method and device for accessing equipment to Internet
CN109347930B (en) Task processing method and device
CN111131754A (en) Control split screen method and device of conference management system
CN109005378B (en) Video conference processing method and system
CN110719432A (en) Data transmission method and device, electronic equipment and storage medium
CN110830826A (en) Video transcoding equipment scheduling method and system
CN110740087B (en) Message transmission method, terminal, gateway device, electronic device and storage medium
CN110557594B (en) Video call processing method and device and storage medium
CN110557669B (en) Video data display method and device
CN110493311B (en) Service processing method and device
CN110798450B (en) Audio and video data processing method and device and storage medium
CN110233872B (en) Data transmission method based on video network and video network terminal
CN110177244B (en) Method and system for polling conference terminal
CN109788231B (en) Video telephone service processing method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant