System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理领域,尤其涉及一种数据处理方法以及相关设备。
技术介绍
1、随着大数据的发展,产品的推荐、运营以及用户增长对于产品的发展越来越重要。而操作方的数据信息是实现上述功能的基础之一,为了得到操作方的数据信息,操作方在使用产品过程中生成的操作数据将十分重要。目前操作数据在实时推荐,触达等领域最为常见的实现方案非常多。在上述实现场景中,操作数据的实时性越高,在推荐侧的反馈越及时,将会使得推荐模型越优化,从而提高推荐领域的点击率。因此操作数据的存储对实时性要求越来越高,同时操作数据的数据量也比较大。
2、目前对于操作数据的存储可以分为多种方式,但是无论采用哪种存储方式,操作数据的存储分为两大类:快照形式和增量形式。但是快照形式存储时,对于操作数据的读写性能较差,而采用增量形式存储时,由于操作数据的数据量较大,在进行增量存储时,其对输入输出(input/ouput,io)消耗较大,使得存储成本较高。
3、因此目前急需要一种新的存储方式,可以满足操作数据在存储上的要求。
技术实现思路
1、本申请实施例提供了一种数据处理方法以及相关设备,用于在降低存储成本的同时实现操作数据的实时性存储。
2、有鉴于此,本申请一方面提供一种数据处理方法,包括:获取待存储数据,并确定该增量存储区的数据是否需要拆分,该待存储数据为操作数据;在该增量存储区的数据需要拆分时,将该待存储数据和该增量存储区已存储的第一数据集合并之后进行拆分得到第二数据集和第三数据集,其中,该
3、本申请另一方面提供一种数据处理装置,包括:获取模块,用于获取待存储数据,该待存储数据为操作数据;
4、处理模块,用于确定该增量存储区的数据是否需要拆分;在该增量存储区的数据需要拆分时,将该待存储数据和该增量存储区已存储的第一数据集合并之后进行拆分得到第二数据集和第三数据集,其中,该第二数据集至少包括该待存储数据,该第三数据集包括转存于快照存储区的数据,该第一数据集为该第一用户已存储的操作数据集;存储模块,用于将该第二数据集写入该增量存储区,将该第三数据集写入快照存储区。
5、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该处理模块,具体用于判断该待存储数据和该第一数据集的数据量是否大于该预设存储量,若大于该预设存储量,则确定该增量存储区的数据需要拆分;
6、或者,
7、获取该增量存储区的数据的前一次的拆分时刻和当前时刻;
8、在该当前时刻与该拆分时刻之间的时长超过预设时长时,确定该增量存储区的数据需要拆分;
9、或者,
10、获取该增量存储区的数据的持续时长和该增量存储区的数据的拆分周期;
11、在该增量存储区的数据中存在持续时长超过该拆分周期的数据时,确定该增量存储区的数据需要拆分。
12、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该存储模块,具体用于将该第三数据集与该快照存储区已存储的第四数据集进行合并得到第五数据集;
13、获取该第五数据集中各个数据的持续时长;
14、按照持续时长由小到大的顺序从该第五数据集中截取第一固定长度的数据生成第六数据集,并将该第六数据集写入该快照存储区;
15、或者,
16、将该第三数据集与该快照存储区已存储的第四数据集进行合并得到该第五数据集;
17、获取该第五数据集中各个数据的持续时长;
18、从该第五数据集中选择持续时长小于第一预设持续时长的数据生成第七数据集,并将该第七数据集写入该快照存储区。
19、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该处理模块,具体用于将该待存储数据和该第一数据集序列化合并得到第八数据集;
20、获取该第八数据集中各个数据对应的持续时长;
21、按照持续时长由小到大的顺序从该第八数据集中截取第二固定长度的数据生成该第二数据集,并将该第八数据集中除该第二数据集的数据归于该第三数据集;
22、或者,
23、将该待存储数据和该第一数据集序列化合并得到第八数据集;
24、获取该第八数据集中各个数据对应的持续时长;
25、从该第八数据集中选择持续时长小于第二预设持续时长的数据生成该第二数据集,并将该第八数据集中除该第二数据集的数据归于该第三数据集。
26、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该增量存储区与该快照存储区分布于不同设备。
27、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该存储模块,还用于将该快照存储区的数量缓存在快照缓存区;该增量存储区包括第一指示信息,该第一指示信息用于指示该增量存储区已存储数据的拆分信息;
28、该快照存储区包括第二指示信息,该第二指示信息用于指示该快照存储区已存储数据的拆分信息;
29、该快照缓存区包括第三指示信息,该第三指示信息用于指示该快照缓存区已存储数据的拆分信息;该拆分信息用于指示数据的拆分时刻和/或指示该数据的拆分次数。
30、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该数据处理装置还包括读取模块,用于查询该增量存储区和该快照缓存区;
31、在该增量存储区和该快照缓存区存在数据,且该第一指示信息与该第三指示信息指示的拆分信息一致时,读取该增量存储区的数据和该快照缓存区的数据;
32、在该增量存储区和该快照缓存区存在数据,且该第一指示信息与该第三指示信息指示的拆分信息不一致时,读取该增量存储区的数据和该快照存储区的数据,并根据该快照存储区的数据更新该快照缓存区的数据。
33、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该存储模块,具体用于利用序列化存储方式或者键值存储方式将该第二数据集写入该增量存储区。
34、本申请另一方面提供一种计算机设备,包括:存储器、处理器以及总线系统;
35、其中,存储器用于存储程序;
36、处理器用于执行存储器中的程序,处理器用于根据程序代码中的指令执行上述各方面的方法;
37、总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
38、本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
39、本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处本文档来自技高网...
【技术保护点】
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述确定所述增量存储区的数据是否需要拆分包括:
3.根据权利要求1或2所述的方法,其特征在于,所述将所述第三数据集写入快照存储区包括:
4.根据权利要求1或2所述的方法,其特征在于,所述将所述待存储数据和所述增量存储区已存储的第一数据集合并之后进行拆分得到第二数据集和第三数据集包括:
5.根据权利要求1或2所述的方法,其特征在于,所述增量存储区与所述快照存储区分布于不同设备。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.一种数据处理装置,其特征在于,包括:
9.一种计算机设备,其特征在于,包括:存储器、处理器以及总线系统;
10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的方法。
【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述确定所述增量存储区的数据是否需要拆分包括:
3.根据权利要求1或2所述的方法,其特征在于,所述将所述第三数据集写入快照存储区包括:
4.根据权利要求1或2所述的方法,其特征在于,所述将所述待存储数据和所述增量存储区已存储的第一数据集合并之后进行拆分得到第二数据集和第三数据集包括:
5.根据权利要求1或2所述的方法,其特征在...
【专利技术属性】
技术研发人员:彭承晴,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。