只需一步,快速开始
451
474
158万
管理员
目前一般能取到的时间极限是毫秒,那么假如两条请求同时到达,并且,ip来源、get数据、post数据全部相同,那么如何加以区分,因为我们要记录2次,记录的标志头如何写?但是引入了请求序号这个参数后,再配合取时间戳函数,则可以从理论上避免上述的情况
1:请求序号每次程序重启则会自动重置为0,传递序号是记录在本地的 2:请求序号是全局序号,传递序号是子程序的,也就是单次启动后,传递序号会相同相同的,请求序号是唯一的 3:请求序号一般用于记录相关(防止数据同时到达导致记录覆盖),传递序号一般用于取数据(确保多个客户端可以取到不同的数据)
在设计的时候,考虑到了记录的需要,根据测试,取13位的时间戳(毫秒级)可以确保同一个子程序中的2条记录值有不同的记录名,但是如果不同的子程序有同一个需求,是否会导致无法区分记录名?因此我想到了传递序号 因为传递序号在子程序范围里具备了唯一性,但是关键在于,EWEB可以加载多个DLL,也就是子程序名称可以重复,因此要想取得唯一标志,则需要进行DLL名称+子程序名称+传递序号+取13位时间戳的算法确保每一条数据都有唯一的标志,但是这太麻烦了,因此最终设计出了请求序号
使用道具 举报
本版积分规则 发表回复 回帖后跳转到最后一页
|Archiver|小黑屋|书香雅阁论坛 ( 湘ICP备17011672号-3 )
GMT+8, 2024-11-21 17:56 , Processed in 0.087750 second(s), 27 queries .
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.