您的位置:首页 > 其它

2015年6月积累

2015-07-21 18:28 344 查看
1、情景模拟:在某一个时刻生成某个对象值,但是有效期假如为2个小时;如果能保证调用的时候,这个值及时反馈是否失效;失效的对象值及时从存储空间移动,减少资源的占用?
     方案一:在生成值的时候,记录值的同时,记录有效截止时间(生成值的当前时间+2个小时);
                为了节省资源,我们需要对存储空间失效的数据值进行清除;那么,写一个定时器,2个小时执行一次,对于过期的清除;
                做了上诉的检查操作后,但是其中有一定的时间差,当移动端主动调用这个值的时候,再次检查一次当前值是否有效,若失效,做相应的处理;(有效的这个,有效就去使用,无效就生成,有效节省资源)

2、情景模拟:当项目是分布式部署在不同服务器上面的时候(并且数据库也是多个备份的),为了数据主键的通用性,避免重复;主键生成策略应该如何?
    方案一:多个应用共用一个主键生成策略;
            单独建立一个单独的应用,用于提高主键生成;
            为了保证主键的正确严密性,需要对主键生成部署在不同的服务器上面,避免主键应用运行异常时,对调用该主键生成的其他业务应用产生影响;
            当一个主键应用1增长的时候,同时通知部署在其他服务器上的主键应用;及时更新;
            如果其中一个应用访问不了,从另一个应用上面去获取数据;恢复的时候,首先去其他服务器上的应用同步数据;
            当主键应用都运行不了,重启的时候,根据实际间隔,设置一个增值;在最后的值的基础上加上设置的增值
            
        设置的主键生成:三位一介,从0开始,999封顶,进一介
        定义规则:保存到固定的文件中
                a、设置count默认值为1;代表当前为一介;每一介创建一个对象,设定对象属性名为数字(从0开始,比如第一介为0,第二介为1,依次类推)
                b、当出现第二介的时候,count的值更改为2,三的时候count为3,以此类推。
                c、每一介的属性名后面的值为当前介的值(值的范围是0到999  ,不足三位前面用0填充)
         实现思路:
                定义一个数组,存储每一介的值;
                当介数大于1的时候,每次加1,对count进行循环迭代,若当前介的值等于最大值999的时候,当前介的值归0,其上一介的值加1
                如果当前迭代的索引值为当前数组的最大长度的时候,并且值为最大值,那么字符串长度进1
                

3、情景模拟:使用memcache的时候,存储内容为库中的数据,当为电商网站的时候,购物广场数据查看频率特别高的时候;如果保证数据的及时刷新,迭代;
     方案一:当我们整页(设定当前每页显示10条数据)存储的时候,若卖家发布了新商品,或者对商品进行了操作(修改,下架),那么多条数据的保存方式不合适;
                注意的一点:保存的key对于这样的数据存储,那么可以选择使用sql语句(当有条件查询的时候,加上具体的条件参数值,这样就保证的key对于数据的准确性;这样也会存在一个问题,
                                    数据的sql语句过长怎么办,个人的解决方案是再将这个key进行md5加密后存储,这样可以保证key的长度不会过长)
                针对上面描述的问题,于是做了调整:
                查询的时候,我们将每一条数据存储到memcache中,其中可以把主键id作为key,在查询购物广场的数据的时候;只查询出需要显示数据的主键id,再根据主键id从memcache中获取整个数据,返回给APP端;(这样的好处是:方便对数据及时维护;对数据进行修改删除操作的时候,根据主键id明确性的去更新缓存中的数据)

4、情景模拟:如何有效提高运行app的效率,提高用户体验,减少与服务器的交互?

5、情景模拟:如何实现在线和离线操作?
        方案一: 技术上,项目是CS架构的,支持在线和离线两种操作方式,对于在线方式,数据访问是直连服务器上的Oracle数据库,离线的数据访问是连接本地的Access数据库;对于本地数据库,系统提供WebService来实现本地数据的同步。

6、情景模拟:项目如何产品化?如何真正在内部实现组件化(根据业务模块来划分模块,并像搭建具木一块快速组合与拆分)的 架构方式。
        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: