主观题

某抢红包软件规定发红包人可以一次抛出多个红包,由多个人来抢。要求每个抢红包的人最多只能抢到同一批次中的一个红包,且存在多个人同时抢同一红包的情况。给定的红包关系模式如下:
Red(ID,BatchID,SenderID,Money,ReceiverID)
其中 ID 唯一标识每一个红包; BatchID 为发红包的批次,一个 BatchID 值可以对应多个 ID 值;SenderID 为发红包人的标识;Money 为红包中的钱数; ReceiverID 记录抢到红包的人的标识。
发红包人一次抛出多个红包,即向红包表中插入多条记录,每条记录表示一个红包, 其 ReceiverID 值为空值。
抢某个红包时,需要判定该红包记录的 ReceiverID 值是否为空,不为空时表示该红包已被抢走,不能再抢,为空时抢红包人将自己的标识写入到 ReceiverID 字段中,即为抢到红包。
【问题 1】 (9分)
引入两个伪指令 a = R(X) 和 W(b,X) 。其中a = R(X) 表示读取当前红包记录的 ReceiverID 字段(记为数据项 X) 到变量 a 中, W(b,X)表示将抢红包人的唯一标识 b 的值写入到当前红包记录的 ReceiverID 字段(数据项 X) 中,变量 a 为空值时才会执行 W(b,X) 操作。假设有多个人同时抢同一红包(即同时对同一记录进行操作),用ai=Ri(X)和Wi(bi,X)表示系统依次响应的第i个人的抢红包操作。假设当前数据项 X 为空值,同时有三个人抢同一红包,则
(1)如下的调度执行序列:
a1=R1,a2=R2(X),W1(b1,X),W2(b2,X),a3=R3(X)
抢到红包的是第几人?并说明理由。
(2)引入共享锁指令 SLocki(X)、独占锁指令XLocki(X)和解锁指令 ULocki(X),其中下标 i表示第 i个抢红包人的指令。如下的调度执行序列:
SLock1(X),a1=R1(X),SLock2(X),a2=R2(X),XLock1(X)......
是否会产生死锁?并说明理由。 (3)为了保证系统第一个响应的抢红包人为最终抢到红包的人,请使用上述。中引入的锁指令,对上述(1)中的调度执行序列进行修改,在满足 2PL协议的前提下,给 出一个不产生死锁的完整的调度执行序列。
【问题 2】 (6分)
下面是用 SQL实现的抢红包程序的一部分,请补全空缺处的代码
CREATE PROCEDURE ScrambleRed (IN BatchNo VARCHAR(20) , --红包批号
(IN RecvrNo VARCHAR(20)) --接收红包者
BEGIN
--是否已抢过此批红包
if exists( SELECT * FROM Red
WHERE BatchID = BatchNo AND ReceiverID = RecvrNo) thm
return -1;
end if;
---读取此批派发红包中未领取的红包记录ID
DECLARE NonRecvedNo VARCHAR(30);
DECLARE NonRecvedNo CURSOR FOR
SELECT ID
FROM Red
WHERE BatchID = BatchNo AND ReceiverID IS NULL;
-打开游标
OPEN NonRecvedRed;
FETCH NonRecvedRed INTO NonRecvedNo;
while not error
—抢红包事务
BEGIN TRANSACTION;
//写入红包记录
UPDATE RED SET ReceiverID =RecvrNo
WHERE ID = nonRECVED AND (a)
//执行状态判定
If<修改的记录数>= 1 THEN
COMMIT;
(b);
Return 1;
Else
ROLLBACK;
End if;
(c);
End while
--关闭游标
CLOSE NonRecved RD
Return 0;
END

查看答案
该试题由用户804****27提供 查看答案人数:22008 如遇到问题请 联系客服
正确答案
该试题由用户804****27提供 查看答案人数:22009 如遇到问题请联系客服

相关试题

换一换
主观题
阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。【说明】 某抢红包软件规定发红包人可以一次抛出多个红包,由多个人来抢。要求每个抢红包的人最多只能抢到同一批次中的一个红包,且存在多个人同时抢同一红包的情况。给定的红包关系模式如下:Red(ID,BatchID,SenderID,Money,ReceiverID)其中 ID 唯一标识每一个红包; BatchID 为发红包的批次,一个 BatchID 值可以对应多个ID 值;SenderID 为发红包人的标识;Money 为红包中的钱数; ReceiverID 记录抢到红包的人的标识。发红包人一次抛出多个红包,即向红包表中插入多条记录,每条记录表示一个红包, 其 ReceiverID 值为空值。抢某个红包时,需要判定该红包记录的 ReceiverID 值是否为空,不为空时表示该红包己被抢走,不能再抢,为空时抢红包人将自己的标识写入到 ReceiverID 宇段中,即为抢到红包。【问题1】引入两个伪指令 a = R(X) 和 W(b,X) 。其中a = R(X) 表示读取当前红包记录的ReceiverID 字段(记为数据项 X) 到变量a中, W(b,X)表示将抢红包人的唯一标识b的值写入到当前红包记录的ReceiverID 字段(数据项 X) 中,变量a为空值时才会执行 W(b,X) 操作。假设有多个人同时抢同一红包(即同时对同一记录进行操作),用 ai=Ri (X)和 Wi(bi, X)表示系统依次响应的第i个人的抢红包操作。假设当前数据项 X 为空值,同时有三个人抢同一红包,则(1)如下的调度执行序列:a1 =R1, a2 = R2(X),W1(b1 ,X),W2(b2,X), a3 = R3(X)抢到红包的是第几人?并说明理由。(2)引入共享锁指令 SLocki(X)、独占锁指令XLocki(X)和解锁指令 ULocki(X) ,其中下标i表示第i个抢红包人的指令。如下的调度执行序列:SLock1(X),a1 = R1(X),SLock2(X),a2 = R2(X),XLock1(X)......是否会产生死锁?并说明理由。 (3)为了保证系统第一个响应的抢红包人为最终抢到红包的人,请使用上述。)中引入的锁指令,对上述(1)中的调度执行序列进行修改,在满足2PL协议的前提下,给出一个不产生死锁的完整的调度执行序列。【问题2】 下面是用 SQL实现的抢红包程序的一部分,请补全空缺处的代码CREATE PROCEDURE ScrambleRed (IN BatchNo VARCHAR(20) , --红包批号( IN RecvrNo VARCHAR(20) ) 一接收红包者BEGIN--是否已抢过此批红包if exist s( SELECT * FROM Red WHERE BatchID = BatchNo AND ReceiverID = RecvrNo) thenreturn -1;end if;---读取此批派发红包中未领取的红包记录IDDECLARE NonRecvedNo VARCHAR(30);DECLARE NonRecvedRed CURSOR FORSELECT ID FROM RedWHERE BatchID = BatchNo AND ReceiverID IS NULL;-打开游标OPEN NonRecvedRed;FETCH NonRecvedRed INTO NonRecvedNo;while not error一抢红包事务BEGIN TRANSACTION;//写入红包记录UPDATE RED STE RECDIVER ID =RecvrNoWHERE ID = nonRECVED AND( a )//执行状态判定If<修改的记录数>= 1 THENCOMMIT;( b );Return 1;ElseROLLBACK;End if;( c );End while--关闭游标CLOSE NonRecved RDReturn 0;END
答案
主观题
某抢红包软件规定发红包人可以一次抛出多个红包,由多个人来抢。要求每个抢红包的人最多只能抢到同一批次中的一个红包,且存在多个人同时抢同一红包的情况。给定的红包关系模式如下:Red(ID,BatchID,SenderID,Money,ReceiverID)其中 ID 唯一标识每一个红包; BatchID 为发红包的批次,一个 BatchID 值可以对应多个ID 值;SenderID 为发红包人的标识;Money 为红包中的钱数; ReceiverID 记录抢到红包的人的标识。发红包人一次抛出多个红包,即向红包表中插入多条记录,每条记录表示一个红包, 其 ReceiverID 值为空值。抢某个红包时,需要判定该红包记录的 ReceiverID 值是否为空,不为空时表示该红包己被抢走,不能再抢,为空时抢红包人将自己的标识写入到 ReceiverID 宇段中,即为抢到红包。【问题1】引入两个伪指令 a = R(X) 和 W(b,X) 。其中a = R(X) 表示读取当前红包记录的ReceiverID 字段(记为数据项 X) 到变量a中, W(b,X)表示将抢红包人的唯一标识b的值写入到当前红包记录的ReceiverID 字段(数据项 X) 中,变量a为空值时才会执行 W(b,X) 操作。假设有多个人同时抢同一红包(即同时对同一记录进行操作),用 ai=Ri (X)和 Wi(bi, X)表示系统依次响应的第i个人的抢红包操作。假设当前数据项 X 为空值,同时有三个人抢同一红包,则(1)如下的调度执行序列:a1 =R1, a2 = R2(X),W1(b1 ,X),W2(b2,X), a3 = R3(X)抢到红包的是第几人?并说明理由。(2)引入共享锁指令 SLocki(X)、独占锁指令XLocki(X)和解锁指令 ULocki(X) ,其中下标i表示第i个抢红包人的指令。如下的调度执行序列:SLock1(X),a1 = R1(X),SLock2(X),a2 = R2(X),XLock1(X)......是否会产生死锁?并说明理由。(3)为了保证系统第一个响应的抢红包人为最终抢到红包的人,请使用上述中引入的锁指令,对上述(1)中的调度执行序列进行修改,在满足2PL协议的前提下,给出一个不产生死锁的完整的调度执行序列。【问题2】下面是用 SQL实现的抢红包程序的一部分,请补全空缺处的代码CREATE PROCEDURE ScrambleRed (IN BatchNo VARCHAR(20) , —红包批号( IN RecvrNo VARCHAR(20) ) 一接收红包者BEGIN—是否已抢过此批红包if exist s( SELECT * FROM Red WHERE BatchID = BatchNo AND ReceiverID = RecvrNo) thenreturn -1;end if;---读取此批派发红包中未领取的红包记录IDDECLARE NonRecvedNo VARCHAR(30);DECLARE NonRecvedRed CURSOR FORSELECT ID FROM RedWHERE BatchID = BatchNo AND ReceiverID IS NULL;-打开游标OPEN NonRecvedRed;FETCH NonRecvedRed INTO NonRecvedNo;while not error一抢红包事务BEGIN TRANSACTION;//写入红包记录UPDATE RED STE RECDIVER ID =RecvrNoWHERE ID = nonRECVED AND( a )//执行状态判定Ifimage.png修改的记录数>= 1 THENCOMMIT;( b );Return 1;ElseROLLBACK;End if;( c );End while--关闭游标CLOSE NonRecved RDReturn 0;END
答案
单选题
小李一家3人进行抢红包游戏,每人发1个红包。结果每人抢得金额总额一致,均为100元,刚巧3人所发红包金额为互不相同整数且成等差数列。问3人中所发红包金额最多的可能是多少元?
A.197 B.198 C.199 D.200
答案
单选题
小李一家3人进行抢红包游戏,每人发1个红包。结果每人抢得的金额总额一致,均为100元,刚巧3人所发红包金额为互不相同整数且成等差数列。问3人中所发红包金额最多的可能是()  
A.197 B.198 C.199 D.200
答案
主观题
某抢红包软件规定发红包人可以一次抛出多个红包,由多个人来抢。要求每个抢红包的人最多只能抢到同一批次中的一个红包,且存在多个人同时抢同一红包的情况。给定的红包关系模式如下:Red(ID,BatchID,SenderID,Money,ReceiverID)其中 ID 唯一标识每一个红包; BatchID 为发红包的批次,一个 BatchID 值可以对应多个 ID 值;SenderID 为发红包人的标识;Money 为红包中的钱数; ReceiverID 记录抢到红包的人的标识。发红包人一次抛出多个红包,即向红包表中插入多条记录,每条记录表示一个红包, 其 ReceiverID 值为空值。抢某个红包时,需要判定该红包记录的 ReceiverID 值是否为空,不为空时表示该红包已被抢走,不能再抢,为空时抢红包人将自己的标识写入到 ReceiverID 字段中,即为抢到红包。【问题 1】 (9分)引入两个伪指令 a = R(X) 和 W(b,X) 。其中a = R(X) 表示读取当前红包记录的 ReceiverID 字段(记为数据项 X) 到变量 a 中, W(b,X)表示将抢红包人的唯一标识 b 的值写入到当前红包记录的 ReceiverID 字段(数据项 X) 中,变量 a 为空值时才会执行 W(b,X) 操作。假设有多个人同时抢同一红包(即同时对同一记录进行操作),用ai=Ri(X)和Wi(bi,X)表示系统依次响应的第i个人的抢红包操作。假设当前数据项 X 为空值,同时有三个人抢同一红包,则(1)如下的调度执行序列:a1=R1,a2=R2(X),W1(b1,X),W2(b2,X),a3=R3(X)抢到红包的是第几人?并说明理由。(2)引入共享锁指令 SLocki(X)、独占锁指令XLocki(X)和解锁指令 ULocki(X),其中下标 i表示第 i个抢红包人的指令。如下的调度执行序列:SLock1(X),a1=R1(X),SLock2(X),a2=R2(X),XLock1(X)......是否会产生死锁?并说明理由。 (3)为了保证系统第一个响应的抢红包人为最终抢到红包的人,请使用上述。中引入的锁指令,对上述(1)中的调度执行序列进行修改,在满足 2PL协议的前提下,给 出一个不产生死锁的完整的调度执行序列。【问题 2】 (6分)下面是用 SQL实现的抢红包程序的一部分,请补全空缺处的代码CREATE PROCEDURE ScrambleRed (IN BatchNo VARCHAR(20) , --红包批号 (IN RecvrNo VARCHAR(20)) --接收红包者BEGIN --是否已抢过此批红包 if exists( SELECT * FROM Red WHERE BatchID = BatchNo AND ReceiverID = RecvrNo) thm return -1; end if; ---读取此批派发红包中未领取的红包记录ID DECLARE NonRecvedNo VARCHAR(30); DECLARE NonRecvedNo CURSOR FOR SELECT ID FROM Red WHERE BatchID = BatchNo AND ReceiverID IS NULL; -打开游标 OPEN NonRecvedRed; FETCH NonRecvedRed INTO NonRecvedNo; while not error —抢红包事务 BEGIN TRANSACTION; //写入红包记录 UPDATE RED SET ReceiverID =RecvrNo WHERE ID = nonRECVED AND (a) //执行状态判定 If<修改的记录数>= 1 THEN COMMIT; (b); Return 1; Else ROLLBACK; End if; (c); End while --关闭游标 CLOSE NonRecved RD Return 0;END
答案
简答题
简述在直播间派发红包的技巧。
答案
单选题
中国崇尚“礼尚往来”,所以子女也可以给父母发红包()
A.正确 B.错误
答案
多选题
在直播间中发红包的目的有哪些()。
A.增加直播间点赞数量 B.增加粉丝在直播间的停留时长 C.提升直播间氛围 D.给粉丝回扣
答案
判断题
手机发红包只是一种娱乐行为,与营销无关
答案
主观题
当一位新人加入社群发红包给老群员当见面礼,这种红包叫
答案
热门试题
相比于支付宝,微信更偏向于社交通讯,所以发红包、抢红包、小额转账、小额充话费等一些线下小额购物支付时,更多人会选择使用( ) 学习通中小组内可随意发红包。(1.0分) 直播间可以发红包的方式进行氛围管,下列说法中正确的有() 对个人取得企业派发的现金网络红包,应按照()项目计算缴纳个人所得税,税款由派发红包的企业代扣代缴。 对个人取得企业派发的现金网络红包,应按照()项目计算缴纳个人所得税,税款由派发红包的企业代扣代缴 精准营销活动中哪项营销可以给进店未下单用户发红包() 过年了,老板给员工发红包,你认为这符合什么管理原理() 2016年春节联欢晚会上,推出了“全民抢红包”活动,观众通过手机微信的“摇一摇”入口,就可以参与抢红包,手机抢红包过程中用来传递信息的是 微信群,制定规则(猜大小、单双数)等发红包的行为属于() 抢红包活动每天上午______点开抢() 黄金红包从发出当天算起,共七个工作日,没有抢完的红包,在七个工作日后将自动退回发红包人中信积存金账户可用份额中() 多个店铺多笔订单合并付款是否可以用红包支付() “新春全民抢红包” 活动发券时间为() “新春全民抢红包” 活动用券时间为() 客户可用多个手机号码抢红包,但是一个积存金签约账户只能用一个手机号码领取红包,用两个以上手机号领取时会提示“不能重复提交”() 如今,微信抢红包已经成为一-种流行的娱乐方式。甲、乙、丙、丁、戊五个朋友在他们建立的五人微信群聊天中玩“拼手气红包"。首先由甲在群聊中选择4个红包,并将总金额定为10元,由微信将10元随机分到4个红包中,规定自己发的红包不能抢,由其余四人-起争抢,抢得红包内金额最大的为“手气最佳”。然后再由“手气最佳”者发4个红包,总金额为10元,由微信随机分配金额并由其余4人一起争抢。假设游戏中每个红包的金额都 小明通过微信给小红发红包,结果不小心发给了小强,这种情形小强属于()。 薪福通的开薪红包多久可以领一次() 爸爸和小明玩游戏,包了20个红包,其中有8个红包都是1元,9个红包都是10元,还有3个红包是空的,小明要抽( )次才能保证抽到红包可以拼出14元。 “红包出钢”的红包温度为()
购买搜题卡 会员须知 | 联系客服
会员须知 | 联系客服
关注公众号,回复验证码
享30次免费查看答案
微信扫码关注 立即领取
恭喜获得奖励,快去免费查看答案吧~
去查看答案
全站题库适用,可用于E考试网网站及系列App

    只用于搜题看答案,不支持试卷、题库练习 ,下载APP还可体验拍照搜题和语音搜索

    支付方式

     

     

     
    首次登录享
    免费查看答案20
    微信扫码登录 账号登录 短信登录
    使用微信扫一扫登录
    登录成功
    首次登录已为您完成账号注册,
    可在【个人中心】修改密码或在登录时选择忘记密码
    账号登录默认密码:手机号后六位