一种MP4文件的处理方法及其相关设备与流程

文档序号:18001272发布日期:2019-06-25 22:52阅读:468来源:国知局
本申请涉及通信领域,尤其涉及一种mp4文件的处理方法及其相关设备。
背景技术
::随着移动通信和多媒体技术的发展,消费者在生活中应用越来越多的监控类ipcamera和消费类camera等监控设备,而标准mp4文件封装在camera类产品录像业务中也是各大厂家的主流选择。由于mp4协议的限制,在随机断电和拔卡等场景下文件尾如果不完整会造成文件无法播放。如何保证异常终止前已录制的文件正常可用,是当前消费类监控类产品的强需求。mp4文件格式大致结构如图1所示,mp4里的所有数据,都是以一个个box组装在一起的,每个box的都遵循如图2所示的格式,其中有三个box,分别是ftyp,mdat和moov,ftyp是mp4文件开头的标识信息,mdat里保存了实际的码流信息,moov里则保存了码流中每一帧数据的时域空域信息。在遇到掉电或者拔卡等异常情况时,moov信息未及时写入,导致整个mp4文件的时域空域信息不完整,导致文件无法正常播放。为了解决上述问题,在现有技术一中,会按照编解码codec特征库中的视频帧结构特征,从受损的视频文件流中提取视频帧帧数据,生成视频帧序列,然后根据记录的解码参数,codec类型,帧序列以及位置信息和索引信息重构文件容器数据时域空域信息,生成对应格式文件。但现有技术一存在的缺点有,1、需要对流进行解析,浪费cpu;2、像某些流里没有的参数,只能给默认值,例如播放速率;3、对于高帧率大文件的修复耗时过长,用户体验差。为了解决上述问题,在现有技术二中,会定期将mp4文件索引信息moov存储在存储介质的备份文件中,在设备重启后找到坏文件,选择相应的备份文件将索引信息moov追加到mp4文件中。现有技术而存在的缺点有,1、当存储介质为sd卡时,存储索引数据的备份文件在增加了磁盘读写速度io性能消耗,在高帧率大码流长时间场景下引发丢帧,增加文件系统中文件数量,造成存储空间不连续,后期录像文件中有簇链空洞引发丢帧;2、存储介质为flash时,频繁更新备份数据会减少存储介质寿命;3、修复精度依赖备份文件的更新频率,无法修复至异常前的最后一帧,并且在更新备份数据频率过高时占用cpu过高。技术实现要素:本申请实施例提供了一种mp4文件的处理方法及其相关设备,用于解决由于文件尾不完整造成的文件无法播放的问题,保证异常终止前已录制的mp4文件正常可用。本申请实施例的第一方面提供一种mp4文件的处理方法,具体包括:录入所述mp4文件时,在所述mp4文件mdat的头部存入私有媒体信息,所述私有媒体信息包含所述mp4文件中帧数据的媒体信息参数;在所述mdat中分段存入所述帧数据的索引信息,所述索引信息包含所述帧数据的时域信息和空域信息。当mp4文件的文件尾不完整的时候,本实施例可以利用mdat数据中的私有媒体信息和索引信息对moov进行修复,可以在不引入备份文件概念,不额外占用文件系统io性能,不影响flash寿命,不造成文件系统碎片化的前提下对文件进行修复。在一种可能的设计中,在本申请实施例第一方面的第一种实现方式中,所述索引信息包括索引表和/或私有帧数据信息。在一种可能的设计中,在本申请实施例第一方面的第二种实现方式中,所述在所述mdat中分段存入所述帧数据的索引信息包括:在所述mdat中每间隔n字节帧数据后存入一个所述索引表,所述索引表包含所述索引表前n字节帧数据的时域信息和空域信息。本实施例具体说明了如何在所述mdat中分段存入所述帧数据的索引信息,丰富了实施例的实现方式。在一种可能的设计中,在本申请实施例第一方面的第三种实现方式中,所述在所述mdat中分段存入所述帧数据的索引信息包括:所述mdat中写入每一个帧数据时,在所述每一个帧数据的前面存入私有帧数据信息,所述私有帧数据信息包含所述私有帧数据信息后面的一个帧数据的时域信息和空域信息。本实施例具体说明了如何在所述mdat中分段存入所述帧数据的索引信息,丰富了实施例的实现方式。在一种可能的设计中,在本申请实施例第一方面的第四种实现方式中,所述在所述mdat中分段存入所述帧数据的索引信息之后,所述方法还包括:根据所述私有媒体信息和所述索引信息修复所述mp4文件。本实施例追加了本申请的修复环节,提高了实施例的完整性。在一种可能的设计中,在本申请实施例第一方面的第五种实现方式中,所述根据所述私有媒体信息和所述索引信息修复所述mp4文件包括:读取所述私有媒体信息,得到每一帧数据的媒体信息参数;对所述索引表进行拼接,得到完整索引表;根据所述每一帧数据的媒体信息参数和所述完整索引表修复所述mp4文件。本实施例具体说明了如何根据所述私有媒体信息和所述索引信息修复所述mp4文件,提高了实施例的可操作性。在一种可能的设计中,在本申请实施例第一方面的第六种实现方式中,所述对所述索引表进行拼接,得到完整索引表之后,所述方法还包括:对尾部帧数据的私有帧数据信息进行解析,得到尾部帧数据的时域信息和空域信息,所述尾部帧数据为最后一个索引表后面的帧数据。本实施例追加了对所述索引表进行拼接之后的一个步骤,增加了实施例的完整性。在一种可能的设计中,在本申请实施例第一方面的第七种实现方式中,所述根据所述每一帧数据的媒体信息参数和所述完整索引表修复所述mp4文件包括:根据所述每一帧数据的媒体信息参数、所述完整索引表和所述尾部帧数据的时域信息和空域信息修复所述mp4文件。本申请实施例具体细化了如何修复所述mp4文件,丰富了修复mp4文件的实现手段。在一种可能的设计中,在本申请实施例第一方面的第七种实现方式中,所述根据所述私有媒体信息和所述索引信息修复所述mp4文件包括:读取所述私有媒体信息,得到每一帧数据的媒体信息参数;对每一个帧数据前面的私有帧数据信息进行解析,得到每一个帧的时域信息和空域信息;根据所述每一帧数据的媒体信息参数和所述每一个帧的时域信息和空域信息修复所述mp4文件。本申请实施例更加具体地细化了如何修复所述mp4文件,丰富了修复mp4文件的实现手段。本申请实施例的第二方面提供一种mp4文件的处理设备,其特征在于,包括:第一存储单元,用于当录入所述mp4文件时,在所述mp4文件mdat的头部存入私有媒体信息,所述私有媒体信息包含所述mp4文件中帧数据的媒体信息参数;第二存储单元,用于在所述mdat中分段存入所述帧数据的索引信息,所述索引信息包含所述帧数据的时域信息和空域信息。当mp4文件的文件尾不完整的时候,本实施例可以利用mdat数据中的私有媒体信息和索引信息对moov进行修复,可以在不引入备份文件概念,不额外占用文件系统io性能,不影响flash寿命,不造成文件系统碎片化的前提下对文件进行修复。在一种可能的设计中,在本申请实施例第二方面的第一种实现方式中,所述索引信息包括索引表和/或私有帧数据信息。在一种可能的设计中,在本申请实施例第二方面的第二种实现方式中,所述第二存储单元包括:第一存储子单元,用于在所述mdat中每间隔n字节帧数据后存入一个所述索引表,所述索引表包含所述索引表前n字节帧数据的时域信息和空域信息。本实施例具体说明了如何在所述mdat中分段存入所述帧数据的索引信息,丰富了实施例的实现方式。在一种可能的设计中,在本申请实施例第二方面的第三种实现方式中,第二存储子单元,用于当所述mdat中写入每一个帧数据时,在所述每一个帧数据的前面存入私有帧数据信息,所述私有帧数据信息包含所述私有帧数据信息后面的一个帧数据的时域信息和空域信息。本实施例具体说明了如何在所述mdat中分段存入所述帧数据的索引信息,丰富了实施例的实现方式。在一种可能的设计中,在本申请实施例第二方面的第四种实现方式中,所述设备还包括:修复单元,用于根据所述私有媒体信息和所述索引信息修复所述mp4文件。本实施例追加了本申请的修复环节,提高了实施例的完整性。在一种可能的设计中,在本申请实施例第二方面的第五种实现方式中,所述修复单元包括:第一读取子单元,用于读取所述私有媒体信息,得到每一帧数据的媒体信息参数;拼接子单元,用于对所述索引表进行拼接,得到完整索引表;第一修复子单元,用于根据所述每一帧数据的媒体信息参数和所述完整索引表修复所述mp4文件。本实施例具体说明了如何根据所述私有媒体信息和所述索引信息修复所述mp4文件,提高了实施例的可操作性。在一种可能的设计中,在本申请实施例第二方面的第六种实现方式中,所述修复单元还包括:第一解析子单元,用于对尾部帧数据的私有帧数据信息进行解析,得到尾部帧数据的时域信息和空域信息,所述尾部帧数据为最后一个索引表后面的帧数据。本实施例追加了对所述索引表进行拼接之后的一个步骤,增加了实施例的完整性。在一种可能的设计中,在本申请实施例第二方面的第七种实现方式中,所述第一修复子单元包括:修复模块,用于根据所述每一帧数据的媒体信息参数、所述完整索引表和所述尾部帧数据的时域信息和空域信息修复所述mp4文件。本申请实施例具体细化了如何修复所述mp4文件,丰富了修复mp4文件的实现手段。在一种可能的设计中,在本申请实施例第二方面的第八种实现方式中,所述修复单元包括:第二读取子单元,用于读取所述私有媒体信息,得到每一帧数据的媒体信息参数;第二解析子单元,用于对每一个帧数据前面的私有帧数据信息进行解析,得到每一个帧的时域信息和空域信息;第二修复子单元,用于根据所述每一帧数据的媒体信息参数和所述每一个帧的时域信息和空域信息修复所述mp4文件。本申请实施例更加具体地细化了如何修复所述mp4文件,丰富了修复mp4文件的实现手段。本申请的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。从以上技术方案可以看出,本申请实施例具有以下优点:本申请实施例中,录入mp4文件的时候,会在mp4文件mdat的头部存入私有媒体信息,其中私有媒体信息包含mp4文件中帧数据的媒体信息参数;并在mdat中分段存入帧数据的索引信息,其中,索引信息包含帧数据的时域信息和空域信息。当mp4文件的文件尾不完整的时候,可以利用mdat数据中的私有媒体信息和索引信息对moov进行修复,可以在不引入备份文件概念,不额外占用文件系统io性能,不影响flash寿命,不造成文件系统碎片化的前提下对文件进行修复。附图说明图1为本申请实施例中mp4文件格式的一个结构示意图;图2为本申请实施例中box的一个结构示意图;图3为本申请实施例中mp4文件的处理方法的一个封装结构示意图;图4为本申请实施例中mp4文件的处理方法的一个实施例示意图;图5为本申请实施例中privatemediainfo的一个结构示意图;图6为本申请实施例中indextable的一个实施例示意图;图7为本申请实施例中帧数据前存入privateframeinfo的一个结构示意图;图8为本申请实施例中privateframedata的一个实施例示意图;图9为本申请实施例中异常拔卡后mp4主文件的一个结构示意图;图10为本申请实施例中mp4文件的处理设备的一个实施例示意图;图11为本申请实施例中mp4文件的处理设备的另一个实施例示意图;图12为本申请实施例中mp4文件的处理设备的另一个实施例示意图。具体实施方式本申请实施例提供了一种mp4文件的处理方法及其相关设备,用于解决由于文件尾不完整造成的文件无法播放的问题,保证异常终止前已录制的mp4文件正常可用。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请实施例中的mp4文件的处理方法分为录制过程和修复过程两个部分。录制过程是生成mp4主文件的过程,修复过程是根据录制过程生成的mp4主文件恢复mp4文件的过程。如图3所示,在录制过程中我们会在主文件符合mp4标准封装格式的前提下写入修复所需的私有媒体信息以及分段插入索引表等信息,其中,私有媒体信息privatemediainfo是每个音视频流的媒体信息参数等,索引表indextable为每块帧数据framedata的帧数据索引表。除此之外每块framedata也扩展为流式存储,即可以根据帧数据前的私有帧数据信息privateframeinfo可以得到每一帧数据的时域空域索引信息请参阅图4,本申请实施例中mp4文件的处理方法的一个实施例包括:401、在mp4文件的mdat的头部存入私有媒体信息。本实施例中,在录入mp4文件的时候,会在该mp4文件主文件中的mdat数据的头部存入私有媒体信息privatemediainfo,私有媒体信息包含每个音频流、视频流的媒体信息参数等,其中,私有媒体信息的结构如图5所示,在私有媒体信息的结构中可以根据实际场景选择增加或者减少相应的音频流视频流数据流等,例如,有些mp4文件不需要音频信息,则可以减少关于音频流的数据。402、在mdat中每间隔n字节帧数据后存入一个索引表。本实施例中,在录入mp4文件的时候,还会在mdat中每间隔n字节帧数据后存入一个索引表indextable,该索引表包含索引表前n字节帧数据的时域信息和空域信息。n字节可以是50m,还可以配置为其他大小,例如100m,n的具体大小此处不做限定。其中,索引表indextable的结构如图6所示,该indextable中的stbl索引表是mp4封装协议中定义的标准stbl,可在录像的过程中与写帧的操作同步生成,每个音视频流对应一个索引表stbl,写在第n*n(n为正整数,n索引表间的间隔长度,即每n字节byte数据后存入一个indextable)处,该indextable是该n字节大小码流数据的索引表,每n字节大小的码流数据如有索引表indextable,则可以不用解析每一帧码流数据进行恢复,可大大节省修复时长,在获取所有的indextable后进行拼接,则可生成完整文件的索引信息表。需要说明的是,indextable索引表可以是分段索引表,即为第n个n字节(n为正整数,n索引表间的间隔长度,即每n字节byte数据后存入一个indextable,该indextable包含前n字节byte数据的时域信息空域信息)数据的分段索引表,除此之外,该indextable也可是追加生成的前n*n字节数据的完整的索引表(即indextable逐步叠加生成,该indextable包含前面所有字节数据的时域信息空域信息),后者在修复时则不需要对所有的indextable进行解析和拼接,而只需要找到最后一个indextable,用它恢复重组moov。403、在每一个帧数据的前面存入私有帧数据信息。本实施例中,每块帧数据framedata扩展为流式存储,在mp4文件mdat数据中每写入一帧码流数据时存入在该码流数据前写入私有帧数据信息privateframeinfo,如图7所示,图7为帧数据前存入了privateframeinfo的示意图。其中,privateframedata具体结构如图8所示,在写入帧数据时,先写入属于哪一个流的trackid,是否为i帧的keyframeflag标记,帧数据的时间戳timestamp以及帧数据长度framelen,后续可根据每一帧的帧前信息恢复每一帧的索引数据,从而修复mp4文件中数据至最后一帧。需要说明的是,步骤403可以为可选步骤,即本申请也可以不写入privateframeinfo,利用每一帧数据前的privateframeinfo实现了将mp4文件修复到最后一帧,例如在实际应用场景下,如果用户追求减少修复耗时而不追求修复精度达可以修复至最后一帧,可以将privateframeinfo这部分数据省略,即只利用privatemediainfo和indextable等数据实现文件的修复,该情况下文件可修复至最后一个indextable处,后面的码流数据则被舍弃,不用解析最后每一帧的码流数据,从而大大提高修复速率。404、根据私有媒体信息、索引表和私有帧数据信息修复mp4文件。本实施例中,如图9所示,图9为异常拔卡后mp4主文件结构,该结构中文件尾不完整,缺少moov,本申请将根据根据私有媒体信息、索引表和私有帧数据信息修复mp4文件中的moov信息。修复流程如下:1、读取mp4文件mdat中私有媒体数据privatemediainfo,将每个数据流媒体信息,播放速率等封装需要的参数都解析出来,恢复重组moov中每一个流的信息;2、依次对文件n*n(n=1,2,3…)字节处进行解析,将每一块数据的分段索引信息表indextable进行拼接,更新至重组moov中;3、对最后一块没有分段索引信息表的数据的每一帧进行解析,利用privateframeinfo信息将文件修复至最后一帧,形成最终的moov后,将moov追加到原文件,并更新mdatsize,完成文件修复。需要说明的是,如果用户追求减少修复耗时而不追求修复精度达可以修复至最后一帧,可以将privateframeinfo这部分数据省略,即只利用privatemediainfo和indextable等数据实现文件的修复,该情况下文件可修复至最后一个indextable处,后面的码流数据则被舍弃,不用解析最后每一帧的码流数据,从而大大提高修复速率。本申请实施例中,录入mp4文件的时候,会在mp4文件mdat的头部存入私有媒体信息,其中私有媒体信息包含mp4文件中帧数据的媒体信息参数;并在mdat中分段存入帧数据的索引信息,其中,索引信息包含帧数据的时域信息和空域信息。当mp4文件的文件尾不完整的时候,可以利用mdat数据中的私有媒体信息和索引信息对moov进行修复,可以在不引入备份文件概念,不额外占用文件系统io性能,不影响flash寿命,不造成文件系统碎片化的前提下对文件进行修复。此外,本申请至少还有以下有益效果:1、能够实时修复至不完整文件的最后一帧完整数据;2、能够在没有备份数据情况下修复用户在封装时设置的各项属性,如播放速率等。3、不需要对整个文件每一帧进行解析来修复文件,节约cpu;4、在修复高帧率大文件时,修复时长较其他解决方案(整个流进行解析)耗时降低效果显著。请参阅图10,本申请实施例中mp4文件的处理设备的一个实施例包括:第一存储单元1001,用于当录入mp4文件时,在mp4文件mdat的头部存入私有媒体信息,私有媒体信息包含mp4文件中帧数据的媒体信息参数;第二存储单元1002,用于在mdat中分段存入帧数据的索引信息,索引信息包含帧数据的时域信息和空域信息。本申请实施例中,录入mp4文件的时候,第一存储单元1001会在mp4文件mdat的头部存入私有媒体信息,其中私有媒体信息包含mp4文件中帧数据的媒体信息参数;第二存储单元1002在mdat中分段存入帧数据的索引信息,其中,索引信息包含帧数据的时域信息和空域信息。当mp4文件的文件尾不完整的时候,可以利用mdat数据中的私有媒体信息和索引信息对moov进行修复,可以在不引入备份文件概念,不额外占用文件系统io性能,不影响flash寿命,不造成文件系统碎片化的前提下对文件进行修复。请参阅图11,本申请实施例中mp4文件的处理设备的另一个实施例包括:第一存储单元1101,用于当录入mp4文件时,在mp4文件mdat的头部存入私有媒体信息,私有媒体信息包含mp4文件中帧数据的媒体信息参数;第二存储单元1102,用于在mdat中分段存入帧数据的索引信息,索引信息包含帧数据的时域信息和空域信息。其中,第二存储单元1102包括:第一存储子单元11021,用于在mdat中每间隔n字节帧数据后存入一个索引表,索引表包含索引表前n字节帧数据的时域信息和空域信息。或,第二存储单元1102包括:第二存储子单元11022,用于当mdat中写入每一个帧数据时,在每一个帧数据的前面存入私有帧数据信息,私有帧数据信息包含私有帧数据信息后面的一个帧数据的时域信息和空域信息。修复单元1103,用于根据私有媒体信息和索引信息修复mp4文件。其中,修复单元1103包括:第一读取子单元11031,用于读取私有媒体信息,得到每一帧数据的媒体信息参数;拼接子单元11032,用于对索引表进行拼接,得到完整索引表;第一解析子单元11033,用于对尾部帧数据的私有帧数据信息进行解析,得到尾部帧数据的时域信息和空域信息,尾部帧数据为最后一个索引表后面的帧数据;第一修复子单元11034,用于根据每一帧数据的媒体信息参数和完整索引表修复mp4文件。其中,第一修复子单元11034包括:修复模块110341,用于根据每一帧数据的媒体信息参数、完整索引表和尾部帧数据的时域信息和空域信息修复mp4文件。或,修复单元1103包括:第二读取子单元11035,用于读取私有媒体信息,得到每一帧数据的媒体信息参数;第二解析子单元11036,用于对每一个帧数据前面的私有帧数据信息进行解析,得到每一个帧的时域信息和空域信息;第二修复子单元11037,用于根据每一帧数据的媒体信息参数和每一个帧的时域信息和空域信息修复mp4文件。本申请实施例中,录入mp4文件的时候,第一存储单元1101会在mp4文件mdat的头部存入私有媒体信息,其中私有媒体信息包含mp4文件中帧数据的媒体信息参数;第二存储单元1102在mdat中分段存入帧数据的索引信息,其中,索引信息包含帧数据的时域信息和空域信息。当mp4文件的文件尾不完整的时候,修复单元1103可以利用mdat数据中的私有媒体信息和索引信息对moov进行修复,可以在不引入备份文件概念,不额外占用文件系统io性能,不影响flash寿命,不造成文件系统碎片化的前提下对文件进行修复。请参阅图12,本申请实施例中mp4文件的处理设备的另一个实施例包括:图12是本申请实施例提供的一种处理设备结构示意图,该处理设备1200为mp4文件的处理设备,该设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1222(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对处理设备中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在处理设备1200上执行存储介质1230中的一系列指令操作。处理设备1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,和/或,一个或一个以上操作系统1241,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。上述实施例中由处理设备所执行的步骤可以基于该图12所示的处理设备结构。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1