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 ...
随机推荐
- EF Code-First 学习之旅 Code First Conventions
协定是一系列的默认规则用来自动配置领域中的概念模型 1:类型发现 Code-First对包含DBSet属性的类型创建表(包括这些类型的所有引用类型) public class Student { pu ...
- 利用Phoenix为HBase创建二级索引
为什么需要Secondary Index 对于Hbase而言,如果想精确地定位到某行记录,唯一的办法是通过rowkey来查询.如果不通过rowkey来查找数据,就必须逐行地比较每一列的值,即全表扫瞄. ...
- Java C++ 比较 – 虚函数、抽象函数、抽象类、接口
[转自]原文 Java – 虚函数.抽象函数.抽象类.接口 1. Java虚函数 虚函数的存在是为了多态. C++中普通成员函数加上virtual关键字就成为虚函数 Java中其实没有虚函数的概念,它 ...
- 页面js框架
js 模板,所有页面控制js,以闭包形式编写代码,降低浏览器内存消耗,加快运行速度 请按照此结构编写,便于后期前端维护和修改1. [代码][JavaScript]代码 /** * js 模板,所有 ...
- 集成 ActiveMQ 到应用服务器
本章知识点 集成 ActiveMQ 和 Apache Tomcat 集成 ActiveMQ 和 Jetty 集成 ActiveMQ 和 Apache Geronimo 集成 ActiveMQ 和 JB ...
- MySQL 大数据量修改表结构问题
前言: 在系统正常运作一定时间后,随着市场.产品汪的需求不断变更,比较大的一些表结构面临不得不增加字段的方式来扩充满足业务需求: 而 MySQL 在体量上了千万.亿级别数据的时候,Alter Tab ...
- nginx Win下实现简单的负载均衡(1)nginx搭建部署
快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...
- 条款49:了解new-handle行为
多线程下的内存管理与单线程下是完全不同的,因为heap是一个可以被全局改动的资源,所以所有的线程都有可能去访问这一资源,这回导致很多的race_conditions. 当operator new未 ...
- JDK自动安装脚本
A:本脚本运行的机器,Linux B:待安装JDK的机器, Linux 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在A上运行本脚本: 代码如下: $ ./in ...
- Magic Index 寻找数组中A[i]=i的位置(原题转自微信号待字闺中)
有一个有意思的题目叫做Magic Index:给定一个数组A,其中有一个位置被称为Magic Index,含义是:如果i是Magic Index,则A[i] = i.假设A中的元素递增有序.且不重复, ...