CN101350031B - 一种数据存储方法及系统 - Google Patents
一种数据存储方法及系统 Download PDFInfo
- Publication number
- CN101350031B CN101350031B CN200810142072.4A CN200810142072A CN101350031B CN 101350031 B CN101350031 B CN 101350031B CN 200810142072 A CN200810142072 A CN 200810142072A CN 101350031 B CN101350031 B CN 101350031B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- file
- trigger command
- time point
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
Abstract
本发明适用于数据处理领域,提供了一种数据存储方法及系统。所述数据存储方法包括下述步骤:当接收到触发命令时,在相应时间线上生成包含触发时间和数据存储信息的时间点;根据当前存储状态、触发命令的匹配状态将接收到的数据保存或停止保存到当前存储数据的文件中,并根据所述文件的相关信息更新新生成的时间点中的数据存储信息。在本发明实施例中,通过控制将同一时间接收到的数据保存到一个文件中,使用时间线来跟踪文件,实现了一种数据存储方法,避免了多次触发命令触发的对同一数据进行多次保存操作,降低对存储设备空间的需求、存储设备费用,易于查询。
Description
技术领域
本发明属于数据处理领域,尤其涉及一种数据存储方法及系统。
背景技术
安防监控领域中,需要在网络录像服务器或者数字视频录像机(Digitalvideo recorder,DVR)上保存监控录像数据,便于监控员事后查看。由于在同一时间某一监控通道可能同时触发多种录像策略(例如用户设定的定时录像策略、移动侦测报警策略等),系统会根据触发录像策略的不同,将监控通道的录像数据保存为多个录像文件,增加了存储设备的空间占用率,提高了设备成本。
并且当客户端通过时移查看监控通道历史录像数据的时候,由于在某个时间段存在多份录像文件,系统需要对存在的多份录像文件进行筛选鉴别,选择合适的录像文件进行播放,增加了系统的复杂性。
发明内容
本发明实施例的目的在于提供一种数据存储方法,旨在解决现有监控录像数据存储方法对存储设备空间需求大、存储成本高、查询困难的问题。
本发明实施例是这样实现的,一种数据存储方法,所述方法包括下述步骤:
当接收到触发命令时,在相应时间线上生成包含触发时间和数据存储信息的时间点;所述触发命令包括触发标志;
根据当前存储状态、触发命令的匹配状态确定存储操作,具体为:如果当前存储状态为未在存储状态,则确定进行开始存储操作;如果当前存储状态为正在存储状态,且触发命令不匹配,则确定进行继续存储操作;如果当前存储状态为正在存储状态,且触发命令匹配,则确定进行停止存储操作;其中,如果为开始标志的触发命令的数量等于为终止标志的触发命令的数量,则触发命令的匹配状态为匹配,否则匹配状态为不匹配;
根据确定的存储操作将接收到的数据保存或停止保存到当前存储数据的文件中;
并根据所述文件的相关信息更新新生成的时间点中的数据存储信息;所述存储信息包括存储位置。
本发明实施例的另一目的在于提供一种数据存储系统,所述系统包括:
存储单元,用于存储时间线、时间点、接收到的数据;
时间点生成单元,用于根据接收到的触发命令生成包含触发时间和数据存储信息的时间点,并将生成的时间点保存到所述存储单元相应的时间线中,所述触发命令包括触发标志;以及
存储控制单元,根据所述时间点生成单元接收到的触发命令的匹配状态,结合检测到的当前存储状态,确定存储操作,具体为:如果当前存储状态为未在存储状态,则确定进行开始存储操作;如果当前存储状态为正在存储状态,且触发命令不匹配,则确定进行继续存储操作;如果当前存储状态为正在存储状态,且触发命令匹配,则确定进行停止存储操作;其中,如果为开始标志的触发命令的数量等于为终止标志的触发命令的数量,则触发命令的匹配状态为匹配,否则匹配状态为不匹配;根据确定的存储操作将接收到的数据保存或停止保存到所述存储单元当前存储数据的文件中;并根据所述文件的相关信息更新所述存储单元中新生成的时间点中的数据存储信息;所述存储信息包括存储位置。
本发明实施例的另一目的在于提供一种包含上述数据存储系统的设备。
在本发明实施例中,通过控制将同一时间接收到的数据保存到一个文件中,使用时间线来跟踪文件,实现了一种数据存储方法,避免了多次触发命令触发的对同一数据进行多次保存操作,降低对存储设备空间的需求、存储设备费用,易于查询。
附图说明
图1是本发明实施例提供的数据存储方法的流程图;
图2是本发明实施例提供的根据当前存储状态、触发命令的匹配状态将接收到的数据保存或停止保存到当前存储数据的文件中的步骤的流程图;
图3是本发明实施例提供的迭代器单元的结构图;
图4是本发明实施例提供的迭代器与录像文件的对应结构格式图;
图5是本发明实施例提供的保存视频监控系统对触发命令的处理流程图;
图6是本发明实施例提供的数据查询方法的流程图;
图7是本发明实施例提供的视频监控系统对时移查询命令的处理流程图;
图8是本发明实施例提供的数据存储系统的结构图;
图9是本发明实施例提供的数据查询系统的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,通过控制将同一时间接收到的数据保存到一个文件中,使用时间线来跟踪文件,实现了一种数据存储方法。
图1示出了本发明实施例提供的数据存储方法的流程,以保存视频监控系统中某一监控通道发送的监控录像数据为例,详述如下:
在步骤S101中,当接收到触发命令时,在相应时间线上生成包含触发时间和数据存储信息的时间点;
在本实施例中,触发命令包含触发标志,触发标志用于标识触发命令的类型,包括开始标志和终止标志。开始标志表示该触发命令为开始保存触发命令;终止标志表示该触发命令为终止保存触发命令。时间点包含触发时间和数据存储信息。无论接收到多少个开始保存触发命令,在同一时间,只用一个文件保存接收到的数据。其中,触发时间为接收到触发命令的时间,也即开始保存数据的时间;数据存储信息包含存储位置,存储位置指向当前存储数据的文件在触发时间对应的存储数据的位置,在生成时间点的时候,其包含的存储位置未指向任何位置。时间线由时间点组成,每条时间线对应一个数据源,在本实施例中即每条时间线对应一个监控通道。当有多个数据源的时候,每一个数据源对应一条时间线,并且每一个数据源的数据在同一时间只用一个文件存储。每一个数据源的数据可以用同一个文件存储,但是对于数据量大或其他情况,每一个数据源的数据也可以用不同的文件存储数据,只需要保证在同一时间只用一个文件存储数据。进一步地,时间点中也可以包含触发标志,以清楚标识该时间点中存储位置所指向文件的标识为开始标志或者终止标志。
在步骤S102中,根据当前存储状态、触发命令的匹配状态将接收到的数据保存或停止保存到当前存储数据的文件中,并根据该文件的相关信息更新新生成的时间点中的数据存储信息。
当前存储状态用于标识当前对接收到的数据的存储状态,本实施例中数据即一个监控通道的监控录像数据,包括正在存储状态和未在存储状态。对接收到的触发命令根据其触发标志进行匹配,如果为开始标志的触发命令的数量等于为终止标志的触发命令的数量,则匹配状态为匹配,表示对于接收到的所有的为开始标志的触发命令都已经接收到为终止标志的触发命令,可以停止存储监控录像数据;否则匹配状态为不匹配,表示对于接收到的所有的为开始标志的触发命令还没有全部接收到为终止标志的触发命令,还需要继续存储监控录像数据。
如图2所示,在本实施例中,根据当前存储状态、触发命令的匹配状态将接收到的数据保存或停止保存到当前存储数据的文件中的步骤具体为:
在步骤S201中,根据当前存储状态、触发命令的匹配状态确定存储操作;
在本实施例中,存储操作包括开始存储操作、继续存储操作、停止存储操作,具体判断为:
如果当前存储状态为未在存储状态,则确定进行开始存储操作;
如果当前存储状态为正在存储状态,且触发命令不匹配,则确定进行继续存储操作;
如果当前存储状态为正在存储状态,且触发命令匹配,则确定进行停止存储操作。
进一步地,为了提高生成处理信息的正确性,对触发命令进行匹配时,只有触发标志为开始标志的数量大于或等于为终止标志的数量时,才进行匹配。如果先接收到触发标志为终止标志的触发命令,则认为是错误的触发命令,不就该触发命令进行任何相关处理,就象没有接收到该触发命令一样。当然,也可以提示错误信息。
在本实施例中,可以用计数器的值来确定当前存储状态和触发命令的匹配状态,并确定存储操作,示例算法如下:
步骤1.初始化,将计数器置为0;
步骤2.如果接收到开始标志的触发命令,则计数器加1,然后进入步骤4,否则进入步骤3;
步骤3.如果接收到终止标志的触发命令,则计数器减1,然后进入步骤4;
步骤4.如果计数器为1,则确定进行开始存储操作,否则进入步骤7;
步骤5.如果计数器为0,则确定进行停止存储操作,否则进入步骤7;
步骤6.如果计数器为-1,则将计数器置为0,否则进入步骤7;
步骤7.确定进行继续存储操作。
在步骤S202中,根据确定的存储操作将接收到的数据保存或停止保存到当前存储数据的文件中。
在本实施例中,该步骤具体为:
确定进行开始存储操作,则新建一个文件,作为当前存储数据的文件,并开始将接收到的数据保存到该文件中;
确定进行继续存储操作,则继续将接收到的数据保存到当前存储数据的文件中;
确定进行停止存储操作,则停止保存数据,即停止将接收到的数据保存到当前存储数据的文件。
在本发明实施例中,在上述流程中,根据所述文件的相关信息更新新生成的时间点中的数据存储信息的步骤为:
将步骤S101中新生成的时间点中数据存储信息的存储位置指向当前存储数据的文件在触发时间对应的保存数据的位置。这样,在触发标志为开始标志的时间点中,其数据存储信息的存储位置对应保存数据的起始位置;在触发标志为终止标志的时间点中,其数据存储信息的存储位置对应保存数据的终止位置。
在用户需要查找某个触发时间触发的存储数据时,只需要在时间点的触发时间中查找相应的时间,即可以查找到该触发时间对应的时间点,根据该时间点数据存储信息包含的存储位置即可以查到该时间触发的数据保存的位置。
为了便于时移定位到文件中任意时间的数据,作为本发明的一个优选实施例,步骤S102中,根据当前存储状态、触发命令的匹配状态将接收到的数据保存或停止保存到当前存储数据的文件中,并根据该文件的相关信息更新新生成的时间点中的数据存储信息的步骤进一步包括:
在新建一个文件作为当前存储数据的文件时,生成一个与该文件对应的索引,并使该索引与该文件之间的数据对应同步。索引可以采用迭代器、映射表等实现。
在本实施例中,索引采用迭代器来实现,时间点中的数据存储信息还包含文件位置,指向当前存储数据的文件。监控录像数据用实时传输协议(Real-timeTransportProtocol,RTP)包发送,迭代器跟踪当前存储数据的录像文件的每一帧的RTP包,保证迭代器与该文件之间的数据对应同步。这样,在进行时移的时候,可以通过读取迭代器的值快速定位到该录像文件中任意时间的录像数据。
迭代器中包含多个长度固定的单元,即UNIT,每一个单元都对应一帧录像数据的RTP包,单元的结构如图3所示。其中,
索引:单元的序号ID,在本实施例中为从1开始的自然数;
UTC相对时间:接收到的监控录像数据相对于通用协调时(Universal TimeCoordinated,UTC)的绝对时间(单位为秒),即为自1970/1/1,00:00:00起的绝对时间;
包位置:一帧录像数据的第一个RTP包在生成的录像文件中的位置;
长度:RTP包的长度。
在本实施例中,迭代器可以为文件、数据表,其中索引、UTC相对时间、包位置和长度这四个参量的类型和长度如下表所示:
参量名称 | 参量类型 | 长度 |
索引 | WORD | 32 |
UTC相对时间 | WORD | 32 |
包位置 | WORD | 32 |
长度 | WORD | 32 |
图4示出了本发明实施例提供的迭代器与录像文件的对应结构格式,迭代器的每一个单元与录像文件中的RTP包对应。这样,通过读取迭代器中相应单元的包位置,就可以快速定位到在该单元中UTC相对时间时,保存到录像文件的录像数据。
当然,在采用迭代器跟踪当前存储数据的录像文件时,时间点中的数据存储信息可以只包含文件位置,而不需要存储位置。
进一步地,当有多种策略可以触发开始存储信息或终止存储信息时,为了能够标记对应时间点接收到触发命令的策略类型,便于以后查阅,生成的时间点中,还包含触发策略类型。在本实施例中,触发策略类型包括定时类、手动类、告警类等。定时类触发命令即为根据预设时间发送的触发命令,预设时间到即发送相应的开始保存触发命令或终止保存触发命令;手动类触发命令即为用户手动触发的开始保存触发命令或终止保存触发命令;告警类触发命令即为根据侦测到的异常情况发送的相应开始保存触发命令或终止保存触发命令,又可以再分为移动侦测告警类、视频丢失告警类、烟雾告警类、火灾告警类等。
本发明实施例提供的数据存储方法还可以运用于数字电视等。例如,在数字电视点播时,可以将相应频道的数据存储到服务器,在不同客户端对同一个频道触发多次点播时,在数值电视服务器只用一个文件保存该频道的数据,并且在时移点播的时候可以采用上述迭代器等索引来定位到具体的位置。
图5示出了本发明实施例提供的保存视频监控系统对某一监控通道触发命令的处理流程,详述如下:
在步骤S501中,系统启动后,生成一个计数器,并将计数器的值置为0;
在步骤S502中,等待接收触发命令;
例如,某一监控通道设定周一到周五每天晚上18:00到第二天早上9:00进行录像,则周一到周五每天到了18:00就会发送定时类开始保存触发命令,触发视频监控系统保存接收到的录像数据;周一到周五每天到了9:00就会发送定时类终止保存触发命令,触发停止保存接收到的录像数据。
在步骤S503中,接收到某一通道的触发命令后,在该通道对应的时间线上添加一个新生成的时间点,该时间点包含触发时间、触发标志、策略类型和存储位置;
在本实施例中,触发时间为接收到触发命令的时间,触发标志、策略类型为触发命令中包含的相应触发标志和策略类型,存储位置未指向任何文件。
在步骤S504中,判断在步骤S503中新生成的时间点中的触发标志是否为开始标志,如果是则执行步骤S505,否则执行步骤S509;
在步骤S505中,将计数器的值加1;
在步骤S506中,判断计数器的值是否为1,如果是则执行步骤S507,否则执行步骤S508;
在本实施例中,如果计数器的值为1,则说明此时并未开始保存录像数据,即录像;如果计数器的值不为1,则说明此时已经开始录像。
在步骤S507中,新建一个文件及与其对应的迭代器,将该文件作为当前存储数据的录像文件,更新相应的在步骤S503中新生成的时间点中的存储位置,开始将接收到的数据保存到该录像文件,并保证迭代器与录像文件之间的数据对应同步,完成后执行步骤S502;
在本实施例中,更新时间点中的存储位置,即将在步骤S503中新生成的时间点中的存储位置指向当前存储数据的录像文件在触发时间对应的保存数据的位置;迭代器跟踪该录像文件的每一帧的RTP包。
在步骤S508中,继续将接收到的数据保存到当前存储数据的录像文件,并更新相应的在步骤S503中新生成的时间点中的存储位置,完成后执行步骤S502;
在步骤S509中,将计数器的值减1;
在步骤S510中,判断计数器的值是否大于0,如果是则执行步骤S508,否则执行步骤S511;
在本实施例中,如果计数器的值大于0,则说明此时仍然有其他的触发命令触发的录像没有终止。
在步骤S511中,判断计数器的值是否为0,如果是则执行步骤S512,否则执行步骤S513;
在本实施例中,如果计数器的值为0,则说明此时只有一个触发命令触发的录像正在进行;如果计数器的值不为0,即为负数,则说明此时先接收到终止保存触发命令,而之前都没有接收到开始保存触发命令,则为错误触发命令。
在步骤S512中,更新相应的在步骤S503中生成的时间点中的存储位置,停止将接收到的数据保存到当前存储数据的录像文件,完成后执行步骤S502;
在步骤S513中,将计数器的值置为0,执行步骤S502。
当然,还可以提示接收到错误错发命令,并删除相应的在步骤S503中生成的时间点。
在本实施例中,步骤S508和步骤S512中更新相应的在步骤S503中生成的时间点中数据存储信息的方法如步骤S507中所述,不再赘述。
本发明实施例还提供一种数据查询方法,以查询根据上述数据存储方法存储的数据,其流程如图6所示,详述如下:
在步骤S601中,根据接收到的查询命令中的起始时间查找相应时间线上的时间点;
在本实施例中,查询命令中的起始时间即为开始保存数据的时间,该起始时间必需与相应时间线上时间点的触发时间相同才能查到相应的保存数据,完成查询后执行步骤S602。
在步骤S602中,根据查找到的时间点的数据存储信息查询相应数据。
在本实施例中,由于时间点的数据存储信息包含存储位置,存储位置指向在触发时间对应的保存数据的位置,如果查找到相应的时间点,则根据该时间点中的存储位置开始读取数据,直到该文件结束,完成后执行步骤S601;如果查找不到相应的时间点,则进入步骤S601。
当然,查询对应有索引的文件时,用户可以时移查询任意时间的已存数据,提高查询效率、易用性,作为本发明的一个优选实施例,步骤S602,根据查找到的时间点的数据存储信息查询相应的数据的步骤进一步包括:
根据查找到的时间点的数据存储信息查询到相应的索引,由查询命令中的起始时间查找该索引,得到开始存储位置。
那么,在本实施例中,在步骤S601中,根据接收到的查询命令中的起始时间查找相应时间线上的时间点的步骤为:根据接收到的查询命令中的起始时间,查找时间线上时间点的触发时间最接近且早于该起始时间的时间点。
在步骤S602中,根据步骤S601中查找到的时间点的数据存储信息得到保存数据的文件,在与该文件对应索引中查找UTC相对时间与查询命令中起始时间相同的单元,如果查找到相应的单元,则该单元中的包位置即为开始存储位置,根据该开始存储位置即可查询到由该起始时间开始的相应已存数据。当然,如果没有在索引中查找到相应的单元,则说明查询命令中的起始时间对应的数据不存在,在起始时间时已经停止保存数据,可以提示错误信息。
为了便于用户自行定义终止时间,可以按照时间段查询已存数据,作为本发明的另一个优选实施例,步骤S602,根据查找到的时间点的数据存储信息查询相应的数据的步骤进一步包括:
根据查询命令中的终止时间查找相应的索引,得到终止存储位置。
在本实施例中,根据得到的起始存储位置和终止存储位置读取相应的已存数据,从起始存储位置开始读取数据,一直到终止存储位置时终止读取数据。
图7示出了本发明实施例提供的视频监控系统对时移查询命令的处理流程,详述如下:
在步骤S701中,系统启动后,等待接收时移查询命令;
时移查询命令中包含起始时间和终止时间,根据起始时间和终止时间来定位读取已存储的录像数据。
在步骤S702中,根据接收到时移查询命令中的起始时间在时间线上找到触发时间最接近且早于该起始时间的时间点;
在时间线上有多个时间点,这些时间点按照触发时间依次排列在时间线上。根据时移查询命令中的起始时间,在时间线上查找触发时间最接近且早于该起始时间的时间点,例如时间线上存在触发时间为7:00、8:00、9:00的三个时间点,时移查询命令中的起始时间如果为7:30,就选择触发时间为7:00的时间点,如果时移查询命令中的始时间是8:30,就选择触发时间为8:00的时间点。
在步骤S703中,查找与该时间点对应的录像文件及迭代器;
在本实施例中,由时间点中数据存储信息的文件位置,得到保存录像数据的录像文件,以及与该录像文件对应的迭代器。
在步骤S704中,根据时移查询命令中的起始时间和终止时间查询相应迭代器,得到开始存储位置和终止存储位置;
读取迭代器的UTC相对时间,定位到起始时间和终止时间,得到相应单元中的包位置即为开始存储位置和终止存储位置。
在步骤S705中,发送读取到的录像数据;
在本实施例中,根据RTP包来读取录像数据,每次读取一个RTP包的数据并输出。用当前单元来标记当前读取数据的迭代器单元,读取该迭代器单元中包位置所指向的RTP包并输出,将当前单元标记为迭代器中相应下一个单元。第一次读取时,将当前单元标记为迭代器中对应开始存储位置的单元。
在步骤S706中,判断是否完成录像数据读取。
在本实施例中,判断当前单元标记的迭代器单元的包位置是否为终止存储位置,如果是则说明以及完成录像数据读取,执行步骤S701;否则说明还未完成录像数据读取,执行步骤S705。
图8示出了本发明实施例提供的数据存储系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分。该数据存储系统可以是内置于网络录像服务器、数字视频录像机、数字电视等设备,可以是运行于这些设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些设备中或者运行于这些设备的应用系统中,其中:
时间点生成单元801,根据接收到的触发命令生成包含触发时间和数据存储信息的时间点,并将生成的时间点保存到存储单元802相应的时间线中。在本实施例中,时间线由时间点组成,可以将一条时间线保存为数据库中的一个表、一个文件等。触发命令包含触发标志,触发标志用于标识触发命令的类型,包括开始标志和终止标志;时间点包含触发时间和数据存储信息。当然,当有多个数据源的时候,可以生成多个时间线,每一个数据源对应一条时间线。
存储单元802,用于存储时间线、时间点、接收到的数据等。
存储控制单元803,根据时间点生成单元801接收到的触发命令的匹配状态,结合检测到的当前存储状态,将接收到的数据保存或停止保存到存储单元802当前存储数据的文件中,并根据该文件的相关信息更新存储单元802中新生成的时间点中的数据存储信息。时间点生成单元801接收到的触发命令的匹配状态的判断方式如上所述,不再赘述。
其中,存储控制单元803包括处理控制组件8031和数据存储组件8032。
处理控制组件8031,用于根据时间点生成单元801接收到的触发命令的匹配状态,结合检测到的当前存储状态确定存储操作。在本实施例中,存储操作包括开始存储操作、继续存储操作和停止存储操作。确定存储操作的方式如上所述,不再赘述。
数据存储组件8032,用于根据处理控制组件8031确定的存储操作,将接收到的数据保存或停止保存到存储单元802当前存储数据的文件中,并根据该文件的相关信息更新存储单元802中新生成的时间点中的数据存储信息。
为了能够时移定位到保存到文件中的任意时间的数据,作用本发明的一个优选实施例,存储控制单元803还包括:
时移控制组件8033,在存储单元802中新建一个文件作为当前存储数据的文件时,生成一个与该文件对应的索引,并使该索引与该文件之间的数据对应同步。在本实施例中,索引采用迭代器实现,迭代器可以为文件、数据表等。迭代器的结构及与当前存储数据的文件的对应方式如上所述,不再赘述。
本发明实施例还提供一种数据查询系统,可以查询对应上述数据存储系统存储的数据,其结构如图9所示。
该数据查询系统可以单独存在,也可以集成于上述数据存储系统中。该数据查询系统可以内置于网络录像服务器、数字视频录像机、数字电视等设备,可以是运行于这些设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些设备中或者运行于这些设备的应用系统中,该数据查询系统包括存储时间线、时间点和数据的存储单元802,还包括包括时间点查找单元901和查询控制单元902。其中,查询控制单元902包括数据读取组件9021。
时间点查找单元901,根据接收到的查询命令中的起始时间,查找存储单元802中相应时间线上的时间点。在本实施例中,对于没有对应迭代器的文件,相应时间线上的时间点即为触发时间与查询命令中起始时间相等时间点。查找方式如上所述,不再赘述。
数据读取组件9021,根据时间点查找单元901查找到的时间点的数据存储信息开始读取存储单元802中的相应数据。在本实施例中,根据时间点查找单元901查找到的时间点的数据存储信息开始读取存储单元802中的相应数据,直到该文件结束。查找方式如上所述,不再赘述。
为了时移查询对应有迭代器的文件,作为本发明的一个优选实施例,查询控制单元902还包括:
时移查询组件9022,根据时间点查找单元901查找到的时间点的数据存储信息查询到相应的索引,由时间点查找单元901接收到的查询命令中的起始时间查找该索引,得到开始存储位置。在本实施例中,索引采用迭代器来实现。
在本实施例中,数据读取组件9021由时移查询组件9022得到的开始存储位置开始,读取存储单元802中对应的数据。
对于有索引的文件,时间点查找单元901查找触发时间最接近且早于起始时间的时间点。
在本发明实施例中,通过控制将同一时间接收到的数据保存到一个文件中,使用时间线来跟踪文件,实现了一种数据存储方法,避免了多次触发命令触发的对同一数据进行多次保存操作,对于任意时间,最多只保存一份数据,降低了对存储空间的需求、存储设备费用,易于查询。同时,本发明实施例通过与相应文件对应的索引,可以根据存储时间快速定位到文件的任意位置,降低了查询数据的复杂性,提供了处理速度。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种数据存储方法,其特征在于,所述方法包括下述步骤:
当接收到触发命令时,在相应时间线上生成包含触发时间和数据存储信息的时间点;所述触发命令包括触发标志;
根据当前存储状态、触发命令的匹配状态确定存储操作,具体为:如果当前存储状态为未在存储状态,则确定进行开始存储操作;如果当前存储状态为正在存储状态,且触发命令不匹配,则确定进行继续存储操作;如果当前存储状态为正在存储状态,且触发命令匹配,则确定进行停止存储操作;其中,如果为开始标志的触发命令的数量等于为终止标志的触发命令的数量,则触发命令的匹配状态为匹配,否则匹配状态为不匹配;
根据确定的存储操作将接收到的数据保存或停止保存到当前存储数据的文件中;
并根据所述文件的相关信息更新新生成的时间点中的数据存储信息;所述存储信息包括存储位置。
2.如权利要求1所述的方法,其特征在于,所述根据确定的存储操作将接收到的数据保存或停止保存到当前存储数据的文件中的步骤具体为:
确定进行开始存储操作,则新建一个文件,作为当前存储数据的文件,并开始将接收到的数据保存到该文件中;
确定进行继续存储操作,则继续将接收到的数据保存到当前存储数据的文件中;
确定进行停止存储操作,则停止保存数据,即停止将接收到的数据保存到当前存储数据的文件。
3.如权利要求1所述的方法,其特征在于,所述根据所述文件的相关信息更新新生成的时间点中的数据存储信息为:
将新生成的时间点中数据存储信息的存储位置指向当前存储数据的文件在触发时间对应的保存数据的位置。
4.如权利要求2所述的方法,其特征在于,所述根据当前存储状态、触发命令的匹配状态确定存储操作;根据确定的存储操作将接收到的数据保存或停止保存到当前存储数据的文件中,并根据所述文件的相关信息更新新生成的时间点中的数据存储信息的步骤进一步包括:
在新建一个文件作为当前存储数据的文件时,生成一个与所述文件对应的索引,并使所述索引与所述文件之间的数据对应同步。
5.一种数据存储系统,其特征在于,所述系统包括:
存储单元,用于存储时间线、时间点、接收到的数据;
时间点生成单元,用于根据接收到的触发命令生成包含触发时间和数据存储信息的时间点,并将生成的时间点保存到所述存储单元相应的时间线中,所述触发命令包括触发标志;以及
存储控制单元,用于根据所述时间点生成单元接收到的触发命令的匹配状态,结合检测到的当前存储状态,确定存储操作,具体为:如果当前存储状态为未在存储状态,则确定进行开始存储操作;如果当前存储状态为正在存储状态,且触发命令不匹配,则确定进行继续存储操作;如果当前存储状态为正在存储状态,且触发命令匹配,则确定进行停止存储操作;其中,如果为开始标志的触发命令的数量等于为终止标志的触发命令的数量,则触发命令的匹配状态为匹配,否则匹配状态为不匹配;根据确定的存储操作将接收到的数据保存或停止保存到所述存储单元当前存储数据的文件中;并根据所述文件的相关信息更新所述存储单元中新生成的时间点中的数据存储信息;所述存储信息包括存储位置。
6.如权利要求5所述的系统,其特征在于,所述存储控制单元还包括:
时移控制组件,在所述存储单元中新建一个文件作为当前存储数据的文件时,生成一个与所述文件对应的索引,并使所述索引与所述文件之间的数据对应同步。
7.一种包含权利要求5至6任一权利要求所述的数据存储系统的设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810142072.4A CN101350031B (zh) | 2008-08-21 | 2008-08-21 | 一种数据存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810142072.4A CN101350031B (zh) | 2008-08-21 | 2008-08-21 | 一种数据存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101350031A CN101350031A (zh) | 2009-01-21 |
CN101350031B true CN101350031B (zh) | 2014-04-30 |
Family
ID=40268822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810142072.4A Expired - Fee Related CN101350031B (zh) | 2008-08-21 | 2008-08-21 | 一种数据存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101350031B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105825137A (zh) * | 2015-01-05 | 2016-08-03 | 中国移动通信集团江苏有限公司 | 一种确定敏感数据扩散行为的方法及装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102568525B (zh) * | 2010-12-31 | 2015-02-18 | 新奥特(北京)视频技术有限公 | 流程图和时间线上的智能缓存方法 |
CN103581879A (zh) * | 2012-07-31 | 2014-02-12 | 中国电信股份有限公司 | 在终端和用户识别卡之间进行数据传输的方法和系统 |
CN106911589B (zh) | 2015-12-22 | 2020-04-24 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和设备 |
CN107391502B (zh) * | 2016-05-16 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 时间间隔的数据查询方法、装置及索引构建方法、装置 |
CN111193942B (zh) * | 2018-03-22 | 2022-08-02 | 贵州白山云科技股份有限公司 | 一种流媒体回播方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006279304A (ja) * | 2005-03-28 | 2006-10-12 | Sanyo Electric Co Ltd | 画像検索装置 |
CN101141602A (zh) * | 2006-09-06 | 2008-03-12 | 三洋电机株式会社 | 影像记录再生装置 |
CN101196919A (zh) * | 2007-12-21 | 2008-06-11 | 北京天天宽广网络科技有限公司 | 基于音视频片断的索引及查询方法 |
CN101198037A (zh) * | 2008-01-03 | 2008-06-11 | 中兴通讯股份有限公司 | 一种管理监控录像的方法 |
CN101227597A (zh) * | 2008-02-03 | 2008-07-23 | 中兴通讯股份有限公司 | 一种全球眼系统中防止录像重叠的方法及系统 |
-
2008
- 2008-08-21 CN CN200810142072.4A patent/CN101350031B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006279304A (ja) * | 2005-03-28 | 2006-10-12 | Sanyo Electric Co Ltd | 画像検索装置 |
CN101141602A (zh) * | 2006-09-06 | 2008-03-12 | 三洋电机株式会社 | 影像记录再生装置 |
CN101196919A (zh) * | 2007-12-21 | 2008-06-11 | 北京天天宽广网络科技有限公司 | 基于音视频片断的索引及查询方法 |
CN101198037A (zh) * | 2008-01-03 | 2008-06-11 | 中兴通讯股份有限公司 | 一种管理监控录像的方法 |
CN101227597A (zh) * | 2008-02-03 | 2008-07-23 | 中兴通讯股份有限公司 | 一种全球眼系统中防止录像重叠的方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105825137A (zh) * | 2015-01-05 | 2016-08-03 | 中国移动通信集团江苏有限公司 | 一种确定敏感数据扩散行为的方法及装置 |
CN105825137B (zh) * | 2015-01-05 | 2018-10-02 | 中国移动通信集团江苏有限公司 | 一种确定敏感数据扩散行为的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101350031A (zh) | 2009-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101350031B (zh) | 一种数据存储方法及系统 | |
CN103080896B (zh) | 对访问重新排序以减少对磁带介质的总查找时间 | |
US8296261B2 (en) | Bookmarked synchronization of files | |
US20080313414A1 (en) | Execution of point-in-time copy operations in continuous mirroring environments | |
CN102244758A (zh) | 一种基于录像文件的数据获取方法和设备 | |
CN102308336B (zh) | 数据记录装置、数据读出装置、带驱动器、数据记录方法和数据读出方法 | |
JP2014186779A (ja) | データアーカイブシステムおよび品質検査方法 | |
CN103902434A (zh) | 一种报警日志管理方法及系统 | |
US20180074731A1 (en) | Tape backup and restore in a disk storage environment with intelligent data placement | |
US8868429B2 (en) | Method and device for storing audio data | |
US8656094B2 (en) | Locating host data records on a physical stacked volume | |
US7848193B2 (en) | Disc device | |
CN107229421A (zh) | 视频数据存储系统的创建、文件写入和读取方法及装置 | |
CN114153394A (zh) | 一种数据存储管理方法、装置及设备 | |
US20120265908A1 (en) | Server and method for buffering monitored data | |
CN104376093B (zh) | 一种录像文件搜索方法及装置 | |
CN112349303B (zh) | 一种音频播放方法、装置及存储介质 | |
JP2016134050A (ja) | データライブラリシステム | |
CN103049391A (zh) | 数据处理方法、数据格式和设备 | |
WO2014115216A1 (ja) | 物品検索システム、ハンディーターミナル、及び物品検索方法 | |
US10515053B2 (en) | Electronic device and database constructing method | |
US20100165503A1 (en) | Method and apparatus for recording and reading information | |
CN113022484A (zh) | 一种蓄电池监测方法、装置、车辆及计算机存储介质 | |
EP2306462B1 (en) | Semiconductor memory device and its early-warning system and method | |
CN105760415A (zh) | 数据处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
DD01 | Delivery of document by public notice | ||
DD01 | Delivery of document by public notice |
Addressee: Wang Shiming Document name: payment instructions |
|
DD01 | Delivery of document by public notice | ||
DD01 | Delivery of document by public notice |
Addressee: Wang Shiming Document name: Notice of termination of patent right |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140430 Termination date: 20210821 |