CN113473166A - Data storage system and method - Google Patents

Data storage system and method Download PDF

Info

Publication number
CN113473166A
CN113473166A CN202110738752.8A CN202110738752A CN113473166A CN 113473166 A CN113473166 A CN 113473166A CN 202110738752 A CN202110738752 A CN 202110738752A CN 113473166 A CN113473166 A CN 113473166A
Authority
CN
China
Prior art keywords
video frame
event
target video
data
code stream
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.)
Pending
Application number
CN202110738752.8A
Other languages
Chinese (zh)
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.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System 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 Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN202110738752.8A priority Critical patent/CN113473166A/en
Publication of CN113473166A publication Critical patent/CN113473166A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • 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/23109Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
    • 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/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The embodiment of the invention provides a data storage system and a data storage method, and relates to the technical field of image processing. The data storage system includes: a storage server and a management server; the storage server is used for receiving code stream data sent by the video acquisition equipment and storing the code stream data; determining each target video frame based on an analysis result obtained by analyzing the code stream data; respectively generating event indexes corresponding to each target video frame, and reporting the generated event indexes to the management server; wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event; and the management server is used for receiving each event index reported by the storage server and storing each received event index. Compared with the prior art, the scheme provided by the embodiment of the invention can reduce the consumption of processing resources of the management server.

Description

Data storage system and method
Technical Field
The present invention relates to the field of image processing technologies, and in particular, to a data storage system and method.
Background
Some video capture devices, such as IPC (IP Camera), can capture code stream data and identify events meeting the rules in the code stream data according to the rules set by the user, for example, various events such as objects (people, vehicles, objects, etc.) needing attention appearing in the screen, people intruding in the set area of the screen, or traffic accidents occurring in the screen.
In the related art, as shown in fig. 1, after an event in code stream data is identified by an IPC, an alarm message is sent to a management server in real time, and the management server generates an event index of the event according to the alarm message. And the subsequent user can inquire the code stream data required by the subsequent user in the storage server according to the event index.
However, in the related art, if the number of IPCs accessed by the management server is large, the alarm information sent by the IPCs is frequently received, and further, the event index is frequently generated according to the alarm information, thereby consuming a large amount of processing resources of the management server.
Disclosure of Invention
Embodiments of the present invention provide a data storage system and method to reduce consumption of processing resources of a management server. The specific technical scheme is as follows:
in a first aspect, an embodiment of the present invention provides a data storage system, where the data storage system includes: a storage server and a management server;
the storage server is used for receiving code stream data sent by the video acquisition equipment and storing the code stream data; determining each target video frame based on an analysis result obtained by analyzing the code stream data; respectively generating event indexes corresponding to each target video frame, and reporting the generated event indexes to the management server; wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event;
and the management server is used for receiving each event index reported by the storage server and storing each received event index.
Optionally, in a specific implementation manner, the determining, by the storage server, each target video frame based on an analysis result obtained by analyzing the code stream data includes:
the storage server analyzes the code stream data to obtain each video frame; reading data of a preset mark bit in each video frame; and determining whether the video frame is a target video frame according to the data.
Optionally, in a specific implementation manner, the generating, by the storage server, an event index corresponding to each target video frame respectively includes:
and the storage server generates an event index corresponding to each target video frame according to the identifier of the video acquisition equipment corresponding to the target video frame and the time information of the target video frame.
Optionally, in a specific implementation manner, the storage server is further configured to:
under the condition that the video frame is determined to be a target video frame, determining the event type of a preset event contained in the target video frame according to the data of the preset mark bit;
the storage server generates, for each target video frame, an event index corresponding to the target video frame according to the identifier of the video capture device corresponding to the target video frame and the time information of the target video frame, including:
and the storage server generates an event index corresponding to each target video frame according to the identifier of the video acquisition equipment corresponding to the target video frame, the time information of the target video frame and the event type of a preset event contained in the target video frame.
Optionally, in a specific implementation manner, the storage server is further configured to:
and converting the code stream data into video data supporting positioning playback, and storing the video data.
Alternatively, in one particular implementation,
the management server is also used for receiving a query request sent by the user equipment; determining a target event index corresponding to the query request in the stored event indexes, and feeding back the target event index to the user equipment;
the storage server is further used for receiving the target event index sent by the user equipment; and calling target video data corresponding to the target event index from the stored video data, and feeding the target video data back to the user equipment.
In a second aspect, an embodiment of the present invention provides a data storage method, which is applied to a data storage system, where the data storage system includes: a management server and a storage server; the method comprises the following steps:
the storage server receives code stream data sent by the video acquisition equipment and stores the code stream data; wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event;
the storage server determines each target video frame based on an analysis result obtained by analyzing the code stream data;
the storage server respectively generates event indexes corresponding to each target video frame and reports the generated event indexes to the management server;
and the management server receives each event index reported by the storage server and stores each received event index.
Optionally, in a specific implementation manner, the determining, by the storage server, each target video frame based on an analysis result obtained by analyzing the code stream data includes:
the storage server analyzes the code stream data to obtain each video frame; reading data of a preset mark bit in each video frame; and determining whether the video frame is a target video frame according to the data.
Optionally, in a specific implementation manner, the generating, by the storage server, an event index corresponding to each target video frame respectively includes:
and the storage server generates an event index corresponding to each target video frame according to the identifier of the video acquisition equipment corresponding to the target video frame and the time information of the target video frame.
Optionally, in a specific implementation manner, the method further includes:
the storage server determines the event type of a preset event contained in a target video frame according to the data of the preset marker bit under the condition that the video frame is determined to be the target video frame;
the generating an event index corresponding to the target video frame according to the identifier of the video acquisition device corresponding to the target video frame and the time information of the target video frame includes:
and generating an event index corresponding to the target video frame according to the identifier of the video acquisition device corresponding to the target video frame, the time information of the target video frame and the event type of a preset event contained in the target video frame.
Optionally, in a specific implementation manner, the method further includes:
and the storage server converts the code stream data into video data supporting positioning playback and stores the video data.
Optionally, in a specific implementation manner, the method further includes:
the management server receives a query request sent by user equipment; determining a target event index corresponding to the query request in the stored event indexes, and feeding back the target event index to the user equipment;
the storage server receives the target event index sent by the user equipment; and calling target video data corresponding to the target event index from the stored video data, and feeding the target video data back to the user equipment.
In a third aspect, an embodiment of the present invention provides a data storage method, which is applied to a management server in a data storage system, where the data storage system further includes a storage server, and the method includes:
receiving each event index reported by the storage server; each event index is an analysis result obtained by analyzing code stream data sent by video acquisition equipment by the storage server, and is generated respectively after each target video frame is determined, wherein the code stream data comprises: adding mark information aiming at a target video frame containing a preset event;
the received respective event indices are stored.
Optionally, in a specific implementation manner, the method further includes:
receiving an inquiry request sent by user equipment;
determining a target event index corresponding to the query request in the stored event indexes, and feeding back the target event index to the user equipment; and the user equipment acquires target video data which is called from the stored video data and corresponds to the target event index, and is fed back by the storage server, by sending the target event index to the storage server.
In a fourth aspect, an embodiment of the present invention provides a data storage method, which is applied to a storage server in a data storage system, where the data storage system further includes a management server, and the method includes:
receiving code stream data sent by video acquisition equipment, and storing the code stream data; wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event;
determining each target video frame based on an analysis result obtained by analyzing the code stream data;
respectively generating an event index corresponding to each target video frame;
and reporting the generated event indexes to the management server so that the management server stores the received event indexes.
Optionally, in a specific implementation manner, the step of determining each target video frame based on an analysis result obtained by analyzing the code stream data includes:
analyzing the code stream data to obtain each video frame; reading data of a preset mark bit in each video frame; and determining whether the video frame is a target video frame according to the data.
Optionally, in a specific implementation manner, the step of respectively generating an event index corresponding to each target video frame includes:
and aiming at each target video frame, generating an event index corresponding to the target video frame according to the identification of the video acquisition equipment corresponding to the target video frame and the time information of the target video frame.
Optionally, in a specific implementation manner, the method further includes:
under the condition that the video frame is determined to be a target video frame, determining the event type of a preset event contained in the target video frame according to the data of the preset mark bit;
the step of generating an event index corresponding to each target video frame according to the identifier of the video acquisition device corresponding to the target video frame and the time information of the target video frame includes:
and aiming at each target video frame, generating an event index corresponding to the target video frame according to the identification of the video acquisition equipment corresponding to the target video frame, the time information of the target video frame and the event type of a preset event contained in the target video frame.
Optionally, in a specific implementation manner, the method further includes:
and converting the code stream data into video data supporting positioning playback, and storing the video data.
Optionally, in a specific implementation manner, the method further includes:
receiving a target event index sent by the user equipment;
calling target video data corresponding to the target event index from the stored video data, and feeding back the target video data to the user equipment; the target index event is a target event index which is determined in the stored event indexes and corresponds to the query request, fed back by the user equipment through sending the query request to the management server, and received by the user equipment.
In a fifth aspect, an embodiment of the present invention provides a data storage apparatus, which is applied to a management server in a data storage system, where the data storage system further includes a storage server, and the apparatus includes:
the event index receiving module is used for receiving each event index reported by the storage server; each event index is an analysis result obtained by analyzing code stream data sent by video acquisition equipment by the storage server, and is generated respectively after each target video frame is determined, wherein the code stream data comprises: adding mark information aiming at a target video frame containing a preset event;
and the event index storage module is used for storing the received event indexes.
Optionally, in a specific implementation manner, the apparatus further includes:
the query request receiving module is used for receiving a query request sent by user equipment;
a target index feedback module, configured to determine a target event index corresponding to the query request in the stored event indexes, and feed back the target event index to the user equipment; and the user equipment acquires target video data which is called from the stored video data and corresponds to the target event index, and is fed back by the storage server, by sending the target event index to the storage server.
In a sixth aspect, an embodiment of the present invention provides a data storage apparatus, which is applied to a storage server in a data storage system, where the data storage system further includes a management server, and the apparatus includes:
the code stream data receiving module is used for receiving the code stream data sent by the video acquisition equipment and storing the code stream data; wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event;
the target frame determining module is used for determining each target video frame based on an analysis result obtained by analyzing the code stream data;
the event index generating module is used for respectively generating an event index corresponding to each target video frame;
and the event index reporting module is used for reporting the generated event indexes to the management server so that the management server stores the received event indexes.
Optionally, in a specific implementation manner, the target frame determining module is specifically configured to:
analyzing the code stream data to obtain each video frame; reading data of a preset mark bit in each video frame; and determining whether the video frame is a target video frame according to the data.
Optionally, in a specific implementation manner, the event index generating module is specifically configured to:
and aiming at each target video frame, generating an event index corresponding to the target video frame according to the identification of the video acquisition equipment corresponding to the target video frame and the time information of the target video frame.
Optionally, in a specific implementation manner, the apparatus further includes:
the event type determining module is used for determining the event type of a preset event contained in the target video frame according to the data of the preset mark bit under the condition that the video frame is determined to be the target video frame;
the event index generation module is specifically configured to: and aiming at each target video frame, generating an event index corresponding to the target video frame according to the identification of the video acquisition equipment corresponding to the target video frame, the time information of the target video frame and the event type of a preset event contained in the target video frame.
Optionally, in a specific implementation manner, the apparatus further includes:
and the data conversion module is used for converting the code stream data into video data supporting positioning playback and storing the video data.
Optionally, in a specific implementation manner, the apparatus further includes:
a target index receiving module, configured to receive a target event index sent by the user equipment;
the target data feedback module is used for calling target video data corresponding to the target event index from the stored video data and feeding the target video data back to the user equipment; the target index event is a target event index which is determined in the stored event indexes and corresponds to the query request, fed back by the user equipment through sending the query request to the management server, and received by the user equipment.
In a seventh aspect, an embodiment of the present invention provides a server, including a processor and a memory;
a memory for storing a computer program;
and a processor, configured to implement the steps of any one of the data storage methods provided in the third aspect or the fourth aspect when executing the program stored in the memory.
In an eighth aspect, the present invention provides a computer-readable storage medium, in which a computer program is stored, and the computer program, when executed by a processor, implements the steps of any one of the data storage methods provided in the third aspect or the fourth aspect.
In a ninth aspect, an embodiment of the present invention provides a computer program product containing instructions, which when run on a computer, causes the computer to perform the steps of any of the data storage methods provided in the third or fourth aspect.
As can be seen from the above, according to the scheme provided by the embodiment of the present invention, the video acquisition device adds the mark information to the target video frame containing the preset event in the code stream data, and sends the code stream data including the mark information to the storage server. Thus, after receiving the code stream data, the storage server can analyze the code stream data to obtain an analysis result, and determine each target video frame based on the analysis result, thereby respectively generating an event index corresponding to each target frame, and reporting each generated event index to the management server. Furthermore, the management server can receive each event index reported by the storage server and store each received event index.
Based on this, by applying the scheme provided by the embodiment of the present invention, the event index is generated after the storage server analyzes the code stream data, but is not generated according to the alarm information after the management server receives the alarm information sent by the video acquisition device in real time. Therefore, by applying the scheme provided by the embodiment of the invention, the management server does not frequently receive the alarm information, and further, the event index is not frequently generated according to the alarm information. Therefore, the consumption of processing resources of the management server can be reduced, and the bandwidth consumption caused by pushing the alarm information to the management server by the video acquisition equipment can be saved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a schematic diagram of data interaction among an IPC, a management server, a storage server and a user program in the related art;
FIG. 2 is a schematic structural diagram of a data storage system according to an embodiment of the present invention;
fig. 3(a) is a signaling interaction diagram between the storage server 210 and the management server 220 shown in fig. 2;
fig. 3(b) is a signaling interaction diagram between the video capture device 100 and the storage server 210 and the management server 220 shown in fig. 2;
fig. 4 is a schematic diagram of data interaction among an IPC, a storage server, a management server, and a user device in an embodiment of a data storage system provided by an embodiment of the present invention;
FIG. 5 is a flowchart illustrating a data storage method applied to a data storage system according to an embodiment of the present invention;
fig. 6 is a schematic flowchart of a data storage method applied to a management server in a data storage system according to an embodiment of the present invention;
FIG. 7 is a flowchart illustrating a data storage method applied to a storage server in a data storage system according to an embodiment of the present invention;
FIG. 8 is a schematic structural diagram of a data storage device applied to a management server in a data storage system according to an embodiment of the present invention;
FIG. 9 is a schematic structural diagram of a data storage device applied to a storage server in a data storage system according to an embodiment of the present invention;
fig. 10 is a schematic structural diagram of a server according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In the related technology, after an event in code stream data is identified by the IPC, alarm information is sent to a management server in real time, and the management server generates an event index of the event according to the alarm information. And the subsequent user can inquire the code stream data required by the subsequent user in the storage server according to the event index. However, in the related art, if the number of IPCs accessed by the management server is large, the alarm information sent by the IPCs is frequently received, and further, the event index is frequently generated according to the alarm information, thereby consuming a large amount of processing resources of the management server.
In order to solve the technical problem, an embodiment of the present invention provides a data storage system, which may include a storage server and a management server.
The storage server is used for receiving code stream data sent by the video acquisition equipment and storing the code stream data; determining each target video frame based on an analysis result obtained by analyzing the code stream data; respectively generating event indexes corresponding to each target video frame, and reporting the generated event indexes to the management server; wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event;
and the management server is used for receiving each event index reported by the storage server and storing each received event index.
As can be seen from the above, according to the scheme provided by the embodiment of the present invention, the video acquisition device adds the mark information to the target video frame containing the preset event in the code stream data, and sends the code stream data including the mark information to the storage server. Thus, after receiving the code stream data, the storage server can analyze the code stream data to obtain an analysis result, and determine each target video frame based on the analysis result, thereby respectively generating an event index corresponding to each target frame, and reporting each generated event index to the management server. Furthermore, the management server can receive each event index reported by the storage server and store each received event index.
Based on this, by applying the scheme provided by the embodiment of the present invention, the event index is generated after the storage server analyzes the code stream data, but is not generated according to the alarm information after the management server receives the alarm information sent by the video acquisition device in real time. Therefore, by applying the scheme provided by the embodiment of the invention, the management server does not frequently receive the alarm information, and further, the event index is not frequently generated according to the alarm information. Therefore, the consumption of processing resources of the management server can be reduced, and the bandwidth consumption caused by pushing the alarm information to the management server by the video acquisition equipment can be saved.
The storage server included in the data storage system may be a single server or a server cluster including a plurality of servers, and similarly, the management server included in the data storage system may be a single server or a server cluster including a plurality of servers.
A data storage system according to an embodiment of the present invention will be specifically described below with reference to the accompanying drawings.
Fig. 2 is a schematic structural diagram of a data storage system according to an embodiment of the present invention, and as shown in fig. 2, the data storage system includes: a storage server 210 and a management server 220.
The storage server 210 is configured to receive code stream data sent by the video acquisition device, and store the code stream data; determining each target video frame based on an analysis result obtained by analyzing the code stream data; respectively generating an event index corresponding to each target video frame, and reporting each generated event index to the management server 220;
wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event;
the management server 220 is configured to receive each event index reported by the storage server 210, and store each received event index.
In the data storage system, the storage server 210 may receive code stream data sent by the video capture device.
The video acquisition equipment can be IPC or other types of cameras, and the specific equipment type is not limited.
In the following, IPC is taken as an example, and code stream data sent by the video acquisition device to the storage server 210 is described as an example.
After the IPC collects the code stream data, whether a preset event exists in each video frame in the code stream data can be identified, if so, the video frame can be determined as a target video frame, and mark information is added to the target video frame.
The preset event may be various events that need to be identified and are preset by a user, for example, whether a specific person exists in a video picture, whether a person intrudes into a set area in the video picture, whether a traffic accident exists in the video picture, and the like, and specific events are not listed one by one.
After the target video frame in the code stream data is identified and obtained and the marker information is added to the target video frame, the IPC may send the code stream data to which the marker information is added to the storage server 210, so that the storage server 210 may obtain the code stream data including the marker information added to the target video frame including the preset event.
Further, the storage server 210 may analyze the received code stream data to obtain an analysis result, and further determine each target video frame in the code stream data based on the obtained analysis result.
In general, the storage server may analyze and recombine the code stream data sent by the video acquisition device to obtain video data supporting positioning playback, so that each target video frame in the code stream data may be determined in the analyzing and recombining process.
Optionally, in a specific implementation manner, the determining, by the storage server 210, a manner of each target video frame based on an analysis result obtained by analyzing the code stream data may include the following step 11:
step 11: the storage server 210 analyzes the code stream data to obtain each video frame; and reading the data of the preset mark bit in each video frame, and determining whether the video frame is a target video frame according to the read data.
As described above, the code stream data includes the mark information added for the target video frame including the preset event, and in this specific implementation, the video capture device may add the mark information in the preset mark bit of the frame information of the code stream data. In this way, after the storage server analyzes the code stream data to obtain each video frame, the storage server may read data of a preset flag bit of frame information of the video frame for each video frame, and determine whether the video frame is a target video frame according to whether the read data is the flag information added for the target video frame.
When the read data is the mark information added for the target video frame, the video frame can be determined to be the target video frame, otherwise, the video frame can be determined not to be the target video frame.
The specific position, the occupied byte number and the like of the preset mark bit in the frame information of the video frame are not limited, and the specific marking condition of the preset mark bit is not limited.
For example, the unmarked state may be represented by 0, and the marked state may be represented by 1, that is, 1 may be used as the mark information added for the target video frame, that is, when a certain video frame includes a preset event and is thus determined as the target video frame, the data acquisition device may set the data of the preset mark bit to 1 in the frame information of the video frame in the code stream data.
Optionally, in a specific implementation manner, the data of the preset flag bit may also indicate an event type of the preset event. For example, data 01 indicates that a traffic accident exists in the video image, data 10 indicates that a human intrusion event exists in the video image, data 11 indicates that a human a appears in the video image, and the like, and the correspondence relationship between the specific data of the preset flag bit and the event type is not limited.
In this way, when a certain video frame includes a preset event and is determined to be a target video frame, the data acquisition device may determine data corresponding to an event type of the preset event included in the video frame, and set data of a preset flag bit in frame information of the video frame in the code stream data as data corresponding to the event type of the preset event included in the video frame.
After each target video frame is determined, the storage server 210 may generate an event index corresponding to each target frame.
Optionally, in a specific implementation manner, the manner in which the storage server 210 generates the event index corresponding to each target frame respectively may include the following steps 21:
step 21: for each target video frame, the storage server 210 generates an event index corresponding to the target video frame according to the identifier of the video capture device corresponding to the target video frame and the time information of the target video frame.
In this specific implementation manner, the event index corresponding to each target video frame may include an identifier of the video capture device that captures the target video frame, for example, an Identity document (IPC ID), and time information of the target video frame, for example, a timestamp, a frame number, and the like. The time information of the target video frame may represent the capture time of the target video frame.
In this way, the video capture device that captures the corresponding event to be searched and the capture time of the corresponding event may be subsequently determined based on the generated event index, so that the user may search the video data corresponding to the corresponding time in the storage server 210 according to the event index.
Optionally, in another specific implementation manner, on the basis that the data of the preset flag bit may also represent an event type of a preset event, the storage server 210 may further be configured to:
and aiming at each video frame obtained by analysis, under the condition that the video frame is determined to be a target video frame, determining the event type of a preset event contained in the target video frame according to the data of the preset mark bit.
In this specific implementation manner, for each video frame obtained through parsing, if the storage server 210 determines that the video frame is a target video frame, the storage server 210 may determine an event type of a preset event included in the target video frame according to data of a preset flag bit of frame information of the target video frame.
Accordingly, in this specific implementation manner, the manner in which the storage server 210 generates the event index corresponding to each target frame respectively may include the following steps 22:
step 21: for each target video frame, the storage server 210 generates an event index corresponding to the target video frame according to the identifier of the video capture device corresponding to the target video frame, the time information of the target video frame, and the event type of the preset event included in the target video frame.
In this specific implementation manner, for each target video frame, an event index corresponding to the target video frame may be generated according to the identifier of the video capture device corresponding to the target video frame, the time information of the target video frame, and the type of the preset event included in the target video frame.
That is to say, in this specific implementation manner, the event index corresponding to each target video frame further includes an event type of a preset event included in the target video frame, so that the preset event of the specified type to be searched can be directly located subsequently based on the generated event index, and thus, it is further convenient for the user to search for the required video data.
After generating the event index corresponding to each target video frame, the storage server 210 may report the generated event indexes to the management server 220.
In this way, the management server 220 may receive each event index reported by the storage server 210, and store each received event index.
Based on this, the management server 220 may obtain the event index of each target video frame acquired by the video acquisition device without receiving the alarm information sent by the video acquisition device in real time and generating the event index according to the alarm information.
As can be seen from the above, with the solution provided by the embodiment of the present invention, the event index is generated after the storage server analyzes the code stream data, but is not generated according to the alarm information after the management server receives the alarm information sent by the video capture device in real time. Therefore, by applying the scheme provided by the embodiment of the invention, the management server does not frequently receive the alarm information, and further, the event index is not frequently generated according to the alarm information. Therefore, the consumption of processing resources of the management server can be reduced, and the bandwidth consumption caused by pushing the alarm information to the management server by the video acquisition equipment can be saved.
Optionally, in a specific implementation manner, the storage server 210 may be further configured to:
and converting the code stream data into video data supporting positioning playback, and storing the video data.
In this specific implementation manner, after receiving the code stream data sent by the video acquisition device, the storage server 210 may further convert the code stream data into video data supporting positioning playback, and store the video data obtained by the conversion.
The video data obtained by conversion supports positioning playback, so that the video data can be directly positioned to any time point for playing.
On the basis of this specific implementation manner, optionally, the management server 220 may further be configured to:
receiving a query request sent by user equipment, determining a target event index corresponding to the query request in the stored event indexes, and feeding back the target event index to the user equipment.
Accordingly, the storage server 210 may further be configured to:
and receiving a target event index sent by the user equipment, calling target video data corresponding to the target event index from the stored video data, and feeding the target video data back to the user equipment.
If the user needs to query the video data, the user may use the user device to obtain the target event index from the management server 220, and retrieve the video data to be queried from the storage server 210 according to the target event index.
Optionally, when the event index includes the identifier of the video capture device and the time information of the target video frame, the user may query the relevant video data from the time dimension and/or the device dimension, and therefore, the query request sent by the user device to the management server 220 may include the time parameter and/or the identifier of the video capture device, so that the user may query the video data of a certain period of time, may query the video data collected by a certain video capture device, and may also collect the video data collected by a certain video capture device at a certain period of time.
Optionally, when the event index includes an identifier of the video capture device, time information of the target video frame, and an event type of a preset event included in the target video frame, the user may query related video data from at least one of a time dimension, a device dimension, and an event type dimension, so that a query request sent by the user device to the management server 220 may include at least one type of information of a time parameter, an identifier of the video capture device, and an event type parameter, and thus, the user may query at least one type of video data among the following video data:
the video data of a certain period of time, the video data collected by a certain video collecting device, the video data containing a certain type of preset event, the video data collected by a certain video collecting device in a certain period of time, the video data containing a certain type of preset event collected by a certain video collecting device, and the video data containing a certain type of preset event collected by a certain video collecting device in a certain period of time.
Optionally, in a specific implementation manner, the storage server 210 may further store the converted video data and the event index corresponding to each generated target video frame into a cloud storage together.
Furthermore, in order to facilitate understanding of the respective roles of the storage server 210 and the management server 220 and the interaction process therebetween, as shown in fig. 3(a), a signaling interaction diagram between the storage server 210 and the management server 220 is shown. As shown in fig. 3(a), the signaling interaction process between the storage server 210 and the management server 220 may include the following steps S301-S305.
S301: the storage server 210 receives code stream data sent by the video acquisition device and stores the code stream data;
s302: the storage service 210 determines each target video frame based on an analysis result obtained by analyzing the code stream data;
s303: the storage server 210 respectively generates an event index corresponding to each target video frame;
s304: the storage server 210 reports each generated event index to the management server 220;
s305: the management server 220 receives each event index reported by the storage server 210, and stores each received event index.
Optionally, in a specific implementation, the storage server 210 may include an access module 211 and a storage module 212, and in this specific implementation, signaling interaction among the video capture device 100, the storage server 210, and the management server 220 is as shown in fig. 3 (b):
the video acquisition device 100 acquires code stream data, adds mark information to a target video frame containing a preset event in the code stream data, and sends the code stream data including the added mark information to the access module 211;
the access module 211, on one hand, analyzes and reassembles the encoded stream data to obtain video data supporting positioning playback, and on the other hand, identifies each target video frame during the process of analyzing the encoded stream data, and generates an event index corresponding to each target video frame. The access module 211 stores the video data in the storage module 212, and stores the event index in the management server 220.
The storage module 212 returns a message of successful writing after storing the video data, and the management server 220 also returns a message of successful writing after storing the event index.
If the user needs to query the video data, the event index may be obtained from the management server 220, and the video data that needs to be queried may be retrieved from the storage server 210 according to the event index.
Based on this, by applying the scheme provided by the embodiment of the present invention, the video acquisition device directly writes the mark information added for the target video frame into the corresponding video frame of the code stream data, so that the video acquisition device writes the code stream data into the storage server and also writes the added mark information into the storage server at the same time. The storage server directly acquires all the mark information written by the video acquisition equipment while analyzing the code stream data.
Therefore, on the first hand, bandwidth consumption caused by the fact that the video acquisition equipment pushes a large amount of alarm information to the management server is omitted. In the second aspect, the CPU calculation power consumed by the management server side for processing a large amount of alarm information is reduced. In the third aspect, the code stream data is analyzed without the calculation power of a newly added storage server, so that the CPU calculation power consumption of the storage server is reduced. In the fourth aspect, the code stream analysis process of the storage server is directly multiplexed to extract the marker information, and other devices do not need to be additionally arranged to extract the event marker, so that the CPU (Central processing Unit) computational power consumption of the storage server is further reduced.
Further, as shown in fig. 4, a schematic diagram of data interaction among the IPC, the storage server, the management server, and the user equipment in an embodiment of the data storage system provided by the embodiment of the present invention is provided.
In fig. 4, the user program is "the user device", "writing video data with a key event marker" is "sending code stream data", "reporting key event index" is "reporting event index of each target video frame to the management server", "obtaining key event index" is "obtaining target event index by sending query request to the management server", and "obtaining video data by index" is "obtaining target video data by sending target event index to the storage server".
Corresponding to the foregoing specific implementation manners, embodiments of the present invention further provide a data storage method applied to a data storage system, where the data storage system includes a storage server and a management server, for example, as shown in fig. 2.
Fig. 5 is a schematic flowchart of a data storage method applied to a data storage system according to an embodiment of the present invention, and as shown in fig. 5, the method may include the following steps:
s501: the storage server receives code stream data sent by the video acquisition equipment and stores the code stream data;
wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event;
s502: the storage server determines each target video frame based on an analysis result obtained by analyzing the code stream data;
s503: the storage server respectively generates event indexes corresponding to each target video frame and reports the generated event indexes to the management server;
s504: and the management server receives each event index reported by the storage server and stores each received event index.
As can be seen from the above, with the solution provided by the embodiment of the present invention, the event index is generated after the storage server analyzes the code stream data, but is not generated according to the alarm information after the management server receives the alarm information sent by the video capture device in real time. Therefore, by applying the scheme provided by the embodiment of the invention, the management server does not frequently receive the alarm information, and further, the event index is not frequently generated according to the alarm information. Therefore, the consumption of processing resources of the management server can be reduced, and the bandwidth consumption caused by pushing the alarm information to the management server by the video acquisition equipment can be saved.
Optionally, in a specific implementation manner, the step S502 includes the following step 31:
step 31: the storage server analyzes the code stream data to obtain each video frame; reading data of a preset mark bit in each video frame; and determining whether the video frame is a target video frame according to the data.
Optionally, in a specific implementation manner, the step S503 includes the following step 32:
step 32: and the storage server generates an event index corresponding to each target video frame according to the identifier of the video acquisition equipment corresponding to the target video frame and the time information of the target video frame.
Optionally, in a specific implementation manner, the method further includes the following step 33:
step 33: the storage server determines the event type of a preset event contained in a target video frame according to the data of the preset marker bit under the condition that the video frame is determined to be the target video frame;
accordingly, the step 32 includes the following steps 321:
and generating an event index corresponding to the target video frame according to the identifier of the video acquisition device corresponding to the target video frame, the time information of the target video frame and the event type of a preset event contained in the target video frame.
Optionally, in a specific implementation manner, the method further includes the following step 34:
step 34: and the storage server converts the code stream data into video data supporting positioning playback and stores the video data.
Optionally, in a specific implementation manner, the method further includes the following steps 35 to 36:
step 35: the management server receives a query request sent by user equipment; determining a target event index corresponding to the query request in the stored event indexes, and feeding back the target event index to the user equipment;
step 36: the storage server receives the target event index sent by the user equipment; and calling target video data corresponding to the target event index from the stored video data, and feeding the target video data back to the user equipment.
Corresponding to the foregoing specific implementation manners, an embodiment of the present invention further provides a data storage method applied to a management server in a data storage system, where the data storage system further includes a storage server, for example, as shown in fig. 2.
Fig. 6 is a schematic flowchart of a data storage method applied to a management server in a data storage system according to an embodiment of the present invention, and as shown in fig. 6, the method may include the following steps:
s601: receiving each event index reported by the storage server;
each event index is an analysis result obtained by analyzing code stream data sent by video acquisition equipment by the storage server, and is generated respectively after each target video frame is determined, wherein the code stream data comprises: adding mark information aiming at a target video frame containing a preset event;
s602: the received respective event indices are stored.
As can be seen from the above, with the solution provided by the embodiment of the present invention, the event index is generated after the storage server analyzes the code stream data, but is not generated according to the alarm information after the management server receives the alarm information sent by the video capture device in real time. Therefore, by applying the scheme provided by the embodiment of the invention, the management server does not frequently receive the alarm information, and further, the event index is not frequently generated according to the alarm information. Therefore, the consumption of processing resources of the management server can be reduced, and the bandwidth consumption caused by pushing the alarm information to the management server by the video acquisition equipment can be saved.
Optionally, in a specific implementation manner, the method further includes the following steps 41 to 42:
step 41: receiving an inquiry request sent by user equipment;
step 42: determining a target event index corresponding to the query request in the stored event indexes, and feeding back the target event index to the user equipment; and the user equipment acquires target video data which is called from the stored video data and corresponds to the target event index, and is fed back by the storage server, by sending the target event index to the storage server.
Corresponding to the foregoing specific implementation manners, an embodiment of the present invention further provides a data storage method applied to a storage server in a data storage system, where the data storage system further includes a management server, for example, as shown in fig. 2.
Fig. 7 is a schematic flowchart of a data storage method applied to a storage server in a data storage system according to an embodiment of the present invention, and as shown in fig. 7, the method may include the following steps:
s701: receiving code stream data sent by video acquisition equipment, and storing the code stream data;
wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event;
s702: determining each target video frame based on an analysis result obtained by analyzing the code stream data;
s703: respectively generating an event index corresponding to each target video frame;
s704: and reporting the generated event indexes to the management server so that the management server stores the received event indexes.
As can be seen from the above, with the solution provided by the embodiment of the present invention, the event index is generated after the storage server analyzes the code stream data, but is not generated according to the alarm information after the management server receives the alarm information sent by the video capture device in real time. Therefore, by applying the scheme provided by the embodiment of the invention, the management server does not frequently receive the alarm information, and further, the event index is not frequently generated according to the alarm information. Therefore, the consumption of processing resources of the management server can be reduced, and the bandwidth consumption caused by pushing the alarm information to the management server by the video acquisition equipment can be saved.
Optionally, in a specific implementation manner, the step 702 includes the following step 51:
step 51: analyzing the code stream data to obtain each video frame; reading data of a preset mark bit in each video frame; and determining whether the video frame is a target video frame according to the data.
Optionally, in a specific implementation manner, the step 703 includes the following step 52:
step 52: and aiming at each target video frame, generating an event index corresponding to the target video frame according to the identification of the video acquisition equipment corresponding to the target video frame and the time information of the target video frame.
Optionally, in a specific implementation manner, the method further includes the following step 53:
step 53: under the condition that the video frame is determined to be a target video frame, determining the event type of a preset event contained in the target video frame according to the data of the preset mark bit;
accordingly, the step 52 includes the following steps 521:
step 521: and aiming at each target video frame, generating an event index corresponding to the target video frame according to the identification of the video acquisition equipment corresponding to the target video frame, the time information of the target video frame and the event type of a preset event contained in the target video frame.
Optionally, in a specific implementation manner, the method further includes the following step 54:
step 54: and converting the code stream data into video data supporting positioning playback, and storing the video data.
Optionally, in a specific implementation manner, the method further includes the following steps 55 to 56:
step 55: receiving a target event index sent by the user equipment;
step 56: calling target video data corresponding to the target event index from the stored video data, and feeding back the target video data to the user equipment;
the target index event is a target event index which is determined in the stored event indexes and corresponds to the query request, fed back by the user equipment through sending the query request to the management server, and received by the user equipment.
Corresponding to the foregoing specific implementation manners, embodiments of the present invention further provide a data storage apparatus applied to a management server in a data storage system, where the data storage system further includes a storage server, for example, as shown in fig. 2.
Fig. 8 is a schematic structural diagram of a data storage apparatus applied to a management server in a data storage system according to an embodiment of the present invention, and as shown in fig. 8, the apparatus may include the following modules:
an event index receiving module 810, configured to receive each event index reported by the storage server; each event index is an analysis result obtained by analyzing code stream data sent by video acquisition equipment by the storage server, and is generated respectively after each target video frame is determined, wherein the code stream data comprises: adding mark information aiming at a target video frame containing a preset event;
an event index storage module 820, configured to store the received event indexes.
As can be seen from the above, with the solution provided by the embodiment of the present invention, the event index is generated after the storage server analyzes the code stream data, but is not generated according to the alarm information after the management server receives the alarm information sent by the video capture device in real time. Therefore, by applying the scheme provided by the embodiment of the invention, the management server does not frequently receive the alarm information, and further, the event index is not frequently generated according to the alarm information. Therefore, the consumption of processing resources of the management server can be reduced, and the bandwidth consumption caused by pushing the alarm information to the management server by the video acquisition equipment can be saved.
Optionally, in a specific implementation manner, the apparatus further includes:
the query request receiving module is used for receiving a query request sent by user equipment;
a target index feedback module, configured to determine a target event index corresponding to the query request in the stored event indexes, and feed back the target event index to the user equipment; and the user equipment acquires target video data which is called from the stored video data and corresponds to the target event index, and is fed back by the storage server, by sending the target event index to the storage server.
Corresponding to the foregoing specific implementation manners, embodiments of the present invention further provide a data storage apparatus applied to a storage server in a data storage system, where the data storage system further includes a management server, for example, as shown in fig. 2.
Fig. 9 is a schematic structural diagram of a data storage apparatus applied to a storage server in a data storage system according to an embodiment of the present invention, and as shown in fig. 9, the apparatus may include the following modules:
a code stream data receiving module 910, configured to receive code stream data sent by a video acquisition device, and store the code stream data; wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event;
a target frame determining module 920, configured to determine each target video frame based on an analysis result obtained by analyzing the code stream data;
an event index generating module 930, configured to generate an event index corresponding to each target video frame;
an event index reporting module 940, configured to report each generated event index to the management server, so that the management server stores each received event index.
As can be seen from the above, with the solution provided by the embodiment of the present invention, the event index is generated after the storage server analyzes the code stream data, but is not generated according to the alarm information after the management server receives the alarm information sent by the video capture device in real time. Therefore, by applying the scheme provided by the embodiment of the invention, the management server does not frequently receive the alarm information, and further, the event index is not frequently generated according to the alarm information. Therefore, the consumption of processing resources of the management server can be reduced, and the bandwidth consumption caused by pushing the alarm information to the management server by the video acquisition equipment can be saved.
Optionally, in a specific implementation manner, the target frame determining module 920 is specifically configured to:
analyzing the code stream data to obtain each video frame; reading data of a preset mark bit in each video frame; and determining whether the video frame is a target video frame according to the data.
Optionally, in a specific implementation manner, the event index generating module 930 is specifically configured to:
and aiming at each target video frame, generating an event index corresponding to the target video frame according to the identification of the video acquisition equipment corresponding to the target video frame and the time information of the target video frame.
Optionally, in a specific implementation manner, the apparatus further includes:
the event type determining module is used for determining the event type of a preset event contained in the target video frame according to the data of the preset mark bit under the condition that the video frame is determined to be the target video frame;
the event index generating module 930 is specifically configured to: and aiming at each target video frame, generating an event index corresponding to the target video frame according to the identification of the video acquisition equipment corresponding to the target video frame, the time information of the target video frame and the event type of a preset event contained in the target video frame.
Optionally, in a specific implementation manner, the apparatus further includes:
and the data conversion module is used for converting the code stream data into video data supporting positioning playback and storing the video data.
Optionally, in a specific implementation manner, the apparatus further includes:
a target index receiving module, configured to receive a target event index sent by the user equipment;
the target data feedback module is used for calling target video data corresponding to the target event index from the stored video data and feeding the target video data back to the user equipment; the target index event is a target event index which is determined in the stored event indexes and corresponds to the query request, fed back by the user equipment through sending the query request to the management server, and received by the user equipment.
In accordance with the foregoing embodiments, the present invention further provides a server, as shown in fig. 10, including a processor 1001 and a memory 1002,
a memory 1002 for storing a computer program;
the processor 1001 is configured to implement any of the steps of the data storage method applied to the management server in the data storage system or any of the steps of the data storage method applied to the storage server in the data storage system, which are provided by the above-described embodiments of the present invention, when executing the program stored in the memory 1002.
The Memory mentioned in the server may include a Random Access Memory (RAM) or a Non-Volatile Memory (NVM), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the processor.
The Processor may be a general-purpose Processor, including a Central Processing Unit (CPU), a Network Processor (NP), and the like; but also Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components.
In yet another embodiment provided by the present invention, a computer-readable storage medium is further provided, in which a computer program is stored, and the computer program, when executed by a processor, implements any of the steps of the data storage method applied to the management server in the data storage system or any of the steps of the data storage method applied to the storage server in the data storage system provided by the above-mentioned embodiments of the present invention.
In yet another embodiment, the present invention further provides a computer program product containing instructions, which when run on a computer, causes the computer to perform any of the steps of the data storage method applied to the management server in the data storage system or any of the steps of the data storage method applied to the storage server in the data storage system provided in the above-mentioned embodiments of the present invention.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It is 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 apparatus 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 apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, as for the method embodiment, the apparatus embodiment, the server embodiment, the computer-readable storage medium embodiment, and the computer program product embodiment, since they are substantially similar to the system embodiment, the description is relatively simple, and it is sufficient to refer to the partial description of the method embodiment for the relevant points.
The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention shall fall within the protection scope of the present invention.

Claims (12)

1. A data storage system, the data storage system comprising: a storage server and a management server;
the storage server is used for receiving code stream data sent by the video acquisition equipment and storing the code stream data; determining each target video frame based on an analysis result obtained by analyzing the code stream data; respectively generating event indexes corresponding to each target video frame, and reporting the generated event indexes to the management server; wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event;
and the management server is used for receiving each event index reported by the storage server and storing each received event index.
2. The system of claim 1, wherein the storage server determines each target video frame based on an analysis result obtained by analyzing the codestream data, comprising:
the storage server analyzes the code stream data to obtain each video frame; reading data of a preset mark bit in each video frame; and determining whether the video frame is a target video frame according to the data.
3. The system of claim 2, wherein the storage server generates an event index corresponding to each target video frame respectively, and comprises:
and the storage server generates an event index corresponding to each target video frame according to the identifier of the video acquisition equipment corresponding to the target video frame and the time information of the target video frame.
4. The system of claim 3, wherein the storage server is further configured to:
under the condition that the video frame is determined to be a target video frame, determining the event type of a preset event contained in the target video frame according to the data of the preset mark bit;
the storage server generates, for each target video frame, an event index corresponding to the target video frame according to the identifier of the video capture device corresponding to the target video frame and the time information of the target video frame, including:
and the storage server generates an event index corresponding to each target video frame according to the identifier of the video acquisition equipment corresponding to the target video frame, the time information of the target video frame and the event type of a preset event contained in the target video frame.
5. The system of any of claims 1-4, wherein the storage server is further configured to:
and converting the code stream data into video data supporting positioning playback, and storing the video data.
6. The system of claim 5,
the management server is also used for receiving a query request sent by the user equipment; determining a target event index corresponding to the query request in the stored event indexes, and feeding back the target event index to the user equipment;
the storage server is further used for receiving the target event index sent by the user equipment; and calling target video data corresponding to the target event index from the stored video data, and feeding the target video data back to the user equipment.
7. A data storage method, applied to a data storage system, the data storage system comprising: a management server and a storage server; the method comprises the following steps:
the storage server receives code stream data sent by the video acquisition equipment and stores the code stream data; wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event;
the storage server determines each target video frame based on an analysis result obtained by analyzing the code stream data;
the storage server respectively generates event indexes corresponding to each target video frame and reports the generated event indexes to the management server;
and the management server receives each event index reported by the storage server and stores each received event index.
8. A data storage method applied to a management server in a data storage system, wherein the data storage system further includes a storage server, the method comprising:
receiving each event index reported by the storage server; each event index is an analysis result obtained by analyzing code stream data sent by video acquisition equipment by the storage server, and is generated respectively after each target video frame is determined, wherein the code stream data comprises: adding mark information aiming at a target video frame containing a preset event;
the received respective event indices are stored.
9. A data storage method applied to a storage server in a data storage system, wherein the data storage system further includes a management server, the method comprising:
receiving code stream data sent by video acquisition equipment, and storing the code stream data; wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event;
determining each target video frame based on an analysis result obtained by analyzing the code stream data;
respectively generating an event index corresponding to each target video frame;
and reporting the generated event indexes to the management server so that the management server stores the received event indexes.
10. A data storage apparatus applied to a management server in a data storage system, wherein the data storage system further includes a storage server, the apparatus comprising:
the event index receiving module is used for receiving each event index reported by the storage server; each event index is an analysis result obtained by analyzing code stream data sent by video acquisition equipment by the storage server, and is generated respectively after each target video frame is determined, wherein the code stream data comprises: adding mark information aiming at a target video frame containing a preset event;
and the event index storage module is used for storing the received event indexes.
11. A data storage apparatus, applied to a storage server in a data storage system, wherein the data storage system further includes a management server, the apparatus comprising:
the code stream data receiving module is used for receiving the code stream data sent by the video acquisition equipment and storing the code stream data; wherein, the code stream data includes: adding mark information aiming at a target video frame containing a preset event;
the target frame determining module is used for determining each target video frame based on an analysis result obtained by analyzing the code stream data;
the event index generating module is used for respectively generating an event index corresponding to each target video frame;
and the event index reporting module is used for reporting the generated event indexes to the management server so that the management server stores the received event indexes.
12. A server, comprising a processor and a memory;
a memory for storing a computer program;
a processor for implementing the method steps of claim 8 or 9 when executing a program stored in the memory.
CN202110738752.8A 2021-06-30 2021-06-30 Data storage system and method Pending CN113473166A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110738752.8A CN113473166A (en) 2021-06-30 2021-06-30 Data storage system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110738752.8A CN113473166A (en) 2021-06-30 2021-06-30 Data storage system and method

Publications (1)

Publication Number Publication Date
CN113473166A true CN113473166A (en) 2021-10-01

Family

ID=77876748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110738752.8A Pending CN113473166A (en) 2021-06-30 2021-06-30 Data storage system and method

Country Status (1)

Country Link
CN (1) CN113473166A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205631A (en) * 2021-10-28 2022-03-18 浙江大华技术股份有限公司 Video storage, catalog generation and migration methods, devices, equipment and medium
CN114245200A (en) * 2021-11-02 2022-03-25 浙江大华技术股份有限公司 Monitoring scene change determination method, device and system and electronic device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448145A (en) * 2008-12-26 2009-06-03 北京中星微电子有限公司 IP camera, video monitor system and signal processing method of IP camera
CN101860731A (en) * 2010-05-20 2010-10-13 杭州普维光电技术有限公司 Video information processing method, system and server
CN102708210A (en) * 2012-05-24 2012-10-03 浙江宇视科技有限公司 Method and system for checking key events from video data
CN103379266A (en) * 2013-07-05 2013-10-30 武汉烽火众智数字技术有限责任公司 High-definition web camera with video semantic analysis function
CN105847825A (en) * 2015-01-16 2016-08-10 杭州海康威视数字技术股份有限公司 Encoding, index storage and access methods for video encoding code stream and corresponding apparatus
CN105898207A (en) * 2015-01-26 2016-08-24 杭州海康威视数字技术股份有限公司 Intelligent processing method and system of video data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101448145A (en) * 2008-12-26 2009-06-03 北京中星微电子有限公司 IP camera, video monitor system and signal processing method of IP camera
CN101860731A (en) * 2010-05-20 2010-10-13 杭州普维光电技术有限公司 Video information processing method, system and server
CN102708210A (en) * 2012-05-24 2012-10-03 浙江宇视科技有限公司 Method and system for checking key events from video data
CN103379266A (en) * 2013-07-05 2013-10-30 武汉烽火众智数字技术有限责任公司 High-definition web camera with video semantic analysis function
CN105847825A (en) * 2015-01-16 2016-08-10 杭州海康威视数字技术股份有限公司 Encoding, index storage and access methods for video encoding code stream and corresponding apparatus
CN105898207A (en) * 2015-01-26 2016-08-24 杭州海康威视数字技术股份有限公司 Intelligent processing method and system of video data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205631A (en) * 2021-10-28 2022-03-18 浙江大华技术股份有限公司 Video storage, catalog generation and migration methods, devices, equipment and medium
CN114205631B (en) * 2021-10-28 2024-08-09 浙江大华技术股份有限公司 Video storage, catalog generation and migration methods, devices, equipment and media
CN114245200A (en) * 2021-11-02 2022-03-25 浙江大华技术股份有限公司 Monitoring scene change determination method, device and system and electronic device
CN114245200B (en) * 2021-11-02 2024-05-07 浙江大华技术股份有限公司 Monitoring scene change determining method, device, system and electronic device

Similar Documents

Publication Publication Date Title
EP3734489B1 (en) Evidence collection method and system based on blockchain evidence storage
CN103702053B (en) Video storage and search method and system as well as monitoring system
CN107092686B (en) File management method and device based on cloud storage platform
CN100514379C (en) Intelligent monitoring dynamic alarm system of anti-technical net
CN113473166A (en) Data storage system and method
CN112632129A (en) Code stream data management method, device and storage medium
CN111666205B (en) Data auditing method, system, computer equipment and storage medium
CN111078513A (en) Log processing method, device, equipment, storage medium and log alarm system
CN112559813B (en) Internet of things gateway data processing method and device based on instruction association pushing
WO2021115348A1 (en) Cloud storage system providing preview function, and preview method and apparatus
CN110543584B (en) Method, device, processing server and storage medium for establishing face index
WO2021121264A1 (en) Snapshot picture transmission method, apparatus and system, and camera and storage device
CN115103157A (en) Video analysis method and device based on edge cloud cooperation, electronic equipment and medium
CN110888985A (en) Alarm information processing method and device, electronic equipment and storage medium
CN104904255A (en) Inferring events based on MOB source video
CN112418026B (en) Vehicle violation detection method, system and device based on video detection
JP5072880B2 (en) Metadata extraction server, metadata extraction method and program
CN114598622B (en) Data monitoring method and device, storage medium and computer equipment
CN108111557B (en) Method and device for acquiring data in cloud storage system
KR20110070767A (en) Remote forensics system based on network
CN114996080A (en) Data processing method, device, equipment and storage medium
US20170150195A1 (en) Method and system for identifying and tracking online videos
CN111382306A (en) Method and device for inquiring video frame
CN112801136A (en) Internet of things gateway data processing method and device with feature identification
CN108614822B (en) Intelligent event storage and reading 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
RJ01 Rejection of invention patent application after publication

Application publication date: 20211001

RJ01 Rejection of invention patent application after publication