本发明的方法涉及一种数据存储方法,尤其涉及一种对用户操作行为的数据进行存储的方法。
背景技术:
1、随着互联网上信息的爆炸式增长,用户筛选信息的成本变得越来越高。目前广泛应用的一种节省信息筛选成本的方式是根据用户历史上关心过的信息种类预先帮助用户对信息进行筛选,这不可避免需要对用户操作的历史数据进行存储。
2、对用户操作行为进行存储,就至少需要存储这几方面信息:用户操作的种类(阅读、点赞、收藏、分享、转发等等)、用户操作的对象(例如小红书平台的笔记)、该对象的信息(包括类别、作者等)。现有技术中,对用户操作行为的历史进行存储时,是以用户操作行为为中心组织数据存储,任一用户的操作行为数据的逻辑结构如图1所示。
3、同一用户的操作行为数据是以3维的矩阵形式存储,x方向上存储的是用户操作对象(笔记)的相关信息,例如笔记的作者、笔记的分类等;y方向上存储的是用户对不同笔记的操作;z方向存储的是操作的种类。这种数据结构对于快速定位用户的操作种类及该操作所关联的对象非常的高效。
4、但从图1所示的数据结构不难理解:无论是想记录更长时间段内的用户历史行为,或是记录笔记的更多信息,都会导致整个用户行为数据以o(n2)复杂度增长,从而增加存储、io、计算的压力。因此目前的解决办法是控制存储用户行为的量,比如仅存储用户过去的50个操作,甚至20个操作,但这又会大大影响信息筛选的准确性。
5、因此如何既能存储更多的用户行为,同时不过度增加用户行为数据的存储、io、计算的复杂度成为一个及待解决的问题。
技术实现思路
1、鉴于以上所述现有技术的缺点,本发明提供一种用户操作行为数据存储方法,包括:对所述用户操作行为进行编码;将所述用户操作行为的对象及所述对象的属性数据存储为2维表;将所述用户操作行为编码作为所述对象的属性存入所述2维表。
2、上述用户操作行为数据存储方法也可以包括:对所述用户操作行为进行编码;将所述用户操作行为的对象及所述对象的属性数据存入第一张2维表,其中所述每个所述对象拥有唯一标识;将所述用户操作行为编码和与述对象的唯一标识存入第二张2维表。
3、优选地,上述用户操作行为数据存储方法中,对所述用户操作行为进行二进制编码。
4、优选地,上述用户操作行为数据存储方法中,所述用户操作行为包括阅读,且使用60进制数对所阅读行为进行编码。
5、优选地,上述用户操作行为数据存储方法中,所述用户操作行为包括点击,且使用点击数对所述点击行为进行编码。
6、本发明还提供一种用户操作行为数据存储结构,包括一张2维表,所述2维表中,行数据用于存储所述用户操作行为的不同对象,列数据表示所述对象的属性;其中至少一列数据用于存储所述用户操作行为的编码。
7、上述用户操作行为数据存储结构也可以包括第一2维表,和第二2维表;所述第一2维表中,行数据用于存储所述用户操作行为的不同对象,列数据表示所述对象的属性;其中每条所述行数据拥有唯一标识;所述第二2维表中,行数据包括所述用户操作行为的编码和所述唯一标识。
8、优选地,上述用户操作行为数据存储结构中,所述用户操作行为编码采用二进制编码。
1.一种用户操作行为数据存储方法,其特征在于,包括:
2.一种用户操作行为数据存储方法,其特征在于,包括:
3.根据权利要求1或2所述的用户操作行为数据存储方法,其特征在于,对所述用户操作行为进行二进制编码。
4.根据权利要求1或2所述的用户操作行为数据存储方法,其特征在于,所述用户操作行为包括阅读,且使用60进制数对所阅读行为进行编码。
5.根据权利要求1或2所述的用户操作行为数据存储方法,其特征在于,所述用户操作行为包括点击,且使用点击数对所述点击行为进行编码。
6.一种用户操作行为数据存储结构,其特征在于,包括一张2维表,所述2维表中,行数据用于存储所述用户操作行为的不同对象,列数据表示所述对象的属性;其中至少一列数据用于存储所述用户操作行为的编码。
7.一种用户操作行为数据存储结构,其特征在于,包括第一2维表,和第二2维表;
8.根据权利要求6或7所述的用户操作行为数据存储结构,其特征在于,所述用户操作行为编码采用二进制编码。