System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及大数据处理,特别是一种大数据下设置用户个性化推荐的方法及系统。
技术介绍
1、推荐话题是系统为了让用户更加方便地找到自己感兴趣的内容而设置的。用户进入系统时需要在固定的推荐话题集合中选择自己感兴趣的多个话题作为自己的个性化推荐,然后在下次进入app时就只展示这些推荐话题的数据。传统的存储方式是给每个标签一个标识,然后用分隔符隔开多个选择的标识,例如"标签1,标签2,标签5",或者"1,2,5",系统就会存储下用户选择的话题组成的一个字符串。这种方式虽然直观易懂,但是在海量用户下的劣势就会特别明显,每个用户都要额外存储一个字符串,如果用户选择的标签多,这个耗费的存储容量就会非常的多。所以需要开发一种推荐话题存储机制,能够在海量用户下尽可能少的耗费额外存储空间。
技术实现思路
1、为克服上述问题,本专利技术的目的是提供一种大数据下设置用户个性化推荐的方法,能够有效的缩小用户个性化推荐设置的存储容量。
2、本专利技术采用以下方案实现:一种大数据下设置用户个性化推荐的方法,所述方法包括如下步骤:
3、步骤s1、为推荐话题集合array设置运算状态位,每个运算状态位值为2的次方,即1、2、4、8、16、32...2n,推荐话题集合array中每个推荐话题占用1个运算状态位值,不重复;
4、步骤s2、用户选择一个或多个推荐话题,将这些被选择的推荐话题的运算状态位转为二进制数字符串数组;
5、步骤s3、遍历二进制数字符串数组得到最长的
6、步骤s4、用户进入操作界面,读取用户保存的展示状态位x,遍历推荐话题集合array,用x和推荐话题的运算状态位进行与运算,如果结果为0则不展示,非0则展示。
7、进一步的,所述步骤s3进一步包括:继续遍历二进制数字符串数组中下一个二进制数字符串,如果二进制数字符串的第j个字符为1,则将新的字符串s从左到右的第j位置的字符设置为1,如果第j个字符非1,则新的字符串s从左到右的第j位置的字符还是为0,不用设置;以此类推遍历完二进制数字符串数组中的所有二进制数字符串,得到最后的字符串s是一个包含0和1的字符串。
8、进一步的,所述步骤s4进一步包括:读取用户保存的展示状态位x,遍历推荐话题集合array,即将展示状态位x和推荐话题集合array中的每个推荐话题的运算状态位都转为二进制数后,再进行按位与运算,每个推荐话题进运算后,如果结果为0则不展示,非0则展示。
9、本专利技术提供了一种大数据下设置用户个性化推荐的系统,所述系统包括:运算状态转化模块、推荐话题选择模块、字符串转化模块、展示处理模块;
10、所述运算状态转化模块,为推荐话题集合array设置运算状态位,每个运算状态位值为2的次方,即1、2、4、8、16、32...2n,推荐话题集合array中每个推荐话题占用1个运算状态位值,不重复;
11、所述推荐话题选择模块,用户进行选择一个或多个推荐话题,将这些被选择的推荐话题的运算状态位转为二进制数字符串数组;
12、所述字符串转化模块,遍历二进制数字符串数组得到最长的字符长度len,初始一个包含字符长度len个0的字符串s,该字符串s用于存储运算结果;循环遍历二进制数字符串数组,从右往左遍历每个二进制数字符串的字符,如果二进制数字符串的第i个字符为1,则将字符串s从左到右的第i位置的字符设置为1,如果第i个字符非1,则字符串s从左到右的第i位置的字符还是为0,不用设置;遍历完每个二进制数字符串的字符,得到一个新的字符串s;继续遍历下一个二进制数字符串,得到最后的字符串s是一个包含0和1的字符串;把最后的字符串s进行反转,然后转为十进制得到展示状态位x,保存到此用户信息中;
13、所述展示处理模块,用户进入操作界面,读取用户保存的展示状态位x,遍历推荐话题集合array,用x和推荐话题的运算状态位进行与运算,如果结果为0则不展示,非0则展示。
14、进一步的,所述字符串转化模块的实现方式进一步包括:继续遍历二进制数字符串数组中下一个二进制数字符串,如果二进制数字符串的第j个字符为1,则将新的字符串s从左到右的第j位置的字符设置为1,如果第j个字符非1,则新的字符串s从左到右的第j位置的字符还是为0,不用设置;以此类推遍历完二进制数字符串数组中的所有二进制数字符串,得到最后的字符串s是一个包含0和1的字符串。
15、进一步的,所述展示处理模块的实现方式进一步包括:读取用户保存的展示状态位x,遍历推荐话题集合array,即将展示状态位x和推荐话题集合array中的每个推荐话题的运算状态位都转为二进制数后,再进行按位与运算,每个推荐话题进运算后,如果结果为0则不展示,非0则展示。
16、本专利技术的有益效果在于:
技术介绍
中描述有:推荐话题都是用标签进行存储,如:"标签1,标签2,标签5";这样在用户量大的情况下,存储容量非常大,而本专利技术只需要存储展示状态位x即可,即便用户再多,也可以有效减少存储容量。
【技术保护点】
1.一种大数据下设置用户个性化推荐的方法,其特征在于:所述方法包括如下步骤:
2.根据权利要求1所述的一种大数据下设置用户个性化推荐的方法,其特征在于:所述步骤S3进一步包括:继续遍历二进制数字符串数组中下一个二进制数字符串,如果二进制数字符串的第j个字符为1,则将新的字符串s从左到右的第j位置的字符设置为1,如果第j个字符非1,则新的字符串s从左到右的第j位置的字符还是为0,不用设置;以此类推遍历完二进制数字符串数组中的所有二进制数字符串,得到最后的字符串s是一个包含0和1的字符串。
3.根据权利要求1所述的一种大数据下设置用户个性化推荐的方法,其特征在于:所述步骤S4进一步包括:读取用户保存的展示状态位x,遍历推荐话题集合array,即将展示状态位x和推荐话题集合array中的每个推荐话题的运算状态位都转为二进制数后,再进行按位与运算,每个推荐话题进运算后,如果结果为0则不展示,非0则展示。
4.一种大数据下设置用户个性化推荐的系统,其特征在于:所述系统包括:运算状态转化模块、推荐话题选择模块、字符串转化模块、展示处理模块;
5
6.根据权利要求4所述的一种大数据下设置用户个性化推荐的系统,其特征在于:所述展示处理模块的实现方式进一步包括:读取用户保存的展示状态位x,遍历推荐话题集合array,即将展示状态位x和推荐话题集合array中的每个推荐话题的运算状态位都转为二进制数后,再进行按位与运算,每个推荐话题进运算后,如果结果为0则不展示,非0则展示。
...【技术特征摘要】
1.一种大数据下设置用户个性化推荐的方法,其特征在于:所述方法包括如下步骤:
2.根据权利要求1所述的一种大数据下设置用户个性化推荐的方法,其特征在于:所述步骤s3进一步包括:继续遍历二进制数字符串数组中下一个二进制数字符串,如果二进制数字符串的第j个字符为1,则将新的字符串s从左到右的第j位置的字符设置为1,如果第j个字符非1,则新的字符串s从左到右的第j位置的字符还是为0,不用设置;以此类推遍历完二进制数字符串数组中的所有二进制数字符串,得到最后的字符串s是一个包含0和1的字符串。
3.根据权利要求1所述的一种大数据下设置用户个性化推荐的方法,其特征在于:所述步骤s4进一步包括:读取用户保存的展示状态位x,遍历推荐话题集合array,即将展示状态位x和推荐话题集合array中的每个推荐话题的运算状态位都转为二进制数后,再进行按位与运算,每个推荐话题进运算后,如果结果为0则不展示,非0则展示。
4.一种大数据下设置用户个性化推荐的系...
【专利技术属性】
技术研发人员:刘德建,叶伟,李佳,
申请(专利权)人:福建天晴数码有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。