您当前的位置: 首页 > 

103 云笔记案例(代码流程分析)

杨林伟 发布时间:2019-08-12 15:27:21 ,浏览量:3

1.笔记本操作 1)创建笔记本
  1. 前台输入笔记本名

  2. 前台向后台传入的参数、笔记本的名字

  3. 后台封装

	a. 从session中获取用户名
	
	b. 创建时间戳
	
	c.封装rowkey
	
	d. 保存到redis
	        key:用户名
			value:list
			 
			 步骤:
			1、获取jedis连接
			2、jedis.rpush(用户名, rowkey|笔记本的名字|创建时间|状态)
			3、close
	
	 e. 保存到hbase
			rowkey:封装的rowkey
			列:笔记本名字,创建时间、状态
			
			步骤:
			1、创建表链接
			2、创建put(rowkey)
			3、put.add(列)
			4、table.put(put)
			5、close
	
	f.事务:
		    当redis失败后,所有步骤停止
		    当redis成功,hbase成功,即成功
		    当redis成功,hbase失败,删除redis的内容(lrem)
2)删除笔记本

1.前台传过来的参数:笔记本的rowkey,笔记本的名字

2.后台: action查询笔记本下是否有笔记,有笔记返回false

3.删除redis

a. 拼串:rowkey|笔记本名|时间戳|状态
b. jedis.lrem(用户名,删除几次,rowkey|笔记本名|时间戳|状态)

4.删除hbase

a、获取rowkey
b、删除

5、事务: 删除都成功 redis不成功,都不成功 redis成功,hbase不成功,增加redis

3)修改笔记本

1、前台输入:新的笔记本的名字

2、前台向后抬传入的参数:新的笔记本的名字,旧的笔记本的名,rowkey

3、后台的action处理 分割rowkey,获取时间戳,用户名

4、redis

a、拼装旧的串:rowkey|旧的名字|时间戳|状态

b、拼新串:rowkey|新的名字|时间戳|状态

c、删除旧的串:jedis.lrem( 用户名,几次,旧串)

d、加新的串:jedis.rpush(用户名,新串)

5、hbase

通过rowkey设置新的名字
封装put(rowkey)
put.add(新的名字)
table.put(put);

6、事务: redis成功,hbase成功 redis失败,都失败 redis成功,hbase失败,删除redis的新的名字,添加旧的名字

4)查询用户的所有笔记本

1、前台传过来的参数:空

2、查询redis

a、从session中获取用户名
b、以用户名作为key,去redis查询
c、jedis.lrange(用户名,0,llen(用户名));
d、返回前台

3、如果redis失败,从hbase查

1、获取表链接htable
2、创建rowkey过滤器,前缀是”用户名_*”
3、循环处理结果
2.笔记操作 1)查询笔记本下的所有笔记列表

1、前台传过来的参数:笔记本的rowkey 2、后台处理hbase

a、创建nb表的表链接
b、创建get(笔记本的rowkey)
c、处理result结果集,json
d、将json转换为list
e、处理list中的值,用“|”分割每列,封装到n个note中
f、返回前台
2)增加笔记

1、前台输入的参数:笔记的名字 2、前台传到后台的参数:笔记本的rowkey,笔记的名字 3、action的处理

a、创建时间戳
b、用用户名和时间戳拼装笔记的rowkey

4、后台处理hbase的nb表 将笔记添加到笔记本的笔记列表中

a、获取表链接
b、取出笔记本的历史笔记列表
c、将历史笔记列表中添加新的笔记信息
d、创建put(笔记本的rowkey)
e、put.add(新的笔记列表)
f、close

5、hbase的n表 将笔记的信息存到n表中

3)查询笔记详情

1、前台传到后台的参数:笔记的rowkey

2、后台处理:查询笔记表

4)修改笔记

1、前台输入的参数:笔记的名字,笔记的内容 2、前台向后台传的参数:笔记本的rowkey、笔记的rowkey、新笔记的名字、笔记的内容、旧的笔记的名字 3、修改nb表

a、获取nb表的表链接

b、查询历史的笔记信息

c、将笔记信息装成list

d、拼装旧的笔记信息的串

e、list.remove(旧的笔记信息的串)

f、拼装新的笔记信息的串

g、list.add(新的笔记信息的串)

h、添加操作htable.put().

4、修改n表 重新添加笔记名字和笔记内容 5、事务:

a、nb表失败,都失败
b、都成功
c、nb成功,n失败,还原nb表的笔记列表
5)迁移笔记

1、前台传过来的参数:旧的笔记本的rowkey,新的笔记本的rowkey,笔记的rowkey,笔记的名字 2、后台处理 拼装笔记信息的串 3、修改旧的笔记本

a、将笔记本下的笔记列表查出来
b、删除笔记信息

4、修改新的笔记本

a、将笔记本下的笔记列表查出来
b、添加笔记信息

5、事务:

a、都成功
b、都失败
c、第一个操作成功,第二个操作失败,还原第一个操作
6)彻底删除笔记

1、前台传过来的参数:笔记的rowkey,笔记的名字,笔记本的rowkey 2、后台处理(nb表):

a、拼串
b、获取历史的笔记本的笔记列表list
c、将串从list中删除
d、保存list

3、后台处理(n表): 通过rowkey删除笔记

4、事务:

a、都成功
b、都失败
c、笔记本成功,笔记失败,还原笔记本
关注
打赏
1688896170
查看更多评论

杨林伟

暂无认证

  • 3浏览

    0关注

    3183博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.1046s