数据保存设计
<p><strong>全局变量</strong></p>
<pre><code>{'Global_Variable:Hash':{
'init_concepts':{u"电影":2, u"连续剧":2, u"综艺":2}, // 冷启动用户推荐 初始化概念
'init_objects':[], // 冷启动用户推荐 初始化对象列表
'number_of_short-term_interest':50, // 匿名用户短期兴趣表对象最大数量
'interval_length_of_short-term_interest':60*10// 计算短期兴趣表间隔时间
'min_number_of_short-term_interset':500 // 触发计算短期兴趣表的数量
}
}</code></pre>
<p><strong>用户当天主键推荐列表</strong>
用于检查该对象是否被推荐过 存活到当天晚上凌晨3:00</p>
<pre><code>{'User:Recommend_Object:用户id:当天日期:Set':['主键1','主键2','主键3','主键4','主键5']}</code></pre>
<p>用户短期对象兴趣表</p>
<pre><code>{User:Short_Insterest:Object:用户id:Soreted:{''}}</code></pre>
<p>用户长期对象兴趣表</p>
<pre><code>{User:Long_Insterest:Object:用户id:Soreted:{''}}</code></pre>
<p>用户短期概念兴趣表</p>
<pre><code>{User:Short_Insterest:Concept:用户id:Soreted:{''}}</code></pre>
<p>用户长期概念兴趣表</p>
<pre><code>{User:Long_Insterest:Concept:用户id:Soreted:{''}}</code></pre>
<p><strong>短期对象兴趣表快照</strong>
每一次短期兴趣表生成后,与之前短期兴趣表合并之后,写入到mysql</p>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必要</th>
<th>长度</th>
<th>解释</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>int</td>
<td>是</td>
<td>11</td>
<td>自增id</td>
</tr>
<tr>
<td>user_id</td>
<td>int</td>
<td>是</td>
<td>11</td>
<td>用户id</td>
</tr>
<tr>
<td>stime</td>
<td>date</td>
<td>是</td>
<td></td>
<td>计算用户短期对象兴趣表开始时间</td>
</tr>
<tr>
<td>etimd</td>
<td>date</td>
<td>是</td>
<td></td>
<td>计算用户短期对象兴趣表结束时间</td>
</tr>
<tr>
<td>data</td>
<td>text</td>
<td>是</td>
<td></td>
<td>用户兴趣表数据</td>
</tr>
<tr>
<td>ctime</td>
<td>date</td>
<td>是</td>
<td></td>
<td>写入库时间</td>
</tr>
</tbody>
</table>
<p><strong>短期概念兴趣表快照</strong></p>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必要</th>
<th>长度</th>
<th>解释</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>int</td>
<td>是</td>
<td>11</td>
<td>自增id</td>
</tr>
<tr>
<td>user_id</td>
<td>int</td>
<td>是</td>
<td>11</td>
<td>用户id</td>
</tr>
<tr>
<td>stime</td>
<td>date</td>
<td>是</td>
<td></td>
<td>计算用户短期概念兴趣表开始时间</td>
</tr>
<tr>
<td>etimd</td>
<td>date</td>
<td>是</td>
<td></td>
<td>计算用户短期概念兴趣表结束时间</td>
</tr>
<tr>
<td>data</td>
<td>text</td>
<td>是</td>
<td></td>
<td>用户兴趣表数据</td>
</tr>
<tr>
<td>ctime</td>
<td>date</td>
<td>是</td>
<td></td>
<td>写入库时间</td>
</tr>
</tbody>
</table>
<p><strong>用户短期对象兴趣表基本信息存储</strong>
对象更新有对象update_time这个值决定,如果这个值比数据库的大,就会更新数据库</p>
<table>
<thead>
<tr>
<th>字段</th>
<th>类型</th>
<th>必要</th>
<th>长度</th>
<th>解释</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>int</td>
<td>是</td>
<td>11</td>
<td>自增id</td>
</tr>
<tr>
<td>obj_key</td>
<td>string</td>
<td>是</td>
<td>100</td>
<td>对象主键</td>
</tr>
<tr>
<td>utime</td>
<td>string</td>
<td>是</td>
<td>100</td>
<td>对象更新时间</td>
</tr>
<tr>
<td>concept_name</td>
<td>string</td>
<td>是</td>
<td>100</td>
<td>概念名</td>
</tr>
<tr>
<td>basic_data</td>
<td>text</td>
<td>是</td>
<td></td>
<td>对象基本信息</td>
</tr>
<tr>
<td>property_data</td>
<td>text</td>
<td>是</td>
<td></td>
<td>对象附属信息</td>
</tr>
<tr>
<td>ctime</td>
<td>date</td>
<td>是</td>
<td></td>
<td>写入库时间</td>
</tr>
</tbody>
</table>