Java学习之数据的时间及热度属性
背景:在JAVA开发的电商网站中都有海量商品信息,绝大部分电商网站都有为了让用户尽快的获取到想要的商品提供流行商品和推荐商品的概念,我的理解是从两个方面反映了商品的时间维度和热度:流行商品是指横向所有用户选择的时间最近和访问量最高的商品,而推荐商品则是根据个人最近时间的兴趣爱好浏览搜索记录等纵向的匹配时间最近和信息匹配度最高的商品,这里就隐含了本次分享的主题:数据的时间及热度属性。
原理:数据都是有时间和热度属性的,某个时间段对某个数据的访问量都不同,这正是今天分享要讲的内容的理论支撑。
应用:
应用1:公司网站设计页面中有海量素材、纹理、样板间、模型等数据,而用户所需要的往往只有其中的一小部分,这时我不禁从JAVA电商商品的时间和热度属性联想到,也给这些数据加上时间和热度。把这些数据按照横向和纵向的方式进行帅选和排序,类似电商商品做一个流行素材、流行纹理、流行样板间、流行的每一个模型的类型等等,横向的给海量数据增加最近访问时间和访问量即时间和热度维度的考量。同时也根据用户的搜索记录和所涉及方案中使用素材、纹理、样板间查看等信息增加纵向的时间和热度属性的考量,并把这些信息存入缓存,我想肯定会大大提高数据使用率、减少无效数据的查询次数,从而更快到找到用户想要的资源给用户更好的体验。
应用2:如果流行模型、纹理、素材、样板间等功能能够实现,那么我们可以提前装配这些流行模块的组合,拼装成一些半成品,比如某个户型的某些布局,提供一个半成品的样板间,里面有一些流行的配置家具装饰等,提高用户的设计速度,而对于渲染部分甚至可以组装好一些模型、纹理、素材,在渲染的时候直接调用,从而提高渲染的速度。
应用3:之前讲的是给数据加上时间和热度方面提高即时效率的应用,其实还可以提高延时处理方面的应用,比如用户大量搜索但资源库中没有的资源,我们可以利用延时处理在夜间或者服务器使用率较低的时间段对当前的流行但缺乏的资源汇总统计,提供给公司资源开发部门。对于设计中多次使用但流行组合中没有的组合起来的资源可以利用延时进行自动组合拼装之类的。对于耗时操作,比如以图搜图等耗时耗资源短时间内无法获取到结果的操
作可以提供延时提供结果自动推送功能等等。
可行性:由于以上内容都要涉及到时间和热度,因此在之前的所有资源数据库表结构中都需要增加时间访问量栏位,同时用户操作过程中要记录最近访问时间和访问量等,对于用户行为和设计方案中的元素使用率都需要进行记录,而数据分析方面可能需要大数据方面的知识,工作量和技术含量都是有一定的难度的。
Java学习之数据的时间及热度属性的更多相关文章
- 10.3(Java学习笔记)JDBC时间操作
一.时间分类 数据库 java类 Date ---- java.sql.Date 表示日期 yyyy-MM--dd (年月日) Time ----java.sql.Time 表示 ...
- Java学习:数据类型转换注意事项
数据类型的转换 当数据类型不一样时,将会发生数据类型转换. 自动类型转换(隐式) 1.特点 :代码不需要进行特殊处理,自动完成. 2.规则 :数据范围从小到大. //左边是long类型,右边是默认的i ...
- 疯狂java学习笔记之面向对象(三) - 方法所属性和值传递
方法的所属性: 从语法的角度来看:方法必须定义在类中 方法要么属于类本身(static修饰),要么属于实例 -- 到底是属于类还是属于对象? 有无static修饰 调用方法时:必须有主调对象(主语,调 ...
- Java 学习(7):java 日期时间 & 正则表达式
目录 --- 日期时间 --- 正则表达式 日期时间:java.util 包提供了 Date 类来封装当前的日期和时间. Date 类提供两个构造函数来实例化 Date 对象. 构造函数:用于初始化对 ...
- Java学习-029-JSON 之三 -- 模仿 cssSelector 封装读取 JSON 数据方法
前文简单介绍了如何通过 json-20141113.jar 提供的功能获取 JSON 的数据,敬请参阅:Java学习-028-JSON 之二 -- 数据读取. 了解学习过 JQuery 的朋友都知道, ...
- Java学习-028-JSON 之二 -- 数据读取
JSON数据由 JSONObject.JSONArray.key_value 组合而成.通常来说,JSONObject 可以包含 JSONObject.JSONArray.key_value:JSON ...
- Java学习-022-Properties 文件数据写入
Properties 配置文件写入主要通过 Properties.setProperty 和 Properties.store 两个方法,此文以一个简单的 properties 文件写入源码做示例. ...
- Java学习-013-文本文件读取实例源代码(两种数据返回格式)
此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 1.读取的文本文件内容以一维数组[LinkedList<String>]的形式返回,源代 ...
- Java软件开发者,如何学习大数据?
正常来讲学习大数据之前都要做到以下几点 1.学习基础的编程语言(java,python) 2.掌握入门编程基础(linux操作,数据库操作.git操作) 3.学习大数据里面的各种框架(hadoop.h ...
随机推荐
- JavaWeb -- 内省—beanutils工具包 的使用
Apache组织开发了一套用于操作JavaBean的API,这套API考虑到了很多实际开发中的应用场景,因此在实际开发中很多程序员使用这套API操作JavaBean,以简化程序代码的编写. Beanu ...
- Visual Studio 当前不会命中断点的问题 编辑pdf文件
Visual Studio 当前不会命中断点的问题 PDB文件概述
- 爬虫之MongoDB的图片
聚合:
- Quartz实现定时任务实例
1首先实现Job接口,创建任务 public class HelloJob implements Job{ @Override public void execute(JobExecutionCont ...
- Sublime Text 3 (含:配置 C# 编译环境)
Sublime Text 3http://www.sublimetext.com/3http://www.sublimetext.com/3dev 1. 关闭自动更新 菜单:Preferences ...
- Vue在HTML页面中的脚手架
<script src="assets/js/vue.js"></script> <script src="assets/js/vue-re ...
- python sort() sorted() 与argsort()函数的区别
1.python的内建排序函数有 sort.sorted两个 sort函数只定义在list中,sorted函数对于所有的可迭代序列都可以定义. for example: ls = list([5, 2 ...
- Elasticsearch使用积累
常用插件 Head查看分片情况,操作简单api Bigdesk监控所在机器的CPU,IO,JVM等指标,简单分片概览 KOPF查看集群gc回收磁盘性能, 分片情况, 简单操作api, 感觉该插件较He ...
- poj3061 Subsequence&&poj3320 Jessica's Reading Problem(尺取法)
这两道题都是用的尺取法.尺取法是<挑战程序设计竞赛>里讲的一种常用技巧. 就是O(n)的扫一遍数组,扫完了答案也就出来了,这过程中要求问题具有这样的性质:头指针向前走(s++)以后,尾指针 ...
- C++ const 常量和常指针
常量,该指针所指向的值为只读 ; const int * p = &a; 常指针,该指针的值为只读,不可再指向其他地址 const * const p = &a; 常值,常指针 con ...