• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 19
    • 下载费用:30 金币  

    重庆时时彩哪儿平台玩: 一种数据存储方法及存储服务器.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201610939621.5

    申请日:

    2016.11.01

    公开号:

    CN106570111A

    公开日:

    2017.04.19

    当前法律状态:

    实审

    有效性:

    审中

    法律详情: 实质审查的生效IPC(主分类):G06F 17/30申请日:20161101|||公开
    IPC分类号: G06F17/30 主分类号: G06F17/30
    申请人: 浙江宇视科技有限公司
    发明人: 孙令亮
    地址: 310051 浙江省杭州市滨江区江陵路88号万轮科技园10号楼南座2楼
    优先权:
    专利代理机构: 北京鑫媛睿博知识产权代理有限公司 11297 代理人: 龚家骅
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201610939621.5

    授权公告号:

    |||

    法律状态公告日:

    2017.10.27|||2017.04.19

    法律状态类型:

    实质审查的生效|||公开

    摘要

    本发明公开了一种数据存储方法,应用于包括存储服务器和多个终端的系统中,预先在存储服务器中生成多个存储文件,当终端在向存储服务器进行数据存储时,获取终端的ID查找对应的存储文件链表最后一项索引信息,若该索引信息中的存储结束时间为空,则将该终端的数据存储至该索引信息对应的第一存储文件中,否则根据存储服务器中存储文件状态表获取状态为空的第二存储文件,将终端数据存储至第二存储文件中,当存储文件状态表中全部存储文件的状态均不为空状态时,则获取存储服务器中存储时间最早的第三存储文件,将终端数据存储至第三存储文件,通过预先创建存储文件,后期不会因删除存储文件导致产生文件碎片,可以灵活的进行各终端的数据存储。

    权利要求书

    1.一种数据存储方法,应用于存储服务器和多个终端的系统中,其特征在于,预先在所
    述存储服务器中生成多个存储文件,所述方法还包括:
    当所述终端在向所述存储服务器进行数据存储时,根据所述终端的ID查找所述ID对应
    的存储文件链表;
    获取所述存储文件链表中最后一项索引信息,所述存储文件链表中包含了所述ID对应
    的存储文件的索引信息,所述索引信息包括所述存储文件对应的终端ID、存储开始时间和
    存储结束时间;
    若所述最后一项索引信息中的存储结束时间为空,则将所述终端的数据存储至所述最
    后一项索引信息对应的第一存储文件中;
    若所述存储结束时间不为空,则根据所述存储服务器中的存储文件状态表获取状态为
    空状态的第二存储文件,将所述终端的数据存储至所述第二存储文件中;
    当所述存储文件状态表中全部存储文件的状态均不为空状态时,则获取所述存储服务
    器中所述存储开始时间最早的第三存储文件,将所述终端的数据存储至所述第三存储文件
    中。
    2.如权利要求1所述的方法,其特征在于,还包括:
    所述存储服务器中还包括配置文件,所述配置文件中包含了所述存储文件的数量以及
    文件路径;
    所述存储文件状态表具体包含空状态、满状态和存储中三种状态。
    3.如权利要求1所述的方法,其特征在于,当所述终端在向所述存储服务器进行数据存
    储时,根据所述终端的ID查找所述ID对应的存储文件链表,还包括:
    当所述存储文件链表不存在时,根据所述ID生成所述存储文件链表;
    判断所述存储文件状态表是否存在;
    若所述存储文件状态表不存在,提示用户进行存储空间的分配;
    若所述存储文件状态表存在,查询所述存储文件状态表中是否存在状态为空状态的存
    储文件。
    4.如权利要求1所述的方法,其特征在于,所述存储服务器中的存储文件分别存在自身
    的编码,若所述存储结束时间不为空,则根据所述存储服务器中的存储文件状态表获取状
    态为空状态的第二存储文件,将所述终端的数据存储至所述第二存储文件中,具体为:
    若所述存储结束时间不为空,则根据所述存储文件状态表判断所述存储服务器中是否
    存在状态为空状态的存储文件;
    若存在存储状态为空状态的存储文件,则将所述存储服务器中编码最小的第二存储文
    件的索引信息添加到所述ID对应的存储文件链表中,将所述第二存储文件的状态设置为存
    储中;
    将所述终端的数据存储至所述第二存储文件中。
    5.如权利要求1所述的方法,其特征在于,当存储文件状态表中全部存储文件的状态均
    不为空状态时,则获取所述存储服务器中所述存储开始时间最早的第三存储文件,将所述
    终端的数据存储至所述第三存储文件中,具体为:
    查询所述存储服务器中全部终端ID对应的存储文件链表,获取包含所述存储开始时间
    最早的第三存储文件索引信息的第二存储文件链表;
    根据所述第二存储文件链表获取所述第三存储文件,将所述第三存储文件的索引信息
    从所述第二存储文件链表中删除;
    将所述第三存储文件的索引信息添加到所述ID对应的存储文件链表中,将所述第三存
    储文件置为空文件;
    将所述终端的数据存储至所述第三存储文件中。
    6.一种存储服务器,应用于存储服务器和多个终端的系统中,其特征在于,所述存储服
    务器包括:
    分配???,预先在所述存储服务器中生成多个存储文件;
    查询???,当所述终端在向所述存储服务器进行数据存储时,根据所述终端的ID查找
    所述ID对应的存储文件链表;
    获取???,获取所述存储文件链表中最后一项索引信息,所述存储文件链表中包含了
    所述ID对应的存储文件的索引信息,所述索引信息包括所述存储文件对应的终端ID、存储
    开始时间和存储结束时间;
    第一存储???,若所述最后一项索引信息中的存储结束时间为空,则将所述终端的数
    据存储至所述最后一项索引信息对应的第一存储文件中;
    第二存储???,若所述存储结束时间不为空,则根据所述存储服务器中的存储文件状
    态表获取状态为空状态的第二存储文件,将所述终端的数据存储至所述第二存储文件中;
    第三存储???,当所述存储文件状态表中全部存储文件的状态均不为空状态时,则获
    取所述存储服务器中所述存储开始时间最早的第三存储文件,将所述终端的数据存储至所
    述第三存储文件中。
    7.如权利要求6所述的存储服务器,还包括:
    所述存储服务器中还包括配置文件,所述配置文件中包含了所述存储文件的数量以及
    文件路径;
    所述存储文件状态表具体包含空状态、满状态和存储中三种状态。
    8.如权利要求6所述的存储服务器,其特征在于,所述查询??榛褂糜冢?br />当所述存储文件链表不存在时,根据所述ID生成所述存储文件链表;
    判断所述存储文件状态表是否存在;
    若所述存储文件状态表不存在,提示用户进行存储空间的分配;
    若所述存储文件状态表存在,查询所述存储文件状态表中是否存在状态为空状态的存
    储文件。
    9.如权利要求6所述的存储服务器,其特征在于,所述存储服务器中的存储文件分别存
    在自身的编码,所述第一存储??榫咛逵糜冢?br />
    若所述存储结束时间不为空,则根据所述存储文件状态表判断所述存储服务器中是否
    存在状态为空状态的存储文件;
    若存在存储状态为空状态的存储文件,则将所述存储服务器中编码最小的第二存储文
    件的索引信息添加到所述ID对应的存储文件链表中,将所述第二存储文件的状态设置为存
    储中;
    将所述终端的数据存储至所述第二存储文件中。
    10.如权利要求6所述的存储服务器,其特征在于,所述第三存储??榫咛逵糜冢?br />查询所述存储服务器中全部终端ID对应的存储文件链表,获取包含所述存储开始时间
    最早的第三存储文件索引信息的第二存储文件链表;
    根据所述第二存储文件链表获取所述第三存储文件,将所述第三存储文件的索引信息
    从所述第二存储文件链表中删除;
    将所述第三存储文件的索引信息添加到所述ID对应的存储文件链表中,将所述第三存
    储文件置为空文件;
    将所述终端的数据存储至所述第三存储文件中。

    说明书

    一种数据存储方法及存储服务器

    技术领域

    本发明涉及数据存储技术领域,特别涉及一种数据存储方法,同时还特别涉及一
    种存储服务器。

    背景技术

    随着计算机技术以及多媒体技术的发展,数据的存储已经应用于各个方面,其中
    对各个硬件终端的要求也越来越高。

    以视频监控为例,视频监控得到越来越广泛的应用,由于能够有效利用客户PC机
    资源,视频监控软件PC-NVR在一些预算紧张的小型监控项目上得到越来越广泛的应用。在
    这些应用中,用户经常需要把部分或全部接入到PC-NVR的IPC的音视频存储在PC-NVR运行
    的PC上。由于运行PC-NVR的PC机上不止运行PC-NVR一个软件,因此,既要保证PC-NVR的稳定
    运行、又要保证其他程序稳定运行,在PC-NVR如何存储IPC的音视频,以及如何管理保存的
    音视频文件就是业界人员需要考虑的重要问题。

    申请人在实现本发明的过程中,发现了如下问题:

    (1)某个IPC需要存储时,创建1个音视频文件,写入IPC的音视频,直到IPC离线或
    者断流为止,这样做的缺点是,保存文件可能过大或过小,在保存过程中出现一点异常导致
    文件损坏进而不能播放或者文件数量过多进而导致后续查询检索速度慢。

    (2)持续存储IPC的音视频,当存储的音视频将PC的空闲硬盘空间占满时,会影响
    PC上其他软件的正常运行。

    (3)另一方面如果不删除已存的音视频文件,那么存储就会中止,导致最新的录像
    不能存储,如果删除已经保存的录像文件,那会导致频繁的删除、创建文件,产生文件碎片,
    可能导致PC机文件系统崩溃。

    如何解决数据存储过程中的存储文件过程中的文件碎片等问题,成了业界人员亟
    待解决的问题。

    发明内容

    为了解决上述问题,本发明提供了一种数据存储方法及存储服务器,以灵活的进
    行各终端的数据存储,来达到在数据的存储过程中,不会产生文件碎片的目的。

    本实施例提出了一种数据存储方法,用于包括存储服务器和多个终端的系统中,
    预先在所述存储服务器中生成多个存储文件,所述方法还包括:

    当所述终端在向所述存储服务器进行数据存储时,根据所述终端的ID查找所述ID
    对应的存储文件链表;

    获取所述存储文件链表中最后一项索引信息,所述存储文件链表中包含了所述ID
    对应的存储文件的索引信息,所述索引信息包括所述存储文件对应的终端ID、存储开始时
    间和存储结束时间;

    若所述最后一项索引信息中的存储结束时间为空,则将所述终端的数据存储至所
    述最后一项索引信息对应的第一存储文件中;

    若所述存储结束时间不为空,则根据所述存储服务器中的存储文件状态表获取状
    态为空状态的第二存储文件,将所述终端的数据存储至所述第二存储文件中;

    当所述存储文件状态表中全部存储文件的状态均不为空状态时,则获取所述存储
    服务器中所述存储开始时间最早的第三存储文件,将所述终端的数据存储至所述第三存储
    文件中。

    优选的,还包括:

    所述存储服务器中还包括配置文件,所述配置文件中包含了所述存储文件的数量
    以及文件路径;

    所述存储文件状态表具体包含空状态、满状态和存储中三种状态。

    优选的,当所述终端在向所述存储服务器进行数据存储时,根据所述终端的ID查
    找所述ID对应的存储文件链表,还包括:

    当所述存储文件链表不存在时,根据所述ID生成所述存储文件链表;

    判断所述存储文件状态表是否存在;

    若所述存储文件状态表不存在,提示用户进行存储空间的分配;

    若所述存储文件状态表存在,查询所述存储文件状态表中是否存在状态为空状态
    的存储文件。

    优选的,所述存储服务器中的存储文件分别存在自身的编码,若所述存储结束时
    间不为空,则根据所述存储服务器中的存储文件状态表获取状态为空状态的第二存储文
    件,将所述终端的数据存储至所述第二存储文件中,具体为:

    若所述存储结束时间不为空,则根据所述存储文件状态表判断所述存储服务器中
    是否存在状态为空状态的存储文件;

    若存在存储状态为空状态的存储文件,则将所述存储服务器中编码最小的第二存
    储文件的索引信息添加到所述ID对应的存储文件链表中,将所述第二存储文件的状态设置
    为存储中;

    将所述终端的数据存储至所述第二存储文件中。

    优选的,当存储文件状态表中全部存储文件的状态均不为空状态时,则获取所述
    存储服务器中所述存储开始时间最早的第三存储文件,将所述终端的数据存储至所述第三
    存储文件中,具体为:

    查询所述存储服务器中全部终端ID对应的存储文件链表,获取包含所述存储开始
    时间最早的第三存储文件索引信息的第二存储文件链表;

    根据所述第二存储文件链表获取所述第三存储文件,将所述第三存储文件的索引
    信息从所述第二存储文件链表中删除;

    将所述第三存储文件的索引信息添加到所述ID对应的存储文件链表中,将所述第
    三存储文件置为空文件;

    将所述终端的数据存储至所述第三存储文件中。

    基于与上述相同的技术思路,本申请实施例还提出了一种存储服务器,应用于存
    储服务器和多个终端的系统中,所述存储服务器包括:

    分配???,预先在所述存储服务器中生成多个存储文件;

    查询???,当所述终端在向所述存储服务器进行数据存储时,根据所述终端的ID
    查找所述ID对应的存储文件链表;

    获取???,获取所述存储文件链表中最后一项索引信息,所述存储文件链表中包
    含了所述ID对应的存储文件的索引信息,所述索引信息包括所述存储文件对应的终端ID、
    存储开始时间和存储结束时间;

    第一存储???,若所述最后一项索引信息中的存储结束时间为空,则将所述终端
    的数据存储至所述最后一项索引信息对应的第一存储文件中;

    第二存储???,若所述存储结束时间不为空,则根据所述存储服务器中的存储文
    件状态表获取状态为空状态的第二存储文件,将所述终端的数据存储至所述第二存储文件
    中;

    第三存储???,当所述存储文件状态表中全部存储文件的状态均不为空状态时,
    则获取所述存储服务器中所述存储开始时间最早的第三存储文件,将所述终端的数据存储
    至所述第三存储文件中。

    优选的,还包括:

    所述存储服务器中还包括配置文件,所述配置文件中包含了所述存储文件的数量
    以及文件路径;

    所述存储文件状态表具体包含空状态、满状态和存储中三种状态。

    优选的,所述查询??榛褂糜冢?br />

    当所述存储文件链表不存在时,根据所述ID生成所述存储文件链表;

    判断所述存储文件状态表是否存在;

    若所述存储文件状态表不存在,提示用户进行存储空间的分配;

    若所述存储文件状态表存在,查询所述存储文件状态表中是否存在状态为空状态
    的存储文件。

    优选的,所述存储服务器中的存储文件分别存在自身的编码,所述第一存储???br />具体用于:

    若所述存储结束时间不为空,则根据所述存储文件状态表判断所述存储服务器中
    是否存在状态为空状态的存储文件;

    若存在存储状态为空状态的存储文件,则将所述存储服务器中编码最小的第二存
    储文件的索引信息添加到所述ID对应的存储文件链表中,将所述第二存储文件的状态设置
    为存储中;

    将所述终端的数据存储至所述第二存储文件中。

    优选的,所述第三存储??榫咛逵糜冢?br />

    查询所述存储服务器中全部终端ID对应的存储文件链表,获取包含所述存储开始
    时间最早的第三存储文件索引信息的第二存储文件链表;

    根据所述第二存储文件链表获取所述第三存储文件,将所述第三存储文件的索引
    信息从所述第二存储文件链表中删除;

    将所述第三存储文件的索引信息添加到所述ID对应的存储文件链表中,将所述第
    三存储文件置为空文件;

    将所述终端的数据存储至所述第三存储文件中。

    通过应用本发明提出的一种数据存储方法,应用于包括存储服务器和多个终端的
    系统中,预先在存储服务器中生成多个存储文件,当终端在向存储服务器进行数据存储时,
    获取终端的ID查找对应的存储文件链表最后一项索引信息,若该索引信息中的存储结束时
    间为空,则将该终端的数据存储至该索引信息对应的第一存储文件中,否则根据存储服务
    器中存储文件状态表获取状态为空状态的第二存储文件,将终端数据存储至第二存储文件
    中,当存储文件状态表中全部存储文件的状态均不为空状态时,则获取存储服务器中存储
    时间最早的第三存储文件,将终端数据存储至第三存储文件,通过预先创建存储文件,后期
    也不会删除存储文件导致产生文件碎片,可以灵活的进行各终端的数据存储。

    附图说明

    图1为本申请实施例提出的一种数据存储方法流程示意图;

    图2为本申请具体实施例提出的一种PC-NVR启动加载MP4文件链表的流程示意图;

    图3为本申请具体实施例提出的一种PC-NVR分配IPC音视频存储空间流程示意图;

    图3a为本申请具体实施例提出的一种MP4文件的命名示意图;

    图3b为本申请具体实施例提出的一种MP4文件扩展的file type box示意图;

    图4为本申请具体实施例提出的一种存储音视频文件方法的流程示意图;

    图5为本申请具体实施例提出的一种存储服务器结构示意图;

    具体实施方式

    如背景技术中所述,在数据的存储过程中,频繁的删除与创建文件,会产生文件碎
    片,导致存储设备或服务器文件系统的崩溃,本申请针对该情况,提出了一种数据存储方法
    及存储服务器,通过预先创建存储文件,后期也不会删除存储文件导致产生文件碎片,可以
    灵活的进行各终端的数据存储。

    本申请实施例中提出一种数据存储方法,该方法应用于包括存储服务器和多个终
    端的系统中,在描述本实施例的技术方案之前,先对存储服务器和终端进行说明,其中存储
    服务器可以是PC机也可以是硬盘或云服务器等装置,存储服务器本身具有数据存储的功
    能,而对于终端来说,可以为手机、平板、录音机、照相机以及摄像机或PC等数据源,自身具
    有产生数据的功能,在本申请的具体实施例中,以存储服务器为PC-NVR(视频监控软件,基
    于PC机),终端为IPC(网络摄像机)为例进行说明,本领域技术人员在不进行创造性努力的
    情况下对存储服务器以及终端进行的改进,都属于本申请的?;し段?。

    以上对存储服务器以及终端进行了说明,终端传输向存储服务器传输数据,将数
    据存储于存储服务器,终端产生的数据,可以为音视频也可以为其他数据,数据格式以及内
    容的改变不会影响本申请的?;し段?,而在申请的具体实施例中,则以数据格式为视频文
    件,MP4格式为例进行了说明。

    如图1所示,为本申请实施例提出的一种数据存储方法流程示意图,具体的步骤如
    下:

    步骤101,当终端在向存储服务器进行数据存储时,根据终端的ID查找ID对应的存
    储文件链表。

    在描述本步骤之前,还需要预先在存储服务器中划分出多个固定大小的存储文
    件,该存储文件为终端数据的存储位置,同时还创建配置文件,该配置文件中保存了创建存
    储文件的个数以及文件存储路径,后续终端数据的更新,删除都在该存储文件中进行,由
    此,不会在PC文件中产生文件碎片,该存储文件的格式可以RMVB,MP4等格式,对其进行扩展
    后,该格式的文件可以灵活进行文件的更新删除等,在本申请的优选实施例中,存储文件具
    有自身的编码,按照创建顺序进行编码。

    在进行存储文件的创建后,同时生成该存储文件的索引信息,该索引信息包括存
    储文件对应的ID,数据的存储开始时间以及存储结束时间,在实际的应用场景中,通?;岽?br />在多个终端设备,为了区分不同的终端设备的数据,所以根据终端设备的ID来进行划分,一
    个终端可以对应多个存储文件,而一个存储文件中只能用于存储来自一个终端的数据,以
    视频监控系统为例,终端设备为IPC,存储服务器为PC-NVR,多个IPC与PC-NVR相连,一个IPC
    占用一个通道,此时可以用通道来进行IPC的划分,此时存储文件中的ID就可以为IPC的通
    道号,对于ID的划分可以根据实际的经验灵活地进行设定。

    在终端进行数据存储过程中,需要确定具体的存储路径,在本步骤中,终端在向存
    储服务器进行数据存储时,首先判断配置文件是否存在,若配置文件不存在,则退出,等待
    用户手工配置进行存储空间的划分。若配置文件存在,则读取配置文件中的信息,判断是否
    存在于自身ID对应的存储文件链表,若不存在,则在存储服务器中创建终端ID对应的存储
    文件链表,若存在,则读取存储文件链表。

    在本申请的优选实施例中,该存储服务器中包含了存储文件、存储文件链表以及
    存储文件状态表,其中存储文件链表存储了存储文件的摘要信息,存储文件状态表中包含
    了存储文件的状态信息,具体为存储中,空状态,满状态三种状态。

    在创建了存储文件链表后,判断是否存在存储文件状态表,若不存在,则提示用户
    手工配置进行存储空间的划分,若存在,则查询是否存在未空状态的存储文件,来进行终端
    的数据存储。

    上述描述中的存储文件链表是终端ID对应的存储文件的摘要信息,终端通过读取
    该存储文件中的信息可以清楚、快速的遍历存储服务器中的已经存储了本终端数据的存储
    文件,该存储文件链表中包含了各存储文件对应的终端ID、数据存储开始时间、存储结束时
    间,该存储链表一个元素中存储一个存储文件的摘要信息,该存储链表中的元素按照存储
    文件的存储时间的先后顺序进行排列。

    步骤102,获取存储文件链表中最后一项索引信息。

    在终端数据的存储过程中,需要将该数据存储于当前还未存满的存储文件中,而
    存储文件链表的特性则是按照存储文件的存储时间的先后顺序进行排列,所以直接进行该
    存储文件链表最后一个元素即最后一项索引信息的获取,在此之前的存储文件信息均已存
    满,只需要判断该索引信息对应的存储文件是否存满即可。

    步骤103,若最后一项索引信息中的存储结束时间为空,则将终端的数据存储至最
    后一项索引信息对应的第一存储文件中。

    若最后一项索引信息中存储文件的存储时间为空,则表示该存储文件尚未存满且
    处于存储中,将终端的数据直接存入该索引信息对应的第一存储文件中。

    步骤104,若存储结束时间不为空,则根据存储服务器中的存储文件状态表获取状
    态为空状态的第二存储文件,将终端的数据存储至第二存储文件中。

    在本申请的优选实施例中,若最后一项索引信息中存储文件的存储时间不为空,
    已经有存储时间存在,则表示该存储文件已经存满,则需要遍历存储服务器中所有的存储
    文件状态为空状态的第二存储文件,即直接进行存储文件状态表的查询,获取状态为空且
    编码最小的存储文件,将该文件的摘要信息加入到终端ID对应的存储文件链表中,其中摘
    要信息中ID为终端ID,顺序为存储文件链表中最后一项,随后将终端的数据存入至该第三
    存储文件中。

    步骤105,当存储文件状态表中全部存储文件的状态均不为空时,则获取存储服务
    器中存储开始时间最早的第三存储文件,将终端的数据存储至第三存储文件中。

    当存储文件状态表中全部存储文件的状态均不为空状态时,标识着当前存储服务
    器中全部存储文件都已存储满或处于存储中状态,在具体的应用场景中,有些存储文件存
    储的数据已经不具备继续保存的价值,可以进行删除或丢弃等,如行车记录仪以及监控器
    的视频等,较长时间之前的存储录像已经没有保存的价值,可以执行覆盖,因此,在本步骤
    中,若当前不存在空闲的存储文件,则遍历所有ID对应的存储文件链表,获取存储开始时间
    最早的第三索引信息,获取该索引信息所在的第二存储文件链表,获取该索引信息对应的
    第三存储文件,将第三存储文件的索引信息从第二存储文件链表中删除,将该存储文件的
    索引信息加入到终端ID对应的存储文件链表中,设置该第三存储文件的状态为空状态,将
    终端设备的数据存入该第三存储文件。

    需要说明的是,在实际的应用中,为了?;ご娲⑽募械氖?,可以对存储开始时
    间的值设置一个时间阈值,若所述存储开始时间至当前时间的时间差值未超过该时间阈
    值,则不对第三存储文件进行覆盖,此时需要向用户发出警告,提示用户无存储空间,需要
    手工分配存储空间。

    通过应用本实施例提出的一种数据存储方法,应用于包括存储服务器和多个终端
    的系统中,预先在存储服务器中生成多个存储文件,当终端在向存储服务器进行数据存储
    时,获取终端的ID查找对应的存储文件链表最后一项索引信息,若该索引信息中的存储结
    束时间为空,则将该终端的数据存储至该索引信息对应的第一存储文件中,否则根据存储
    服务器中存储文件状态表获取状态为空状态的第二存储文件,将终端数据存储至第二存储
    文件中,当存储文件状态表中全部存储文件的状态均不为空状态时,则获取存储服务器中
    存储时间最早的第三存储文件,将终端数据存储至第三存储文件,通过预先创建存储文件,
    后期不会因删除存储文件而导致产生文件碎片,可以灵活的进行各终端的数据存储。

    为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方
    案进行说明。

    本具体实施例中通用视频格式文件的指定格式为mp4格式,本领域技术人员应当
    得知,通用视频格式文件的存储包括但不限于该格式,此处以在PV-NVR过程中的视频格式
    为mp4格式进行说明,其中存储服务器为PC-NVR,具体存储位置为PC硬盘中,终端为IPC网络
    摄像机,其中由于每个IPC占用一个通道,故在本具体实施例中以通道号来代替终端ID进行
    描述。

    在为PC-NVR分配存储音视频的存储空间时,预先创建固定大小的mp4空文件(创建
    文件个数=(总分配空间大小/mp4文件大小)取整)和1个配置文件config(保存创建文件的
    个数,以及文件路径)。其中对创建的mp4文件中的文件类型box扩展3个字段,channel字段,
    用来记录通道号信息,这个通道号指明mp4文件保存的是哪个摄像机的音视频。Begin_time
    用来保存录像的开始时间,End_time用来保存录像的结束时间,其中,一个mp4文件只保存1
    个通道的录像,一个通道的录像可以保存在多个MP4文件中。

    在实施本具体实施例的技术方案之前,先对该具体实施例的技术原理进行说明:

    有了通道号以及开始时间和结束时间,将该信息作为MP4文件的索引信息把每一
    个通道的所有录像文件串起来,方便后续的PC-NVR检索和回放某个通道的音视频。同时mp4
    文件通用播放器能够直接播放。

    具体的,本申请具体实施例主要包含以下三个步骤:

    步骤A,PC-NVR启动加载MP4文件链表;

    步骤B,PC-NVR音视频存储空间管理(创建);

    步骤C,PC-NVR进行音视频存储;

    步骤D,PC-NVR检索回放录像。

    针对上述步骤A,在进行视频录像的存储过程中,PC-NVR首先启动MP4文件链表,如
    图2所示,为PC-NVR启动加载MP4文件链表的流程示意图,其中,当PC-NVR启动时,首先判断
    config文件是否存在,具体有两种情况:

    情况一:config文件存在,则PC-NVR读取配置文件中的信息,在自身内存中创建通
    道MP4文件链表,获取相应的MP4文件信息来进行音视频的存储;

    情况二:config文件不存在,则说明PC-NVR还没有分配过存储空间,也就没有存储
    过IPC的音视频,则PC-NVR进行MP4文件的创建及空间的分配。

    针对上述步骤B,由于PC-NVR为例,PC-NVR分配IPC音视频存储空间,如图3所示,为
    本申请具体实施例中PC-NVR分配IPC音视频存储空间流程示意图,具体步骤如下:

    步骤301,在PC电脑上选择音视频存储的位置,例如硬盘分区即盘符以及硬盘下的
    文件夹等;

    步骤302,创建n个固定大小的MP4空文件以及一个配置文件config;

    具体的,创建的MP4文件大小固定,在实际实现时可固定为512MB,config文件中保
    存创建的MP4空文件所在的盘符和盘符下的文件夹以及文件个数。

    其中,如果在多个文件夹下多次创建,则创建多个盘符和盘符下的文件夹以及文
    件个数,格式为“盘符,文件夹,文件个数”,或“盘符/文件夹个数/文件个数”具体可以由方
    案实施者进行灵活的设置,空的MP4文件命名为:“8位随机数+序号”,如图3a所示,为本申请
    具体实施例提出的一种MP4文件的命名示意图,以序号进行排列来进行MP4文件先后创建以
    及存储顺序的标识。

    上述描述中的MP4的文件特征如图3b所示,为本申请具体实施例提出的一种MP4文
    件中file type box中内容,其中channel、Begin_time、End_time为本申请扩展内容,
    Length填写40,表示file type box的长度。boytype、Major_brand、Minor_brand、
    Compatible_brands参考ISO_IEC_14496-12填写。

    MP4文件索引内容包括:Channel通道号、begin_time开始时间、end_time结束时
    间,值取file type box中对应的值,在一个空的MP4文件写入音视频码流时,把文件命名为
    “channel+录像开始时间+结束时间”,录像结束时间为0表示MP4文件未写满音视频码流。

    步骤303,生成MP4文件状态表。

    具体的,PC-NVR在内存中申请1个长度为n,n取值为MP4文件的个数,单位为1字节
    的数组,作为MP4文件状态表,用来记录创建的MP4文件的状态,空的MP4文件状态表中全部
    置为0,MP4文件已记录满标记为1,MP4文件处于记录过程中标记为2。

    针对上述步骤C的IPC存储音视频的流程,当IPC需要进行音视频存储时,首先要选
    择进行音视频存储的MP4文件,当确定需要进行音视频存储的MP4文件后,按照MP4文件的要
    求写入音视频,将file type box扩展部分填好,再把MP4文件的索引信息按编号接入通道
    MP4文件链表。具体的,如图4所示,为本申请具体实施例提出的一种存储音视频文件方法的
    流程示意图,具体步骤如下:

    S401,通道号为x的IPC启动存储;

    具体的,若当前IPC-NVR中的某一IPC开始进行音视频录制时,首先进行识别该IPC
    对应的通道号,具体的IPC的通道的号预先已经设置完成,存储在IPC-NVR中,直接进行查询
    就可以。

    S402,判断通道号为x的MP4文件链表是否存在;

    具体的,若存在则执行步骤S403;

    若不存在,则表示没有进行过音视频的存储,需要进行音视频存储空间的分配,则
    执行步骤S406。

    S403,获取通道号为x的MP4文件链表指向MP4文件索引的最后一项;

    具体的,一个通道号x对应多个MP4文件,通过MP4文件链表获取MP4文件的索引信
    息以及先后顺序,来获取通号x对应的当前时间顺序最后一项MP4文件。

    S404,判断最后一项MP4文件索引文件中结束时间是否为空;

    具体的,若为空,则表示该MP4文件可以继续进行音视频的存储,执行步骤S405;

    若不为空,则表示该MP4文件已经存储完成,当前已经没有可以用于进行该通道号
    对应的空MP4文件进行存储,执行步骤S409。

    S405,选择该MP4索引文件对应的MP4文件,写入该IPC输出的音视频码流,结束该
    IPC启动存储流程。

    S406,创建通道号x的MP4文件链表;

    S407,判断MP4文件状态表是否存在;

    具体的,若存在,则执行步骤408;

    若不存在,表示当前存储空间内可用于存储的MP4文件全部被占用,没有可以供通
    道号为x的IPC进行音视频的存储,执行步骤414。

    S408,查看MP4文件状态表;

    S409,判断MP4文件状态表中是否存在取值为0的项;

    具体的,实际为判断当前MP4文件中是否存在空的MP4文件,若存在,则执行S411,
    若不存在,则执行步骤S410。

    S410,查看所有通道的MP4文件链表,取时间值最早且对应MP4文件状态为1的链表
    项,看是否取到;

    具体的,在实际应用场景中,由于PC-NVR内的存储空间有限,当存储空间较满时,
    需要对最早的一些音视频文件进行删除,以便存入最新的音视频码流,由此,本步骤来筛选
    出最早的MP4文件,状态为1则表示该文件为存储满的,由于个别情况下,可能自身存储的
    MP4文件为一个,则会产生查询不到的情况,所以,若可以取到,则执行步骤S412,若不可以,
    则执行步骤S414。

    S411,取第一个状态为0的MP4文件,将其索引信息加入到MP4文件链表,把MP4对应
    的状态表中的值设置为2;

    具体的,获取MP4顺序中第一个状态为空的MP4文件,将其的索引信息加入到该通
    道号x对应的MP4链表,将该MP4的状态设置为正在存储,执行步骤S415。

    S412,获取MP4链表项对应的MP4文件,将其从原通道号对应的链表中删除,执行步
    骤S413;

    S413,获取MP4链表项对应的MP4文件,放到x通道MP4文件链表,把MP4对应的状态
    表中状态设置为2,把MP4文件置为空文件,执行步骤S415;

    步骤414,提示用户手工分配存储空间;

    具体的,当前没有音视频码流的存储空间,则提示用户进行手工分配存储空间,用
    户可以进行创建MP4文件,或将单独的一个MP4文件进行置0,这种情况多用于车载行车记录
    仪中。

    步骤415,在MP4文件中写入音视频码流;

    首先在file type中begin_time中填写音视频开始时间,在MP4文件中写入音视频
    码流,结束该IPC启动存储流程。

    而对于前述步骤D,在后续的应用中,还会存在PC-NVR检索录像回放录像的情况,
    具体为:选择IPC的通道号和需要回放的时间段,查询mp4文件链表,根据回放时间段获取回
    放的录像在哪几个mp4文件上,把获取的mp4文件及实际录像对应的开始时间和结束时间返
    回,界面既可以把有录像的时间段显示在时间轴上或显示需要播放的mp4文件列表,给定
    IPC通道号和需要回放的时间段,查询mp4文件链表,给据回放时间段获取回放的录像在哪
    几个mp4文件上,把获取的mp4文件及实际录像对应的开始时间和结束时间返回,界面既可
    以把有录像的时间段显示在时间轴上或显示需要播放的mp4文件列表。

    在某些场景下,需要用通用播放器播放存储的MP4文件,具体为:找到录像所在的
    文件夹,根据mp4文件的命名找到所要播放的文件,通过通用播放器打开进行播放。

    由此可见,MP4文件预创建、不会产生文件碎片,也不影响PC-NVR上其他软件的运
    行,在数据的更新过程中,MP4文件不会删除,可以覆盖MP4文件中保存的内容,同时预创建
    的MP4文件根据用户的需要存储任意通道的录像。

    基于与上述相同的技术思路,本申请具体实施例还提出了一种存储服务器,应用
    于存储服务器和多个终端的系统中,如图5所示,为本申请具体实施例提出的一种存储服务
    器结构示意图,所述存储服务器包括:

    分配???1,预先在所述存储服务器中生成多个存储文件;

    查询???2,当所述终端在向所述存储服务器进行数据存储时,根据所述终端的
    ID查找所述ID对应的存储文件链表;

    获取???3,获取所述存储文件链表中最后一项索引信息,所述存储文件链表中
    包含了所述ID对应的存储文件的索引信息,所述索引信息包括所述存储文件对应的终端
    ID、存储开始时间和存储结束时间;

    第一存储???4,若所述最后一项索引信息中的存储结束时间为空,则将所述终
    端的数据存储至所述最后一项索引信息对应的第一存储文件中;

    第二存储???5,若所述存储结束时间不为空,则根据所述存储服务器中的存储
    文件状态表获取状态为空状态的第二存储文件,将所述终端的数据存储至所述第二存储文
    件中;

    第三存储???6,当所述存储文件状态表中全部存储文件的状态均不为空状态
    时,则获取所述存储服务器中所述存储开始时间最早的第三存储文件,将所述终端的数据
    存储至所述第三存储文件中。

    在具体的应用场景中,还包括:

    所述存储服务器中还包括配置文件,所述配置文件中包含了所述存储文件的数量
    以及文件路径;

    所述存储文件状态表具体包含空状态、满状态和存储中三种状态。

    在具体的应用场景中,所述查询???2还用于:

    当所述存储文件链表不存在时,根据所述ID生成所述存储文件链表;

    判断所述存储文件状态表是否存在;

    若所述存储文件状态表不存在,提示用户进行存储空间的分配;

    若所述存储文件状态表存在,查询所述存储文件状态表中是否存在状态为空状态
    的存储文件。

    在具体的应用场景中,所述存储服务器中的存储文件分别存在自身的编码,所述
    第一存储???4具体用于:

    若所述存储结束时间不为空,则根据所述存储文件状态表判断所述存储服务器中
    是否存在状态为空状态的存储文件;

    若存在存储状态为空状态的存储文件,则将所述存储服务器中编码最小的第二存
    储文件的索引信息添加到所述ID对应的存储文件链表中,将所述第二存储文件的状态设置
    为存储中;

    将所述终端的数据存储至所述第二存储文件中。

    在具体的应用场景中,所述第三存储???6具体用于:

    查询所述存储服务器中全部终端ID对应的存储文件链表,获取包含所述存储开始
    时间最早的第三存储文件索引信息的第二存储文件链表;

    根据所述第二存储文件链表获取所述第三存储文件,将所述第三存储文件的索引
    信息从所述第二存储文件链表中删除;

    将所述第三存储文件的索引信息添加到所述ID对应的存储文件链表中,将所述第
    三存储文件置为空文件;

    将所述终端的数据存储至所述第三存储文件中。

    通过应用本发明提出的技术方案,预先在存储服务器中生成多个存储文件,当终
    端在向存储服务器进行数据存储时,获取终端的ID查找对应的存储文件链表最后一项索引
    信息,若该索引信息中的存储结束时间为空,则将该终端的数据存储至该索引信息对应的
    第一存储文件中,否则根据存储服务器中存储文件状态表获取状态为空的第二存储文件,
    将终端数据存储至第二存储文件中,当存储文件状态表中全部存储文件的状态均不为空
    时,则获取存储服务器中存储时间最早的第三存储文件,将终端数据存储至第三存储文件,
    通过预先创建存储文件,后期不会因删除存储文件而导致产生文件碎片,可以灵活的进行
    各终端的数据存储。

    通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通
    过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现?;谡庋睦斫?,本发
    明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储
    介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是
    个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。

    本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的??榛?br />流程并不一定是实施本发明所必须的。

    本领域技术人员可以理解实施场景中的装置中的??榭梢园凑帐凳┏【懊枋鼋?br />行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装
    置中。上述实施场景的??榭梢院喜⑽桓瞿??,也可以进一步拆分成多个子???。

    上述本发明序号仅仅为了描述,不代表实施场景的优劣。

    以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本
    领域的技术人员能思之的变化都应落入本发明的?;し段?。

    关 键 词:
    一种 数据 存储 方法 服务器
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:一种数据存储方法及存储服务器.pdf
    链接地址://www.4mum.com.cn/p-6092705.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03