CN112632129A - 一种码流数据管理方法、装置及存储介质 - Google Patents
一种码流数据管理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112632129A CN112632129A CN202011619003.5A CN202011619003A CN112632129A CN 112632129 A CN112632129 A CN 112632129A CN 202011619003 A CN202011619003 A CN 202011619003A CN 112632129 A CN112632129 A CN 112632129A
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- file name
- index file
- timestamp
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013523 data management Methods 0.000 title claims abstract description 32
- 238000005192 partition Methods 0.000 claims abstract description 58
- 238000004458 analytical method Methods 0.000 claims abstract description 12
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 4
- 230000008447 perception Effects 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 17
- 230000006978 adaptation Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种码流数据管理方法、装置及存储介质,该办法包括:解析待存储数据,得到待存储数据的数据标识和时间戳;根据数据标识,生成待存储数据的数据文件名称和索引文件名称;根据时间戳,生成待存储数据的分区存储路径;根据数据文件名称、索引文件名称和分区存储路径,对待存储数据进行分区存储;在接收到数据查询请求时,响应于数据查询请求,进行数据检索。如此,按照码流数据的解析结果进行分区存储,极大的节省设备资源,降低运维复杂度,并且在存储数据时构建索引文件,在需要查询码流数据时,根据分区存储的特点,结合索引文件,能够从相应的存储空间中快速查找到所需要的数据,有效加快查询响应时间,从而显著提升用户感知。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种码流数据管理方法、装置及计算机可读存储介质。
背景技术
大数据时代,随着移动网、互联网、物联网、车联网等技术日新月异,各种网络设备,各类用户终端呈现***式发展,终端和设备之间,设备与设备之间会实时生成海量的码流数据。码流的数据的特点是:种类繁多,数据量大,日增速度快,一个小的子***,一天的码流总量可能就是TB级,甚至PB级。回溯原始码流是必然的需求,如何高效存储,快速反查码流变得越来越困难。
现有解决码流存取的方案,最常用的是把TID(Transaction Identifier)存储在关系或非关系型数据库,把原始码流存储在HBase等大数据集群,然后利用HBase的各类接口,通过TID来进行关联查询。但是HBase存储时集群本身的开销大,导致存储时资源占用过高,查询时任务启动时间太长,任务响应不及时。为了提高HBase等大数据集群的码流存取效率,需要不断增加存储和计算设备,最终导致HBase集群自身产品成本和运维成本不断升高,而用户体验却不断下降。
发明内容
本发明实施例为了解决码流存储和检索过程中存在的上述问题,创造性地提供一种码流数据管理方法、装置及计算机可读存储介质。
根据本发明第一方面,提供了一种码流数据管理方法,该方法包括:解析待存储数据,得到所述待存储数据的数据标识和时间戳;根据所述数据标识,生成所述待存储数据的数据文件名称和索引文件名称;根据所述时间戳,生成所述待存储数据的分区存储路径;根据数据文件名称、索引文件名称和所述分区存储路径,对所述待存储数据进行分区存储;在接收到数据查询请求时,响应于所述数据查询请求,进行数据检索。
根据本发明一实施方式,所述解析待存储数据,得到所述待存储数据的数据标识和时间戳,包括:将所述待存储数据转换为指定数据格式;对所述指定格式的待存储数据进行解析,得到所述待存储数据的以下至少之一:事务标识TID,包括所述待存储数据的事件的时间戳和递增序列;用户标识UID,包括所述待存储数据的用户身份标识和时间戳。
根据本发明一实施方式,所述根据所述数据标识,生成所述待存储数据的数据文件名称和索引文件名称,包括:根据所述数据标识和所述时间戳,进行哈希处理,得到相应的所述待存储数据的索引文件名和数据文件名。
根据本发明一实施方式,所述根据数据文件名称、索引文件名称和所述分区存储路径,对所述待存储数据进行分区存储,包括:根据Cache数据所配置的块大小,为所述待存储数据分配内存资源;根据所述分区存储路径,确定所述待存储数据的Cache索引文件和Cache数据文件;对所述待存储数据进行压缩,并以所述数据文件名将压缩后的待存储数据按顺序存储至所述Cache数据文件中;确定所述待存储数据在所述数据文件中的缓存位置;在Cache数据的索引文件中构建所述索引文件名与所述数据文件名和缓存位置的映射。
根据本发明一实施方式,所述方法还包括:每间隔设定周期,根据Cache数据中所存储的数据包的时间戳,确定所述时间戳对应的时间点与当前时间之间的时间间隔;删除所述时间间隔大于设定时间间隔的时间戳对应的数据包。
根据本发明一实施方式,所述在接收到数据查询请求时,响应于所述数据查询请求,进行数据检索,包括:接收数据查询请求;解析所述数据查询请求,得到待查询数据的数据标识和时间戳;根据所述数据标识和所述时间戳,确定所述待查询数据的数据索引文件名;根据所述索引文件名,确定所述待查询数据的分区存储路径和所述数据文件名;从所述分区存储路径中查找与所述数据文件名相对应的数据。
根据本发明第二方面,还提供了一种码流数据管理装置,所述装置包括:解析模块,用于解析待存储数据,得到所述待存储数据的数据标识和时间戳;名称生成模块,用于根据所述数据标识,生成所述待存储数据的数据文件名称和索引文件名称;路径生成模块,用于根据所述时间戳,生成所述待存储数据的分区存储路径;存储模块,用于根据数据文件名称、索引文件名称和所述分区存储路径,对所述待存储数据进行分区存储;检索模块,用于在接收到数据查询请求时,响应于所述数据查询请求,进行数据检索。
根据本发明一实施方式,所述解析模块包括:格式转换子模块,用于将所述待存储数据转换为指定数据格式;解析子模块,用于对所述指定格式的待存储数据进行解析,得到所述待存储数据的以下至少之一:事务标识TID,包括所述待存储数据的事件的时间戳和递增序列;用户标识UID,包括所述待存储数据的用户身份标识和时间戳。
根据本发明一实施方式,所述名称生成模块包括:哈希子模块,用于根据所述数据标识和所述时间戳,进行哈希处理,得到相应的所述待存储数据的索引文件名和数据文件名。
根据本发明第三方面,又提供了一种计算机可读存储介质,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行上述任意所述码流数据管理方法。
本发明实施例码流数据管理方法、装置及存储介质,解析待存储数据,得到所述待存储数据的数据标识和时间戳;根据所述数据标识,生成所述待存储数据的数据文件名称和索引文件名称;根据所述时间戳,生成所述待存储数据的分区存储路径;根据数据文件名称、索引文件名称和所述分区存储路径,对所述待存储数据进行分区存储;在接收到数据查询请求时,响应于所述数据查询请求,进行数据检索。如此,按照码流数据的解析结果进行分区存储,极大的节省设备资源,降低运维复杂度,并且在存储数据时构建索引文件,由此,在需要查询码流数据时,根据分区存储的特点,可以首先确定数据存储路径,然后结合索引文件,确定码流数据的存储位置,然后从相应的存储空间中快速查找到所需要的数据,有效加快查询响应时间,从而显著提升用户感知。
需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本发明实施例码流数据管理方法的应用场景示意图;
图2示出了本发明实施例码流数据管理方法的实现流程示意图;
图3示出了本发明实施例码流数据管理方法的具体应用示例实现流程示意图;
图4示出了本发明实施例码流数据管理装置的组成结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为使本发明更加透彻和完整,并能够将本发明的范围完整地传达给本领域的技术人员。
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
图1示出了本发明实施例码流数据管理方法的应用场景示意图。
参考图1,本发明实施例码流数据管理方法基于如下码流数据管理***架构实现,码流数据管理***包括以下模块:元数据管理模块、接口管理模块、索引存储模块、码流存储模块、索引检索模块、码流检索模块、资源管理模块、日志管理模块、配置管理模块、共享管理模块。
其中,元数据管理模块负责收集各节点流量、状态等基本元信息,维护数据分发均衡等规则,并触发实时告警。接口管理模块负责稽核、适配不同数据源的请求和响应。索引存储模块负责解析存储请求,生成多级分区索引文件。码流存储模块负责数据压缩,并按分区索引规则存储原始码流。索引检索模块负责根据TID或UID等查询条件生成反查索引,Cache并检索索引。码流检索模块根据索引,检索、解压原始码流。资源管理模块负责存储***的资源分配和回收。日志管理模块负责收集、过滤、上报各模块日志信息。配置管理模块负责收集和管理各模块配置项。共享管理模块负责汇聚整合查询结果并以多种方式共享。共享管理模块未在图1中示出,该模块的功能由接入适配层和共享适配层共同实现,基于上述码流数据管理***共享管理模块的功能,无论接入适配层所接入的数据类型为哪种类型,均可以将所接入的码流数据转换成***内部通用的数据格式,并在用户查询检索码流数据的过程中,通过共享适配层,将内部通用的数据格式转换成用户查询检索请求所请求的数据格式。该***所支持的数据存储和检索类型至少包括:TCP、HTTP、FTP和KAFKA等。
图2示出了本发明实施例码流数据管理方法的实现流程示意图。
参考图2,本发明实施例码流数据管理方法,至少包括如下操作流程:操作201,解析待存储数据,得到待存储数据的数据标识和时间戳;操作202,根据数据标识,生成待存储数据的数据文件名称和索引文件名称;操作203,根据时间戳,生成待存储数据的分区存储路径;操作204,根据数据文件名称、索引文件名称和分区存储路径,对待存储数据进行分区存储;操作205,在接收到数据查询请求时,响应于数据查询请求,进行数据检索。
操作201,解析待存储数据,得到待存储数据的数据标识和时间戳。
在本发明一实施方式中,待存储数据为一个数据包,每一数据包具有特定格式的头文件,这里数据包的类型可以是TCP、HTTP、KAFKA等任何一种,对于每一种数据类型,具有不同格式的头文件。检测到一个特定格式的头文件,判定为接收到一个新的待存储数据。
数据标识可以包括:TID(Transaction Identifier,事务标识)和UID(UserIdentifier,用户身份标识)的至少之一。解析待存储数据的TID可得到事件时间和递增序列,事件时间可以具体到秒,例如:2020年12月30日20:18:27。递增序列是指如果多个TID的时间事件是相同的,则为每一事件自动分配一个递增序列,其中一个数据包所包括的数据中可以包括一个事件。对于包括UID的数据包,解析待存储数据时,将得到UID和相应的时间戳。
举例说明,在待存储数据的数据包原始报文中的指定字段会包括用于指示TID或UID的数据指示,例如:1表示TID、2表示UID、3表示同时包含UID和TID。对数据进行解析时,根据数据指示,对数据进行解析,得到UID和TID中的至少之一,并解析得到数据包相对应的事件的时间戳。
在本发明一实施方式中,通过以下操作步骤实现解析待存储数据,得到待存储数据的数据标识和时间戳:将待存储数据转换为指定数据格式,并对指定格式的待存储数据进行解析,得到待存储数据的以下至少之一:事务标识TID,包括待存储数据的事件的时间戳和递增序列;用户标识UID,包括待存储数据的用户身份标识和时间戳。
举例说明,检测到一个具有特定格式的数据包头文件,判定为接收到待存储数据,根据数据包头文件,确定该数据包的文件格式,并将该数据包转换成***指定数据格式。对指定数据格式进行解析,可以得到TID和UID中的至少之一。
操作202,根据数据标识,生成待存储数据的数据文件名称和索引文件名称。
在本发明一实施方式中,通过以下操作步骤实现根据数据标识,生成待存储数据的数据文件名称和索引文件名称:根据数据标识和时间戳,进行哈希处理,得到相应的待存储数据的索引文件名和数据文件名。其中对于仅包括TID的待存储数据,其时间戳即为该TID的事件时间。
这里根据数据标识和时间戳,进行哈希处理是将TID或UID中的至少之一作为输入,对任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。
Hash算法是一个广义的算法,也可以认为是一种思想,使用Hash算法可以提高存储空间的利用率,可以提高数据的查询效率,也可以做数字签名来保障数据传递的安全性。
对于每一待存储数据,根据其TID和UID中的至少之一,结合其事件的时间戳,利用Hash算法进行计算可以得到唯一的确定的哈希值,根据预定的命名规则,可以确定最终的数据文件名和索引文件名。例如:对于数据文件名和索引文件名,可以包括哈希值加文件名后缀,还可以包括其他内容,例如:原始数据类型标识、用于指示TID和UID的数据指示等。
操作203,根据时间戳,生成待存储数据的分区存储路径。
举例说明,对于解析得到的TID的事件时间为2020年8月8日20:20:20,可以预先设置针对每一分钟、每15秒、每10秒或者每1秒的数据保存至一个存储区域,例如:一个文件夹。
生成待存储数据的分区存储路径可以用于从已经分区的存储路径中选择该待存储数据的存储路径,用于在后续操作中,构建分区存储路径与索引文件名的映射。例如:对于某1秒的数据,当前已经配置了存储相应的待存储数据的存储区域。相应的,生成待存储数据的分区存储路径还可以用于新建一个存储区域,以存储该待存储数据。例如:码流数据的传输次数密度较小,或者传输时间存在闲时,在某个时间段内没有数据进行传输。如此,可以在接收到待存储数据时,根据待存储数据解析得到的时间戳,构建一个存储区域,生成相应的分区存储路径。
操作204,根据数据文件名称、索引文件名称和分区存储路径,对待存储数据进行分区存储。
举例说明,可以将待存储数据存储至所生成的分区存储路径,并以数据文件名称命名,并在索引存储中构建索引文件名称和数据文件名称的映射,以及在索引存储中索引文件名称对应的索引目录中存储分区存储路径。
在本发明一实施例中,采用以下操作步骤实现根据数据文件名称、索引文件名称和分区存储路径,对待存储数据进行分区存储:根据Cache数据所配置的块大小,为待存储数据分配内存资源;根据分区存储路径,确定待存储数据的Cache索引文件和Cache数据文件;对待存储数据进行压缩,并以数据文件名将压缩后的待存储数据按顺序存储至Cache数据文件中;确定待存储数据在数据文件中的缓存位置;在Cache数据的索引文件中构建索引文件名与数据文件名和缓存位置的映射。
举例说明,Cache数据是一种后关系型数据库(Post Relational database),采用Cache数据库进行存储,是利用内存存储资源,对待存储数据进行缓存,能够显著提高数据的处理和存储效率。在接收到待存储数据时,根据Cache数据所配置的块大小,为待存储数据分配内存资源。例如:每个待存储数据的相对应的数据包分配500KB存储资源等。按照分区存储路径,确定待存储数据在Cache数据库中的索引文件,例如:在Cache数据库的索引文件中待存储数据构建索引文件名和数据文件名称的映射。根据为每个待存储数据对应的数据包分配的内存资源的大小,对待存储数据进行压缩,并以操作202中所生成的数据文件名将压缩后的待存储数据按顺序存储至Cache数据文件中,如此按顺序存储,则可以方便地确定每一个待存储数据在在数据文件中的缓存位置。将该缓存位置添加至对应的索引文件名与数据文件名的映射的数据条目中。
操作205,在接收到数据查询请求时,响应于数据查询请求,进行数据检索。
在本发明一实施方式中,采用以下操作步骤实现在接收到数据查询请求时,响应于数据查询请求,进行数据检索:接收数据查询请求;解析数据查询请求,得到待查询数据的数据标识和时间戳;根据数据标识和时间戳,确定待查询数据的数据索引文件名;根据索引文件名,确定待查询数据的分区存储路径和数据文件名;从分区存储路径中查找与数据文件名相对应的数据。
举例说明,在接收到数据查询请求时,首先解析发送该数据查询请求的用户的合法性,避免非法用户获取数据。在确定用户的合法性后,根据不同的接口协议适配查询请求,转换请求包为存储***内部通用格式。例如:用户的数据查询请求为HTTP数据格式,则将该查询请求按照HTTP相应的数据转换方法转换为存储***内部通用格式。进一步的,为该查询请求分配查询资源,确定该数据查询请求对应的Cache索引文件。根据Cache索引文件检索得到数据的存储位置,快速检索出该查询请求中请求查询的数据对应的原始码流,然后对所检索到的数据进行解压操作。最后,将解压得到的数据进行汇聚、排序和组合原始码流等数据处理操作,并将最终的数据处理结果通过数据查询请求指定的数据格式进行数据共享,例如:生成Tcp、Http、Ftp,Kafka等格式的数据发送至发出该数据查询请求的用户。
如此,利用Cache数据库,采用缓存型的后关系数据库进行数据存储和查询可以大大提高数据的处理速度,并有效节约数据存储资源。
在本发明一实施方式中,由于Cache利用的是内存资源,为了保证数据存储和检索的长久可持续性的服务,将对数据有效性进行管理,每间隔设定周期,根据Cache数据中所存储的数据包的时间戳,确定时间戳对应的时间点与当前时间之间的时间间隔;删除时间间隔大于设定时间间隔的时间戳对应的数据包。如此,根据预先设定的数据管理策略,对所存储的码流数据进行存储资源管理,实时清理各磁盘过期或最早的数据文件和索引文件,有效提高内存资源利用率,释放内存,提高数据处理速度,显著提升用户体验。
图3示出了本发明实施例码流数据管理方法的具体应用示例实现流程示意图。参考图3,本发明实施例码流数据管理方法的具体应用示例至少包括以下操作流程:
3101、存储请求:对于一个数据包,具有特定的数据包包头,在检测到一个数据包包头文件的时候,判定为接收到一个存储请求。
3102、链路鉴权:稽核接入连接,拒绝非法请求,异常时实时告警,根据配置策略均衡接入数据。
3103、存储请求适配:根据不同的接口协议适配数据存储请求,转换数据包为存储***内部通用格式。
3104、原始报文解析:按约定格式解析TID,获取组成TID的事件时间和递增序列,根据指示解析UID,并校验数据包的长度。
3105、生成分区索引:根据事件时间生成分区路径,对递增序列或UID做一致性Hash,生成索引文件名和数据文件名。
3106、Cache数据:按配置的块大小,分配内存等资源,Cache索引和码流数据。
3107~3108、码流压缩和存储:根据配置指示压缩原始码流Cache块,并把压缩结果在本机按顺序存储到数据文件。
3109、存储索引:回填码流文件名和码流位置,把索引Cache块在本机按就近顺序存储到索引文件。
3201、接收数据查询请求。
3202、用户鉴权:鉴权发送数据查询请求的用户的合法性,告警非法用户。
3203、查询请求适配:根据不同的接口协议适配查询请求,转换请求包为存储***内部通用格式。
3204、Cache索引。
3205、索引检索:分配查询资源,计算查询条件的分区,Cache索引文件。
3206、码流检索:根据索引检索出的码流偏移,快速检索出原始码流,然后解压。
3207、数据共享:汇聚、排序和组合原始码流,响应查询结果请求,并将结果通过请求指定的方式实现共享,如生成Tcp、Http、Ftp,Kafka等。
3208、码流输出。
其中,操作3101~3208的其他具体实现过程与图2所示实施例中201~205的具体实现过程相类似,这里不再赘述。
本发明实施例码流数据管理方法、装置及存储介质,解析待存储数据,得到待存储数据的数据标识和时间戳;根据数据标识,生成待存储数据的数据文件名称和索引文件名称;根据时间戳,生成待存储数据的分区存储路径;根据数据文件名称、索引文件名称和分区存储路径,对待存储数据进行分区存储;在接收到数据查询请求时,响应于数据查询请求,进行数据检索。如此,按照码流数据的解析结果进行分区存储,极大的节省设备资源,降低运维复杂度,并且在存储数据时构建索引文件,由此,在需要查询码流数据时,根据分区存储的特点,可以首先确定数据存储路径,然后结合索引文件,确定码流数据的存储位置,然后从相应的存储空间中快速查找到所需要的数据,有效加快查询响应时间,从而显著提升用户感知。
同理,基于上文码流数据管理方法,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有程序,当程序被处理器执行时,使得处理器至少执行如下的操作步骤:操作101,解析待存储数据,得到待存储数据的数据标识和时间戳;操作102,根据数据标识,生成待存储数据的数据文件名称和索引文件名称;操作103,根据时间戳,生成待存储数据的分区存储路径;操作104,根据数据文件名称、索引文件名称和分区存储路径,对待存储数据进行分区存储;操作105,在接收到数据查询请求时,响应于数据查询请求,进行数据检索。
进一步,基于如上文码流数据管理方法,本发明实施例还提供一种码流数据管理装置,如图4,该装置40包括:解析模块401,用于解析待存储数据,得到待存储数据的数据标识和时间戳;名称生成模块402,用于根据数据标识,生成待存储数据的数据文件名称和索引文件名称;路径生成模块403,用于根据时间戳,生成待存储数据的分区存储路径;存储模块404,用于根据数据文件名称、索引文件名称和分区存储路径,对待存储数据进行分区存储;检索模块405,用于在接收到数据查询请求时,响应于数据查询请求,进行数据检索。
在本发明一实施方式中,解析模块401包括:格式转换子模块,用于将待存储数据转换为指定数据格式;解析子模块,用于对指定格式的待存储数据进行解析,得到待存储数据的以下至少之一:事务标识TID,包括待存储数据的事件的时间戳和递增序列;用户标识UID,包括待存储数据的用户身份标识和时间戳。
在本发明一实施方式中,名称生成模块402包括:哈希子模块,用于根据数据标识和时间戳,进行哈希处理,得到相应的待存储数据的索引文件名和数据文件名。
在本发明一实施方式中,存储模块404包括:内存分配子模块,用于根据Cache数据所配置的块大小,为待存储数据分配内存资源;路径确模块,用于根据分区存储路径,确定待存储数据的Cache索引文件和Cache数据文件;对待存储数据进行压缩,并以数据文件名将压缩后的待存储数据按顺序存储至Cache数据文件中;确定待存储数据在数据文件中的缓存位置;在Cache数据的索引文件中构建索引文件名与数据文件名和缓存位置的映射。
在本发明一实施方式中,装置40还包括:资源有效性确定模块,用于每间隔设定周期,根据Cache数据中所存储的数据包的时间戳,确定时间戳对应的时间点与当前时间之间的时间间隔;资源管理模块,用于删除时间间隔大于设定时间间隔的时间戳对应的数据包。
在本发明一实施方式中,检索模块405包括:请求接收子模块,用于接收数据查询请求;请求解析子模块,用于解析数据查询请求,得到待查询数据的数据标识和时间戳;索引检索子模块,用于根据数据标识和时间戳,确定待查询数据的数据索引文件名;路径确定子模块,用于根据索引文件名,确定待查询数据的分区存储路径和数据文件名;检索子模块,用于从分区存储路径中查找与数据文件名相对应的数据。
这里需要指出的是:以上对针对码流数据管理装置实施例的描述,与前述图1至3所示的方法实施例的描述是类似的,具有同前述图1至3所示的方法实施例相似的有益效果,因此不做赘述。对于本发明码流数据管理装置实施例中未披露的技术细节,请参照本发明前述图1至3所示的方法实施例的描述而理解,为节约篇幅,因此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种码流数据管理方法,所述方法包括:
解析待存储数据,得到所述待存储数据的数据标识和时间戳;
根据所述数据标识,生成所述待存储数据的数据文件名称和索引文件名称;
根据所述时间戳,生成所述待存储数据的分区存储路径;
根据数据文件名称、索引文件名称和所述分区存储路径,对所述待存储数据进行分区存储;
在接收到数据查询请求时,响应于所述数据查询请求,进行数据检索。
2.根据权利要求1所述的方法,所述解析待存储数据,得到所述待存储数据的数据标识和时间戳,包括:
将所述待存储数据转换为指定数据格式;
对所述指定格式的待存储数据进行解析,得到所述待存储数据的以下至少之一:
事务标识TID,包括所述待存储数据的事件的时间戳和递增序列;
用户标识UID,包括所述待存储数据的用户身份标识和时间戳。
3.根据权利要求1所述的方法,所述根据所述数据标识,生成所述待存储数据的数据文件名称和索引文件名称,包括:
根据所述数据标识和所述时间戳,进行哈希处理,得到相应的所述待存储数据的索引文件名和数据文件名。
4.根据权利要求1所述的方法,所述根据数据文件名称、索引文件名称和所述分区存储路径,对所述待存储数据进行分区存储,包括:
根据Cache数据所配置的块大小,为所述待存储数据分配内存资源;
根据所述分区存储路径,确定所述待存储数据的Cache索引文件和Cache数据文件;
对所述待存储数据进行压缩,并以所述数据文件名将压缩后的待存储数据按顺序存储至所述Cache数据文件中;
确定所述待存储数据在所述数据文件中的缓存位置;
在Cache数据的索引文件中构建所述索引文件名与所述数据文件名和缓存位置的映射。
5.根据权利要求4所述的方法,所述方法还包括:
每间隔设定周期,根据Cache数据中所存储的数据包的时间戳,确定所述时间戳对应的时间点与当前时间之间的时间间隔;
删除所述时间间隔大于设定时间间隔的时间戳对应的数据包。
6.根据权利要求1所述的方法,所述在接收到数据查询请求时,响应于所述数据查询请求,进行数据检索,包括:
接收数据查询请求;
解析所述数据查询请求,得到待查询数据的数据标识和时间戳;
根据所述数据标识和所述时间戳,确定所述待查询数据的数据索引文件名;
根据所述索引文件名,确定所述待查询数据的分区存储路径和所述数据文件名;
从所述分区存储路径中查找与所述数据文件名相对应的数据。
7.一种码流数据管理装置,所述装置包括:
解析模块,用于解析待存储数据,得到所述待存储数据的数据标识和时间戳;
名称生成模块,用于根据所述数据标识,生成所述待存储数据的数据文件名称和索引文件名称;
路径生成模块,用于根据所述时间戳,生成所述待存储数据的分区存储路径;
存储模块,用于根据数据文件名称、索引文件名称和所述分区存储路径,对所述待存储数据进行分区存储;
检索模块,用于在接收到数据查询请求时,响应于所述数据查询请求,进行数据检索。
8.根据权利要求7所述的装置,所述解析模块包括:
格式转换子模块,用于将所述待存储数据转换为指定数据格式;
解析子模块,用于对所述指定格式的待存储数据进行解析,得到所述待存储数据的以下至少之一:
事务标识TID,包括所述待存储数据的事件的时间戳和递增序列;
用户标识UID,包括所述待存储数据的用户身份标识和时间戳。
9.根据权利要求7所述的装置,所述名称生成模块包括:
哈希子模块,用于根据所述数据标识和所述时间戳,进行哈希处理,得到相应的所述待存储数据的索引文件名和数据文件名。
10.一种计算机可读存储介质,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行权利要求1-6中任一项所述的码流数据管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011619003.5A CN112632129B (zh) | 2020-12-31 | 2020-12-31 | 一种码流数据管理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011619003.5A CN112632129B (zh) | 2020-12-31 | 2020-12-31 | 一种码流数据管理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112632129A true CN112632129A (zh) | 2021-04-09 |
CN112632129B CN112632129B (zh) | 2023-11-21 |
Family
ID=75287166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011619003.5A Active CN112632129B (zh) | 2020-12-31 | 2020-12-31 | 一种码流数据管理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632129B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239039A (zh) * | 2021-05-11 | 2021-08-10 | 北京理工新源信息科技有限公司 | 动态数据的存储方法、查询方法、管理方法及管理*** |
CN114040222A (zh) * | 2021-12-24 | 2022-02-11 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种多媒体文件防篡改播放方法、处理方法及装置 |
CN115129664A (zh) * | 2022-09-01 | 2022-09-30 | 湖南兴天电子科技股份有限公司 | 数据记录设备、数据文件管理方法和装置 |
CN115630065A (zh) * | 2022-10-18 | 2023-01-20 | 天津神舟通用数据技术有限公司 | 一种基于多压缩模式子分区表的存储和查询方法 |
CN116521094A (zh) * | 2023-07-03 | 2023-08-01 | 之江实验室 | 一种元数据存储方法、装置、计算机设备和存储介质 |
CN117555968A (zh) * | 2024-01-12 | 2024-02-13 | 浙江智臾科技有限公司 | 数据处理方法、装置、设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040133538A1 (en) * | 2002-12-23 | 2004-07-08 | Amiri Khalil S. | Transparent edge-of-network data cache |
CN102375853A (zh) * | 2010-08-24 | 2012-03-14 | ***通信集团公司 | 分布式数据库***、在其中建立索引的方法和查询方法 |
WO2017062288A1 (en) * | 2015-10-07 | 2017-04-13 | Oracle International Corporation | Relational database organization for sharding |
CN106648959A (zh) * | 2016-09-07 | 2017-05-10 | 华为技术有限公司 | 数据存储的方法和存储*** |
US20170242889A1 (en) * | 2016-02-24 | 2017-08-24 | Salesforce.Com, Inc. | Cache Based Efficient Access Scheduling for Super Scaled Stream Processing Systems |
CN107783980A (zh) * | 2016-08-24 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 索引数据生成及数据查询方法及装置、存储和查询*** |
CN110209887A (zh) * | 2019-05-08 | 2019-09-06 | 国电南瑞三能电力仪表(南京)有限公司 | 一种多类型数据记录的动态存储及检索方法和*** |
CN110263061A (zh) * | 2019-06-17 | 2019-09-20 | 郑州阿帕斯科技有限公司 | 一种数据查询方法及*** |
CN111190949A (zh) * | 2018-11-15 | 2020-05-22 | 杭州海康威视数字技术股份有限公司 | 数据存储及处理方法、装置、设备、介质 |
CN111382156A (zh) * | 2020-02-14 | 2020-07-07 | 石化盈科信息技术有限责任公司 | 一种数据采集方法、***、装置、电子设备及存储介质 |
CN111510155A (zh) * | 2020-04-17 | 2020-08-07 | 深圳市科思科技股份有限公司 | 数据压缩方法、数据解压方法、电子设备及存储介质 |
CN111597259A (zh) * | 2020-05-12 | 2020-08-28 | 北京爱奇艺科技有限公司 | 数据存储***、方法、装置、电子设备及存储介质 |
CN111767314A (zh) * | 2020-06-29 | 2020-10-13 | 中国平安财产保险股份有限公司 | 数据缓存及查询方法、装置、懒缓存***及存储介质 |
CN112035428A (zh) * | 2020-09-11 | 2020-12-04 | 科大讯飞股份有限公司 | 分布式存储***、方法、装置、电子设备和存储介质 |
-
2020
- 2020-12-31 CN CN202011619003.5A patent/CN112632129B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040133538A1 (en) * | 2002-12-23 | 2004-07-08 | Amiri Khalil S. | Transparent edge-of-network data cache |
CN102375853A (zh) * | 2010-08-24 | 2012-03-14 | ***通信集团公司 | 分布式数据库***、在其中建立索引的方法和查询方法 |
WO2017062288A1 (en) * | 2015-10-07 | 2017-04-13 | Oracle International Corporation | Relational database organization for sharding |
US20170242889A1 (en) * | 2016-02-24 | 2017-08-24 | Salesforce.Com, Inc. | Cache Based Efficient Access Scheduling for Super Scaled Stream Processing Systems |
CN107783980A (zh) * | 2016-08-24 | 2018-03-09 | 阿里巴巴集团控股有限公司 | 索引数据生成及数据查询方法及装置、存储和查询*** |
CN106648959A (zh) * | 2016-09-07 | 2017-05-10 | 华为技术有限公司 | 数据存储的方法和存储*** |
CN111190949A (zh) * | 2018-11-15 | 2020-05-22 | 杭州海康威视数字技术股份有限公司 | 数据存储及处理方法、装置、设备、介质 |
CN110209887A (zh) * | 2019-05-08 | 2019-09-06 | 国电南瑞三能电力仪表(南京)有限公司 | 一种多类型数据记录的动态存储及检索方法和*** |
CN110263061A (zh) * | 2019-06-17 | 2019-09-20 | 郑州阿帕斯科技有限公司 | 一种数据查询方法及*** |
CN111382156A (zh) * | 2020-02-14 | 2020-07-07 | 石化盈科信息技术有限责任公司 | 一种数据采集方法、***、装置、电子设备及存储介质 |
CN111510155A (zh) * | 2020-04-17 | 2020-08-07 | 深圳市科思科技股份有限公司 | 数据压缩方法、数据解压方法、电子设备及存储介质 |
CN111597259A (zh) * | 2020-05-12 | 2020-08-28 | 北京爱奇艺科技有限公司 | 数据存储***、方法、装置、电子设备及存储介质 |
CN111767314A (zh) * | 2020-06-29 | 2020-10-13 | 中国平安财产保险股份有限公司 | 数据缓存及查询方法、装置、懒缓存***及存储介质 |
CN112035428A (zh) * | 2020-09-11 | 2020-12-04 | 科大讯飞股份有限公司 | 分布式存储***、方法、装置、电子设备和存储介质 |
Non-Patent Citations (6)
Title |
---|
刘华杰等: "基于存储结构解析的Cach?数据库可视化SQL查询研究与实现", 《硅谷》 * |
刘华杰等: "基于存储结构解析的Cach?数据库可视化SQL查询研究与实现", 《硅谷》, no. 10, 23 May 2013 (2013-05-23), pages 97 - 99 * |
张志亮: "影响后关系数据库性能的因素分析", 《微计算机信息》 * |
张志亮: "影响后关系数据库性能的因素分析", 《微计算机信息》, no. 05, 15 May 2002 (2002-05-15), pages 3 * |
王建文等: "基于Caché数据库的医院信息***的研究", 《安徽农业科学》 * |
王建文等: "基于Caché数据库的医院信息***的研究", 《安徽农业科学》, no. 21, 31 July 2007 (2007-07-31), pages 349 - 351 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239039A (zh) * | 2021-05-11 | 2021-08-10 | 北京理工新源信息科技有限公司 | 动态数据的存储方法、查询方法、管理方法及管理*** |
CN113239039B (zh) * | 2021-05-11 | 2023-11-14 | 北京理工新源信息科技有限公司 | 动态数据的存储方法、查询方法、管理方法及管理*** |
CN114040222A (zh) * | 2021-12-24 | 2022-02-11 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种多媒体文件防篡改播放方法、处理方法及装置 |
CN115129664A (zh) * | 2022-09-01 | 2022-09-30 | 湖南兴天电子科技股份有限公司 | 数据记录设备、数据文件管理方法和装置 |
CN115630065A (zh) * | 2022-10-18 | 2023-01-20 | 天津神舟通用数据技术有限公司 | 一种基于多压缩模式子分区表的存储和查询方法 |
CN115630065B (zh) * | 2022-10-18 | 2023-08-22 | 天津神舟通用数据技术有限公司 | 一种基于多压缩模式子分区表的存储和查询方法 |
CN116521094A (zh) * | 2023-07-03 | 2023-08-01 | 之江实验室 | 一种元数据存储方法、装置、计算机设备和存储介质 |
CN116521094B (zh) * | 2023-07-03 | 2023-11-14 | 之江实验室 | 一种元数据存储方法、装置、计算机设备和存储介质 |
CN117555968A (zh) * | 2024-01-12 | 2024-02-13 | 浙江智臾科技有限公司 | 数据处理方法、装置、设备及存储介质 |
CN117555968B (zh) * | 2024-01-12 | 2024-04-19 | 浙江智臾科技有限公司 | 数据处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112632129B (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112632129B (zh) | 一种码流数据管理方法、装置及存储介质 | |
CN101902505B (zh) | 一种分布式dns查询日志的实时统计装置及方法 | |
US8054756B2 (en) | Path discovery and analytics for network data | |
CN107818120B (zh) | 基于大数据的数据处理方法和装置 | |
CN111782620B (zh) | 一种信用链路自动跟踪平台及其方法 | |
US11188443B2 (en) | Method, apparatus and system for processing log data | |
US20120290555A1 (en) | Method, System and Apparatus of Hybrid Federated Search | |
CN111258978B (zh) | 一种数据存储的方法 | |
CN111740868B (zh) | 告警数据的处理方法和装置及存储介质 | |
CN107092686B (zh) | 一种基于云存储平台的文件管理方法及装置 | |
CN111030888B (zh) | 域名***dns容量测量方法、装置、设备及介质 | |
CN112732647B (zh) | 一种日志搜索方法、装置、设备及存储介质 | |
CN113505260A (zh) | 人脸识别方法、装置、计算机可读介质及电子设备 | |
CN114363064A (zh) | 一种物联网业务适配的动态数据加密策略*** | |
CN108154024B (zh) | 一种数据检索方法、装置及电子设备 | |
CN112351088A (zh) | 一种cdn缓存方法、装置、计算机设备及存储介质 | |
CN106326280B (zh) | 数据处理方法、装置及*** | |
CN104503983A (zh) | 为搜索引擎提供网站认证数据的方法及装置 | |
CN113473166A (zh) | 一种数据存储***及方法 | |
CN110543509B (zh) | 用户访问数据的监控***、方法、装置及电子设备 | |
CN115664992A (zh) | 网络运行数据的处理方法、装置、电子设备及介质 | |
CN117793095A (zh) | 数据转发方法、装置、***、设备及存储介质 | |
CN113839952A (zh) | 一种日志访问关系的威胁追踪方法、装置及电子设备 | |
CN114428704A (zh) | 全链路分布式监控的方法、装置、计算机设备和存储介质 | |
CN117938713B (zh) | 用于cdn中的ip质量数据处理方法、装置、设备和介质 |
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 |