CN109710614A - 一种实时数据存储与查询的方法及装置 - Google Patents
一种实时数据存储与查询的方法及装置 Download PDFInfo
- Publication number
- CN109710614A CN109710614A CN201811618622.5A CN201811618622A CN109710614A CN 109710614 A CN109710614 A CN 109710614A CN 201811618622 A CN201811618622 A CN 201811618622A CN 109710614 A CN109710614 A CN 109710614A
- Authority
- CN
- China
- Prior art keywords
- file
- data
- time
- chronological
- server
- 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.)
- Pending
Links
Abstract
本发明提供了一种实时数据存储与查询的方法及装置,所述方法包括:建立本地流水文件;接收客户端实时上报的数据,将所述数据同步缓存到缓存数据库并去重,同时将数据同步追加到本地流水文件,并将所述流水文件异步上传至服务器的文件系统;加载文件系统中的流水文件,按用户将数据排序合并、压缩、并存储生成归档文件,同时建立索引文件,将所述归档文件和索引文件一并同步到服务器的文件系统,并将已归档完成的数据从缓存数据库中删除;从所述缓存数据库及归档文件中查询数据。本发明解决了在海量数据实时上报情况下现有技术导致的存储与查询性能下降、以及服务器成本增加问题。
Description
技术领域
本发明属于信息技术领域,尤其涉及一种实时数据存储与查询的方法及装置。
背景技术
随着信息技术的发展,海量实时数据上报至云端已成为现状,并且基于海量数据的存储与查询,目前常规的还直接依赖于通用数据库。但是,随着数据量的增长会导致存储碎片化严重,查询性能降低严重,服务器成本剧增,而采用的分布式系统解决海量数据则存在文件系统并发写的缺陷、以及分布式事务序号生成的性能问题。
发明内容
鉴于此,本发明实施例提供了一种实时数据存储与查询的方法及装置,以解决在海量数据实时上报情况下现有技术导致的存储与查询性能下降、以及服务器成本增加问题。
第一方面,提供了一种实时数据存储与查询的方法,所述方法包括:
建立本地流水文件;
接收客户端实时上报的数据,将所述数据同步缓存到缓存数据库并去重,同时将数据同步追加到本地流水文件,并将所述流水文件异步上传至服务器的文件系统;
加载文件系统中的流水文件,按用户将数据排序合并、压缩、并存储生成归档文件,同时建立索引文件,将所述归档文件和索引文件一并同步到服务器的文件系统,并将已归档完成的数据从缓存数据库中删除;
从所述缓存数据库及归档文件中查询数据。
进一步地,所述将数据同步追加到本地流水文件,并将所述流水文件异步上传至服务器的文件系统具体包括:
预先在本地流水文件中设定按时间段存储的单个文件大小阈值;
先将数据按时间段分散到不同的时间单元文件中,并按用户ID将所述时间单元文件分组追加到本地对应的时间单元流水文件中;
在单个时间单元的文件大小达到预先设定的阈值后创建新的时间单元文件,用UUID命名已达到阈值的时间单元流水文件,并将该文件同步到服务器的文件系统中。
进一步地,所述将数据同步追加到本地流水文件,并将所述流水文件异步上传至服务器的文件系统还包括:
预先指定超时时间;
在将已达到阈值的时间单元流水文件同步到服务器的文件系统中时,将指定超时时间之前的所有时间单元文件、以及分组内的所有本地的时间单元流水文件都同步到服务器中。
进一步地,所述加载文件系统中的流水文件,按用户将数据排序合并、压缩、并存储生成归档文件,同时建立索引文件,将所述归档文件和索引文件一并同步到服务器的文件系统具体包括:
定时检测所有未归档的时间单元文件、以及分组内的本地的时间单元流水文件;
选择一个未归档的时间单元文件的分组,加载该分组内的全部流水文件;
将每个用户的数据按时间排序合并、压缩、并存入生成归档文件,同时记录用户ID及偏移量作为索引信息;
将索引信息写入索引文件,并同所述归档文件一起同步到服务器的文件系统中;
还包括,将各分组的归档文件合并成大文件,同时合并各分组的索引文件作为全局索引文件。
进一步地,所述从所述缓存数据库及归档文件中查询数据具体包括:
当检测到目标用户的目标时间段对应的归档文件未生成时,直接从缓存数据库中查询数据;
当检测到目标用户的目标时间段对应的归档文件已生成时,先读取对应的索引文件,得到索引信息,再按索引信息从归档文件中得到归档数据,查询从所述归档数据解压得到的数据。
第二方面,提供了一种实时数据存储与查询的装置,所述装置包括:
本地文件建立模块,用于建立本地流水文件;
上报模块,用于接收客户端实时上报的数据,将所述数据同步缓存到缓存数据库并去重,同时将数据同步追加到本地流水文件,并将所述流水文件异步上传至服务器的文件系统;
归档模块,用于加载文件系统中的流水文件,按用户将数据排序合并、压缩、并存储生成归档文件,同时建立索引文件,将所述归档文件和索引文件一并同步到服务器的文件系统,并将已归档完成的数据从缓存数据库中删除;
查询模块,用于从所述缓存数据库及归档文件中查询数据。
进一步地,所述上报模块还包括:
阈值预先设定模块,用于预先在本地流水文件中设定按时间段存储的单个文件大小阈值;
数据分组模块,用于先将数据按时间段分散到不同的时间单元文件中,并按用户ID将所述时间单元文件分组追加到本地对应的时间单元流水文件中;
阈值同步模块,用于在单个时间单元的文件大小达到预先设定的阈值后创建新的时间单元文件,用UUID命名已达到阈值的时间单元流水文件,并将该文件同步到服务器的文件系统中。
进一步地,所述上报模块还包括:
超时时间指定模块,用于预先指定超时时间;
超时同步模块,用于在将已达到阈值的时间单元流水文件同步到服务器的文件系统中时,将指定超时时间之前的所有时间单元文件、以及分组内的所有本地的时间单元流水文件都同步到服务器中。
进一步地,所述归档模块还包括;
定时检测模块,用于定时检测所有未归档的时间单元文件、以及分组内的本地的时间单元流水文件;
加载模块,用于选择一个未归档的时间单元文件的分组,加载该分组内的全部流水文件;
归档生成模块,用于将每个用户的数据按时间排序合并、压缩、并存入生成归档文件,同时记录用户ID及偏移量作为索引信息;
索引生成及同步模块,用于将索引信息写入索引文件,并同所述归档文件一起同步到服务器的文件系统中;
还包括,合并模块,用于将各分组的归档文件合并成大文件,同时合并各分组的索引文件作为全局索引文件。
进一步地,所述查询模块具体还包括:
缓存查询模块,用于当检测到目标用户的目标时间段对应的归档文件未生成时,直接从缓存数据库中查询数据;
归档查询模块,用于当检测到目标用户的目标时间段对应的归档文件已生成时,先读取对应的索引文件,得到索引信息,再按索引信息从归档文件中得到归档数据,查询从所述归档数据解压得到的数据。
与现有技术相比,本发明通过建立本地流水文件,将实时上报接收的数据同步缓存到缓存数据库,并同时同步追加到本地流水文件,异步至服务器的文件系统,并通过加载文件系统中的流水文件,按用户将数据排序合并、压缩、并存储生成归档文件,同时建立索引文件,将所述归档文件和索引文件一并同步到服务器的文件系统,从而可以根据需要从缓存数据库及归档文件中查询到海量实时上报的数据。本发明的方案通过写本地文件再定时定量同步的方式避免文件系统并发写的缺陷,并且避免分布式事务序号生成的性能问题,而采用结构化文件与索引存储和查询数据,则明显提高存储与查询性能,避免通用数据库的存储碎片,进而降低了服务器成本。
附图说明
图1是本发明实施例提供的实时数据存储与查询的方法的实现流程图;
图2是本发明实施例提供的实时数据存储与查询的装置的组成结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过建立本地流水文件,将实时上报接收的数据同步缓存到缓存数据库,并同时同步追加到本地流水文件,异步至服务器的文件系统,并通过加载文件系统中的流水文件,按用户将数据排序合并、压缩、并存储生成归档文件,同时建立索引文件,将所述归档文件和索引文件一并同步到服务器的文件系统,从而可以根据需要从缓存数据库及归档文件中查询到海量实时上报的数据。本发明的方案通过写本地文件再定时定量同步的方式避免文件系统并发写的缺陷,并且避免分布式事务序号生成的性能问题,而采用结构化文件与索引存储和查询数据,则明显提高存储与查询性能,避免通用数据库的存储碎片,进而降低了服务器成本。本发明实施例还提供了相应的装置,以下分别进行详细的说明。
图1示出了本发明实施例提供的实时数据存储与查询的方法的实现流程图。
在本发明实施例中,所述实时数据存储与查询的方法应用于计算机、存储服务器、云端。
参阅图1,所述实时数据存储与查询的方法包括:
在步骤S101中,建立本地流水文件。
在本发明实施例中,流水文件是按操作先后顺序记录事务数据的文件,通常是按顺序写入,也称为日志文件、重做日志文件。并预先在本地流水文件中设定按时间段存储的单个文件大小阈值。
在步骤S102中,接收客户端实时上报的数据,将所述数据同步缓存到缓存数据库并去重,同时将数据同步追加到本地流水文件,并将所述流水文件异步上传至服务器的文件系统。
具体实施时,在接收客户端上报的实时数据过程中,接收的数据打包方式包括但不限于json((JavaScript Object Notation,JS对象简谱,是一种轻量级的数据交换格式)、protobuf(protocol buffer,简称PB,google的一种数据交换的格式)、thrift(thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发)等方法,数据上报方式包括但不限于UDP/TCP(Transmission Control Protocol/User Datagram Protocol协议,属于传输层协议)、消息队列、管道、共享内存等进程间通信方法。在同步缓存过程中,将每条数据push到缓存数据库中。
在将数据同步追加到本地流水文件,并将所述流水文件异步上传至服务器的文件系统过程中,先将数据按时间段,如按小时,分散到不同的时间单元文件中,并按用户ID将所述时间单元文件分组追加到本地对应的时间单元流水文件中。其中,分组数量尽可能使得单个分组内单个时间单元文件的数据总量小到能让归档文件全部加载到服务器内存。
在单个时间单元的文件大小达到预先设定的阈值后创建新的时间单元文件,用UUID(Universally Unique Identifier,通用唯一识别码)命名已达到阈值的时间单元流水文件,并将该文件同步到服务器的文件系统中。
本发明具体实施时,流水文件结构见下表1所示,其数据结构由魔鬼字节、数据长度和序列化数据组成。
表1。
其中,表1中的序列化数据结构可见表2所示,包括可选的压缩格式、数据的组成由用户ID和正式数据构成。
表2。
本发明实施例采用写本地流水文件并定时、定量同步至服务器文件系统中,相对于目前实时提交到文件系统,避免了分布式文件系统不支持并发写或并发写性能不好的问题。并且采用UUID命名流水文件,避免了分布式事务生成序号来命名的性能损失。
进一步地,本发明具体实施时,还应预先指定超时时间;在将已达到阈值的时间单元流水文件同步到服务器的文件系统中时,将指定超时时间之前的所有时间单元文件、以及分组内的所有本地的时间单元流水文件都同步到服务器中。即根据上报的实时性,将指定超时时间之前的所有时间单元和分组内的所有文件都同步到持久存储系统中。
在步骤S103中,加载文件系统中的流水文件,按用户将数据排序合并、压缩、并存储生成归档文件,同时建立索引文件,将所述归档文件和索引文件一并同步到服务器的文件系统,并将已归档完成的数据从缓存数据库中删除。
本发明具体实施时,可包含以下具体步骤:
S1031、定时检测所有未归档的时间单元文件、以及分组内的本地的时间单元流水文件。
即定时检测还没有归档的时间单元以及分组。
S1032、选择一个未归档的时间单元文件的分组,加载该分组内的全部流水文件。
如果一个分组内的流水文件过大不能够全部加载,则消费每个流水文件,用临时文件进行二次分组,直到单个分组内的文件数据能够全部加载。
S1033、将每个用户的数据按时间排序合并、压缩、并存入生成归档文件,同时记录用户ID及偏移量作为索引信息。
S1034、将索引信息写入索引文件,并同所述归档文件一起同步到服务器的文件系统中。
在本发明实施例中,归档文件的结构与流水文件的结构相同,索引文件的结构可使用包括但不限于B+树在内的索引结构。
进一步地,可将各分组的归档文件合并成大文件,同时合并各分组的索引文件作为全局索引文件。
本发明方案使用结构化归档文件和索引文件代替通用的数据库系统作为长期存储方案,实现了更加紧凑的数据存储,提高了压缩率和查询性能,降低了存储碎片率。
在步骤S104中,从所述缓存数据库及归档文件中查询数据。
本发明具体实施时,可以通过两种方式查询海量的实时上报数据。具体为,当检测到目标用户的目标时间段对应的归档文件未生成时,直接从缓存数据库中查询数据。当检测到目标用户的目标时间段对应的归档文件已生成时,先读取对应的索引文件,得到索引信息,再按索引信息从归档文件中得到归档数据,查询从所述归档数据解压得到的数据。其中,要检测从归档数据中解压得到的数据,使用包括但不限于二分查找算法找到要查询的数据。
综上所述,本发明实施例通过建立本地流水文件,将实时上报接收的数据同步缓存到缓存数据库,并同时同步追加到本地流水文件,异步至服务器的文件系统,并通过加载文件系统中的流水文件,按用户将数据排序合并、压缩、并存储生成归档文件,同时建立索引文件,将所述归档文件和索引文件一并同步到服务器的文件系统,从而可以根据需要从缓存数据库及归档文件中查询到海量实时上报的数据。本发明的方案通过写本地文件再定时定量同步的方式避免文件系统并发写的缺陷,并且避免分布式事务序号生成的性能问题,而采用结构化文件与索引存储和查询数据,则明显提高存储与查询性能,避免通用数据库的存储碎片,进而降低了服务器成本。
应理解,在上述实施例中,各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图2示出了本发明实施例提供的实时数据存储与查询的装置的组成结构图,为了便于说明,仅示出了与本发明实施例相关的部分。
在本发明实施例中,所述装置用于实现上述图1实施例中所述的实时数据存储与查询的方法,可以是内置于计算机、服务器、云端的软件单元、硬件单元或者软硬件结合的单元。
参阅图2,所述装置包括:
本地文件建立模块21,用于建立本地流水文件;
上报模块22,用于接收客户端实时上报的数据,将所述数据同步缓存到缓存数据库并去重,同时将数据同步追加到本地流水文件,并将所述流水文件异步上传至服务器的文件系统;
归档模块23,用于加载文件系统中的流水文件,按用户将数据排序合并、压缩、并存储生成归档文件,同时建立索引文件,将所述归档文件和索引文件一并同步到服务器的文件系统,并将已归档完成的数据从缓存数据库中删除;
查询模块24,用于从所述缓存数据库及归档文件中查询数据。
进一步地,所述上报模块还包括:
阈值预先设定模块,用于预先在本地流水文件中设定按时间段存储的单个文件大小阈值;
数据分组模块,用于先将数据按时间段分散到不同的时间单元文件中,并按用户ID将所述时间单元文件分组追加到本地对应的时间单元流水文件中;
阈值同步模块,用于在单个时间单元的文件大小达到预先设定的阈值后创建新的时间单元文件,用UUID命名已达到阈值的时间单元流水文件,并将该文件同步到服务器的文件系统中。
进一步地,所述上报模块还包括:
超时时间指定模块,用于预先指定超时时间;
超时同步模块,用于在将已达到阈值的时间单元流水文件同步到服务器的文件系统中时,将指定超时时间之前的所有时间单元文件、以及分组内的所有本地的时间单元流水文件都同步到服务器中。
进一步地,所述归档模块还包括;
定时检测模块,用于定时检测所有未归档的时间单元文件、以及分组内的本地的时间单元流水文件;
加载模块,用于选择一个未归档的时间单元文件的分组,加载该分组内的全部流水文件;
归档生成模块,用于将每个用户的数据按时间排序合并、压缩、并存入生成归档文件,同时记录用户ID及偏移量作为索引信息;
索引生成及同步模块,用于将索引信息写入索引文件,并同所述归档文件一起同步到服务器的文件系统中;
还包括,合并模块,用于将各分组的归档文件合并成大文件,同时合并各分组的索引文件作为全局索引文件。
进一步地,所述查询模块具体还包括:
缓存查询模块,用于当检测到目标用户的目标时间段对应的归档文件未生成时,直接从缓存数据库中查询数据;
归档查询模块,用于当检测到目标用户的目标时间段对应的归档文件已生成时,先读取对应的索引文件,得到索引信息,再按索引信息从归档文件中得到归档数据,查询从所述归档数据解压得到的数据。
需要说明的是,本发明实施例中的装置可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实例中的相关描述,此处不再赘述。
综上所述,本发明实施例采用写本地流水文件并定时、定量同步至服务器文件系统中,相对于目前实时提交到文件系统,避免了分布式文件系统不支持并发写或并发写性能不好的问题。并且采用UUID命名流水文件,避免了分布式事务生成序号来命名的性能损失;以及使用结构化归档文件和索引文件代替通用的数据库系统作为长期存储方案,实现了更加紧凑的数据存储,提高了压缩率和查询性能,降低了存储碎片率。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法及装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块、单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元、模块单独物理存在,也可以两个或两个以上单元、模块集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种实时数据存储与查询的方法,其特征在于,所述方法包括:
建立本地流水文件;
接收客户端实时上报的数据,将所述数据同步缓存到缓存数据库并去重,同时将数据同步追加到本地流水文件,并将所述流水文件异步上传至服务器的文件系统;
加载文件系统中的流水文件,按用户将数据排序合并、压缩、并存储生成归档文件,同时建立索引文件,将所述归档文件和索引文件一并同步到服务器的文件系统,并将已归档完成的数据从缓存数据库中删除;
从所述缓存数据库及归档文件中查询数据。
2.如权利要求1所述的实时数据存储与查询的方法,其特征在于,所述将数据同步追加到本地流水文件,并将所述流水文件异步上传至服务器的文件系统具体包括:
预先在本地流水文件中设定按时间段存储的单个文件大小阈值;
先将数据按时间段分散到不同的时间单元文件中,并按用户ID将所述时间单元文件分组追加到本地对应的时间单元流水文件中;
在单个时间单元的文件大小达到预先设定的阈值后创建新的时间单元文件,用UUID命名已达到阈值的时间单元流水文件,并将该文件同步到服务器的文件系统中。
3.如权利要求2所述的实时数据存储与查询的方法,其特征在于,所述将数据同步追加到本地流水文件,并将所述流水文件异步上传至服务器的文件系统还包括:
预先指定超时时间;
在将已达到阈值的时间单元流水文件同步到服务器的文件系统中时,将指定超时时间之前的所有时间单元文件、以及分组内的所有本地的时间单元流水文件都同步到服务器中。
4.如权利要求3所述的实时数据存储与查询的方法,其特征在于,所述加载文件系统中的流水文件,按用户将数据排序合并、压缩、并存储生成归档文件,同时建立索引文件,将所述归档文件和索引文件一并同步到服务器的文件系统具体包括:
定时检测所有未归档的时间单元文件、以及分组内的本地的时间单元流水文件;
选择一个未归档的时间单元文件的分组,加载该分组内的全部流水文件;
将每个用户的数据按时间排序合并、压缩、并存入生成归档文件,同时记录用户ID及偏移量作为索引信息;
将索引信息写入索引文件,并同所述归档文件一起同步到服务器的文件系统中;
还包括,将各分组的归档文件合并成大文件,同时合并各分组的索引文件作为全局索引文件。
5.如权利要求4所述的实时数据存储与查询的方法,其特征在于,所述从所述缓存数据库及归档文件中查询数据具体包括:
当检测到目标用户的目标时间段对应的归档文件未生成时,直接从缓存数据库中查询数据;
当检测到目标用户的目标时间段对应的归档文件已生成时,先读取对应的索引文件,得到索引信息,再按索引信息从归档文件中得到归档数据,查询从所述归档数据解压得到的数据。
6.一种实时数据存储与查询的装置,其特征在于,所述装置包括:
本地文件建立模块,用于建立本地流水文件;
上报模块,用于接收客户端实时上报的数据,将所述数据同步缓存到缓存数据库并去重,同时将数据同步追加到本地流水文件,并将所述流水文件异步上传至服务器的文件系统;
归档模块,用于加载文件系统中的流水文件,按用户将数据排序合并、压缩、并存储生成归档文件,同时建立索引文件,将所述归档文件和索引文件一并同步到服务器的文件系统,并将已归档完成的数据从缓存数据库中删除;
查询模块,用于从所述缓存数据库及归档文件中查询数据。
7.如权利要求6所述的实时数据存储与查询的装置,其特征在于,所述上报模块还包括:
阈值预先设定模块,用于预先在本地流水文件中设定按时间段存储的单个文件大小阈值;
数据分组模块,用于先将数据按时间段分散到不同的时间单元文件中,并按用户ID将所述时间单元文件分组追加到本地对应的时间单元流水文件中;
阈值同步模块,用于在单个时间单元的文件大小达到预先设定的阈值后创建新的时间单元文件,用UUID命名已达到阈值的时间单元流水文件,并将该文件同步到服务器的文件系统中。
8.如权利要求7所述的实时数据存储与查询的装置,其特征在于,所述上报模块还包括:
超时时间指定模块,用于预先指定超时时间;
超时同步模块,用于在将已达到阈值的时间单元流水文件同步到服务器的文件系统中时,将指定超时时间之前的所有时间单元文件、以及分组内的所有本地的时间单元流水文件都同步到服务器中。
9.如权利要求8所述的实时数据存储与查询的装置,其特征在于,所述归档模块还包括;
定时检测模块,用于定时检测所有未归档的时间单元文件、以及分组内的本地的时间单元流水文件;
加载模块,用于选择一个未归档的时间单元文件的分组,加载该分组内的全部流水文件;
归档生成模块,用于将每个用户的数据按时间排序合并、压缩、并存入生成归档文件,同时记录用户ID及偏移量作为索引信息;
索引生成及同步模块,用于将索引信息写入索引文件,并同所述归档文件一起同步到服务器的文件系统中;
还包括,合并模块,用于将各分组的归档文件合并成大文件,同时合并各分组的索引文件作为全局索引文件。
10.如权利要求8所述的实时数据存储与查询的装置,其特征在于,所述查询模块具体还包括:
缓存查询模块,用于当检测到目标用户的目标时间段对应的归档文件未生成时,直接从缓存数据库中查询数据;
归档查询模块,用于当检测到目标用户的目标时间段对应的归档文件已生成时,先读取对应的索引文件,得到索引信息,再按索引信息从归档文件中得到归档数据,查询从所述归档数据解压得到的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811618622.5A CN109710614A (zh) | 2018-12-28 | 2018-12-28 | 一种实时数据存储与查询的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811618622.5A CN109710614A (zh) | 2018-12-28 | 2018-12-28 | 一种实时数据存储与查询的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109710614A true CN109710614A (zh) | 2019-05-03 |
Family
ID=66258969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811618622.5A Pending CN109710614A (zh) | 2018-12-28 | 2018-12-28 | 一种实时数据存储与查询的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710614A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351506A (zh) * | 2019-07-17 | 2019-10-18 | 视联动力信息技术股份有限公司 | 一种视频录制方法、装置、电子设备及可读存储介质 |
CN110716895A (zh) * | 2019-09-17 | 2020-01-21 | 平安科技(深圳)有限公司 | 目标数据归档方法、装置、计算机设备及介质 |
CN111367880A (zh) * | 2020-02-05 | 2020-07-03 | 北京华电天仁电力控制技术有限公司 | 一种通用实时数据存储管理系统及其实现方法 |
CN111400243A (zh) * | 2020-02-25 | 2020-07-10 | 数字广东网络建设有限公司 | 基于流水线服务的研发管理系统以及文件存储方法、装置 |
CN111460037A (zh) * | 2020-04-03 | 2020-07-28 | 中国建设银行股份有限公司 | 金融数据查询方法及装置 |
CN112395250A (zh) * | 2020-11-05 | 2021-02-23 | 武汉联影医疗科技有限公司 | 文件归档方法、装置、计算机设备和存储介质 |
CN112579526A (zh) * | 2019-09-30 | 2021-03-30 | 陕西西部资信股份有限公司 | 数据处理方法、系统及装置 |
CN113138991A (zh) * | 2021-05-18 | 2021-07-20 | 星软集团有限公司 | 一种车辆状态数据存储系统、存储方法 |
CN113220635A (zh) * | 2021-05-11 | 2021-08-06 | 深圳市星火数控技术有限公司 | 文件归档方法、装置、设备与计算机可读存储介质 |
CN113535782A (zh) * | 2021-07-22 | 2021-10-22 | 成都数之联科技有限公司 | 一种bi报表查询响应方法、系统、电子设备及计算机可读存储介质 |
CN113762997A (zh) * | 2020-07-01 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种信息生成的方法、装置、系统和存储介质 |
US11829407B2 (en) | 2020-10-29 | 2023-11-28 | Wuhan United Imaging Healthcare Co., Ltd. | Systems and methods for file archiving |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750377A (zh) * | 2012-06-21 | 2012-10-24 | 深圳市谷米科技有限公司 | 海量数据存储和检索方法 |
CN102970158A (zh) * | 2012-11-05 | 2013-03-13 | 广东睿江科技有限公司 | 日志存储与处理的方法及日志服务器 |
CN105608188A (zh) * | 2015-12-23 | 2016-05-25 | 北京奇虎科技有限公司 | 数据处理方法和数据处理装置 |
CN108021650A (zh) * | 2017-11-30 | 2018-05-11 | 冶金自动化研究设计院 | 一种时序数据的高效存储和读取系统 |
US20180365327A1 (en) * | 2017-06-16 | 2018-12-20 | International Business Machines Corporation | Network search mapping and execution |
-
2018
- 2018-12-28 CN CN201811618622.5A patent/CN109710614A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750377A (zh) * | 2012-06-21 | 2012-10-24 | 深圳市谷米科技有限公司 | 海量数据存储和检索方法 |
CN102970158A (zh) * | 2012-11-05 | 2013-03-13 | 广东睿江科技有限公司 | 日志存储与处理的方法及日志服务器 |
CN105608188A (zh) * | 2015-12-23 | 2016-05-25 | 北京奇虎科技有限公司 | 数据处理方法和数据处理装置 |
US20180365327A1 (en) * | 2017-06-16 | 2018-12-20 | International Business Machines Corporation | Network search mapping and execution |
CN108021650A (zh) * | 2017-11-30 | 2018-05-11 | 冶金自动化研究设计院 | 一种时序数据的高效存储和读取系统 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351506A (zh) * | 2019-07-17 | 2019-10-18 | 视联动力信息技术股份有限公司 | 一种视频录制方法、装置、电子设备及可读存储介质 |
CN110716895A (zh) * | 2019-09-17 | 2020-01-21 | 平安科技(深圳)有限公司 | 目标数据归档方法、装置、计算机设备及介质 |
CN110716895B (zh) * | 2019-09-17 | 2023-05-26 | 平安科技(深圳)有限公司 | 目标数据归档方法、装置、计算机设备及介质 |
CN112579526A (zh) * | 2019-09-30 | 2021-03-30 | 陕西西部资信股份有限公司 | 数据处理方法、系统及装置 |
CN111367880A (zh) * | 2020-02-05 | 2020-07-03 | 北京华电天仁电力控制技术有限公司 | 一种通用实时数据存储管理系统及其实现方法 |
CN111400243A (zh) * | 2020-02-25 | 2020-07-10 | 数字广东网络建设有限公司 | 基于流水线服务的研发管理系统以及文件存储方法、装置 |
CN111400243B (zh) * | 2020-02-25 | 2024-04-05 | 数字广东网络建设有限公司 | 基于流水线服务的研发管理系统以及文件存储方法、装置 |
CN111460037A (zh) * | 2020-04-03 | 2020-07-28 | 中国建设银行股份有限公司 | 金融数据查询方法及装置 |
CN113762997A (zh) * | 2020-07-01 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种信息生成的方法、装置、系统和存储介质 |
US11829407B2 (en) | 2020-10-29 | 2023-11-28 | Wuhan United Imaging Healthcare Co., Ltd. | Systems and methods for file archiving |
CN112395250B (zh) * | 2020-11-05 | 2022-05-20 | 武汉联影医疗科技有限公司 | 文件归档方法、装置、计算机设备和存储介质 |
CN112395250A (zh) * | 2020-11-05 | 2021-02-23 | 武汉联影医疗科技有限公司 | 文件归档方法、装置、计算机设备和存储介质 |
CN113220635B (zh) * | 2021-05-11 | 2022-02-15 | 深圳市星火数控技术有限公司 | 文件归档方法、装置、设备与计算机可读存储介质 |
CN113220635A (zh) * | 2021-05-11 | 2021-08-06 | 深圳市星火数控技术有限公司 | 文件归档方法、装置、设备与计算机可读存储介质 |
CN113138991A (zh) * | 2021-05-18 | 2021-07-20 | 星软集团有限公司 | 一种车辆状态数据存储系统、存储方法 |
CN113535782A (zh) * | 2021-07-22 | 2021-10-22 | 成都数之联科技有限公司 | 一种bi报表查询响应方法、系统、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710614A (zh) | 一种实时数据存储与查询的方法及装置 | |
US11507594B2 (en) | Bulk data distribution system | |
US10180891B2 (en) | Monitoring processes running on a platform as a service architecture | |
JP2020038623A (ja) | データを記憶するための方法、装置及びシステム | |
US11356337B2 (en) | System and method for tracking service requests | |
CN105824744A (zh) | 一种基于b2b平台的实时日志采集分析方法 | |
CN108510082A (zh) | 对机器学习模型进行处理的方法及装置 | |
CN109918349A (zh) | 日志处理方法、装置、存储介质和电子装置 | |
CN102662992A (zh) | 一种海量小文件的存储、访问方法及装置 | |
CN110727727B (zh) | 一种数据库的统计方法及装置 | |
CN112559475B (zh) | 数据实时捕获和传输方法及系统 | |
CN108228322B (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
CN109840166A (zh) | 一种跨集群对象存储异步备份方法、装置和系统 | |
CN113535856B (zh) | 数据同步方法及系统 | |
US10642530B2 (en) | Global occupancy aggregator for global garbage collection scheduling | |
CN104113605A (zh) | 一种企业云应用开发的监控处理方法 | |
CN107885616A (zh) | 一种基于文件系统解析的海量小文件备份恢复方法 | |
US11210212B2 (en) | Conflict resolution and garbage collection in distributed databases | |
CN112464044B (zh) | 一种文件数据块变化信息监控管理系统及其方法 | |
CN106528667B (zh) | 读写分离的低功耗海量数据全文检索系统框架 | |
CN105653566B (zh) | 一种实现数据库写访问的方法及装置 | |
CN104850548B (zh) | 一种实现大数据平台输入/输出处理的方法及系统 | |
Doblander et al. | Shared dictionary compression in publish/subscribe systems | |
CN115757642A (zh) | 一种基于归档日志文件的数据同步方法及装置 | |
Li et al. | FluteDB: an efficient and dependable time-series database storage engine |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190503 |
|
RJ01 | Rejection of invention patent application after publication |