CN112084163A - 一种数据写入方法、装置及计算机设备 - Google Patents
一种数据写入方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN112084163A CN112084163A CN202010926671.6A CN202010926671A CN112084163A CN 112084163 A CN112084163 A CN 112084163A CN 202010926671 A CN202010926671 A CN 202010926671A CN 112084163 A CN112084163 A CN 112084163A
- Authority
- CN
- China
- Prior art keywords
- data
- written
- buffer
- writing
- sub
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Abstract
本发明公开了一种数据写入方法、装置及计算机设备,该数据写入方法包括:当接收到待写入数据,根据所述待写入数据发起写入请求,所述写入请求包括所述待写入数据;根据所述写入请求将所述待写入数据写入到缓存器中;确定在达到预设间隔时长时所述缓存器中暂存数据的数量;当所述缓存器中暂存数据的数量大于或等于预设阈值时,将所述待写入数据写入HBase。本发明通过在达到预设间隔时长时检测缓存器中的暂存数据的数量,以尽可能及时地将待写入数据写入到HBase,同时判断缓存器中暂存数据的数量是否大于或等于预设阈值,避免了数据量小时将数据写入到HBase浪费资源的问题。
Description
技术领域
本发明涉及视频存储技术领域,具体涉及一种数据写入方法、装置及计算机设备。
背景技术
视频监控技术应用在社会生产、生活的各个方面,视频数据的挖掘分析对后续工作有重大的指导意义,因此,需有效的存储技术来对视频监控数据进行存储以便于对挖掘分析提供支撑。HBase是一种构建在HDFS之上的分布式、面向列的存储系统,可有效存储视频数据。但是,客户端只有在缓存器存满之后才会将其送往服务器进行存储。当缓存器长时间处于未存满状态时,数据会一直暂存在缓存器中,不能及时被送往服务器进行存储。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中缓存器不满时无法及时送到服务器进行存储的缺陷,从而提供一种数据写入方法、装置及计算机设备。
根据第一方面,本发明实施例公开了一种数据写入方法,包括如下步骤:当接收到待写入数据,根据所述待写入数据发起写入请求,所述写入请求包括所述待写入数据;根据所述写入请求将所述待写入数据写入到缓存器中;确定在达到预设间隔时长时所述缓存器中暂存数据的数量;当所述缓存器中暂存数据的数量大于或等于预设阈值时,将所述待写入数据写入HBase。
可选地,所述缓存器包括第一子缓存器和第二子缓存器,所述第二子缓存器存储容量大于所述第一子缓存器,所述根据所述写入请求将所述待写入数据写入到缓存器中包括:判断所述待写入数据的大小是否超过预设范围;当所述待写入数据的大小在预设范围内时,根据所述写入请求将所述待写入数据写入到所述第一子缓存器中;当所述待写入数据的大小超过所述预设范围时,根据所述写入请求将所述待写入数据写入到所述第二子缓存器中。
可选地,所述方法还包括:确定在达到第一预设间隔时长时所述第一子缓存器中暂存数据的数量;当所述第一子缓存器中暂存数据的数量大于或等于第一预设阈值时,将所述待写入数据写入HBase。
可选地,所述方法还包括:确定在达到第二预设间隔时长时所述第二子缓存器中暂存数据的数量;当所述第二子缓存器中暂存数据的数量大于或等于第二预设阈值时,将所述待写入数据写入HBase,所述第二预设阈值大于所述第一预设阈值。
可选地,所述方法还包括:当所述缓存器中暂存数据的数量小于所述预设阈值时,实时监测所述缓存器中暂存数据的数量,直到所述暂存数据的数量大于或等于预设阈值,将所述待写入数据写入HBase。
可选地,所述方法还包括:当所述缓存器中暂存数据的数量小于所述预设阈值时,实时监测所述缓存器中暂存数据的数量;当达到第三预设间隔时长且所述暂存数据的数量小于所述预设阈值,将所述待写入数据写入HBase。
可选地,在所述当接收到待写入数据,根据所述待写入数据发起写入请求之前,还包括:向协调服务器发送第一访问请求,所述第一访问请求用于访问meta表的位置信息;接收所述协调服务器发送的所述meta表的位置信息;根据所述meta表的位置信息向HBase服务器发送第二访问请求,所述第二访问请求用于读取meta表的元数据信息;根据所述元数据信息确定所述待写入数据对应的存储位置信息。
根据第二方面,本发明实施例还公开了一种数据写入装置,包括:发起模块,用于当接收到待写入数据,根据所述待写入数据发起写入请求,所述写入请求包括所述待写入数据;第一写入模块,用于根据所述写入请求将所述待写入数据写入到缓存器中;第一确定模块,用于确定在达到预设间隔时长时所述缓存器中暂存数据的数量;第二写入模块,用于当所述缓存器中暂存数据的数量大于或等于预设阈值时,将所述待写入数据写入HBase。
根据第三方面,本发明实施例还公开了一种计算机设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如第一方面或第一方面任一可选实施方式所述的数据写入方法的步骤。
根据第四方面,本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面任一可选实施方式所述的数据写入方法的步骤。
本发明技术方案,具有如下优点:
本发明提供的数据写入方法及装置,通过当接收到待写入数据,根据待写入数据发起写入请求,根据写入请求将待写入数据写入到缓存器中,确定在达到预设间隔时长时缓存器中暂存数据的数量,当缓存器中暂存数据的数量大于或等于预设阈值时,将待写入数据写入HBase。本发明通过在达到预设间隔时长时检测缓存器中的暂存数据的数量,以尽可能及时地将待写入数据写入到HBase,同时判断缓存器中暂存数据的数量是否大于或等于预设阈值,避免了数据量小时将数据写入到HBase浪费资源的问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中数据写入方法的一个具体示例的流程图;
图2为本发明实施例中数据写入装置的一个具体示例的原理框图;
图3为本发明实施例中计算机设备的一个具体示例图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明实施例公开了一种数据写入方法,应用于客户端,通过客户端将接收到的待写入数据存储到HBase中,如图1所示,包括如下步骤:
S11:当接收到待写入数据,根据待写入数据发起写入请求,写入请求包括待写入数据。
示例性地,该待写入数据可以为视频监控数据,也可以为音频数据,本发明实施例对该待写入数据不作限定,可以实际获取情况选择。该待写入数据可以直接由摄像设备或录音设备直接使用有线或无线方式上传。本发明实施例对该待写入数据的接收方式不作具体限定,本领域技术人员可以根据实际情况选择。
S12:根据写入请求将待写入数据写入到缓存器中。
示例性地,该写入请求用于将待写入数据暂时存入缓存器,当缓存器接收到该写入请求时,为待写入数据分配存储空间,便于待写入数据进行暂时存储。
该写入请求中包括待写入数据,将该写入请求写入缓存器时,也将待写入数据写入到了缓存器中进行暂存。该缓存器可以内置在客户端中,将客户端中需要写入的多个待写入数据集中暂存在该缓存器中,当缓存器中的暂存数据的数量满足一定条件时,客户端通过调用一次远程过程调用协议(RemoteProcedure Call Protocol,RPC)操作将所有数据一次性送往HBase服务器,然后通过HBase服务器将其存储到Hbase中,进而降低客户端数据写入过程的资源占用,提高数据写入效率。
S13:确定在达到预设间隔时长时缓存器中暂存数据的数量。
示例性地,客户端的服务器可以对缓存器进行监控,监控不同时间缓存器中的暂存数据的数量。该预设间隔时长可以根据实际待写入数据的时间要求设置,例如1个小时,本发明实施例对该预设间隔时长不作具体限定。该预设间隔时长需要比待写入数据允许写入的时间小,以保证可以尽量早些将相应的待写入数据写入到HBase进行存储。该预设间隔时长可以由客户端的计时器实时获取。
该缓存器中暂存数据的数量可以根据客户端的计数器获取,根据预设间隔时长和缓存器中暂存数据的数量共同确定待写入数据写入HBase的时间,使得可以兼顾写入过程的资源占用和写入时间。
S14:当缓存器中暂存数据的数量大于或等于预设阈值时,将待写入数据写入HBase。
示例性地,该预设阈值可以为5个,也可以为3个,本发明实施例对该预设阈值不作具体限定,本领域技术人员可以根据实际情况设定。
当缓存器中暂存数据的数量大于或等于预设阈值时,将待写入数据写入HBase具体可以为在达到预设间隔时长缓存器中暂存数据的数量大于或等于预设阈值时,缓存器将包括待写入数据的暂存数据自动提交到HBase服务器根据主键RowKey将待写入数据分发给不同Region Server;Region Server将待写入数据按RowKey分给不同的Region;Region首先把数据写入日志HLog中,用来做灾难恢复使用,HLog记录数据的所有变更,一旦regionserver宕机,就可以从Hlog中进行恢复;HLog写入成功后,把待写入数据写入到内存memStore中。检查内存memStore大小是否达到一个阀值(默认64MB),如果达到阀值,可以将memstore生成HFile文件进行存储。
本发明提供的数据写入方法,通过当接收到待写入数据,根据待写入数据发起写入请求,写入请求包括待写入数据,根据写入请求将待写入数据写入到缓存器中,确定在达到预设间隔时长时缓存器中暂存数据的数量,当缓存器中暂存数据的数量大于或等于预设阈值时,将待写入数据写入HBase。本发明通过在达到预设间隔时长时检测缓存器中的暂存数据的数量,以尽可能及时地将待写入数据写入到HBase,同时判断缓存器中暂存数据的数量是否大于或等于预设阈值,避免了数据量小时将数据写入到HBase浪费资源的问题。
作为本发明一个可选实施方式,缓存器可以包括第一子缓存器和第二子缓存器,第二子缓存器存储容量大于第一子缓存器,上述步骤S12包括:
首先,当待写入数据的大小在预设范围内时,根据写入请求将待写入数据写入到第一子缓存器中。
其次,当待写入数据的大小超过预设范围时,根据写入请求将待写入数据写入到第二子缓存器中。
示例性地,为了便于小数据和大数据都能及时存入HBase中,设置两个缓存器,即第一子缓存器和第二子缓存器,两个缓存器的存储容量不一样,第二子缓存器存储容量大于第一子缓存器。当待写入数据较小时,存入存储容量较小的第一子缓存器,当待写入数据较大时,存入存储容量较大的第二子缓存器。因此,获取到待写入数据时,首先判断待写入数据的大小是否超过预设范围,当待写入数据的大小在预设范围时,根据写入请求将待写入数据写入到第一子缓存器中,当待写入数据的大小超过预设范围时,根据写入请求将待写入数据写入到第二子缓存器中。该预设范围可以任意设置,例如,0到500M,本发明实施例对该预设范围不作具体限定。
作为本发明一个可选实施方式,该数据写入方法还包括:
确定在达到第一预设间隔时长时第一子缓存器中暂存数据的数量。
示例性地,该第一预设间隔时长可以设置的稍微短些,该第一预设间隔时长可以根据第一子缓存器的实际使用情况设定。第一子缓存器中暂存数据的数量的确定方法和预设间隔时长的获取方法参见上述步骤S13的具体描述,在此不再赘述。
当第一子缓存器中暂存数据的数量大于或等于第一预设阈值时,将待写入数据写入HBase。
示例性地,该第一预设阈值可以根据第一子缓存器的存储容量进行合理设置,本发明实施例对该第一预设阈值不作具体限定。
作为本发明一个可选实施方式,该数据写入方法还包括:
确定在达到第二预设间隔时长时第二子缓存器中暂存数据的数量。
示例性地,该第二预设间隔时长也可以设置的稍微短些,第二预设间隔时长可以与第一预设间隔时长一样,也可以与第一预设间隔时长不一样,该第二预设间隔时长可以根据第二子缓存器的实际使用情况设定。第二子缓存器中暂存数据的数量的确定方法和预设间隔时长的获取方法参见上述步骤S13的具体描述,在此不再赘述。
当第二子缓存器中暂存数据的数量大于或等于第二预设阈值时,将待写入数据写入HBase,第二预设阈值大于第一预设阈值。
示例性地,该第二预设阈值可以根据第二子缓存器的存储容量进行合理设置,本发明实施例对该第二预设阈值不作具体限定,第二预设阈值大于第一预设阈值。
作为本发明一个可选实施方式,该数据写入方法还包括:
当所述缓存器中暂存数据的数量小于所述预设阈值时,实时监测所述缓存器中暂存数据的数量,直到所述暂存数据的数量大于或等于预设阈值,将所述待写入数据写入HBase。
示例性地,当所述缓存器中暂存数据的数量小于所述预设阈值时可以为当在第一预设间隔时长时第一子缓存器中暂存数据的数量小于第一预设阈值,和/或当在第二预设间隔时长时第二子缓存器中暂存数据的数量小于第二预设阈值时,为了减少对RPC的调用次数,可在待写入数据时间允许范围内先不写入HBase中,而是实时监测缓存器中暂存数据的数量,当第一子缓存器中暂存数据的数量大于或等于第一预设阈值或第二子缓存器中暂存数据的数量大于或等于第二预设阈值,将待写入数据写入HBase,进一步避免了数据量小的时候将数据写入到HBase浪费资源的问题。
作为本发明一个可选实施方式,该数据写入方法还包括:
当所述缓存器中暂存数据的数量小于所述预设阈值时,实时监测所述缓存器中暂存数据的数量。具体实施方式参见上述步骤的相关描述,在此不再赘述。
当达到第三预设间隔时长且所述暂存数据的数量小于所述预设阈值,将所述待写入数据写入HBase,将待写入数据写入HBase。
示例性地,为了进一步保证待写入数据能够及时写入HBase,客户端不能一直处于实时监测缓存器的状态,需要对缓存器再设置一个预设间隔时长,即第三预设间隔时长,以使待写入数据能够及时写入HBase。当缓存器包括两个子缓存器时,两个子缓存器可以分别设置自己的第三预设间隔时长。例如,对第一子缓存器设置一个第四预设间隔时长,对第二子缓存器设置一个第五预设间隔时长。该第四预设间隔时长和第五预设间隔时长用来对实时监测时间起一个约束作用,使得客户端并不是一直处于监控时间。该第四预设间隔时长和第五预设间隔时长均可以为几个小时、也可以为几天,本发明实施例对该第四预设间隔时长和第五预设间隔时长均不作具体限定,本领域技术人员可以根据实际待写入数据的时间要求确定,以保证在允许的时延范围内将相应的待写入数据写入到HBase进行存储,但该第四预设间隔时长需要大于第一预设间隔时长,第五预设间隔时长需要大于第二预设间隔时长。该第四预设间隔时长和第五预设间隔时长也可以由客户端的计时器实时获取。
应当说明的是,上述第四预设间隔时长和第五预设间隔时长并未考虑将待写入数据存储到缓存器的时间、从缓存器写到HBase服务器的时间、以及HBase服务器将待写入数据存储到Hbase的时间等。因此,在实际应用场景中,若待写入数据对应的业务所允许的数据时延是3小时,此时可以将第二预设间隔时长设置为稍小于3小时,例如设置为2个半小时、1小时等。
作为本发明一个可选实施方式,在步骤S11之前,该数据写入方法还包括:
向协调服务器发送第一访问请求,第一访问请求用于访问meta表的位置信息。
示例性地,该协调服务器会实时监控Region Server的上线和下线信息,并实时通知给HBase服务器,同时存储HBase的元数据信息。HBase服务器需要知道哪些RegionServer是可用的以及RegionServer的位置信息,以便于存储待写入数据,这些信息由协调服务器提供。该第一访问请求也可以通过RPC通道发送。
接收协调服务器发送的meta表的位置信息,该meta表用于元数据信息和存储位置信息,不同的元数据对应不同的存储位置,根据该对应关系确定待写入数据的存储位置。存储meta表的位置信息也可通过RPC通道接收。
根据meta表的位置信息向HBase服务器发送第二访问请求,第二访问请求用于读取meta表的元数据信息。
示例性地,该第二访问请求也可以通过RPC通道发送。元数据也称中继数据和中介数据,为描述数据的数据,元数据信息可以包括数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
根据元数据信息确定待写入数据对应的存储位置信息。根据元数据信息中的数据属性信息和待写入数据的属性信息的对应关系确定待写入数据要写入的存储位置信息,进而将待写入数据存入对应的位置。
本发明实施例还公开了一种数据写入装置,如图2所示,包括:
发起模块21,用于当接收到待写入数据,根据待写入数据发起写入请求,写入请求包括待写入数据;具体实现方式见实施例中步骤S11的相关描述,在此不再赘述。
第一写入模块22,用于根据写入请求将待写入数据写入到缓存器中;具体实现方式见实施例中步骤S12的相关描述,在此不再赘述。
第一确定模块23,用于确定在达到预设间隔时长时缓存器中暂存数据的数量;具体实现方式见实施例中步骤S13的相关描述,在此不再赘述。
第二写入模块24,用于当缓存器中暂存数据的数量大于或等于预设阈值时,将待写入数据写入HBase。具体实现方式见实施例中步骤S14的相关描述,在此不再赘述。
本发明提供的数据写入装置,通过当接收到待写入数据,根据待写入数据发起写入请求,写入请求包括待写入数据,根据写入请求将待写入数据写入到缓存器中,确定在达到预设间隔时长时缓存器中暂存数据的数量,当缓存器中暂存数据的数量大于或等于预设阈值时,将待写入数据写入HBase。本发明通过在达到预设间隔时长时检测缓存器中的暂存数据的数量,以尽可能及时地将待写入数据写入到HBase,同时判断缓存器中暂存数据的数量是否大于或等于预设阈值,避免了数据量小时将数据写入到HBase浪费资源的问题。
作为本发明一个可选实施方式,缓存器包括第一子缓存器和第二子缓存器,第二子缓存器存储容量大于第一子缓存器,上述第一写入模块22包括:
第一写入子模块,用于当待写入数据的大小在预设范围内时,根据写入请求将待写入数据写入到第一子缓存器中;具体实现方式见实施例中对应的步骤,在此不再赘述。
第二写入子模块,用于当待写入数据的大小超过预设范围时,根据写入请求将待写入数据写入到第二子缓存器中。具体实现方式见实施例中对应的步骤,在此不再赘述。
作为本发明一个可选实施方式,该数据写入装置还包括:
第一确定模块,用于确定在达到第一预设间隔时长时第一子缓存器中暂存数据的数量;具体实现方式见实施例中对应的步骤,在此不再赘述。
第三写入模块,用于当第一子缓存器中暂存数据的数量大于或等于第一预设阈值时,将待写入数据写入HBase。具体实现方式见实施例中对应的步骤,在此不再赘述。
作为本发明一个可选实施方式,该数据写入装置还包括:
第二确定模块,用于确定在达到第二预设间隔时长时第二子缓存器中暂存数据的数量;具体实现方式见实施例中对应的步骤,在此不再赘述。
第四写入模块,用于当第二子缓存器中暂存数据的数量大于或等于第二预设阈值时,将待写入数据写入HBase,第二预设阈值大于第一预设阈值。具体实现方式见实施例中对应的步骤,在此不再赘述。
作为本发明一个可选实施方式,该数据写入装置还包括:
第一监测模块,用于当所述缓存器中暂存数据的数量小于所述预设阈值时,实时监测所述缓存器中暂存数据的数量,直到所述暂存数据的数量大于或等于预设阈值,将所述待写入数据写入HBase。具体实现方式见实施例中对应的步骤,在此不再赘述。
作为本发明一个可选实施方式,该数据写入装置还包括:
第二监测模块,用于当所述缓存器中暂存数据的数量小于所述预设阈值时,实时监测所述缓存器中暂存数据的数量;具体实现方式见实施例中对应的步骤,在此不再赘述。
第五写入模块,用于当达到第三预设间隔时长且所述暂存数据的数量小于所述预设阈值,将所述待写入数据写入HBase。具体实现方式见实施例中对应的步骤,在此不再赘述。
作为本发明一个可选实施方式,该数据写入装置还包括:
第一发送模块,用于向协调服务器发送第一访问请求,第一访问请求用于访问meta表的位置信息;具体实现方式见实施例中对应的步骤,在此不再赘述。
接收模块,用于接收协调服务器发送的meta表的位置信息;具体实现方式见实施例中对应的步骤,在此不再赘述。
第二发送模块,用于根据meta表的位置信息向HBase服务器发送第二访问请求,第二访问请求用于读取meta表的元数据信息;具体实现方式见实施例中对应的步骤,在此不再赘述。
第三确定模块,用于根据元数据信息确定待写入数据对应的存储位置信息。具体实现方式见实施例中对应的步骤,在此不再赘述。
本发明实施例还提供了一种计算机设备,如图3所示,该计算机设备可以包括处理器31和存储器32,其中处理器31和存储器32可以通过总线或者其他方式连接,图3中以通过总线连接为例。
处理器31可以为中央处理器(Central Processing Unit,CPU)。处理器31还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器32作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的数据写入方法对应的程序指令/模块(例如,图2所示的发起模块21、第一写入模块22、第一确定模块23和第二写入模块24)。处理器31通过运行存储在存储器32中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的数据写入方法。
存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器31所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至处理器31。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器32中,当被所述处理器31执行时,执行如图1所示实施例中的数据写入方法。
上述计算机设备具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种数据写入方法,其特征在于,包括如下步骤:
当接收到待写入数据,根据所述待写入数据发起写入请求,所述写入请求包括所述待写入数据;
根据所述写入请求将所述待写入数据写入到缓存器中;
确定在达到预设间隔时长时所述缓存器中暂存数据的数量;
当所述缓存器中暂存数据的数量大于或等于预设阈值时,将所述待写入数据写入HBase。
2.根据权利要求1所述的方法,其特征在于,所述缓存器包括第一子缓存器和第二子缓存器,所述第二子缓存器存储容量大于所述第一子缓存器,所述根据所述写入请求将所述待写入数据写入到缓存器中包括:
当所述待写入数据的大小在预设范围内时,根据所述写入请求将所述待写入数据写入到所述第一子缓存器中;
当所述待写入数据的大小超过所述预设范围时,根据所述写入请求将所述待写入数据写入到所述第二子缓存器中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定在达到第一预设间隔时长时所述第一子缓存器中暂存数据的数量;
当所述第一子缓存器中暂存数据的数量大于或等于第一预设阈值时,将所述待写入数据写入HBase。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定在达到第二预设间隔时长时所述第二子缓存器中暂存数据的数量;
当所述第二子缓存器中暂存数据的数量大于或等于第二预设阈值时,将所述待写入数据写入HBase,所述第二预设阈值大于所述第一预设阈值。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述缓存器中暂存数据的数量小于所述预设阈值时,实时监测所述缓存器中暂存数据的数量,直到所述暂存数据的数量大于或等于预设阈值,将所述待写入数据写入HBase。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述缓存器中暂存数据的数量小于所述预设阈值时,实时监测所述缓存器中暂存数据的数量;
当达到第三预设间隔时长且所述暂存数据的数量小于所述预设阈值,将所述待写入数据写入HBase。
7.根据权利要求1所述的方法,其特征在于,在所述当接收到待写入数据,根据所述待写入数据发起写入请求之前,还包括:
向协调服务器发送第一访问请求,所述第一访问请求用于访问meta表的位置信息;
接收所述协调服务器发送的所述meta表的位置信息;
根据所述meta表的位置信息向HBase服务器发送第二访问请求,所述第二访问请求用于读取meta表的元数据信息;
根据所述元数据信息确定所述待写入数据对应的存储位置信息。
8.一种数据写入装置,其特征在于,包括:
发起模块,用于当接收到待写入数据,根据所述待写入数据发起写入请求,所述写入请求包括所述待写入数据;
第一写入模块,用于根据所述写入请求将所述待写入数据写入到缓存器中;
第一确定模块,用于确定在达到预设间隔时长时所述缓存器中暂存数据的数量;
第二写入模块,用于当所述缓存器中暂存数据的数量大于或等于预设阈值时,将所述待写入数据写入HBase。
9.一种计算机设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-7任一所述的数据写入方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的数据写入方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010926671.6A CN112084163B (zh) | 2020-09-04 | 2020-09-04 | 一种数据写入方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010926671.6A CN112084163B (zh) | 2020-09-04 | 2020-09-04 | 一种数据写入方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112084163A true CN112084163A (zh) | 2020-12-15 |
CN112084163B CN112084163B (zh) | 2022-05-31 |
Family
ID=73732880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010926671.6A Active CN112084163B (zh) | 2020-09-04 | 2020-09-04 | 一种数据写入方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084163B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485640A (zh) * | 2021-06-23 | 2021-10-08 | 至誉科技(武汉)有限公司 | 数据写入方法、装置、设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631940A (zh) * | 2013-12-09 | 2014-03-12 | 中国联合网络通信集团有限公司 | 一种应用于hbase数据库的数据写入方法及系统 |
CN105426127A (zh) * | 2015-11-13 | 2016-03-23 | 浪潮(北京)电子信息产业有限公司 | 一种分布式集群系统的文件存储方法及装置 |
CN107229673A (zh) * | 2017-04-20 | 2017-10-03 | 努比亚技术有限公司 | Hbase数据库的数据写入方法、Hbase终端及存储介质 |
CN107451146A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 利用多级缓存读取数据的方法和缓存数据的多级缓存装置 |
CN109582217A (zh) * | 2017-09-28 | 2019-04-05 | 慧荣科技股份有限公司 | 数据储存装置与将数据写入存储器装置的方法 |
US20200133871A1 (en) * | 2018-10-31 | 2020-04-30 | EMC IP Holding Company LLC | Method, device and computer program product for data writing |
-
2020
- 2020-09-04 CN CN202010926671.6A patent/CN112084163B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631940A (zh) * | 2013-12-09 | 2014-03-12 | 中国联合网络通信集团有限公司 | 一种应用于hbase数据库的数据写入方法及系统 |
CN105426127A (zh) * | 2015-11-13 | 2016-03-23 | 浪潮(北京)电子信息产业有限公司 | 一种分布式集群系统的文件存储方法及装置 |
CN107451146A (zh) * | 2016-05-31 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 利用多级缓存读取数据的方法和缓存数据的多级缓存装置 |
CN107229673A (zh) * | 2017-04-20 | 2017-10-03 | 努比亚技术有限公司 | Hbase数据库的数据写入方法、Hbase终端及存储介质 |
CN109582217A (zh) * | 2017-09-28 | 2019-04-05 | 慧荣科技股份有限公司 | 数据储存装置与将数据写入存储器装置的方法 |
US20200133871A1 (en) * | 2018-10-31 | 2020-04-30 | EMC IP Holding Company LLC | Method, device and computer program product for data writing |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485640A (zh) * | 2021-06-23 | 2021-10-08 | 至誉科技(武汉)有限公司 | 数据写入方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112084163B (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180105675A (ko) | 데이터 동기화 방법, 장치, 및 시스템 | |
CN110704202B (zh) | 多媒体录制数据共享方法及终端设备 | |
CN113301299B (zh) | 一种多通道视频传输方法、系统、终端以及存储介质 | |
CN110008050B (zh) | 用于处理信息的方法和装置 | |
CN103607428A (zh) | 一种访问共享内存的方法和装置 | |
CN110830481A (zh) | 一种车载设备上网方法、装置、服务器及存储介质 | |
US20160142778A1 (en) | Network camera, network camera control terminal, and video recording/delivering system | |
CN112084163B (zh) | 一种数据写入方法、装置及计算机设备 | |
CN112333282A (zh) | 一种基于混合云的服务提供方法、装置、介质及电子设备 | |
CN110865985A (zh) | 数据同步方法、装置、电子设备和存储介质 | |
WO2023125837A1 (zh) | 设备状态监控方法、装置、计算机设备及存储介质 | |
CN108230487A (zh) | 共享摄像头资源的方法及设备 | |
CN111913927A (zh) | 一种数据写入方法、装置及计算机设备 | |
CN111600883A (zh) | 一种车辆诊断方法、系统及电子设备和存储介质 | |
CN111181791A (zh) | 一种配额管理方法、装置、设备及存储介质 | |
CN112671590B (zh) | 数据传输方法、装置、电子设备及计算机存储介质 | |
CN113301284B (zh) | 执法记录仪系统和流程 | |
CN113840313B (zh) | 移动终端的网络模式控制方法、装置和计算机设备 | |
CN112711384A (zh) | 一种基于多个存储设备的数据存储方法及装置 | |
EP4084437A1 (en) | Data transmission method, terminal, and computer-readable storage medium | |
CN105337778A (zh) | 物联网事件驱动服务管理系统 | |
CN111405313A (zh) | 存储流媒体数据的方法和系统 | |
CN112463514A (zh) | 分布式缓存集群的监测方法和装置 | |
CN112291287A (zh) | 基于云平台的容器化应用网络流控方法及设备、存储介质 | |
CN115037745B (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 |