51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2808|回复: 8
打印 上一主题 下一主题

[讨论] 列表中的数据如何并发问题。。。。。。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-12-14 16:20:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
例如一个列表
1、XXXXXXXXXXXXXXXXXX 删除链接
2、XXXXXXXXXXXXXXXXXX 删除链接
3、XXXXXXXXXXXXXXXXXX 删除链接
。。。。。。。。
                            翻页功能
现在脚本录制,选择第一行删除,把脚本简单的处理下,关联一下删除的特征ID,单个脚本迭代的时候就是每次保存第一行id,然后传给下面的删除操作。很显然,这样脚本迭代是没问题;

但并发就问题出现了,例如:5个用户同时运行,5个人都同时到达这个列表页面,运行到关联函数的时候,保存的都是同一条记录的ID,那么就只能1个人能删除,显然其他的就删除失败了,后台报错,面对这样的情况怎么办那??????大侠们怎么并发列表??
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-12-14 17:13:04 | 只看该作者
修改关联函数属性ord=all,可以保存当前页面上所有特征ID,通过参数化参数下标的方式,可以控制关联参数取值。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-12-14 17:32:21 | 只看该作者
回复 2# thirfing

斑竹就是斑竹,牛逼!

我刚刚想的就是直接参数化,并且已经完成了并发,但是我刚这个系统是个特例,ID是可以预知并且可以控制,准备多点数据,直接参数化就OK,如果是返回的加密的ID那我刚刚用的方法就傻眼了,

斑竹提供的方法才是正解!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2011-12-14 19:37:07 | 只看该作者
本帖最后由 wower1985 于 2011-12-14 19:38 编辑

回复 2# thirfing

还是刚才的问题,就想试试斑竹说的方法,
我用关联保存当前页面列表中的所有特征ID,但是这个列表是个翻页的,一页就只有10条,我用50人并发,还是有可能失败,
我分析了下原因:50人并发,可能同时就有30个人同时到达了相同的列表,所以这30个人通过关联得到的id数组还是一样的,问题是现在30个人只有10个id,根本不够分啊!!!再肿么办????
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2014-10-16 09:54
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 2011-12-15 09:48:53 | 只看该作者
    列表翻页时,是从数据库中读取还是从内存的读取
    就是 加载的所有数据是一次性加载到内存的吗
    如果是读取数据库的话,可以把参数定义成从数据库中查找  unique+once
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2011-12-15 15:02:35 | 只看该作者
    回复 4# wower1985


        对比分析下翻页链接是否容易模拟,如果可以,写个循环翻页,再保存ID
    或者:在数据量不太大的前提下,可以通过修改每页显示的记录数。
    或者:楼上的方法
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2011-12-15 15:17:05 | 只看该作者
    从用户访问角度来看,楼主新出现的问题在用户正式环境本身就是不可避免的
    列表跳转里面做个参数化随机取值可以降低出现概率,但是还是一定出现这样的问题的
    概率大小而已
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2011-12-16 10:08:47 | 只看该作者
    本帖最后由 wower1985 于 2011-12-16 10:12 编辑
    从用户访问角度来看,楼主新出现的问题在用户正式环境本身就是不可避免的
    列表跳转里面做个参数化随机取值 ...
    mr.bee 发表于 2011-12-15 15:17



    也是哦,真是情况就可能是多个人来到了同一个页面,都去删除一个记录,只有一个能成功,其他的就应该提示该记录已经删除,所以我的系统后台应该不是报错,是个小问题。。

    回到你说的“列表跳转里面做个参数化随机取值。。。”这个如果想要实现,怎么实现那?

    我这个系统ID就是数据库中的ID,没有加密,直接?传的,我现在直接就参数化 ,连接数据库,设置分段、唯一,能保证不会出现删除同一条记录。

    现在脱离我这个系统,因为我这个系统算简单的了,就传了一个值并且还是可以预知的,比较简单。
    相信很多系统中的列表都不止传一个值并且还加验证值之类的,假如现在传的参数是加密后的,这时可能就用你说的“列表跳转里面做个参数化随机取值。。。”
    或者楼上thirfing所说的方法,希望能讨论下好的实现方案。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2012-7-19 23:36:52 | 只看该作者
    期待新的问题解决方法
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-21 13:26 , Processed in 0.079344 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表