CN109800181A - 一种基于磁盘的数据写入方法、数据写入装置及终端设备 - Google Patents

一种基于磁盘的数据写入方法、数据写入装置及终端设备 Download PDF

Info

Publication number
CN109800181A
CN109800181A CN201811516367.3A CN201811516367A CN109800181A CN 109800181 A CN109800181 A CN 109800181A CN 201811516367 A CN201811516367 A CN 201811516367A CN 109800181 A CN109800181 A CN 109800181A
Authority
CN
China
Prior art keywords
written
disk
data
memory block
memory
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.)
Granted
Application number
CN201811516367.3A
Other languages
English (en)
Other versions
CN109800181B (zh
Inventor
吴汉俊
陈龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN SUNELL TECHNOLOGY Corp
Original Assignee
SHENZHEN SUNELL TECHNOLOGY Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN SUNELL TECHNOLOGY Corp filed Critical SHENZHEN SUNELL TECHNOLOGY Corp
Priority to CN201811516367.3A priority Critical patent/CN109800181B/zh
Publication of CN109800181A publication Critical patent/CN109800181A/zh
Application granted granted Critical
Publication of CN109800181B publication Critical patent/CN109800181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本申请提供了一种基于磁盘的数据写入方法、数据写入装置及终端设备,所述方法包括:当获取到待写入磁盘的待写入数据时,将该待写入数据写入终端设备内存区域中的第一内存块;判断该第一内存块是否被写满待写入上述磁盘的数据;若确认该第一内存块未被写满待写入上述磁盘的数据,则将再次获取到的待写入上述磁盘的数据写入上述第一内存块的剩余存储空间,然后返回执行判断该第一内存块是否被写满待写入上述磁盘的数据;若确认该第一内存块被写满待写入上述磁盘的数据,则采用直接IO访问方法,将该第一内存块中存储的待写入所述磁盘的数据写入所述磁盘。本申请能够在一定程度上解决传统的写磁盘方式容易造成系统卡死的技术问题。

Description

一种基于磁盘的数据写入方法、数据写入装置及终端设备
技术领域
本申请属于数据存储技术领域,尤其涉及一种基于磁盘的数据写入方法、数据写入装置、终端设备及计算机可读存储介质。
背景技术
目前,传统的将数据写入磁盘的方式为:终端设备的操作系统首先将内存中保存的要写入磁盘的数据复制至文件系统的页缓存,然后操作系统再将页缓存中的数据写入磁盘。
当要写入磁盘的数据为实时采集的流数据(比如摄像头不断采集的图像数据)时,终端设备的操作系统需要不断地将实时采集的流数据从内存复制至文件系统的页缓存,这会使得终端设备的内存消耗以及CPU占用率非常高,从而导致终端设备很容易出现CPU调度不过来的情况,造成系统卡死。
由此可见,传统的写磁盘方式容易造成系统卡死。
发明内容
本申请提供了一种基于磁盘的数据写入方法、数据写入装置、终端设备及计算机可读存储介质,可以解决传统的写磁盘方式容易造成系统卡死的技术问题。
本申请第一方面提供了一种基于磁盘的数据写入方法,应用于终端设备,该数据写入方法包括:
当获取到待写入磁盘的待写入数据时,将该待写入数据写入上述终端设备内存区域中的第一内存块,其中,该第一内存块用于存储待写入上述磁盘的各个数据;
判断上述第一内存块是否被写满待写入上述磁盘的数据;
若确认上述第一内存块未被写满待写入上述磁盘的数据,则将再次获取到的待写入该磁盘的数据写入该第一内存块的剩余存储空间,然后返回执行上述判断上述第一内存块是否被写满待写入上述磁盘的数据的步骤以及后续步骤,其中,上述第一内存块的剩余存储空间为保存的数据不是待写入上述磁盘的数据的存储空间;
若确认上述第一内存块被写满待写入上述磁盘的数据,则采用直接输入输出IO访问方法,将该第一内存块中存储的待写入上述磁盘的数据写入上述磁盘。
本申请第二方面提供了一种基于磁盘的数据写入装置,应用于终端设备,该数据写入装置包括:
第一写入模块,用于当获取到待写入磁盘的待写入数据时,将该待写入数据写入上述终端设备内存区域中的第一内存块,其中,该第一内存块用于存储待写入上述磁盘的各个数据;
第一判断模块,用于判断上述第一内存块是否被写满待写入上述磁盘的数据;
第二写入模块,用于若确认上述第一内存块未被写满待写入上述磁盘的数据,则将再次获取到的待写入该磁盘的数据写入该第一内存块的剩余存储空间,其中,上述第一内存块的剩余存储空间为保存的数据不是待写入上述磁盘的数据的存储空间;
磁盘写入模块,用于若确认上述第一内存块被写满待写入上述磁盘的数据,则采用直接输入输出IO访问方法,将该第一内存块中存储的待写入上述磁盘的数据写入上述磁盘。
本申请第三方面提供了一种终端设备,包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面方法的步骤。
本申请第五方面提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面方法的步骤。
由上可见,本申请提供了一种基于磁盘的数据写入方法。首先,当获取到待写入磁盘的待写入数据时,将该待写入数据写入终端设备内存区域的第一内存块,其中,该第一内存块用于存储各个待写入上述磁盘的数据;其次,判断该第一内存块是否被写满待写入上述磁盘的数据,若判断出该第一内存块未被写满,则向该第一内存块中再次写入待写入上述磁盘的数据,直至该第一内存块被写满,则采用直接IO访问方法,将该第一内存块中保存的各个待写入上述磁盘的数据写入上述磁盘。由此可见,本申请所提供的写磁盘方法,是采用直接IO访问方法,直接将内存中保存的数据写入磁盘,而不用将数据首先复制至文件系统的页缓存,因此,本申请所提供的技术方案相比于传统的写磁盘方式,可以在一定程度上降低终端设备的内存消耗以及CPU占用率,可以在一定程度上降低写磁盘时终端设备出现系统卡死的概率,因此,能够在一定程度上解决传统的写磁盘方式容易造成系统卡死的技术问题。此外,本申请所限定的技术方案中,会在第一内存块写满之后,一并将该第一内存块中的数据写入磁盘,相比于一旦接收到待写入磁盘的数据,就将该数据写入磁盘的技术方案,会在一定程度上提高写磁盘的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例一提供的一种基于磁盘的数据写入方法的实现流程示意图;
图2是本申请实施例二提供的另一种基于磁盘的数据写入方法的实现流程示意图;
图3是本申请实施例二提供的将监控摄像头采集的图像数据写入磁盘的示意图;
图4是本申请实施例二提供的磁盘分区示意图;
图5是本申请实施例三提供的一种基于磁盘的数据写入装置的结构示意图;
图6是本申请实施例提四供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
本申请实施例提供的基于磁盘的数据写入方法可以适用于终端设备,示例性地,上述终端设备包括但不限于:录像机、桌上型计算机、云端服务器、笔记本、掌上电脑、智能手机等。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
实施例一
下面对本申请实施例一提供的一种基于磁盘的数据写入方法进行描述,该数据写入方法应用于终端设备(比如录像机),请参阅附图1,本申请实施例一提供的数据写入方法包括:
在步骤S101中,当获取到待写入磁盘的待写入数据时,将该待写入数据写入上述终端设备内存区域的第一内存块,其中,该第一内存块用于存储待写入该磁盘的各个数据;
在本申请实施例中,终端设备可以每间隔一预设时长(比如每间隔20毫秒)在预设存储空间中查询是否有待写入上述磁盘的数据;一旦在该预设存储空间中查询到有待写入该磁盘的数据,就执行该步骤S101,将本次查询到的待写入该磁盘的数据写入第一内存块。
该步骤S101所述的待写入数据可以是摄像头采集的图像数据;或者,也可以是麦克风采集的语音数据;或者,还可以是从互联网上下载的文字数据,本申请实施例并不对该待写入数据的具体形式进行限定。此外,本申请实施例中的待写入磁盘的数据与上述待写入数据相同,可以为图像数据,也可以为语音数据,还可以是文字数据,本申请同样不作限定。
此外,在本申请实施例中,上述终端设备的内存区域包括第一内存块,该第一内存块包括多个内存单元,用于存储待写入上述磁盘的各个数据。在本申请实施例中,需要将第一内存块中的数据一并写入磁盘,因此,该第一内存块需与磁盘的最小读写单元对齐,比如,若磁盘的最小读写单元为4KB,则该第一内存块必须按4KB对齐。
在步骤S102中,判断该第一内存块是否被写满待写入上述磁盘的数据,若是,则执行步骤S104,否则,执行步骤S103;
在执行完步骤S101之后,终端设备需要判断上述第一内存块是否被写满待写入上述磁盘的数据。该步骤S102可以有多种具体的实施方式,比如:
实施方式一、判断上述第一内存块是否被写满待写入上述磁盘的数据可以包括:判断上述第一内存块的剩余存储空间是否大于预设阈值,该第一内存块的剩余存储空间为保存的数据不是待写入该磁盘的数据的存储空间;若大于或等于上述预设阈值,则确认上述第一内存块未被写满待写入上述磁盘的数据;若小于上述预设阈值,则确认上述第一内存块被写满待写入上述磁盘的数据。比如,若上述预设阈值为40KB,则在步骤S101之后,可以判断该第一内存块的剩余存储空间是否大于40KB,若大于或等于40KB,则认为该第一内存块未被写满,若小于40KB,则认为该第一内存块被写满。
实施方式二、判断上述第一内存块是否被写满待写入上述磁盘的数据也可以包括:判断向上述第一内存块写入待写入上述磁盘的数据的次数是否达到第一预设次数;若未达到该第一预设次数,则确认上述第一内存块未被写满待写入上述磁盘的数据;若达到该第一预设次数,则确认上述第一内存块被写满待写入上述磁盘的数据。比如,若上述第一预设次数为10次,则在步骤S101之后,判断向该第一内存块中写入数据(该数据为待写入上述磁盘的数据)的次数是否达到10次,若已经达到10次,则认为该第一内存块被写满,否则,则认为该第一内存块未被写满。
实施方式三、判断上述第一内存块是否被写满待写入上述磁盘的数据还可以包括:当再次获取到待写入上述磁盘的数据时,判断该再次获取到的待写入上述磁盘的数据所占据的存储空间是否大于上述第一内存块的剩余存储空间大小;若小于或等于上述第一内存块的剩余存储空间大小,则确认该第一内存块未被写满待写入上述磁盘的数据;若大于上述第一内存块的剩余存储空间大小,则确认该第一内存块被写满待写入上述磁盘的数据。也即是,在步骤S101执行后,当再次获取到待写入上述磁盘的数据时,执行该步骤S102,判断该再次获取的待写入上述磁盘的数据是否能够被写入该第一内存块,若能够被写入该第一内存块,则确认该第一内存块未被写满,若不可以被写入该第一内存块,则确认该第一内存块被写满。
请本领域技术人员注意,判断该第一内存块是否被写满待写入上述磁盘的数据,并不等同于判断该第一内存块中每个内存单元中是否均保存了待写入上述磁盘的数据,当该第一内存块有些内存单元未保存有待写入上述磁盘的数据时,也有可能会认为该第一内存块已被写满待写入上述磁盘的数据。此外,本领域技术人员还应注意,步骤S102的具体实施方式并不局限于上述三种实施方式,本领域技术人员能够想到其他任何一种实施方式都在本申请的保护范围之内。
下面对步骤S102的上述实施方式三进行详细说明:
A、在步骤S101执行之后,终端设备可以在距离上次查询操作(该上次查询操作为:上次在预设存储空间查询到有待写入上述磁盘的数据)预设时长(比如20ms)后,再次在该预设存储空间中查询有无待写入上述磁盘的数据;
B、若查询到,则判断本次查询到的待写入上述磁盘的数据所占据的存储空间是否大于该第一内存块的剩余存储空间,若判断出大于该第一内存块的剩余存储空间,则确认该第一内存块被写满,执行后续步骤S104,若确认该第一内存块未被写满,则执行后续步骤S103;
C、若未查询到,则可以再间隔预设时长(比如20ms),再次查询该预设存储空间中有无待写入上述磁盘的数据,直到查询到有待写入上述磁盘的数据,就判断该数据所占据的存储空间是否大于该第一内存块的剩余存储空间。
在步骤S103中,将再次获取到的待写入上述磁盘的数据写入上述第一内存块的剩余存储空间,并返回执行步骤S102,其中,该第一内存块的剩余存储空间为保存的数据不是待写入上述磁盘的数据的存储空间;
若步骤S102的判断结果是否定的,则可以将再次获取的待写入上述磁盘的数据写入该第一内存块中。
在步骤S104中,采用直接输入输出IO访问方法,将上述第一内存块中存储的待写入上述磁盘的数据写入上述磁盘;
若步骤S102的判断结果是肯定的,则采用直接IO访问方法,将该第一内存块中保存的待写入上述磁盘的数据直接写入上述磁盘。
此外,在将第一内存块写入磁盘的时候,有可能会再次获取到待写入该磁盘的数据,通常情况下,上述预设存储空间往往比较小,该预设存储空间往往只能保存非常少的数据,而将数据写入磁盘的时间往往会较长,因此,若短时间内连续获取到待写入该磁盘的数据,为了避免待写入该磁盘的数据丢失,需要在将第一内存块中的数据写入磁盘的同时,将再次获取的待写入该磁盘的数据写入内存。因此,这种情况下,上述终端设备的内存区域还包括除上述第一内存块之外的一个或多个内存块,相应地,该步骤S104可以包括:采用直接IO访问方法,将上述第一内存块中存储的待写入上述磁盘的数据写入上述磁盘,并将再次获取到的待写入上述磁盘的数据写入上述内存区域中除上述第一内存块之外的第二内存块。
并且,在步骤S102的第三种实施方式中,由于需要在再次获取到待写入该磁盘的数据时,才能判断该第一内存块是否被写满,所以,也需要该终端设备的内存区域除了上述第一内存块之外还包括一个或多个内存块,以保证若判断出该第一内存块被写满,能够将该再次获取到的待写入该磁盘的数据写入另一内存块中。
本申请实施例一所提供的写磁盘方法,是采用直接IO访问方法,直接将内存中保存的数据写入磁盘,而不用将数据首先复制至文件系统的页缓存,因此,本申请所提供的技术方案相比于传统的写磁盘方式,可以在一定程度上降低终端设备的内存消耗以及CPU占用率,因此,能够在一定程度上解决传统的写磁盘方式容易造成系统卡死的技术问题。此外,本申请实施例一所限定的技术方案中,会在第一内存块写满之后,一并将该第一内存块中的数据写入磁盘(对于磁盘来说,将N字节的数据一并写入磁盘所耗费的时间要小于将1字节的数据分N次写入磁盘所耗费的时间),因此,相比于一旦接收到待写入磁盘的数据,就将该数据写入磁盘的技术方案,会在一定程度上提高写磁盘的效率。
实施例二
下面对本申请实施例二提供的另一种基于磁盘的数据写入方法进行描述,本申请实施例二所述的数据写入方法也应用于终端设备,其中,该终端设备的内存区域包括第一内存块以及第二内存块,并且将该第二内存块写满待写入上述磁盘的数据所耗费的时间要大于将该第一内存块中的待写入磁盘的数据全部写入磁盘所耗费的时间。比如若待写入磁盘的数据是监控摄像头采集的图像,则将某一内存块写满所耗费的时间是随着该内存块的增大线性增加的,但是,将某一内存块中的数据全部写入磁盘所耗费的时间的时间增长率是随着该内存块的增大而逐步减小的,因此,在这种情况下,可以设置上述第一内存块与上述第二内存块的存储大小相同,且均为一较大的存储区域时,可以保证将该第二内存块写满所耗费的时间大于将写满的第一内存块中的待写入磁盘的数据全部写入磁盘所耗费的时间。
在本申请实施例二中,限定了将第二内存块写满待写入磁盘的数据所耗费的时间大于将写满的第一内存块中待写入磁盘的数据全部写入磁盘所耗费的时间,这样可以使得仅仅只需要两个内存块,就可以将待写入磁盘的数据通过循环使用两个内存块而不断地写入磁盘。
在本申请实施例二中,需要将第一内存块以及第二内存块中的数据写入磁盘,因此,该第一内存块与该第二内存块必须与磁盘的最小读写单元对齐,若磁盘的最小读写单元为4KB,则该第一内存块以及第二内存块必须按4KB对齐。
请参阅附图2,本申请实施例二提供的数据写入方法包括:
在步骤S201中,当获取到待写入磁盘的待写入数据时,将该待写入数据写入上述终端设备内存区域的第一内存块,其中,该第一内存块用于存储待写入该磁盘的各个数据;
在步骤S202中,判断该第一内存块是否被写满待写入上述磁盘的数据,若是,则执行步骤S204以及S205,否则,执行步骤S203;
在步骤S203中,将再次获取到的待写入上述磁盘的数据写入上述第一内存块的剩余存储空间,并返回执行步骤S202,其中,该第一内存块的剩余存储空间为保存的数据不是待写入上述磁盘的数据的存储空间;
在步骤S204中,采用直接输入输出IO访问方法,将上述第一内存块中存储的待写入上述磁盘的数据写入上述磁盘;
在步骤S205中,将再次获取到的待写入该磁盘的数据写入除上述第一内存块之外的第二内存块;
上述步骤S201-S205均在实施例一中的步骤S101-S104中有相应描述,具体可参见实施例一,此处不再赘述。
在步骤S206中,当又一次获取到待写入上述磁盘的数据时,判断该第二内存块是否被写满,若是,则执行步骤S208,否则,执行步骤S207;
在本申请实施例二中,可以每间隔一预设时长就在预设存储空间中查询有无待写入上述磁盘的数据,一旦查询到,则判断该第二内存块是否被写满,若判断出该第二内存块被写满,则执行步骤S208,否则,执行步骤S207。
在步骤S207中,将上述又一次获取到的待写入上述磁盘的数据写入上述第二内存块的剩余存储空间,并返回执行步骤S206;
若步骤S206的判断结果为该第二内存块未被写满待写入上述磁盘的数据,则将步骤S206中所述的又一次获取到的待写入上述磁盘的数据写入该第二内存块的剩余存储空间,其中该第二内存块的剩余存储空间为保存的数据不是待写入上述磁盘的数据的存储空间,并返回执行步骤S206。
在步骤S208时,将上述第二内存块对应的内存块确定为第一内存块,并返回执行步骤S204以及步骤S205;
由于本申请实施例二中,将该第二内存块写满待写入上述磁盘的数据所耗费的时间要大于将该第一内存块中的数据全部写入磁盘所耗费的时间,所以,在步骤S206的判断结果是肯定的时候,对应的第一内存块已经处于空闲状态,该第一内存块可再次写入待写入该磁盘的数据。所以,在该步骤S208中,将当前的第二内存块对应的内存块确定为第一内存块,并返回执行步骤S204,也即是将步骤S206所述的“第二内存块”中的数据以直接IO的方式写入上述磁盘,返回执行步骤S205,也即是将再次获取的数据写入除了步骤S206所述的“第二内存块”之外的其他内存块中。
为了更直观的描述本申请实施例二所提供的技术方案,下面利用附图3,对本申请实施例二进行描述。
如图3所示,本申请实施例二的技术方案应用在录像机302中,该录像机302中包括地址范围为0x0000-0x000F的内存块3021、地址范围为0x0010-0x001F的内存块3022以及磁盘3023,该录像机302将监控摄像头301采集的监控画面存储进磁盘3023中,此外,该附图3中的预设存储空间可以是Internet中的一存储空间。假设该预设存储空间只能存储一帧图像,且内存块3021以及内存块3022均最多能够存储两帧监控摄像头301采集的图像,并且该监控摄像头301采集图像的帧率为25帧/s(也即是两帧之间的时间间隔为40ms)。
如图3所示,首先,在T0时刻,录像机302从预设存储空间获取监控摄像头301采集的第一帧图像,将该第一帧图像保存至地址范围为0x0000-0x000F的内存块3021中(此时,第一内存块为内存块3021),然后,判断内存块3021是否被存满,由于内存块3021能最多存储两帧监控摄像头301采集的图像,因此,此时会判断出该内存块3021未存满。
其次,录像机302在距离T0时刻40ms之后的T1时刻,在预设存储空间中查询有无图像,若查询到图像,则将T1时刻获取的第二帧图像保存至内存块3021中,然后判断此时内存块3021是否被存满,由于内存块3021最多存储两帧监控摄像头301采集的图像,因此,此时会判断出该内存块3021被存满,然后,将内存块3021中保存的第一帧图像以及第二帧图像以直接IO的方式写入磁盘3023中。此外,在附图3所示的例子中,将内存块3021或者内存块3022写满所花费的时间应在(40ms,80ms]范围内,假设为70ms,将内存块3021或者内存块3022保存的待写入磁盘的数据写入磁盘的时间假设为40ms,则如图3所示,将内存块3021中保存的两帧图像写入磁盘的时刻为T23。
再次,录像机302在距离T1时刻40ms之后的T2时刻,在预设存储空间中查询有无图像,若查询到图像,则将T2时刻获取的第三帧图像保存至内存块3021之外的另一内存块3022中(此时,第二内存块为内存块3022)。请本领域技术人员注意,在附图3所示的例子中,将内存块3021中的第一帧图像和第二帧图像写入磁盘的时间段是与将监控摄像头301采集的第三帧图像写入内存块3022的时间段有重叠的。
然后,录像机302在距离T2时刻40ms之后的T3时刻,在预设存储空间中查询有无图像,若查询到图像,则判断此时第二内存块是否被写满,由于内存块3022能最多存储两帧监控摄像头301采集的图像,因此,此时会判断出该内存块3022未存满,然后将T3时刻获取的第四帧图像写入内存块3022中。
接着,录像机在距离T3时刻40ms之后的T4时刻,在预设存储空间中查询有无图像,若查询到图像,则判断此时第二内存块是否被写满,由于内存块3022能最多存储两帧监控摄像头301采集的图像,因此,此时会判断出该内存块3022已经被存满,此时将当前的第二内存块,即内存块3022确定为第一内存块,然后将当前的第一内存块,即地址范围为0x0010-0x001F的内存块3022中保存的第三帧图像以及第四帧图像以直接IO的方式写入磁盘3023中,并将T4时刻获取的第五帧图像写入内存块3021中(此时,内存块3021为第一内存块)。录像机302后续每间隔40ms就获取一帧图像,并重复T3时刻以及T4时刻的操作。由此可见,在附图3所示的例子中,录像机302只需两块内存块就可以将监控摄像头301不断采集的图像以直接IO的方式写入磁盘。
此外,在本申请实施例二中,在步骤S208所述的“将上述第二内存块对应的内存块确定为第一内存块”的步骤之前,还包括:
判断从开始将第一内存块的数据写入磁盘,到当前时刻的这一时间范围内,所接收到的该磁盘返回的反馈信息是否指示该第一内存块中的数据被成功写入该磁盘,其中,该反馈信息用于指示上述第一内存块中的数据被成功或者未被成功写入该磁盘;
若该反馈信息用于指示上述第一内存块中的数据未被成功写入该磁盘,则提示用户存在未成功写入该磁盘的数据。
另外,本申请实施例二所述的“磁盘”可以被划分索引分区以及数据分区;相应地,步骤S204包括:采用直接IO访问方法,将上述第一内存块存储的待写入该磁盘的数据写入该磁盘数据分区中目标地址指示的范围内;并将该目标地址以及存储在该目标地址的数据的标识信息写入该磁盘的索引分区。
也即是,如图4所示,磁盘包括数据分区以及索引分区,终端设备在将内存块中的数据写入数据分区时,可以顺序将数据写入磁盘中,比如,第一次写磁盘时,可以将内存块中的数据写入数据分区中地址为0x0001的位置,第二次写磁盘时,可以将内存块中的数据写入数据分区中地址为0x0002的位置。此外,在本申请实施例中,在每一次将数据写入数据分区时,可以将此次写入数据分区的目标地址以及写入该目标地址的数据的标识信息一并写入索引分区。如图4所示,假如此次将数据X写入数据分区的目标地址A中,则在索引分区中保存该数据X的标识信息以及目标地址A,这样可以使得后续在从磁盘读取数据的时候,能够根据标识信息获取地址,然后从该地址中读取数据。
在本申请实施例二中,若待写入磁盘的数据是摄像头采集的图像,则上述该标识信息可以是数据采集时间(比如,14:05)、数据采集位置(比如,深圳市深南中路)、采集数据的摄像头ID(比如,002号摄像头)等等。
在本申请实施例中,可以采用GPT(GUID Partition Table,全局唯一标识磁盘分区表)分区方式将磁盘分为索引分区以及数据分区,此外,还可以再多分出一空闲分区(该空闲分区可以是物理上靠近磁盘圆心,读写效率低的区域)。
此外,在本申请实施例中,为了快速找到保存在数据分区的数据,可以将索引分区分为多个级别,逐级查找各级索引,通过最后一级索引确定要查找的数据在数据分区中的地址。比如,我们可以将索引分区中每个索引设置为16个字节,并将各个索引分为三级,一级索引可以有256个,二级索引可以有256×256个,三级索引可以有256×256×256个,每一个一级索引对应一组(共256个)二级索引,每一个二级索引对应一组(共256个)三级索引,我们在查找数据的时候,首先根据各个一级索引的标识信息,确定我们要查找的数据所对应的目标一级索引,然后根据该目标一级索引对应的256个二级索引的标识信息,再确定我们要查找的数据所对应的目标二级索引,最后,根据该目标二级索引对应的256个三级索引的标识信息,确定我们要查找的数据所对应的目标三级索引,将该目标三级索引记录的地址确定为我们要查找的数据在数据分区中的地址。
本申请实施例二所提供的技术方案可以将不断获取的流数据不断写入磁盘,并且本申请实施例二所提供的技术方案与实施例一相同,能够在一定程度上解决传统的写磁盘方式容易造成系统卡死的技术问题,并且,本申请实施例二中,会将内存块中的数据一并写入磁盘,相比于一旦接收到待写入磁盘的数据,就将该数据写入磁盘的技术方案,会在一定程度上提高写磁盘的效率。
应理解,上述方法实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例三
本申请实施例三提供了一种基于磁盘的数据写入装置,应用于终端设备,如图5所示,该数据写入装置500包括:
第一写入模块501,用于当获取到待写入磁盘的待写入数据时,将该待写入数据写入上述终端设备内存区域中的第一内存块,其中,该第一内存块用于存储待写入上述磁盘的各个数据;
第一判断模块502,用于判断上述第一内存块是否被写满待写入上述磁盘的数据;
第二写入模块503,用于若确认上述第一内存块未被写满待写入上述磁盘的数据,则将再次获取到的待写入该磁盘的数据写入该第一内存块的剩余存储空间,其中,上述第一内存块的剩余存储空间为保存的数据不是待写入上述磁盘的数据的存储空间;
磁盘写入模块504,用于若确认上述第一内存块被写满待写入上述磁盘的数据,则采用直接输入输出IO访问方法,将该第一内存块中存储的待写入上述磁盘的数据写入上述磁盘。
可选地,上述终端设备的内存区域还包括除上述第一内存块之外的一个或多个内存块;
相应地,上述磁盘写入模块504具体用于:若确认上述第一内存块被写满待写入上述磁盘的数据,则采用直接输入输出IO访问方法,将该第一内存块中存储的待写入上述磁盘的数据写入上述磁盘,并将再次获取到的待写入该磁盘的数据写入上述内存区域中除上述第一内存块之外的第二内存块。
可选地,将上述第二内存块写满待写入上述磁盘的数据所耗费的时间大于将写满的第一内存块中的待写入上述磁盘的数据全部写入上述磁盘耗费的时间;
相应地,上述数据写入装置500还包括:
第二判断模块,用于当又一次获取到待写入上述磁盘的数据时,判断上述第二内存块是否被写满待写入上述磁盘的数据;
第三写入模块,用于若确认上述第二内存块未被写满待写入上述磁盘的数据,则将上述又一次获取到待写入上述磁盘的数据写入上述第二内存块的剩余存储空间;
更新模块,用于若确认上述第二内存块被写满待写入上述磁盘的数据,则将上述第二内存块对应的内存块确定为第一内存块。
可选地,上述更新模块还包括:
成功判断单元,用于判断所述磁盘返回的反馈信息是否指示所述第一内存块中的数据被成功写入所述磁盘,所述反馈信息用于指示所述第一内存块中的数据被成功或者未被成功写入所述磁盘;
提醒单元,用于若上述反馈信息用于指示上述第一内存块中的数据未被成功写入该磁盘,则提示用户存在未成功写入该磁盘的数据。
可选地,上述磁盘包括索引分区以及数据分区;
相应地,上述磁盘写入模块504包括:
数据分区写入单元,用于采用直接IO访问方法,将上述第一内存块存储的待写入该磁盘的数据写入该磁盘数据分区中目标地址对应的范围内;
索引分区写入单元,用于并将上述目标地址以及存储在该目标地址的数据的标识信息写入该磁盘的索引分区。
可选地,上述第一判断模块502包括:
剩余空间判断单元,用于判断上述第一内存块的剩余存储空间是否大于预设阈值;
第一未写满单元,用于若大于或等于上述预设阈值,则确认上述第一内存块未被写满待写入上述磁盘的数据;
第一写满单元,用于若小于上述预设阈值,则确认上述第一内存块被写满待写入上述磁盘的数据。
可选地,上述第一判断模块502包括:
存储空间比较单元,用于当再次获取到待写入上述磁盘的数据时,判断该再次获取到的待写入该磁盘的数据所占据的存储空间是否大于上述第一内存块的剩余存储空间大小;
第二未写满单元,用于若小于或等于上述第一内存块的剩余存储空间大小,则确认该第一内存块未被写满待写入上述磁盘的数据;
第二写满单元,用于若大于上述第一内存块的剩余存储空间大小,则确认该第一内存块被写满待写入上述磁盘的数据。
需要说明的是,上述装置/模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
实施例四
图6是本申请实施例四提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在上述存储器61中并可在上述处理器60上运行的计算机程序62。上述处理器60执行上述计算机程序62时实现上述各个方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,上述处理器60执行上述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块501至504的功能。
示例性的,上述计算机程序62可以被分割成一个或多个模块/单元,上述一个或者多个模块/单元被存储在上述存储器61中,并由上述处理器60执行,以完成本申请。上述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述上述计算机程序62在上述终端设备6中的执行过程。例如,上述计算机程序62可以被分割成第一写入模块、第一判断模块、第二写入模块以及磁盘写入模块,各模块具体功能如下:
当获取到待写入磁盘的待写入数据时,将该待写入数据写入上述终端设备内存区域中的第一内存块,其中,该第一内存块用于存储待写入上述磁盘的各个数据;
判断上述第一内存块是否被写满待写入上述磁盘的数据;
若确认上述第一内存块未被写满待写入上述磁盘的数据,则将再次获取到的待写入该磁盘的数据写入该第一内存块的剩余存储空间,然后返回执行上述判断上述第一内存块是否被写满待写入上述磁盘的数据的步骤以及后续步骤,其中,上述第一内存块的剩余存储空间为保存的数据不是待写入上述磁盘的数据的存储空间;
若确认上述第一内存块被写满待写入上述磁盘的数据,则采用直接输入输出IO访问方法,将该第一内存块中存储的待写入上述磁盘的数据写入上述磁盘。
上述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如上述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述存储器61可以是上述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。上述存储器61也可以是上述终端设备6的外部存储设备,例如上述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述存储器61还可以既包括上述终端设备6的内部存储单元也包括外部存储设备。上述存储器61用于存储上述计算机程序以及上述终端设备所需的其它程序和数据。上述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种基于磁盘的数据写入方法,应用于终端设备,其特征在于,所述数据写入方法包括:
当获取到待写入磁盘的待写入数据时,将所述待写入数据写入所述终端设备内存区域中的第一内存块,其中,所述第一内存块用于存储待写入所述磁盘的各个数据;
判断所述第一内存块是否被写满待写入所述磁盘的数据;
若确认所述第一内存块未被写满待写入所述磁盘的数据,则将再次获取到的待写入所述磁盘的数据写入所述第一内存块的剩余存储空间,然后返回执行所述判断所述第一内存块是否被写满待写入所述磁盘的数据的步骤以及后续步骤,其中,所述第一内存块的剩余存储空间为保存的数据不是待写入所述磁盘的数据的存储空间;
若确认所述第一内存块被写满待写入所述磁盘的数据,则采用直接输入输出IO访问方法,将所述第一内存块中存储的待写入所述磁盘的数据写入所述磁盘。
2.如权利要求1所述的数据写入方法,其特征在于,所述终端设备的内存区域还包括除所述第一内存块之外的一个或多个内存块;
相应地,所述采用直接输入输出IO访问方法,将所述第一内存块中存储的待写入所述磁盘的数据写入所述磁盘,包括:
采用直接IO访问方法,将所述第一内存块中存储的待写入所述磁盘的数据写入所述磁盘,并将再次获取到的待写入所述磁盘的数据写入所述内存区域中除所述第一内存块之外的第二内存块。
3.如权利要求2所述的数据写入方法,其特征在于,将所述第二内存块写满待写入所述磁盘的数据所耗费的时间,大于将写满的第一内存块中的待写入所述磁盘的数据全部写入所述磁盘所耗费的时间;
相应地,在所述将再次获取到的待写入所述磁盘的数据写入所述内存区域中除所述第一内存块之外的第二内存块的步骤之后,还包括:
当又一次获取到待写入所述磁盘的数据时,判断所述第二内存块是否被写满待写入所述磁盘的数据;
若确认所述第二内存块未被写满待写入所述磁盘的数据,则将所述又一次获取到待写入所述磁盘的数据写入所述第二内存块的剩余存储空间,并返回执行所述当又一次获取到待写入所述磁盘的数据时,判断所述第二内存块是否被写满待写入所述磁盘的数据的步骤以及后续步骤;
若确认所述第二内存块被写满待写入所述磁盘的数据,则将所述第二内存块对应的内存块确定为第一内存块,然后返回执行所述采用直接IO访问方法,将所述第一内存块中存储的待写入所述磁盘的数据写入所述磁盘,并将再次获取到的待写入所述磁盘的数据写入所述内存区域中除所述第一内存块之外的第二内存块的步骤以及后续步骤。
4.如权利要求3所述的数据写入方法,其特征在于,在所述将所述第二内存块对应的内存块确定为第一内存块的步骤之前,还包括:
判断所述磁盘返回的反馈信息是否指示所述第一内存块中的数据被成功写入所述磁盘,所述反馈信息用于指示所述第一内存块中的数据被成功或者未被成功写入所述磁盘;
若所述反馈信息用于指示所述第一内存块中的数据未被成功写入所述磁盘,则提示用户存在未成功写入所述磁盘的数据。
5.如权利要求1至4中任一项所述的数据写入方法,其特征在于,所述磁盘包括索引分区以及数据分区;
相应地,所述采用直接输入输出IO访问方法,将所述第一内存块中存储的待写入所述磁盘的数据写入所述磁盘,包括:
采用直接IO访问方法,将所述第一内存块存储的待写入所述磁盘的数据写入所述磁盘数据分区中目标地址对应的范围内;
并将所述目标地址以及存储在所述目标地址的数据的标识信息写入所述磁盘的索引分区。
6.如权利要求1至4中任一项所述的数据写入方法,其特征在于,所述判断所述第一内存块是否被写满待写入所述磁盘的数据,包括:
判断所述第一内存块的剩余存储空间是否大于预设阈值;
若大于或等于所述预设阈值,则确认所述第一内存块未被写满待写入所述磁盘的数据;
若小于所述预设阈值,则确认所述第一内存块被写满待写入所述磁盘的数据。
7.如权利要求1至4中任一项所述的数据写入方法,其特征在于,所述判断所述第一内存块是否被写满待写入所述磁盘的数据,包括:
当再次获取到待写入所述磁盘的数据时,判断该再次获取到的待写入所述磁盘的数据所占据的存储空间是否大于所述第一内存块的剩余存储空间大小;
若小于或等于所述第一内存块的剩余存储空间大小,则确认所述第一内存块未被写满待写入所述磁盘的数据;
若大于所述第一内存块的剩余存储空间大小,则确认所述第一内存块被写满待写入所述磁盘的数据。
8.一种基于磁盘的数据写入装置,应用于终端设备,其特征在于,所述数据写入装置包括:
第一写入模块,用于当获取到待写入磁盘的待写入数据时,将所述待写入数据写入所述终端设备内存区域中的第一内存块,其中,所述第一内存块用于存储待写入所述磁盘的各个数据;
第一判断模块,用于判断所述第一内存块是否被写满待写入所述磁盘的数据;
第二写入模块,用于若确认所述第一内存块未被写满待写入所述磁盘的数据,则将再次获取到的待写入所述磁盘的数据写入所述第一内存块的剩余存储空间,其中,所述第一内存块的剩余存储空间为保存的数据不是待写入所述磁盘的数据的存储空间;
磁盘写入模块,用于若确认所述第一内存块被写满待写入所述磁盘的数据,则采用直接输入输出IO访问方法,将所述第一内存块中存储的待写入所述磁盘的数据写入所述磁盘。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
CN201811516367.3A 2018-12-12 2018-12-12 一种基于磁盘的数据写入方法、数据写入装置及终端设备 Active CN109800181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811516367.3A CN109800181B (zh) 2018-12-12 2018-12-12 一种基于磁盘的数据写入方法、数据写入装置及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811516367.3A CN109800181B (zh) 2018-12-12 2018-12-12 一种基于磁盘的数据写入方法、数据写入装置及终端设备

Publications (2)

Publication Number Publication Date
CN109800181A true CN109800181A (zh) 2019-05-24
CN109800181B CN109800181B (zh) 2021-05-04

Family

ID=66556678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811516367.3A Active CN109800181B (zh) 2018-12-12 2018-12-12 一种基于磁盘的数据写入方法、数据写入装置及终端设备

Country Status (1)

Country Link
CN (1) CN109800181B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781135A (zh) * 2019-09-20 2020-02-11 北京三快在线科技有限公司 分布式搜索系统、索引分发方法及存储介质
CN112465078A (zh) * 2021-02-03 2021-03-09 成都点泽智能科技有限公司 跨摄像头行人轨迹处理方法、计算机设备及可读存储介质
CN112748869A (zh) * 2019-10-31 2021-05-04 华为技术有限公司 一种数据处理方法及装置
CN112988609A (zh) * 2019-12-02 2021-06-18 杭州海康机器人技术有限公司 数据处理方法、装置、存储介质和客户端

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180541A1 (en) * 2004-06-08 2007-08-02 Nikon Corporation Cryptographic architecture with instruction masking and other techniques for thwarting differential power analysis
CN101083756A (zh) * 2007-03-14 2007-12-05 中国科学技术大学 基于互联网的电视流媒体数据实时传输和服务装置及方法
CN101141623A (zh) * 2007-10-17 2008-03-12 华中科技大学 一种基于p2p技术的视频点播节目缓存方法
CN104793903A (zh) * 2015-04-20 2015-07-22 浪潮电子信息产业股份有限公司 一种基于io排序的视频数据写入方法、装置及系统
CN106134475B (zh) * 2013-07-31 2015-08-05 中国人民解放军63956部队 带存储功能的多图像采集设备遥控采集控制装置
CN105744200A (zh) * 2016-02-22 2016-07-06 深圳英飞拓科技股份有限公司 视频监控录像的存储方法及装置
CN107527317A (zh) * 2017-07-18 2017-12-29 西安电子科技大学 基于图像处理的数据传输系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180541A1 (en) * 2004-06-08 2007-08-02 Nikon Corporation Cryptographic architecture with instruction masking and other techniques for thwarting differential power analysis
CN101083756A (zh) * 2007-03-14 2007-12-05 中国科学技术大学 基于互联网的电视流媒体数据实时传输和服务装置及方法
CN101141623A (zh) * 2007-10-17 2008-03-12 华中科技大学 一种基于p2p技术的视频点播节目缓存方法
CN106134475B (zh) * 2013-07-31 2015-08-05 中国人民解放军63956部队 带存储功能的多图像采集设备遥控采集控制装置
CN104793903A (zh) * 2015-04-20 2015-07-22 浪潮电子信息产业股份有限公司 一种基于io排序的视频数据写入方法、装置及系统
CN105744200A (zh) * 2016-02-22 2016-07-06 深圳英飞拓科技股份有限公司 视频监控录像的存储方法及装置
CN107527317A (zh) * 2017-07-18 2017-12-29 西安电子科技大学 基于图像处理的数据传输系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
中国科学院上海技术物理研究所: "《红外光电技术》", 31 March 2004, 中国科学技术出版社 *
周云静: "《数据结构(C语言版)》", 30 June 2003, 冶金工业出版社 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781135A (zh) * 2019-09-20 2020-02-11 北京三快在线科技有限公司 分布式搜索系统、索引分发方法及存储介质
CN110781135B (zh) * 2019-09-20 2023-05-30 北京三快在线科技有限公司 分布式搜索系统、索引分发方法及存储介质
CN112748869A (zh) * 2019-10-31 2021-05-04 华为技术有限公司 一种数据处理方法及装置
CN112748869B (zh) * 2019-10-31 2022-08-26 华为技术有限公司 一种数据处理方法及装置
CN112988609A (zh) * 2019-12-02 2021-06-18 杭州海康机器人技术有限公司 数据处理方法、装置、存储介质和客户端
CN112988609B (zh) * 2019-12-02 2023-05-02 杭州海康机器人股份有限公司 数据处理方法、装置、存储介质和客户端
CN112465078A (zh) * 2021-02-03 2021-03-09 成都点泽智能科技有限公司 跨摄像头行人轨迹处理方法、计算机设备及可读存储介质

Also Published As

Publication number Publication date
CN109800181B (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN109800181A (zh) 一种基于磁盘的数据写入方法、数据写入装置及终端设备
CN102043686B (zh) 一种内存数据库的容灾方法、备用服务器及系统
CN104520815A (zh) 一种任务调度的方法、装置及设备
CN105677742A (zh) 一种存储文件的方法及装置
CN106708548A (zh) 程序升级方法和终端设备
CN106503008B (zh) 文件存储方法和装置及文件查询方法和装置
CN114546295B (zh) 一种基于zns固态硬盘的智能写分配方法和装置
CN106557436A (zh) 终端的内存压缩功能使能方法及装置
CN109871251A (zh) 一种响应数据的处理方法、装置、存储介质及终端设备
CN108769157B (zh) 消息弹窗的展示方法、装置、计算设备及计算机存储介质
CN109976823A (zh) 一种应用程序启动方法、装置及终端设备
CN106294188A (zh) 存储空间处理方法及装置
CN110162563B (zh) 一种数据入库方法、系统及电子设备和存储介质
CN104899157A (zh) 一种内存溢出检测方法和系统
CN110399101A (zh) 一种磁盘的写操作处理方法、装置、系统及存储介质
CN112527559B (zh) 一种物联网数据备份方法及装置
CN106406771A (zh) 日志记录方法及日志记录器
CN103647914A (zh) 一种电视关机后定时唤醒的方法和装置
CN107967306B (zh) 一种存储系统中关联块的快速挖掘方法
CN101464938A (zh) 用于管理射频标识标签的用户存储器的设备和方法
CN105099766A (zh) 防止接口过度占用资源的方法及装置
CN108287793A (zh) 响应消息的缓冲方法及服务器
CN108009226A (zh) 一种基于智能终端应用的推广内容展示实现方法及智能终端
CN109033271B (zh) 基于列存储的数据插入方法、装置、服务器及存储介质
CN103152386B (zh) 业务数据分发服务器及其业务数据分发方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant