WO2018171266A1 - Video monitoring data storage method and device - Google Patents
Video monitoring data storage method and device Download PDFInfo
- Publication number
- WO2018171266A1 WO2018171266A1 PCT/CN2017/115710 CN2017115710W WO2018171266A1 WO 2018171266 A1 WO2018171266 A1 WO 2018171266A1 CN 2017115710 W CN2017115710 W CN 2017115710W WO 2018171266 A1 WO2018171266 A1 WO 2018171266A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- video surveillance
- data
- surveillance data
- video
- flash block
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Definitions
- the video surveillance system can be divided into one or more channels according to the number of monitoring channels, that is, one or more scenarios are monitored.
- Multi-channel monitoring corresponds to multiple video files, and video files monitored by different channels are stored in the memory through the same interface.
- Flash memory In a video surveillance system, a flash memory is often used as a memory. Flash memory consists of multiple flash blocks, each containing multiple pages. In the conventional method, each video file is sequentially written into the same flash block in the order in which the data is written, that is, more than one video file stored in the same flash block. Due to the limited storage space of the flash memory, the storage space allocated to each video file is limited, and the video data stream of each channel is different. The monitoring video of a certain code stream consumes a relatively fast storage space, which will result in the video file of the channel. The storable space is used up before the storable space of other video files. In this case, the invalid data of the video in the flash block needs to be deleted to obtain free space for the latest file storage of the video.
- flash erase is performed in units of blocks, and deleting expired video files monitored by a certain channel requires erasing all blocks in which expired video files are located.
- more than one video file is stored in the flash block.
- the page occupied by the video file stored in the flash block becomes a dirty page (the page whose stored data has expired)
- the other monitored video in the flash block The page occupied by the file may still be a valid page (the page where the stored data has not expired).
- the conventional method is exemplified by a total of four channels of monitoring in the video monitoring system, which are A, B, C, and D.
- the 4-way monitoring corresponds to 4 video files. 4 channels of video every interval The pieces will be stored in flash memory in turn. Please refer to Table 1.
- 4 video files can be named A1, Bl, Cl, Dl.
- 4 video files can be named A2, B2, C2, D2. , So on and so forth. Since the branching multiplexing method is adopted, the storage of each segment is sequentially stored in the page of the flash block in the order from A to D.
- the total storage space of the flash memory is limited, and the storage space allocated to the 4-way video file is also limited.
- the A channel consumes more storage space than the other three video files.
- the expired A channel video needs to be deleted to obtain the space of the A channel video storing the latest inter-segment, and it is necessary to delete the invalid data A5, A6, A7, A8, which needs to be Before erasing the blocks where A5, A6, A7, and A8 are located, first move the pages occupied by the B, C, and D channels in the block to the memory, and then erase the flash memory where A5, A6, A7, and A8 are located. Block, finally move the B-channel, C-channel, and D-way valid page data in the memory back to the corresponding page position of the previous flash block. This way, the storage space is extremely inefficient, and the loss of the flash block is also large.
- a video surveillance data storage method includes:
- the video surveillance data After receiving the video surveillance data again, the video surveillance data is directly stored in the allocated flash block.
- a video surveillance data storage device includes:
- a recording module configured to receive one channel of video surveillance data, store the video surveillance data into a specified flash block, and record the number of times the video surveillance data is stored;
- a flash block allocation module configured to allocate a corresponding flash block for the video surveillance data of the channel when the number of times the video surveillance data is stored reaches a first threshold
- a storage module configured to store the video surveillance data in the allocated flash block directly after receiving the corresponding flash block for the video surveillance data.
- the video monitoring data storage method and device receive one video surveillance data, store the video surveillance data into a designated flash block, and record the number of times the video surveillance data is stored. When the number of times the video surveillance data is stored reaches the first threshold, the corresponding video block is allocated to the video surveillance data, and then the video surveillance data is received again, and the video surveillance data is directly stored to the allocated In the flash block.
- a flash block corresponding to a certain video surveillance data stored in a specified flash block exceeding a first threshold is used to store the aforementioned video surveillance data.
- An electronic device comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory is stored for execution by the at least one processor An instruction, the instructions being executed by the at least one processor to enable the at least one processor to perform the method described above.
- a non-transitory computer readable storage medium storing computer executable instructions for causing the electronic device to perform the above method when the computer executable instructions are executed by an electronic device .
- a computer program product comprising: a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions, wherein the program instructions are electronically
- the device executes ⁇ to cause the electronic device to perform the above method.
- the flash block Because the corresponding flash block only stores one video monitoring data, if all the video monitoring data stored in the corresponding flash block becomes invalid data, the flash block can be erased as a whole. Video surveillance data files that affect other roads. Each erase can reclaim a complete flash block, thus improving the storage efficiency of the storage space, and only one data is stored in one flash block, so when the data in the flash block is invalid data, the whole Erasing can be done, avoiding moving the valid files of other paths to the memory and then moving them back, reducing the loss of the flash blocks.
- FIG. 1 is an application environment diagram of a method for monitoring video data storage in an embodiment
- FIG. 2 is a flow chart of a method for monitoring video data storage in an embodiment
- FIG. 3 is a flow chart of a method for monitoring video data storage in an embodiment
- FIG. 4 is a flow chart of a method for monitoring video data storage in an embodiment
- FIG. 5 is a flow chart of a method for monitoring video data storage in an embodiment
- FIG. 6 is a flow chart of a method for monitoring video data storage in an embodiment
- FIG. 7 is a schematic diagram of a video surveillance data storage method received in the first three times in the embodiment.
- FIG. 8 is a schematic diagram of a method for storing video surveillance data received after more than 3 times in an embodiment
- FIG. 9 is a schematic structural diagram of a monitoring video data storage device in an embodiment
- FIG. 10 is a schematic structural diagram of a monitoring video data storage device in an embodiment
- FIG. 11 is a schematic structural diagram of a monitoring video data storage device in an embodiment
- FIG. 12 is a schematic structural diagram of a monitoring video data storage device in an embodiment
- the FTL stores the video surveillance data in the normal flash memory block again, and records the number of times the video surveillance data is stored in the normal flash memory block from the FTL.
- Step 260 When the number of times the video surveillance data is stored reaches the first threshold, the corresponding flash block is re-allocated for the video surveillance data.
- Step 270 after receiving the video surveillance data again, directly storing the video surveillance data into the reallocated flash block.
- the dedicated flash block that is full and all of the invalid data is erased in a block. , making it a free block for the latest video files to store.
- the video surveillance data is stored in the normal flash block, and the number of times the video surveillance data is stored in the ordinary flash block is recorded.
- the new dedicated flash block is re-allocated for the video surveillance data, and the received video surveillance data is stored in the re-allocated dedicated flash block. .
- a dedicated flash block is allocated to one channel of video surveillance data, when the allocated dedicated flash block is full, the dedicated flash block that is full and all of the invalid data can be erased in a block, thereby becoming empty.
- Dedicated flash blocks are available for new video surveillance data storage. Therefore, the storage efficiency of the storage space is improved, and the loss of the flash block is small.
- more than one video file is stored in the flash block, and when the page occupied by the video file stored in the flash block is occupied by a dirty page (the page whose stored data has expired), other channels in the flash block are monitored. The page occupied by the video file may still be a valid page (the page where the stored data has not expired).
- a video monitoring data storage method including:
- Step 410 Receive multiple video surveillance data.
- the multi-channel video surveillance system includes multiple camera devices.
- the camera device transmits the video surveillance data to the storage device and finally stores it in the storage device.
- FTL Flash Translation Layer
- flash Translation Layer Flash Translation Layer
- the function of F TL is to effectively write data and data to the flash memory, and can effectively manage all the written data. When it is necessary to read data from the storage device, the FTL must accurately calculate the data to be read. Flash address for accurate data acquisition.
- the FTL receives the multi-channel video surveillance data transmitted by the imaging device, and transmits not only the data but also the write address and the data length of the transmission data (not necessary).
- Step 420 Store the video surveillance data into the designated flash block, and record the number of times each video surveillance data is stored.
- the FTL pre-associates the flash memory into a normal flash block and a dedicated flash block, and the designated flash block is a normal flash block.
- a normal flash block can receive various video surveillance data, and a dedicated flash block is used to assign to the corresponding video surveillance data.
- the received multi-channel video surveillance data is first stored in a normal flash block, and the number of times each video surveillance data is stored in a normal flash block is recorded. Each video file will be written to the same normal flash block in the order in which the data is written, that is, more than one video file stored in the same normal flash block.
- Step 430 When the number of times the video surveillance data is stored reaches the first threshold, the corresponding video block is allocated to the video surveillance data.
- Step 440 After the corresponding flash block is allocated for the video surveillance data, when the received video monitoring data is determined to be the video surveillance data, the video surveillance data is acquired.
- the FTL judges each received video surveillance data to determine whether it is the video surveillance data of the channel, and if the determination result is yes, acquires the received video. Monitor data.
- the specific determining step is: comparing the address of the video monitoring data received each time with the address of the video monitoring data stored last time, and generating a comparison result. If the comparison result is that the address is continuous, then the receiving is performed.
- the video surveillance data is the video surveillance data of the channel, so the video surveillance data received this time is obtained, and the video surveillance data received this time is stored in the corresponding dedicated flash memory. Just in the block.
- the video surveillance data is directly stored in the dedicated flash block.
- Step 450 Store the video surveillance data directly into a corresponding flash block allocated for the video surveillance data.
- the FTL receives the multi-channel video surveillance data, and stores the received multi-channel video surveillance data into the ordinary flash memory block, and records each video surveillance data in the ordinary The number of times stored in the flash block.
- FTL allocates a dedicated flash block for the video surveillance data.
- the received video monitoring data is the video monitoring data of the channel
- the video monitoring data is acquired, and the video monitoring data is directly stored into a corresponding flash block allocated for the video monitoring data of the channel.
- the method for managing a flash block by the FTL method allocates a corresponding dedicated flash block for each video monitoring data stored in a normal flash block for a number of times exceeding a first threshold, thereby storing each data in a separate manner.
- a different dedicated flash block When the code stream of a certain surveillance video is large, the dedicated flash block or the dedicated flash block group allocated to the video surveillance data is used up first, then when all the files stored in a dedicated flash block are invalid data, It is possible to directly erase this flash block as a whole to free up empty flash blocks for redistribution. Therefore, the storage space is highly efficient, avoids repeated erasing, and improves the service life of the flash block.
- more than one video file is stored in a flash block, and when a page occupied by a video file stored in a flash block is occupied as a dirty page (a page whose stored data has expired), the flash block is in the flash block.
- the pages occupied by other road-monitored video files may still be valid pages (pages where stored data has not expired). This requires moving the valid page data outside the dirty pages of these blocks to the memory of the monitoring device before erasing the block where the expired video files are located, and then performing an overall erase operation on these flash blocks, and finally The valid page data moved to the memory is moved back to the corresponding page position of the block in which it was previously located.
- the recovery method of the traditional method storage space is extremely low, and the effective page needs to be copied before the flash block is erased, and the number of erasing and erasing of the flash memory is limited, and the repeated erasing and writing of the flash block is large.
- a video monitoring data storage method further includes: [0080] Step 460: Receive multiple video surveillance data, and record the number of times that the video surveillance data is not continuously received.
- the FTL has allocated a dedicated flash block to the received multi-channel video monitoring data, and each video monitoring data is stored in the corresponding dedicated flash block, and the receiving condition of each video monitoring data needs to be recorded. Specifically, the number of times that the video monitoring data of a certain channel is not received continuously is counted. For example, if there are 4 channels of video monitoring data of A, B, C, and D, then the received AACDDAADDCCD is the 12 channels that have not been received continuously. Video surveillance data.
- the FTL collects statistics on the number of times that the video monitoring data is not received continuously. If the number of times that the video monitoring data is not received continuously reaches the second threshold, the video surveillance data is released to the dedicated dedicated flash block. Occupation, that is, this dedicated flash block is no longer exclusive to this video surveillance data, can be assigned to other channels of video surveillance data storage.
- the FTL records the reception status of each video surveillance data to which the dedicated flash memory block has been allocated, and if the number of times that the video surveillance data has not been received continuously reaches the second threshold, the path is released.
- the video surveillance data has a possession of the assigned dedicated flash block so that this dedicated flash block can be allocated for use by other video surveillance data stores.
- the dedicated flash block is occupied by the video surveillance data from start to finish. This will not cause a dedicated flash block to be occupied, but no data is written, and a whole dedicated flash block is wasted, so that the full use of each dedicated flash block is realized, and the storage efficiency is improved.
- a video monitoring data storage method further includes:
- Step 610 When the address of the video monitoring data received this time is not continuous with the address of each video monitoring data received last time, the video monitoring data received this time is stored in a specified flash block. And record the number of times the video surveillance data is stored.
- the file system allocates an address for each video surveillance data, for example, a total of 4 video surveillance data, the file system first assigns the address of the A channel to 0xl0000-lFFFFF, and the address assigned to the B channel is 0x20000- 2FFFFF, the address assigned to the C channel is 0x30000-3FFFFF, and the address assigned to the D channel is Ox 40000-4FFFFF, when the address allocated to the A channel OxlOOOO-lFFFFF is used up and the other paths are not used up. At this point, the file system will reassign the address to channel A, for example, address 0x50000-5FFFFF.
- the video monitoring data received this time is stored in the ordinary flash memory block, and the number of times the video monitoring data is stored is recorded.
- the video surveillance data of the previous segment is released from the exclusive flash block, so that this dedicated flash block can be used by other channels.
- Step 620 When the number of times the video surveillance data is stored reaches the first threshold, the corresponding flash block is allocated for the video monitoring data.
- a dedicated flash block is allocated for the video surveillance data.
- the first threshold can be set according to the actual situation.
- a dedicated flash block can be allocated at a time, or a dedicated flash block group can be allocated at a time. This dedicated flash block group contains multiple dedicated flash blocks.
- Step 640 Acquire video surveillance data whose comparison result is consecutive addresses, and the video surveillance data is the video surveillance data of the channel.
- Step 650 Store the video surveillance data directly into the allocated flash block.
- the video surveillance data of a certain path when the address of the video surveillance data of a certain path is not continuous, the video surveillance data of the previous segment is released from the dedicated flash block, and the received video surveillance is re-received.
- the data is stored in a normal flash block and the number of stores is counted, and when the first threshold is exceeded, the new dedicated flash block is reassigned.
- a method of monitoring video data storage is provided that is exemplified for use in an environment as shown in FIG. [0096] Assuming a total of A, B, C, D 4 video surveillance data, the file system assigns an address to each video surveillance data, the address assigned by the A channel is 0xl0000-lFFFFF, and the address assigned to the B channel is 0x2000. 0-2FFFFF, the address assigned to the C channel is 0x30000-3FFFFF, and the address assigned to the D channel is 0x40000-4 FFFFF.
- the recording module 1120 is further configured to receive the multi-channel video monitoring data, and record the number of times that the video monitoring data is not continuously received.
- the release module 1160 is configured to release the possession of the video surveillance data to the allocated flash block if the number of times the video surveillance data is not received continuously reaches the second threshold.
- the apparatus further includes: an address comparison module 1170 and an acquisition module.
- the recording module 1120 is further configured to: when the address of the video monitoring data received this time is not continuous with the address of each video monitoring data received last time, store the video monitoring data received this time to a designated one. In the flash block, and record the number of times the video surveillance data is stored;
- the flash block allocation module 1130 is configured to allocate a corresponding flash block for the video surveillance data when the number of times the video surveillance data is stored reaches a first threshold.
- the address comparison module 1170 is configured to compare the address of each received video surveillance data with the address of the last stored video surveillance data after the corresponding flash block is allocated, to generate a comparison result;
- the obtaining module 1180 is configured to obtain video surveillance data whose alignment result is consecutive addresses, where the video surveillance data is the video surveillance data of the channel;
- the electronic device 140 includes:
- the processor 141 and the memory 142 may be connected by a bus or the like, and the bus connection is taken as an example in FIG.
- the memory 142 is a non-volatile computer readable storage medium, and can be used for storing non-volatile software programs, non-volatile computer-executable programs, and modules, such as video surveillance data storage in the embodiments of the present application.
- the method corresponds to a program instruction/module (for example, the method shown in FIG. 2 to FIG. 6).
- the processor 1 41 performs various functional applications and data processing by executing non-volatile software programs, instructions, and modules stored in the memory 142, that is, implementing the video monitoring data storage method of the above method embodiment.
- the memory 142 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function; the storage data area may be stored according to the use of the video surveillance data storage device. Data, etc.
- memory 142 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device.
- memory 142 can optionally include memory remotely located relative to processor 141, which can be connected to the video surveillance data storage device over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
- the one or more modules are stored in the memory 142, and when executed by the one or more processors 141, performing a video surveillance data storage method in any of the foregoing method embodiments, for example, performing the above
- the method steps in Figures 2 through 6 are described and the functions of the modules in Figures 5 through 13 are implemented.
- Embodiments of the present application provide a non-transitory computer readable storage medium storing computer-executable instructions that are executed by one or more processors, such as A processor 141 in FIG. 14 may enable the one or more processors to perform the video surveillance data storage method in any of the above method embodiments, for example, to perform the method steps and implementations in FIG. 2 to FIG. 6 described above.
- a processor 141 in FIG. 14 may enable the one or more processors to perform the video surveillance data storage method in any of the above method embodiments, for example, to perform the method steps and implementations in FIG. 2 to FIG. 6 described above.
- the embodiment of the present application provides a computer program product, the computer program product comprising a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions, the program instructions being One or more processors executing, such as one processor 141 in FIG. 14, may cause the one or more processors to perform the video surveillance data storage method in any of the above method embodiments For example, the method steps in FIGS. 2 to 6 described above and the functions of the modules in FIGS. 5 to 13 are performed.
- the device embodiments described above are merely illustrative, wherein the unit described as a separate component may or may not be physically distributed, and the component displayed as a unit may or may not be a physical unit. , that is, it can be located in one place, or it can be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Closed-Circuit Television Systems (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
Description
视频监控数据存储方法和装置 Video monitoring data storage method and device
技术领域 Technical field
[0001] 本申请涉及视频监控技术领域, 特别是涉及一种视频监控数据存储方法和装置 背景技术 [0001] The present application relates to the field of video surveillance technologies, and in particular, to a video surveillance data storage method and apparatus.
[0002] 我们的日常生活基本离不幵视频监控系统。 视频监控系统根据监控路数可以分 为一路或多路监控, 即对一个或多个场景进行监控。 多路监控对应多个视频文 件, 且不同路监控的视频文件通过同一接口存入存储器。 [0002] Our daily life is basically inseparable from video surveillance systems. The video surveillance system can be divided into one or more channels according to the number of monitoring channels, that is, one or more scenarios are monitored. Multi-channel monitoring corresponds to multiple video files, and video files monitored by different channels are stored in the memory through the same interface.
[0003] 在视频监控系统中, 常采用闪存 (flash) 作为存储器。 闪存由多个闪存块组成 , 每个闪存块包含多个页。 传统方法中, 各路视频文件将按照数据的写入顺序 依次写入同一个闪存块, 即同一闪存块中存储的不止一路视频文件。 由于闪存 的存储空间有限, 所以分配给各路视频文件的存储空间有限, 并且各路视频数 据码流不一样, 码流大的某路监控视频耗用存储空间较快, 将导致该路视频文 件的可存储空间较其他路视频文件的可存储空间先使用完。 此吋, 需要刪除闪 存块中该路视频的无效数据以获取空闲空间供该路视频的最新文件存储。 [0003] In a video surveillance system, a flash memory is often used as a memory. Flash memory consists of multiple flash blocks, each containing multiple pages. In the conventional method, each video file is sequentially written into the same flash block in the order in which the data is written, that is, more than one video file stored in the same flash block. Due to the limited storage space of the flash memory, the storage space allocated to each video file is limited, and the video data stream of each channel is different. The monitoring video of a certain code stream consumes a relatively fast storage space, which will result in the video file of the channel. The storable space is used up before the storable space of other video files. In this case, the invalid data of the video in the flash block needs to be deleted to obtain free space for the latest file storage of the video.
[0004] 然而, 闪存擦除是以块为单位进行, 刪除某路监控的过期视频文件就需要擦除 过期视频文件所在的全部块。 但是, 闪存块中存储的不止一路视频文件, 当闪 存块中某路监控的视频文件存储所占用的页成为脏页 (存储的数据已经过期的 页) 吋, 该闪存块中其他路监控的视频文件所占用的页可能仍然是有效页 (存 储的数据未过期的页) 。 这就需要在擦除过期视频文件所在的块之前, 先将这 些块上脏页之外的有效页数据搬移到监控设备的内存中, 然后再对这些闪存块 进行整体擦除操作, 最后再将搬移到内存中的有效页数据搬移回之前所在块的 对应页位置上。 传统方法存储空间的回收效率极低, 擦除闪存块前还需要拷贝 有效页, 而闪存的擦写次数是有限的, 所以对闪存块来说损耗较大。 [0004] However, flash erase is performed in units of blocks, and deleting expired video files monitored by a certain channel requires erasing all blocks in which expired video files are located. However, more than one video file is stored in the flash block. When the page occupied by the video file stored in the flash block becomes a dirty page (the page whose stored data has expired), the other monitored video in the flash block The page occupied by the file may still be a valid page (the page where the stored data has not expired). This requires moving the valid page data outside the dirty pages of these blocks to the memory of the monitoring device before erasing the block where the expired video files are located, and then performing an overall erase operation on these flash blocks, and finally The valid page data moved to the memory is moved back to the corresponding page position of the block in which it was previously located. The traditional method storage space is extremely inefficient, and it is necessary to copy a valid page before erasing the flash block, and the flash erasing frequency is limited, so the loss is large for the flash block.
[0005] 传统方法, 以视频监控系统中共有 4路监控来举例说明, 分别为 A路、 B路、 C 路及 D路监控。 4路监控分别与 4个视频文件对应。 每间隔一定吋间, 4路视频文 件将依次存入闪存。 请参见表 1, 在第一吋间段, 4路视频文件可分别命名为 A1 、 Bl、 Cl、 Dl, 在第二吋间段, 4路视频文件可分别命名为 A2、 B2、 C2、 D2, 依此类推。 由于采用的是分吋复用方式, 每一吋间段的存储将按照从 A路到 D路 的顺序依次存入闪存块的页中。 而闪存总存储空间有限, 分配给 4路视频文件的 存储空间也有限。 假设 A路码流最大, 那么 A路耗用存储空间较其他 3路视频文件 快。 当分配给 A路的存储空间用尽吋, 需要刪除过期的 A路视频以获取存储最新 吋间段的 A路视频的空间, 假设需要刪除无效数据 A5、 A6、 A7、 A8, 这就需要 在擦除 A5、 A6、 A7、 A8所在的块之前, 先把这些块中 B路、 C路、 D路所占用的 页搬移到内存中, 然后再擦除 A5、 A6、 A7、 A8所在的闪存块, 最后将内存中的 B路、 C路、 D路有效页数据搬移回之前所在闪存块的对应页位置。 这样回收存 储空间效率极低, 且反复擦写对闪存块的损耗也较大。 [0005] The conventional method is exemplified by a total of four channels of monitoring in the video monitoring system, which are A, B, C, and D. The 4-way monitoring corresponds to 4 video files. 4 channels of video every interval The pieces will be stored in flash memory in turn. Please refer to Table 1. In the first interval, 4 video files can be named A1, Bl, Cl, Dl. In the second interval, 4 video files can be named A2, B2, C2, D2. , So on and so forth. Since the branching multiplexing method is adopted, the storage of each segment is sequentially stored in the page of the flash block in the order from A to D. The total storage space of the flash memory is limited, and the storage space allocated to the 4-way video file is also limited. Assuming that the A channel has the largest stream size, the A channel consumes more storage space than the other three video files. When the storage space allocated to the A channel is exhausted, the expired A channel video needs to be deleted to obtain the space of the A channel video storing the latest inter-segment, and it is necessary to delete the invalid data A5, A6, A7, A8, which needs to be Before erasing the blocks where A5, A6, A7, and A8 are located, first move the pages occupied by the B, C, and D channels in the block to the memory, and then erase the flash memory where A5, A6, A7, and A8 are located. Block, finally move the B-channel, C-channel, and D-way valid page data in the memory back to the corresponding page position of the previous flash block. This way, the storage space is extremely inefficient, and the loss of the flash block is also large.
[0006] 发明内容 SUMMARY OF THE INVENTION
[0007] 基于此, 有必要针对上述技术问题, 提供一种能够提高存储空间回收效率且降 低闪存块损耗的视频监控数据存储方法和装置。 Based on this, it is necessary to provide a video surveillance data storage method and apparatus capable of improving storage space recovery efficiency and reducing flash block loss in response to the above technical problems.
[0008] 一种视频监控数据存储方法, 所述方法包括: [0008] A video surveillance data storage method, the method includes:
[0009] 接收一路视频监控数据, 将所述视频监控数据存储到指定的闪存块中, 并记录 该路视频监控数据存储的次数; [0009] receiving one channel of video surveillance data, storing the video surveillance data into a designated flash block, and recording the number of times the video surveillance data is stored;
[0010] 当所述该路视频监控数据存储的次数达到第一阈值吋, 则为所述该路视频监控 数据分配对应的闪存块; [0010] when the number of times the video surveillance data is stored reaches a first threshold 吋, assigning a corresponding flash block to the video surveillance data;
[0011] 之后, 再次接收到该路视频监控数据则直接将该路视频监控数据存储到所述分 配的闪存块中。 [0011] After receiving the video surveillance data again, the video surveillance data is directly stored in the allocated flash block.
[0012] 一种视频监控数据存储装置, 所述装置包括: [0012] A video surveillance data storage device, the device includes:
[0013] 记录模块, 用于接收一路视频监控数据, 将所述视频监控数据存储到指定的闪 存块中, 并记录该路视频监控数据存储的次数; [0013] a recording module, configured to receive one channel of video surveillance data, store the video surveillance data into a specified flash block, and record the number of times the video surveillance data is stored;
[0014] 闪存块分配模块, 用于当所述该路视频监控数据存储的次数达到第一阈值吋, 则为所述该路视频监控数据分配对应的闪存块, [0014] a flash block allocation module, configured to allocate a corresponding flash block for the video surveillance data of the channel when the number of times the video surveillance data is stored reaches a first threshold
[0015] 存储模块, 用于在为所述该路视频监控数据分配对应的闪存块之后, 再次接收 到该路视频监控数据则直接将该路视频监控数据存储到所述分配的闪存块中。 [0016] 上述视频监控数据存储方法和装置, 接收一路视频监控数据, 将视频监控数据 存储到指定的闪存块中, 并记录该路视频监控数据存储的次数。 当该路视频监 控数据存储的次数达到第一阈值吋, 则为该路视频监控数据分配对应的闪存块 , 之后, 再次接收到该路视频监控数据则直接将该路视频监控数据存储到分配 的闪存块中。 对在指定的闪存块中存储次数超过第一阈值的某路视频监控数据 分配对应的闪存块, 对应的闪存块只用来存储前述某路视频监控数据。 [0015] a storage module, configured to store the video surveillance data in the allocated flash block directly after receiving the corresponding flash block for the video surveillance data. [0016] The video monitoring data storage method and device, receive one video surveillance data, store the video surveillance data into a designated flash block, and record the number of times the video surveillance data is stored. When the number of times the video surveillance data is stored reaches the first threshold, the corresponding video block is allocated to the video surveillance data, and then the video surveillance data is received again, and the video surveillance data is directly stored to the allocated In the flash block. A flash block corresponding to a certain video surveillance data stored in a specified flash block exceeding a first threshold is used to store the aforementioned video surveillance data.
[0017] 一种电子设备, 其特征在于, 包括: 至少一个处理器; 以及, 与所述至少一个 处理器通信连接的存储器; 其中, 所述存储器存储有可被所述至少一个处理器 执行的指令, 所述指令被所述至少一个处理器执行, 以使所述至少一个处理器 能够执行上述方法。 [0017] An electronic device, comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory is stored for execution by the at least one processor An instruction, the instructions being executed by the at least one processor to enable the at least one processor to perform the method described above.
[0018] 一种非易失性计算机可读存储介质, 所述计算机可读存储介质存储有计算机可 执行指令, 当所述计算机可执行指令被电子设备执行吋, 使所述电子设备执行 上述方法。 [0018] A non-transitory computer readable storage medium storing computer executable instructions for causing the electronic device to perform the above method when the computer executable instructions are executed by an electronic device .
[0019] 一种计算机程序产品, 其特征在于, 所述计算机程序产品包括存储在非易失性 计算机可读存储介质上的计算机程序, 所述计算机程序包括程序指令, 当所述 程序指令被电子设备执行吋, 使所述电子设备执行上述方法。 [0019] A computer program product, comprising: a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions, wherein the program instructions are electronically The device executes 吋 to cause the electronic device to perform the above method.
[0020] 因为对应的闪存块只存储了一路视频监控数据, 所以如果对应的闪存块中存储 的所有某路视频监控数据都成为无效数据吋, 就可以对这个闪存块进行整体擦 除, 不会影响到其他路的视频监控数据文件。 每次擦除都可以回收一个完整的 闪存块, 因此提高了存储空间的回收效率, 且一个闪存块中只存储了一路数据 , 所以当这个闪存块中该路的数据都是无效数据吋, 整体擦除即可, 避免了将 其他路的有效文件搬移到内存中再搬回来, 降低了闪存块的损耗。 [0020] Because the corresponding flash block only stores one video monitoring data, if all the video monitoring data stored in the corresponding flash block becomes invalid data, the flash block can be erased as a whole. Video surveillance data files that affect other roads. Each erase can reclaim a complete flash block, thus improving the storage efficiency of the storage space, and only one data is stored in one flash block, so when the data in the flash block is invalid data, the whole Erasing can be done, avoiding moving the valid files of other paths to the memory and then moving them back, reducing the loss of the flash blocks.
对附图的简要说明 Brief description of the drawing
附图说明 DRAWINGS
[0021] 一个或多个实施例通过与之对应的附图中的图片进行示例性说明, 这些示例性 说明并不构成对实施例的限定, 附图中具有相同参考数字标号的元件表示为类 似的元件, 除非有特别申明, 附图中的图不构成比例限制。 [0022] 图 1为 - 实施例中监控视频数据存储方法的应用环境图; [0021] One or more embodiments are exemplified by the accompanying drawings in the accompanying drawings. The components in the drawings do not constitute a scale limitation unless otherwise stated. [0022] FIG. 1 is an application environment diagram of a method for monitoring video data storage in an embodiment;
[0023] 图 2为一 -实施例中监控视频数据存储方法的流程图; 2 is a flow chart of a method for monitoring video data storage in an embodiment;
[0024] 图 3为一 -实施例中监控视频数据存储方法的流程图; [0024] FIG. 3 is a flow chart of a method for monitoring video data storage in an embodiment;
[0025] 图 4为一 -实施例中监控视频数据存储方法的流程图; 4 is a flow chart of a method for monitoring video data storage in an embodiment; [0025] FIG.
[0026] 图 5为一 -实施例中监控视频数据存储方法的流程图; 5 is a flow chart of a method for monitoring video data storage in an embodiment;
[0027] 图 6为一 -实施例中监控视频数据存储方法的流程图; 6 is a flow chart of a method for monitoring video data storage in an embodiment;
[0028] 图 7为 - 实施例中前 3次接收的视频监控数据存储方法的原理图; 7 is a schematic diagram of a video surveillance data storage method received in the first three times in the embodiment; [0028] FIG.
[0029] 图 8为 - 实施例中超过 3次之后接收的视频监控数据存储方法的原理图; [0030] 图 9为一 -实施例中监控视频数据存储装置的结构示意图; 8 is a schematic diagram of a method for storing video surveillance data received after more than 3 times in an embodiment; [0030] FIG. 9 is a schematic structural diagram of a monitoring video data storage device in an embodiment;
[0031] 图 10为一个实施例中监控视频数据存储装置的结构示意图; [0031] FIG. 10 is a schematic structural diagram of a monitoring video data storage device in an embodiment;
[0032] 图 11为一个实施例中监控视频数据存储装置的结构示意图; [0032] FIG. 11 is a schematic structural diagram of a monitoring video data storage device in an embodiment;
[0033] 图 12为一个实施例中监控视频数据存储装置的结构示意图; [0033] FIG. 12 is a schematic structural diagram of a monitoring video data storage device in an embodiment;
[0034] 图 13为一个实施例中监控视频数据存储装置的结构示意图; 13 is a schematic structural diagram of a monitoring video data storage device in an embodiment; [0034] FIG.
[0035] 图 14是本申请实施例提供的执行视频监控数据存储方法的电子设备的硬件结构 [0035] FIG. 14 is a hardware structure of an electronic device for performing a video surveillance data storage method according to an embodiment of the present application.
[0036] 具体实施方式 DETAILED DESCRIPTION
[0037] 为使本申请的上述目的、 特征和优点能够更加明显易懂, 下面结合附图对本申 请的具体实施方式做详细的说明。 在下面的描述中阐述了很多具体细节以便于 充分理解本申请。 但是本申请能够以很多不同于在此描述的其它方式来实施, 本领域技术人员可以在不违背本申请内涵的情况下做类似改进, 因此本申请不 受下面公幵的具体实施的限制。 The above described objects, features and advantages of the present application will become more apparent from the detailed description. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the application. However, the present application can be implemented in many other ways than those described herein, and those skilled in the art can make similar improvements without departing from the spirit of the present application, and thus the present application is not limited by the specific implementations disclosed below.
[0038] 除非另有定义, 本文所使用的所有的技术和科学术语与属于本申请的技术领域 的技术人员通常理解的含义相同。 本文中在本申请的说明书中所使用的术语只 是为了描述具体的实施例的目的, 不是旨在于限制本申请。 以上实施例的各技 术特征可以进行任意的组合, 为使描述简洁, 未对上述实施例中的各个技术特 征所有可能的组合都进行描述, 然而, 只要这些技术特征的组合不存在矛盾, 都应当认为是本说明书记载的范围。 [0038] All technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used herein is for the purpose of describing particular embodiments, and is not intended to be limiting. The technical features of the above embodiments may be arbitrarily combined. For the sake of brevity of description, all possible combinations of the technical features in the above embodiments are not described. However, as long as there is no contradiction in the combination of these technical features, It is considered to be the range described in this specification.
[0039] 本申请实施例提供的视频监控数据存储方法可应用于如图 1所示的环境中。 参 考图 1所示, 摄像设备 102与存储设备 104连接, 摄像设备 102中包含中央处理器 (CPU, Central Processing Unit) , 能够实现摄像设备 102直接将视频监控数据 发送至存储设备 104, 存储设备 104接收并存储视频监控数据。 The video surveillance data storage method provided by the embodiment of the present application can be applied to the environment shown in FIG. 1. Reference As shown in FIG. 1 , the imaging device 102 is connected to the storage device 104 , and the imaging device 102 includes a central processing unit (CPU). The imaging device 102 can directly send video monitoring data to the storage device 104. The storage device 104 Receive and store video surveillance data.
[0040] 在一个实施例中, 如图 2所示, 提供了一种视频监控数据存储方法, 包括: [0040] In an embodiment, as shown in FIG. 2, a video surveillance data storage method is provided, including:
[0041] 步骤 210, 接收一路视频监控数据, 将视频监控数据存储到指定的闪存块中, 并记录该路视频监控数据存储的次数。 [0041] Step 210: Receive one channel of video surveillance data, store the video surveillance data into a specified flash block, and record the number of times the video surveillance data is stored.
[0042] 一个视频监控系统是由摄像、 传输、 控制、 显示、 记录登记五大部分组成。 在 本实施例中, 视频监控系统根据监控路数可以分为一路或多路监控, 即对一个 或多个场景进行监控。 在视频监控系统中, 常采用闪存 (flash) 作为存储设备。 [0042] A video surveillance system is composed of five parts: camera, transmission, control, display, and record registration. In this embodiment, the video monitoring system can be divided into one or multiple channels according to the number of monitoring channels, that is, one or more scenes are monitored. In video surveillance systems, flash is often used as a storage device.
[0043] 摄像设备将视频监控数据传输给存储设备, 最后存储在存储设备中。 FTL (Fla sh Translation Layer, 闪存转译层) , 是闪存芯片与文件系统之间的一个转换层 , 它使操作系统和文件系统能够像访问用硬盘一样访问闪存设备。 FTL的功能就 是将数据及吋有效地写到闪存, 并能有效地对所有写入的数据进行管理, 当需 要在存储设备中读取数据吋, FTL必须准确计算所需读取的数据的闪存地址以精 准获取数据。 [0043] The imaging device transmits the video monitoring data to the storage device and finally stores it in the storage device. FTL (Fla sh Translation Layer) is a translation layer between the flash chip and the file system. It enables the operating system and file system to access the flash device as if it were a hard disk. The function of FTL is to effectively write data and data to flash memory, and can effectively manage all written data. When it is necessary to read data in the storage device, FTL must accurately calculate the flash memory of the data to be read. The address is used to obtain accurate data.
[0044] FTL接收摄像设备传输的多路视频监控数据, 传输的不仅是数据, 还需要传输 数据的写入地址和数据长度 (非必须) 。 [0044] The FTL receives the multi-channel video surveillance data transmitted by the imaging device, and transmits not only the data but also the write address and the data length of the transmission data (not necessary).
[0045] 预先将闪存分为普通闪存块和专用闪存块, 指定的闪存块就是普通闪存块。 普 通闪存块可以接收各路视频监控数据, 而专用闪存块用于分配给对应的视频监 控数据。 [0045] The flash memory is divided into a normal flash block and a dedicated flash block in advance, and the designated flash block is a normal flash block. The normal flash block can receive each video surveillance data, while the dedicated flash block is used to assign the corresponding video monitoring data.
[0046] FTL接收一路视频监控数据, 将接收的该路视频监控数据存储到指定的闪存块 即普通闪存块中, 并记录该路视频监控数据在普通闪存块中存储的次数。 [0046] The FTL receives one channel of video surveillance data, stores the received video surveillance data into a designated flash block, that is, a normal flash block, and records the number of times the video surveillance data is stored in the normal flash block.
[0047] 步骤 220, 当该路视频监控数据存储的次数达到第一阈值吋, 则为该路视频监 控数据分配对应的闪存块。 [0047] Step 220: When the number of times the video surveillance data is stored reaches the first threshold, the corresponding flash block is allocated for the video monitoring data.
[0048] 当该路视频监控数据在普通闪存块中存储的次数达到第一阈值吋, FTL则为该 路视频监控数据分配专用闪存块。 第一阈值可以根据实际情况设定。 一次可以 分配一个专用闪存块, 也可以一次分配一个专用闪存块组, 这个专用闪存块组 中包含多个专用闪存块。 [0049] 步骤 230, 在为该路视频监控数据分配对应的闪存块之后, 再次接收到该路视 频监控数据则直接将该路视频监控数据存储到分配的闪存块中。 [0048] When the number of times the video surveillance data is stored in the normal flash block reaches the first threshold, the FTL allocates a dedicated flash block for the video surveillance data. The first threshold can be set according to the actual situation. A dedicated flash block can be allocated at a time, or a dedicated flash block group can be allocated at a time. This dedicated flash block group contains multiple dedicated flash blocks. [0049] Step 230: After allocating the corresponding flash block for the video surveillance data, receiving the video surveillance data again, directly storing the video surveillance data into the allocated flash block.
[0050] FTL在为该路视频监控数据分配专用闪存块之后, 再次接收到该路视频监控数 据则直接将该路视频监控数据存储到专用闪存块中。 [0050] After the dedicated flash memory block is allocated to the video surveillance data, the FTL receives the video surveillance data again and directly stores the video surveillance data into the dedicated flash memory block.
[0051] 本实施例中, FTL对在普通闪存块中存储次数超过第一阈值的某路视频监控数 据分配专用闪存块, 专用闪存块只用来存储前述某路视频监控数据。 因为专用 闪存块只存储了一路视频监控数据, 所以如果专用闪存块中存储的所有某路视 频监控数据都成为无效数据吋, 就可以对这个闪存块进行整体擦除, 不会影响 到其他路的视频监控数据文件。 这种通过 FTL方式来管理闪存块的方法, 每次擦 除都可以对一个闪存块进行整体擦除从而回收一个完整的闪存块, 因此提高了 存储空间的回收效率, 且不再需要将闪存块中的其他路的有效文件搬移到内存 中再搬回来, 避免了反复擦写, 大大降低了闪存块的损耗。 [0051] In this embodiment, the FTL allocates a dedicated flash block to a certain video surveillance data whose number of times of storage exceeds the first threshold in the normal flash block, and the dedicated flash block is only used to store the aforementioned video surveillance data. Because the dedicated flash block only stores one video surveillance data, if all the video surveillance data stored in the dedicated flash block becomes invalid data, the flash block can be erased as a whole without affecting other roads. Video surveillance data file. This method of managing flash blocks by FTL can erase a flash block in its entirety to recover a complete flash block for each erase, thus improving storage space recovery efficiency and eliminating the need for flash blocks. The valid files of the other roads are moved to the memory and then moved back, avoiding repeated erasing, which greatly reduces the loss of the flash block.
[0052] 在一个实施例中, 如图 3所示, 一种视频监控数据存储方法还包括: [0052] In an embodiment, as shown in FIG. 3, a video surveillance data storage method further includes:
[0053] 步骤 240, 当分配的闪存块的存储空间存满后, 将已存满且全部为无效数据的 分配的闪存块整块擦除以供下次重新分配。 [0053] Step 240: After the storage space of the allocated flash block is full, the allocated flash blocks that are full and all of the invalid data are erased in one block for the next reallocation.
[0054] 当分配的专用闪存块的存储空间存满后, 将存满且全部为无效数据的专用闪存 块进行整块擦除。 例如设定视频监控数据保存期限为一个月, 那么保存吋间超 过一个月的视频监控数据便成为了无效数据, 将存满且视频监控数据的保存吋 间全部为超过一个月的专用闪存块进行整体擦除, 使其成为空闲块以供最新视 频文件存储。 [0054] When the storage space of the allocated dedicated flash block is full, the dedicated flash block that is full and all of the invalid data is erased in a block. For example, if the video surveillance data retention period is one month, then the video surveillance data stored for more than one month will become invalid data, and the video surveillance data will be stored for a period of more than one month. The overall erase, making it a free block for the latest video file storage.
[0055] 步骤 250, 接收该路视频监控数据, 将该路视频监控数据存储到指定的闪存块 中, 并记录该路视频监控数据存储的次数。 [0055] Step 250: Receive the video surveillance data of the channel, store the video surveillance data in the specified flash block, and record the number of times the video surveillance data is stored.
[0056] 接收该路视频监控数据, FTL将该路视频监控数据再次存储到普通闪存块中, 并从这次 FTL幵始记录该路视频监控数据在普通闪存块中存储的次数。 [0056] receiving the video surveillance data of the channel, the FTL stores the video surveillance data in the normal flash memory block again, and records the number of times the video surveillance data is stored in the normal flash memory block from the FTL.
[0057] 步骤 260, 当该路视频监控数据存储的次数达到第一阈值吋, 则再次为该路视 频监控数据重新分配对应的闪存块。 [0057] Step 260: When the number of times the video surveillance data is stored reaches the first threshold, the corresponding flash block is re-allocated for the video surveillance data.
[0058] 当该路视频监控数据在普通闪存块中存储的次数又达到第一阈值吋, FTL则再 次为该路视频监控数据重新分配空的专用闪存块。 [0059] 步骤 270, 之后, 再次接收到该路视频监控数据则直接将该路视频监控数据存 储到重新分配的闪存块中。 [0058] When the number of times the video surveillance data is stored in the normal flash block reaches the first threshold 吋, the FTL re-allocates the empty dedicated flash block for the video surveillance data. [0059] Step 270, after receiving the video surveillance data again, directly storing the video surveillance data into the reallocated flash block.
[0060] 在为该路视频监控数据重新分配空的专用闪存块之后, 当再次接受到同一路视 频监控数据, 则直接将视频监控数据存储到重新分配的专用闪存块中。 [0060] After reallocating the empty dedicated flash block for the video surveillance data, when the same video surveillance data is received again, the video surveillance data is directly stored into the reallocated dedicated flash block.
[0061] 在本实施例中, 当 FTL给一路视频监控数据第一次分配的专用闪存块或专用闪 存块组用完后, 将存满且全部为无效数据的专用闪存块进行整块擦除, 使其成 为空闲块以供最新视频文件存储。 再次接受到该路视频监控数据则重新将该路 视频监控数据存储在普通闪存块中, 并记录该路视频监控数据在普通闪存块中 的存储次数。 当在普通闪存块中存储的次数又超过第一阈值吋, 则重新为该路 视频监控数据分配新的专用闪存块, 之后接收的该路视频监控数据就存储在这 个重新分配的专用闪存块中。 [0061] In this embodiment, after the dedicated flash memory block or the dedicated flash block group allocated by the FTL for the first time of the video surveillance data is used up, the dedicated flash block that is full and all of the invalid data is erased in a block. , making it a free block for the latest video files to store. Receiving the video surveillance data again, the video surveillance data is stored in the normal flash block, and the number of times the video surveillance data is stored in the ordinary flash block is recorded. When the number of times stored in the normal flash block exceeds the first threshold 吋, the new dedicated flash block is re-allocated for the video surveillance data, and the received video surveillance data is stored in the re-allocated dedicated flash block. .
[0062] 因为给一路视频监控数据分配了专用闪存块, 所以当分配的专用闪存块存满后 , 就可以将已存满且全部为无效数据的专用闪存块整块擦除, 从而成为空的专 用闪存块可供新的视频监控数据存储。 因此提高了存储空间的回收效率, 且对 闪存块的损耗较小。 传统方法中, 闪存块中存储的不止一路视频文件, 当闪存 块中某路监控的视频文件存储所占用的页成为脏页 (存储的数据已经过期的页 ) 吋, 该闪存块中其他路监控的视频文件所占用的页可能仍然是有效页 (存储 的数据未过期的页) 。 这就需要在擦除过期视频文件所在的块之前, 先将这些 块上脏页之外的有效页数据搬移到监控设备的内存中, 然后再对这些闪存块进 行整体擦除操作, 最后再将搬移到内存中的有效页数据搬移回之前所在块的对 应页位置上。 传统方法存储空间的回收效率极低, 擦除闪存块前还需要拷贝有 效页, 对闪存块来说损耗较大。 [0062] Since a dedicated flash block is allocated to one channel of video surveillance data, when the allocated dedicated flash block is full, the dedicated flash block that is full and all of the invalid data can be erased in a block, thereby becoming empty. Dedicated flash blocks are available for new video surveillance data storage. Therefore, the storage efficiency of the storage space is improved, and the loss of the flash block is small. In the conventional method, more than one video file is stored in the flash block, and when the page occupied by the video file stored in the flash block is occupied by a dirty page (the page whose stored data has expired), other channels in the flash block are monitored. The page occupied by the video file may still be a valid page (the page where the stored data has not expired). This requires moving the valid page data outside the dirty pages of these blocks to the memory of the monitoring device before erasing the block where the expired video files are located, and then performing an overall erase operation on these flash blocks, and finally The valid page data moved to the memory is moved back to the corresponding page position of the block in which it was previously located. The traditional method storage space is extremely inefficient, and it is necessary to copy the effective page before erasing the flash block, which is a large loss for the flash block.
[0063] 在一个实施例中, 如图 4所示, 提供一种视频监控数据存储方法, 包括: [0063] In an embodiment, as shown in FIG. 4, a video monitoring data storage method is provided, including:
[0064] 步骤 410, 接收多路视频监控数据。 [0064] Step 410: Receive multiple video surveillance data.
[0065] 当需要对多个场景进行同吋监控吋, 可以利用多路视频监控系统实现。 多路视 频监控系统包含多个摄像设备。 摄像设备将视频监控数据传输给存储设备, 最 后存储在存储设备中。 [0065] When it is required to perform peer monitoring on multiple scenarios, it can be implemented by using a multi-channel video monitoring system. The multi-channel video surveillance system includes multiple camera devices. The camera device transmits the video surveillance data to the storage device and finally stores it in the storage device.
[0066] FTL (Flash Translation Layer, 闪存转译层) , 是闪存芯片与文件系统之间的 一个转换层, 它使操作系统和文件系统能够像访问用硬盘一样访问闪存设备。 F TL的功能就是将数据及吋有效地写到闪存, 并能有效地对所有写入的数据进行 管理, 当需要从存储设备中读取数据吋, FTL必须准确计算所需读取的数据的闪 存地址以精准获取数据。 [0066] FTL (Flash Translation Layer) is between the flash chip and the file system A translation layer that enables the operating system and file system to access flash devices as if they were hard disks. The function of F TL is to effectively write data and data to the flash memory, and can effectively manage all the written data. When it is necessary to read data from the storage device, the FTL must accurately calculate the data to be read. Flash address for accurate data acquisition.
[0067] FTL接收摄像设备传输的多路视频监控数据, 传输的不仅是是数据, 还需要传 输数据的写入地址和数据长度 (非必须) 。 [0067] The FTL receives the multi-channel video surveillance data transmitted by the imaging device, and transmits not only the data but also the write address and the data length of the transmission data (not necessary).
[0068] 步骤 420, 将视频监控数据存储到指定的闪存块中, 并记录每一路视频监控数 据存储的次数。 [0068] Step 420: Store the video surveillance data into the designated flash block, and record the number of times each video surveillance data is stored.
[0069] FTL预先将闪存分为普通闪存块和专用闪存块, 指定的闪存块就是普通闪存块 。 普通闪存块可以接收各路视频监控数据, 而专用闪存块用于分配给对应的视 频监控数据。 将接收的多路视频监控数据先存储到普通闪存块中, 并记录每一 路视频监控数据在普通闪存块中存储的次数。 各路视频文件将按照数据的写入 顺序依次写入同一个普通闪存块, 即同一个普通闪存块中存储的不止一路视频 文件。 [0069] The FTL pre-associates the flash memory into a normal flash block and a dedicated flash block, and the designated flash block is a normal flash block. A normal flash block can receive various video surveillance data, and a dedicated flash block is used to assign to the corresponding video surveillance data. The received multi-channel video surveillance data is first stored in a normal flash block, and the number of times each video surveillance data is stored in a normal flash block is recorded. Each video file will be written to the same normal flash block in the order in which the data is written, that is, more than one video file stored in the same normal flash block.
[0070] 步骤 430, 当其中一路视频监控数据存储的次数达到第一阈值吋, 则为该路视 频监控数据分配对应的闪存块。 [0070] Step 430: When the number of times the video surveillance data is stored reaches the first threshold, the corresponding video block is allocated to the video surveillance data.
[0071] 当某一路视频监控数据在普通闪存块中存储的次数达到第一阈值吋, FTL则为 该路视频监控数据分配专用闪存块。 第一阈值可以根据实际情况设定。 一次可 以分配一个专用闪存块, 也可以一次分配一个专用闪存块组, 这个专用闪存块 组中包含多个专用闪存块。 [0071] When the number of times the video surveillance data is stored in the normal flash block reaches the first threshold, the FTL allocates a dedicated flash block for the video surveillance data. The first threshold can be set according to the actual situation. A dedicated flash block can be allocated at a time, or a dedicated flash block group can be allocated at a time. This dedicated flash block group contains multiple dedicated flash blocks.
[0072] 步骤 440, 在为该路视频监控数据分配对应的闪存块之后, 当判断接收的视频 监控数据为该路视频监控数据, 则获取视频监控数据。 [0072] Step 440: After the corresponding flash block is allocated for the video surveillance data, when the received video monitoring data is determined to be the video surveillance data, the video surveillance data is acquired.
[0073] 在为该路视频监控数据分配专用闪存块之后, FTL对每次接收的视频监控数据 进行判断, 判断是否为该路视频监控数据, 若判断结果为是, 则获取该次接收 的视频监控数据。 具体的判断步骤为: 将每次接收的视频监控数据的地址与上 次存储的该路视频监控数据的地址进行比对, 生成比对结果, 若比对结果为地 址连续, 那么说明本次接收的视频监控数据为该路视频监控数据, 所以获取本 次接收的视频监控数据, 并将本次接收的视频监控数据存储在对应的专用闪存 块中即可。 [0073] After allocating the dedicated flash block for the video surveillance data, the FTL judges each received video surveillance data to determine whether it is the video surveillance data of the channel, and if the determination result is yes, acquires the received video. Monitor data. The specific determining step is: comparing the address of the video monitoring data received each time with the address of the video monitoring data stored last time, and generating a comparison result. If the comparison result is that the address is continuous, then the receiving is performed. The video surveillance data is the video surveillance data of the channel, so the video surveillance data received this time is obtained, and the video surveillance data received this time is stored in the corresponding dedicated flash memory. Just in the block.
[0074] 基于同样的判断方法, 当判断再次接收的数据是该路视频监控数据则直接将该 路视频监控数据存储到专用闪存块中。 [0074] Based on the same determination method, when it is determined that the data received again is the video surveillance data, the video surveillance data is directly stored in the dedicated flash block.
[0075] 步骤 450, 直接将视频监控数据存储到为该路视频监控数据分配的对应的闪存 块中。 [0075] Step 450: Store the video surveillance data directly into a corresponding flash block allocated for the video surveillance data.
[0076] 直接将本次获取的视频监控数据存储到归属到某路视频监控数据所对应的专用 闪存块中。 [0076] The video surveillance data acquired this time is directly stored in a dedicated flash memory block corresponding to a certain video surveillance data.
[0077] 在本实施例中, 在多路视频监控系统中, FTL接收多路视频监控数据, 将接收 的多路视频监控数据先存储到普通闪存块中, 并记录每一路视频监控数据在普 通闪存块中存储的次数。 当某一路视频监控数据在普通闪存块中存储的次数达 到第一阈值吋, FTL则为该路视频监控数据分配专用闪存块。 当判断接收的视频 监控数据为该路视频监控数据, 则获取视频监控数据, 直接将视频监控数据存 储到为该路视频监控数据分配的对应的闪存块中。 这种通过 FTL方式来管理闪存 块的方法, 为在普通闪存块中存储的次数超过第一阈值的每一路视频监控数据 都分配了对应的专用闪存块, 从而将各路数据都分幵存储在了不同的专用闪存 块中。 当某路监控视频的码流较大吋, 分配给该路视频监控数据的专用闪存块 或者专用闪存块组先用完, 则当某个专用闪存块中存储的文件全部为无效数据 吋, 则就可以直接将这个闪存块整体擦除即可腾出空的闪存块, 以供重新分配 。 因此存储空间回收效率高, 避免了反复擦写, 提高了闪存块的使用寿命。 [0077] In this embodiment, in the multi-channel video surveillance system, the FTL receives the multi-channel video surveillance data, and stores the received multi-channel video surveillance data into the ordinary flash memory block, and records each video surveillance data in the ordinary The number of times stored in the flash block. When the number of times a video surveillance data is stored in a normal flash block reaches a first threshold, FTL allocates a dedicated flash block for the video surveillance data. When it is judged that the received video monitoring data is the video monitoring data of the channel, the video monitoring data is acquired, and the video monitoring data is directly stored into a corresponding flash block allocated for the video monitoring data of the channel. The method for managing a flash block by the FTL method allocates a corresponding dedicated flash block for each video monitoring data stored in a normal flash block for a number of times exceeding a first threshold, thereby storing each data in a separate manner. A different dedicated flash block. When the code stream of a certain surveillance video is large, the dedicated flash block or the dedicated flash block group allocated to the video surveillance data is used up first, then when all the files stored in a dedicated flash block are invalid data, It is possible to directly erase this flash block as a whole to free up empty flash blocks for redistribution. Therefore, the storage space is highly efficient, avoids repeated erasing, and improves the service life of the flash block.
[0078] 传统方法中, 闪存块中存储的不止一路视频文件, 当闪存块中某路监控的视频 文件存储所占用的页成为脏页 (存储的数据已经过期的页) 吋, 该闪存块中其 他路监控的视频文件所占用的页可能仍然是有效页 (存储的数据未过期的页) 。 这就需要在擦除过期视频文件所在的块之前, 先将这些块上脏页之外的有效 页数据搬移到监控设备的内存中, 然后再对这些闪存块进行整体擦除操作, 最 后再将搬移到内存中的有效页数据搬移回之前所在块的对应页位置上。 传统方 法存储空间的回收效率极低, 擦除闪存块前还需要拷贝有效页, 而闪存的擦写 次数是有限的, 反复擦写对闪存块来说损耗较大。 [0078] In the conventional method, more than one video file is stored in a flash block, and when a page occupied by a video file stored in a flash block is occupied as a dirty page (a page whose stored data has expired), the flash block is in the flash block. The pages occupied by other road-monitored video files may still be valid pages (pages where stored data has not expired). This requires moving the valid page data outside the dirty pages of these blocks to the memory of the monitoring device before erasing the block where the expired video files are located, and then performing an overall erase operation on these flash blocks, and finally The valid page data moved to the memory is moved back to the corresponding page position of the block in which it was previously located. The recovery method of the traditional method storage space is extremely low, and the effective page needs to be copied before the flash block is erased, and the number of erasing and erasing of the flash memory is limited, and the repeated erasing and writing of the flash block is large.
[0079] 在一个实施例中, 如图 5所示, 一种视频监控数据存储方法, 还包括: [0080] 步骤 460, 接收多路视频监控数据, 记录连续未接收到该路视频监控数据的次 数。 [0079] In an embodiment, as shown in FIG. 5, a video monitoring data storage method further includes: [0080] Step 460: Receive multiple video surveillance data, and record the number of times that the video surveillance data is not continuously received.
[0081] FTL在给接收的多路视频监控数据已经分配专用闪存块, 且各路视频监控数据 分别存储在对应的专用闪存块之后, 还需要对每一路视频监控数据的接收情况 进行记录。 具体为对连续未接收到某一路视频监控数据的次数进行统计, 例如 一共有 A、 B、 C、 D 4路视频监控数据, 那么接收的为 AACDDAADDCCD, 么就是连续有 12次未接收到 B路视频监控数据。 [0081] The FTL has allocated a dedicated flash block to the received multi-channel video monitoring data, and each video monitoring data is stored in the corresponding dedicated flash block, and the receiving condition of each video monitoring data needs to be recorded. Specifically, the number of times that the video monitoring data of a certain channel is not received continuously is counted. For example, if there are 4 channels of video monitoring data of A, B, C, and D, then the received AACDDAADDCCD is the 12 channels that have not been received continuously. Video surveillance data.
[0082] 步骤 470, 若连续未接收到该路视频监控数据的次数达到第二阈值, 则释放该 路视频监控数据对分配的闪存块的占有权。 [0082] Step 470: If the number of times the video surveillance data is not received continuously reaches the second threshold, releasing the possession of the video surveillance data to the allocated flash block.
[0083] FTL对连续未接收到某一路视频监控数据的次数进行统计, 若连续未接收到某 一路视频监控数据的次数达到第二阈值, 则释放该路视频监控数据对分配的专 用闪存块的占有权, 即这个专用闪存块不再是专属于这路视频监控数据的了, 可以被分配给其他路视频监控数据存储使用。 [0083] The FTL collects statistics on the number of times that the video monitoring data is not received continuously. If the number of times that the video monitoring data is not received continuously reaches the second threshold, the video surveillance data is released to the dedicated dedicated flash block. Occupation, that is, this dedicated flash block is no longer exclusive to this video surveillance data, can be assigned to other channels of video surveillance data storage.
[0084] 在本实施例中, FTL对已经分配了专用闪存块的每一路视频监控数据的接收情 况进行记录, 若连续未接收到某一路视频监控数据的次数达到第二阈值, 则释 放该路视频监控数据对分配的专用闪存块的占有权, 以便这个专用闪存块可以 被分配给其他路视频监控数据存储使用。 并不是只要给某路视频监控数据分配 了专用闪存块, 那么这个专用闪存块就自始至终都被这路视频监控数据占有。 这样就不会使某个专用闪存块被占用, 但是却没有数据写入, 白白浪费一整个 专用闪存块, 所以实现了对每个专用闪存块的充分使用, 提高了存储效率。 [0084] In this embodiment, the FTL records the reception status of each video surveillance data to which the dedicated flash memory block has been allocated, and if the number of times that the video surveillance data has not been received continuously reaches the second threshold, the path is released. The video surveillance data has a possession of the assigned dedicated flash block so that this dedicated flash block can be allocated for use by other video surveillance data stores. Rather than just assigning a dedicated flash block to a video surveillance data, the dedicated flash block is occupied by the video surveillance data from start to finish. This will not cause a dedicated flash block to be occupied, but no data is written, and a whole dedicated flash block is wasted, so that the full use of each dedicated flash block is realized, and the storage efficiency is improved.
[0085] 在一个实施例中, 如图 6所示, 一种视频监控数据存储方法, 还包括: [0085] In an embodiment, as shown in FIG. 6, a video monitoring data storage method, further includes:
[0086] 步骤 610, 当本次接收的视频监控数据的地址与之前最后一次接收的各路视频 监控数据的地址都不连续吋, 将本次接收的视频监控数据存储到指定的闪存块 中, 并记录该路视频监控数据存储的次数。 [0086] Step 610: When the address of the video monitoring data received this time is not continuous with the address of each video monitoring data received last time, the video monitoring data received this time is stored in a specified flash block. And record the number of times the video surveillance data is stored.
[0087] 文件系统会为每一路视频监控数据分配一段地址, 例如一共有 4路视频监控数 据, 文件系统第一次给 A路分配的地址为 0xl0000-lFFFFF、 给 B路分配的地址为 0x20000-2FFFFF、 给 C路分配的地址为 0x30000-3FFFFF、 给 D路分配的地址为 Ox 40000-4FFFFF, 当给 A路分配的地址 OxlOOOO-lFFFFF用完了而其他路没有用完的 吋候, 那么文件系统就会给 A路重新分配地址, 例如地址 0x50000-5FFFFF。 那么 当接收的 A路的视频监控数据的地址从 OxlFFFFF跳变到 0x50000的吋候, 就将本 次接收的视频监控数据存储到普通闪存块中, 并记录该路视频监控数据存储的 次数。 释放上一段地址的视频监控数据对专用闪存块的占用权, 以便这个专用 闪存块可以供其他路使用。 [0087] The file system allocates an address for each video surveillance data, for example, a total of 4 video surveillance data, the file system first assigns the address of the A channel to 0xl0000-lFFFFF, and the address assigned to the B channel is 0x20000- 2FFFFF, the address assigned to the C channel is 0x30000-3FFFFF, and the address assigned to the D channel is Ox 40000-4FFFFF, when the address allocated to the A channel OxlOOOO-lFFFFF is used up and the other paths are not used up. At this point, the file system will reassign the address to channel A, for example, address 0x50000-5FFFFF. Then, when the address of the received video monitoring data of the A channel changes from OxlFFFFF to 0x50000, the video monitoring data received this time is stored in the ordinary flash memory block, and the number of times the video monitoring data is stored is recorded. The video surveillance data of the previous segment is released from the exclusive flash block, so that this dedicated flash block can be used by other channels.
[0088] 步骤 620, 当该路视频监控数据存储的次数达到第一阈值吋, 则为该路视频监 控数据分配对应的闪存块。 [0088] Step 620: When the number of times the video surveillance data is stored reaches the first threshold, the corresponding flash block is allocated for the video monitoring data.
[0089] 当该路视频监控数据在普通闪存块中存储的次数达到第一阈值吋, 则为该路视 频监控数据分配专用闪存块。 第一阈值可以根据实际情况设定。 一次可以分配 一个专用闪存块, 也可以一次分配一个专用闪存块组, 这个专用闪存块组中包 含多个专用闪存块。 [0089] When the number of times the video surveillance data is stored in the normal flash block reaches the first threshold 吋, a dedicated flash block is allocated for the video surveillance data. The first threshold can be set according to the actual situation. A dedicated flash block can be allocated at a time, or a dedicated flash block group can be allocated at a time. This dedicated flash block group contains multiple dedicated flash blocks.
[0090] 步骤 630, 之后, 将每次接收的视频监控数据的地址与上次存储的该路视频监 控数据的地址进行比对, 生成比对结果。 [0090] Step 630, after which the address of each received video monitoring data is compared with the address of the last stored video monitoring data to generate a comparison result.
[0091] 步骤 640, 获取比对结果为地址连续的视频监控数据, 视频监控数据即为该路 视频监控数据。 [0091] Step 640: Acquire video surveillance data whose comparison result is consecutive addresses, and the video surveillance data is the video surveillance data of the channel.
[0092] 步骤 650, 直接将该路视频监控数据存储到分配的闪存块中。 [0092] Step 650: Store the video surveillance data directly into the allocated flash block.
[0093] 在为该路视频监控数据分配专用闪存块之后, 将每次接收的视频监控数据的地 址与上次存储的该路视频监控数据的地址进行比对, 生成比对结果, 若比对结 果为地址连续, 那么说明本次接收的视频监控数据为该路视频监控数据, 所以 获取本次接收的视频监控数据, 并将本次接收的视频监控数据存储在对应的专 用闪存块中即可。 [0093] after allocating a dedicated flash block for the video surveillance data, comparing the address of each received video surveillance data with the address of the video surveillance data stored last time, and generating a comparison result, if the comparison is performed The result is that the address is continuous, then the video monitoring data received this time is the video monitoring data of the channel, so the video monitoring data received this time is obtained, and the video monitoring data received this time can be stored in the corresponding dedicated flash memory block. .
[0094] 在本实施例中, 当某一路的视频监控数据的地址不连续的吋候, 则释放上一段 地址的视频监控数据对专用闪存块的占用权, 且重新将接收的该路视频监控数 据存储至普通闪存块中, 并幵始统计存储次数, 当超过第一阈值则重新分配新 的专用闪存块。 这样就解决了当接收的视频监控数据地址不连续, 就不能对地 址不连续的视频监控数据的识别并存储在对应的专用闪存块中的问题。 [0094] In this embodiment, when the address of the video surveillance data of a certain path is not continuous, the video surveillance data of the previous segment is released from the dedicated flash block, and the received video surveillance is re-received. The data is stored in a normal flash block and the number of stores is counted, and when the first threshold is exceeded, the new dedicated flash block is reassigned. This solves the problem that when the received video surveillance data address is discontinuous, the video surveillance data of the discontinuous address cannot be identified and stored in the corresponding dedicated flash memory block.
[0095] 在一个实施例中, 提供了一种监控视频数据存储方法, 该方法以应用于如图 1 所示的环境中进行举例说明。 [0096] 假设一共有 A、 B、 C、 D 4路视频监控数据, 文件系统分别给各路视频监控数 据分配了地址, A路分配的地址为 0xl0000-lFFFFF、 给 B路分配的地址为 0x2000 0-2FFFFF、 给 C路分配的地址为 0x30000-3FFFFF、 给 D路分配的地址为 0x40000-4 FFFFF。 A路视频监控数据的数据长度为 200, B路视频监控数据的数据长度为 10 0, C路视频监控数据的数据长度为 200, D路视频监控数据的数据长度为 100。 假 设 4路视频监控数据是依次接收的, 4路视频监控数据第一次写入的情况见下表 [0095] In one embodiment, a method of monitoring video data storage is provided that is exemplified for use in an environment as shown in FIG. [0096] Assuming a total of A, B, C, D 4 video surveillance data, the file system assigns an address to each video surveillance data, the address assigned by the A channel is 0xl0000-lFFFFF, and the address assigned to the B channel is 0x2000. 0-2FFFFF, the address assigned to the C channel is 0x30000-3FFFFF, and the address assigned to the D channel is 0x40000-4 FFFFF. The data length of the A-channel video surveillance data is 200, the data length of the B-channel video surveillance data is 100, the data length of the C-channel video surveillance data is 200, and the data length of the D-channel video surveillance data is 100. Assume that the four channels of video surveillance data are received in sequence, and the four channels of video surveillance data are written for the first time.
[0097] [表 1] [Table 1]
[0098] 第二次写入的情况见下表: [0098] The second write is shown in the following table:
[0099] [表 2] [Table 2]
[0100] 第三次写入的情况见下表: [0100] The case of the third write is shown in the following table:
[0101] [表 3] [0101] [table 3]
[0102] 写次数的定义为该路数据第几次存入, 写计数为存储设备一共接收的 4路数据 的总次数。 [0102] The number of writes is defined as the number of times the data is stored for the first time, and the write count is the total number of 4 channels of data received by the storage device.
[0103] 请参见图 7, 前 3次接收的各路视频监控数据将依次存储在普通闪存块中, 假设 第一阈值为 3, 那么当各路视频监控数据在第 3次写入之后, FTL就会为该路视频 监控数据分配专用闪存块。 [0103] Referring to FIG. 7, each video monitoring data received in the first three times will be sequentially stored in a common flash block. Assuming that the first threshold is 3, then after each video monitoring data is written in the third time, FTL A dedicated flash block is allocated for the video surveillance data.
[0104] 请参见图 8, FTL给 A路视频监控数据分配专用闪存块 1, 给 B路视频监控数据分 配专用闪存块 2, 给 C路视频监控数据分配专用闪存块 3, 给 D路视频监控数据分 配专用闪存块 4。 FTL在为该路视频监控数据分配专用闪存块之后, 将每次接收 的视频监控数据的地址与上次存储的每路视频监控数据的地址进行比对, 生成 比对结果, 比对结果为与哪路视频监控数据上次存储的地址连续, 那么说明本 次接收的视频监控数据为这一路视频监控数据, 所以获取本次接收的视频监控 数据, 并将本次接收的视频监控数据存储在这一路对应的专用闪存块中即可。 A 4表示第 4次接收到 A路视频监控数据, 以此类推。 因为数据在普通闪存块中存储 的次数已经超过第一阈值 3, 所以将 A4、 A5、 A6、 A7存储在分配的专用闪存块 1 中, 将 B4、 B5、 B6、 B7存储在分配的专用闪存块 2中, C4、 C5、 C6、 C7存储在 分配的专用闪存块 3中, D4、 D5、 D6、 D7存储在分配的专用闪存块 4中。 [0104] Referring to FIG. 8, the FTL allocates a dedicated flash block 1 to the A channel video monitoring data, a dedicated flash block 2 to the B channel video monitoring data, and a dedicated flash block 3 to the C channel video monitoring data to provide D channel video monitoring. Data is allocated to dedicated flash block 4. After allocating a dedicated flash block for the video surveillance data, the FTL compares the address of each received video surveillance data with the address of each video surveillance data stored last time, and generates a comparison result, and the comparison result is Which video surveillance data last stored address is continuous, then the video surveillance data received this time is the video surveillance data of this channel, so the video surveillance data received this time is obtained, and the video surveillance data received this time is stored here. All the way to the dedicated flash block can be. A 4 indicates that the A channel video surveillance data is received for the fourth time, and so on. Since the number of times the data is stored in the normal flash block has exceeded the first threshold of 3, A4, A5, A6, A7 are stored in the allocated dedicated flash block 1, and B4, B5, B6, B7 are stored in the allocated dedicated flash memory. In block 2, C4, C5, C6, C7 are stored in the allocated dedicated flash block 3, and D4, D5, D6, D7 are stored in the allocated dedicated flash block 4.
[0105] 因为 A路的码流较大, 所以存储块消耗较快, 当 FTL分配给 A路专用闪存块 1的 存储空间用完了, 且专用闪存块 1中存储的 A路视频监控数据都成为无效数据吋 , 则直接将专用闪存块 1整体擦除即可获得一个空的专用闪存块, 可供重新分配 使用。 [0105] Since the code stream of the A channel is large, the memory block is consumed quickly, and when the FTL allocates the storage space of the dedicated flash memory block 1 of the A channel, the video surveillance data of the A channel stored in the dedicated flash memory block 1 becomes Invalid data, the dedicated flash block 1 is directly erased to obtain an empty dedicated flash block for redistribution.
[0106] 这种通过 FTL方式来管理闪存块的方法, 每次擦除都可以对一个闪存块进行整 体擦除从而回收一个完整的闪存块, 因此提高了存储空间的回收效率, 且不再 需要将闪存块中的其他路的有效文件搬移到内存中再搬回来, 避免了反复擦写 , 大大降低了闪存块的损耗。 [0106] This method of managing a flash block by the FTL method can perform a whole process for one flash block per erase Body erasure to recover a complete flash block, thus improving the storage efficiency of the storage space, and no longer need to move the valid files of other paths in the flash block to the memory and then move back, avoiding repeated erasing and writing, greatly reducing The loss of the flash block.
[0107] 在一个实施例中, 如图 9所示, 还提供了一种监控视频数据存储装置, 该装置 包括: 记录模块 910、 闪存块分配模块 920及存储模块 930。 [0107] In one embodiment, as shown in FIG. 9, a monitoring video data storage device is further provided, the device comprising: a recording module 910, a flash block allocation module 920, and a storage module 930.
[0108] 记录模块 910, 用于接收一路视频监控数据, 将视频监控数据存储到指定的闪 存块中, 并记录该路视频监控数据存储的次数。 [0108] The recording module 910 is configured to receive one channel of video surveillance data, store the video surveillance data into a specified flash block, and record the number of times the video surveillance data is stored.
[0109] 闪存块分配模块 920, 用于当该路视频监控数据存储的次数达到第一阈值吋, 则为该路视频监控数据分配对应的闪存块。 [0109] The flash block allocation module 920 is configured to allocate a corresponding flash block for the video surveillance data when the number of times the video surveillance data is stored reaches a first threshold.
[0110] 存储模块 930, 用于在为该路视频监控数据分配对应的闪存块之后, 再次接收 到该路视频监控数据则直接将该路视频监控数据存储到分配的闪存块中。 [0110] The storage module 930 is configured to store the video surveillance data in the allocated flash block directly after receiving the corresponding flash block for the video surveillance data.
[0111] 在一个实施例中, 如图 10所示, 该装置还包括: 擦除模块 940、 记录模块 910、 闪存块分配模块 920及存储模块 930。 In an embodiment, as shown in FIG. 10, the device further includes: an erasing module 940, a recording module 910, a flash block allocation module 920, and a storage module 930.
[0112] 擦除模块 940, 用于当分配的闪存块的存储空间存满后, 将已存满且全部为无 效数据的分配的闪存块整块擦除以供下次重新分配。 [0112] The erasing module 940 is configured to erase the allocated flash blocks that are full and all of the invalid data after the storage space of the allocated flash blocks is full for the next reallocation.
[0113] 记录模块 910, 接收该路视频监控数据, 将该路视频监控数据存储到指定的闪 存块中, 并记录该路视频监控数据存储的次数。 [0113] The recording module 910 receives the video surveillance data of the channel, stores the video surveillance data in the specified flash block, and records the number of times the video surveillance data is stored.
[0114] 闪存块分配模块 920, 用于当该路视频监控数据存储的次数达到第一阈值吋, 则再次为该路视频监控数据重新分配对应的闪存块。 [0114] The flash block allocation module 920 is configured to redistribute the corresponding flash block for the video surveillance data again when the number of times the video surveillance data is stored reaches the first threshold.
[0115] 存储模块 930, 用于在将已存满且全部为无效数据的分配的闪存块整块擦除之 后, 再次接收到该路视频监控数据则直接将该路视频监控数据存储到重新分配 的闪存块中。 [0115] The storage module 930 is configured to: after erasing the allocated flash blocks that are full and all of the invalid data, and then receiving the video surveillance data again, directly storing the video surveillance data to the reallocation. In the flash block.
[0116] 在一个实施例中, 如图 11所示, 还提供了一种监控视频数据存储装置, 该装置 包括: 多路视频监控数据接收模块 1110、 记录模块 1120、 闪存块分配模块 1130 判断模块 1140、 存储模块 1150。 [0116] In an embodiment, as shown in FIG. 11, a monitoring video data storage device is further provided, the device comprising: a multi-channel video monitoring data receiving module 1110, a recording module 1120, and a flash block allocation module 1130 determining module. 1140. The storage module 1150.
[0117] 多路视频监控数据接收模块 1110, 用于接收多路视频监控数据。 [0117] The multi-channel video monitoring data receiving module 1110 is configured to receive multi-channel video monitoring data.
[0118] 记录模块 1120, 用于将视频监控数据存储到指定的闪存块中, 并记录每一路视 频监控数据存储的次数。 [0119] 闪存块分配模块 1130, 用于当其中一路视频监控数据存储的次数达到第一阈值 吋, 则为该路视频监控数据分配对应的闪存块。 [0118] The recording module 1120 is configured to store video monitoring data into a specified flash block, and record the number of times each video monitoring data is stored. [0119] The flash block allocation module 1130 is configured to allocate a corresponding flash block for the video surveillance data when the number of times the video surveillance data is stored reaches the first threshold.
[0120] 判断模块 1140, 用于在为该路视频监控数据分配对应的闪存块之后, 当判断接 收的视频监控数据为该路视频监控数据, 则获取视频监控数据。 The determining module 1140 is configured to: after the corresponding flash block is allocated for the video monitoring data, obtain the video monitoring data when determining that the received video monitoring data is the video monitoring data.
[0121] 存储模块 1150, 用于直接将视频监控数据存储到为该路视频监控数据分配的对 应的闪存块中。 [0121] The storage module 1150 is configured to directly store the video surveillance data into a corresponding flash block allocated for the video surveillance data.
[0122] 在一个实施例中, 如图 12所示, 该装置还包括: 释放模块 1160。 [0122] In one embodiment, as shown in FIG. 12, the apparatus further includes: a release module 1160.
[0123] 记录模块 1120, 还用于接收多路视频监控数据, 记录连续未接收到该路视频监 控数据的次数。 [0123] The recording module 1120 is further configured to receive the multi-channel video monitoring data, and record the number of times that the video monitoring data is not continuously received.
[0124] 释放模块 1160, 用于若连续未接收到该路视频监控数据的次数达到第二阈值, 则释放该路视频监控数据对分配的闪存块的占有权。 [0124] The release module 1160 is configured to release the possession of the video surveillance data to the allocated flash block if the number of times the video surveillance data is not received continuously reaches the second threshold.
[0125] 在一个实施例中, 如图 13所示, 该装置还包括: 地址比对模块 1170及获取模块[0125] In an embodiment, as shown in FIG. 13, the apparatus further includes: an address comparison module 1170 and an acquisition module.
1180。 1180.
[0126] 记录模块 1120, 还用于当本次接收的视频监控数据的地址与之前最后一次接收 的各路视频监控数据的地址都不连续吋, 将本次接收的视频监控数据存储到指 定的闪存块中, 并记录该路视频监控数据存储的次数; [0126] The recording module 1120 is further configured to: when the address of the video monitoring data received this time is not continuous with the address of each video monitoring data received last time, store the video monitoring data received this time to a designated one. In the flash block, and record the number of times the video surveillance data is stored;
[0127] 闪存块分配模块 1130, 用于当该路视频监控数据存储的次数达到第一阈值吋, 则为该路视频监控数据分配对应的闪存块; [0127] The flash block allocation module 1130 is configured to allocate a corresponding flash block for the video surveillance data when the number of times the video surveillance data is stored reaches a first threshold.
[0128] 地址比对模块 1170, 用于在分配对应的闪存块之后, 将每次接收的视频监控数 据的地址与上次存储的该路视频监控数据的地址进行比对, 生成比对结果; [0129] 获取模块 1180, 用于获取比对结果为地址连续的视频监控数据, 视频监控数据 即为该路视频监控数据; [0128] The address comparison module 1170 is configured to compare the address of each received video surveillance data with the address of the last stored video surveillance data after the corresponding flash block is allocated, to generate a comparison result; [0129] The obtaining module 1180 is configured to obtain video surveillance data whose alignment result is consecutive addresses, where the video surveillance data is the video surveillance data of the channel;
[0130] 存储模块 1150, 用于直接将该路视频监控数据存储到分配的闪存块中。 [0130] The storage module 1150 is configured to directly store the video surveillance data into the allocated flash block.
[0131] 图 14是本申请实施例提供的视频监控数据存储方法的电子设备 140的硬件结构 示意图, 如图 14所示, 该电子设备 140包括: 14 is a schematic diagram of a hardware structure of an electronic device 140 for storing a video surveillance data according to an embodiment of the present disclosure. As shown in FIG. 14, the electronic device 140 includes:
[0132] 一个或多个处理器 141以及存储器 142, 图 14中以一个处理器 141为例。 [0132] One or more processors 141 and a memory 142, and one processor 141 is taken as an example in FIG.
[0133] 处理器 141和存储器 142可以通过总线或者其他方式连接, 图 14中以通过总线连 接为例。 [0134] 存储器 142作为一种非易失性计算机可读存储介质, 可用于存储非易失性软件 程序、 非易失性计算机可执行程序以及模块, 如本申请实施例中的视频监控数 据存储方法对应的程序指令 /模块 (例如, 附图 2_附图 6所示的方法) 。 处理器 1 41通过运行存储在存储器 142中的非易失性软件程序、 指令以及模块, 从而执行 各种功能应用以及数据处理, 即实现上述方法实施例视频监控数据存储方法。 [0133] The processor 141 and the memory 142 may be connected by a bus or the like, and the bus connection is taken as an example in FIG. [0134] The memory 142 is a non-volatile computer readable storage medium, and can be used for storing non-volatile software programs, non-volatile computer-executable programs, and modules, such as video surveillance data storage in the embodiments of the present application. The method corresponds to a program instruction/module (for example, the method shown in FIG. 2 to FIG. 6). The processor 1 41 performs various functional applications and data processing by executing non-volatile software programs, instructions, and modules stored in the memory 142, that is, implementing the video monitoring data storage method of the above method embodiment.
[0135] 存储器 142可以包括存储程序区和存储数据区, 其中, 存储程序区可存储操作 系统、 至少一个功能所需要的应用程序; 存储数据区可存储根据视频监控数据 存储装置的使用所创建的数据等。 此外, 存储器 142可以包括高速随机存取存储 器, 还可以包括非易失性存储器, 例如至少一个磁盘存储器件、 闪存器件、 或 其他非易失性固态存储器件。 在一些实施例中, 存储器 142可选包括相对于处理 器 141远程设置的存储器, 这些远程存储器可以通过网络连接至视频监控数据存 储装置。 上述网络的实例包括但不限于互联网、 企业内部网、 局域网、 移动通 信网及其组合。 [0135] The memory 142 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function; the storage data area may be stored according to the use of the video surveillance data storage device. Data, etc. In addition, memory 142 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some embodiments, memory 142 can optionally include memory remotely located relative to processor 141, which can be connected to the video surveillance data storage device over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0136] 所述一个或者多个模块存储在所述存储器 142中, 当被所述一个或者多个处理 器 141执行吋, 执行上述任意方法实施例中的视频监控数据存储方法, 例如, 执 行以上描述的图 2至图 6中的方法步骤和实现图 5至图 13中的模块的功能。 [0136] the one or more modules are stored in the memory 142, and when executed by the one or more processors 141, performing a video surveillance data storage method in any of the foregoing method embodiments, for example, performing the above The method steps in Figures 2 through 6 are described and the functions of the modules in Figures 5 through 13 are implemented.
[0137] 上述产品可执行本申请实施例所提供的方法, 具备执行方法相应的功能模块和 有益效果。 未在本实施例中详尽描述的技术细节, 可参见本申请实施例所提供 的方法。 [0137] The above product can perform the method provided by the embodiment of the present application, and has the corresponding functional modules and beneficial effects of the execution method. For technical details that are not described in detail in this embodiment, reference may be made to the method provided by the embodiments of the present application.
[0138] 本申请实施例提供了一种非易失性计算机可读存储介质, 所述计算机可读存储 介质存储有计算机可执行指令, 该计算机可执行指令被一个或多个处理器执行 , 例如图 14中的一个处理器 141, 可使得上述一个或多个处理器可执行上述任意 方法实施例中的视频监控数据存储方法, 例如, 执行以上描述的图 2至图 6中的 方法步骤和实现图 5至图 13中的模块的功能。 [0138] Embodiments of the present application provide a non-transitory computer readable storage medium storing computer-executable instructions that are executed by one or more processors, such as A processor 141 in FIG. 14 may enable the one or more processors to perform the video surveillance data storage method in any of the above method embodiments, for example, to perform the method steps and implementations in FIG. 2 to FIG. 6 described above. The function of the modules in Figures 5 to 13.
[0139] 本申请实施例提供了一种计算机程序产品, 所述计算机程序产品包括存储在非 易失性计算机可读存储介质上的计算机程序, 所述计算机程序包括程序指令, 所述程序指令被一个或多个处理器执行, 例如图 14中的一个处理器 141, 可使得 上述一个或多个处理器可执行上述任意方法实施例中的视频监控数据存储方法 , 例如, 执行以上描述的图 2至图 6中的方法步骤和实现图 5至图 13中的模块的功 能。 [0139] The embodiment of the present application provides a computer program product, the computer program product comprising a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions, the program instructions being One or more processors executing, such as one processor 141 in FIG. 14, may cause the one or more processors to perform the video surveillance data storage method in any of the above method embodiments For example, the method steps in FIGS. 2 to 6 described above and the functions of the modules in FIGS. 5 to 13 are performed.
[0140] 以上所描述的装置实施例仅仅是示意性的, 其中所述作为分离部件说明的单元 可以是或者也可以不是物理上分幵的, 作为单元显示的部件可以是或者也可以 不是物理单元, 即可以位于一个地方, 或者也可以分布到多个网络单元上。 可 以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。 [0140] The device embodiments described above are merely illustrative, wherein the unit described as a separate component may or may not be physically distributed, and the component displayed as a unit may or may not be a physical unit. , that is, it can be located in one place, or it can be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
[0141] 通过以上的实施方式的描述, 本领域普通技术人员可以清楚地了解到各实施方 式可借助软件加通用硬件平台的方式来实现, 当然也可以通过硬件。 本领域普 通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算 机程序来指令相关的硬件来完成, 所述的程序可存储于一计算机可读取存储介 质中, 该程序在执行吋, 可包括如上述各方法的实施例的流程。 其中, 所述的 存储介质可为磁碟、 光盘、 只读存储记忆体 (Read-Only Memory, ROM)或随机存 储记忆体 (Random Access Memory, RAM)等。 [0141] Through the description of the above embodiments, those skilled in the art can clearly understand that the various implementation manners can be implemented by means of software plus a general hardware platform, and of course, by hardware. A person skilled in the art can understand that all or part of the process of implementing the above embodiments can be completed by a computer program to instruct related hardware, and the program can be stored in a computer readable storage medium. Execution may include the flow of an embodiment of the methods as described above. The storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
[0142] 以上所述实施例仅表达了本申请的几种实施方式, 其描述较为具体和详细, 但 并不能因此而理解为对发明专利范围的限制。 应当指出的是, 对于本领域的普 通技术人员来说, 在不脱离本申请构思的前提下, 还可以做出若干变形和改进 , 这些都属于本申请的保护范围。 因此, 本申请专利的保护范围应以所附权利 要求为准。 The above-mentioned embodiments are merely illustrative of several embodiments of the present application, and the description thereof is more specific and detailed, but is not to be construed as limiting the scope of the invention. It should be noted that various modifications and improvements can be made by those skilled in the art without departing from the spirit and scope of the invention. Therefore, the scope of protection of this patent application is subject to the appended claims.
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710183508.3 | 2017-03-24 | ||
| CN201710183508.3A CN107145450B (en) | 2017-03-24 | 2017-03-24 | Video monitoring data storage method and device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018171266A1 true WO2018171266A1 (en) | 2018-09-27 |
Family
ID=59784092
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2017/115710 Ceased WO2018171266A1 (en) | 2017-03-24 | 2017-12-12 | Video monitoring data storage method and device |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN107145450B (en) |
| WO (1) | WO2018171266A1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107145450B (en) * | 2017-03-24 | 2020-12-08 | 深圳市江波龙电子股份有限公司 | Video monitoring data storage method and device |
| CN108959118B (en) * | 2018-06-27 | 2021-11-19 | 郑州云海信息技术有限公司 | Data writing method and device |
| CN109271457A (en) * | 2018-11-19 | 2019-01-25 | 郑州云海信息技术有限公司 | A kind of method of data synchronization and device |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101533670A (en) * | 2009-04-23 | 2009-09-16 | 北京握奇数据系统有限公司 | Method and memory device realizing loss balance of memory device |
| JP5241618B2 (en) * | 2009-06-05 | 2013-07-17 | 日本放送協会 | Recording / reproducing control apparatus and recording / reproducing apparatus using hard disk drive |
| CN103870205A (en) * | 2012-12-11 | 2014-06-18 | 联想(北京)有限公司 | Method and device for storage control and information processing method and device |
| CN105306865A (en) * | 2015-10-29 | 2016-02-03 | 南京秦杜明视信息技术有限公司 | Video monitoring data system |
| CN107145450A (en) * | 2017-03-24 | 2017-09-08 | 深圳市江波龙电子有限公司 | Video monitoring data storage method and device |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8588199B2 (en) * | 2006-10-11 | 2013-11-19 | At&T Mobility Ii, Llc | Mobile digital video recorders |
-
2017
- 2017-03-24 CN CN201710183508.3A patent/CN107145450B/en active Active
- 2017-12-12 WO PCT/CN2017/115710 patent/WO2018171266A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101533670A (en) * | 2009-04-23 | 2009-09-16 | 北京握奇数据系统有限公司 | Method and memory device realizing loss balance of memory device |
| JP5241618B2 (en) * | 2009-06-05 | 2013-07-17 | 日本放送協会 | Recording / reproducing control apparatus and recording / reproducing apparatus using hard disk drive |
| CN103870205A (en) * | 2012-12-11 | 2014-06-18 | 联想(北京)有限公司 | Method and device for storage control and information processing method and device |
| CN105306865A (en) * | 2015-10-29 | 2016-02-03 | 南京秦杜明视信息技术有限公司 | Video monitoring data system |
| CN107145450A (en) * | 2017-03-24 | 2017-09-08 | 深圳市江波龙电子有限公司 | Video monitoring data storage method and device |
Also Published As
| Publication number | Publication date |
|---|---|
| CN107145450A (en) | 2017-09-08 |
| CN107145450B (en) | 2020-12-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112214313B (en) | Memory allocation method and related equipment | |
| US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
| JP6526235B2 (en) | Data check method and storage system | |
| WO2016045096A1 (en) | File migration method and apparatus and storage device | |
| WO2018040590A1 (en) | Space allocation method and apparatus for file system | |
| CN105243027A (en) | Method for storing data in storage device and memory controller | |
| WO2018171266A1 (en) | Video monitoring data storage method and device | |
| US9645946B2 (en) | Encryption for solid state drives (SSDs) | |
| US9619336B2 (en) | Managing production data | |
| CN115525217B (en) | Method, device, electronic device and storage medium for bad block processing | |
| CN109739688B (en) | Snapshot resource space management method, device, and electronic device | |
| US8301862B2 (en) | Formatting device | |
| US11003578B2 (en) | Method and system for parallel mark processing | |
| CN114356796B (en) | Flash memory card, pre-allocation method and system for flash memory card | |
| CN109840217B (en) | A cache resource allocation and device | |
| US10430105B2 (en) | Storage scheme for a distributed storage system | |
| CN107077420B9 (en) | Override erase block map | |
| CN102298553B (en) | Come equipment and the method for diode-capacitor storage according to subscriber response time | |
| JP7774156B2 (en) | METHOD FOR OPERATING A MEMORY SYSTEM AND MEMORY SYSTEM - Patent application | |
| CN107179929A (en) | A kind of optimization implementation method and device of WRITE_SAME functions | |
| CN101460932A (en) | Device for remote defragmentation of an embedded device | |
| TWI908180B (en) | Operation method of memory system, memory system and storage medium | |
| CN110764707A (en) | Data processing method and device | |
| CN113886282B (en) | Packet processing system, method and apparatus for optimizing packet buffer space | |
| CN109408202B (en) | LMDB extension method and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17901983 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17901983 Country of ref document: EP Kind code of ref document: A1 |