开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 8714|回复: 54
收起左侧

[易语言纯源码] HP-socket扩展 并发许可 解决方案

[复制链接]
结帖率:25% (1/4)
发表于 2020-6-28 21:33:32 | 显示全部楼层 |阅读模式   河北省石家庄市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
并发许可,顾名思义就是可以并发使用的许可证。具体解释原理吧,也没啥,就是一些架构技巧思维的利用,来把原本低效率的代码,编写成高效率的解决方案!
具体的看我下面的例子吧。直接面对各种高并发场景下,面向多对象的靠谱读写。还可以进行各种扩展。适用于很多场景!

应用场景1:

假设服务器上有1-10个编号,有N个用户并发请求1-10编号。需要准确的记录1-10编号 每个编号分别被请求了多少次。包括非指定范围。1-N之间。不可预知的范围。包括以用户名 ,以IP  等等为唯一性的一种靠谱读写。

按照以往的解决方案。肯定是需要创建10个许可证。100个编号就需要100个许可证。很明显这样是不现实的。

并发许可 利用了 hashcode 并且求余数的方式来给请求分配许可证,可以最大程度的保证并发效率的最大化,并且遇到争夺许可证的几率变的特别小。甚至在一些低量请求中,许可证争夺几乎是不存在的。


应用场景2:

记录用户访问日志:在HPsocket中,单用户的访问日志,可以根据IP 来划分。如果没有并发许可,用户的访问日志是无法做到准确记录的,因为多线程写入的原因,注定了日志的记录会丢失。为了最大程度的提高并发效率。我们需要为单用户每次分配到的许可证都是一样的编号。这样才可以不影响其他用户的前提下实现并发的最大化。  比如:用户 123 用户321 hashcode后的许可证编号都是2  那编号2的许可证 仅限于 所有hashcode 后编号为2的用户在争夺许可证。其他的用户都是保持并发的。

太多太多的场景就不一一赘述了。自己体会吧。

最后,核心库是目前高并发项目中测试最稳的代码。其他汇编代码,看着高大上。在实际商业项目中并不能胜任,

当然也是我能力较低的原因,无法驾驭,具体的自己实战项目多体会,碰壁就知道了。

还有就是我申请精华的帖子被拒了 https://bbs.125.la/thread-14591950-1-1.html

理由是未达到精华标准。。。呵呵。。核心库的代码就是经常被人鄙视。。。习惯就好。孰是孰非,实战项目见!


并发许可.e (6.78 KB, 下载次数: 130)

点评

我本来还想给你加个分来着,精华帖用核心库的多了去了,单凭那个帖子我个人认为是达不到精华标准的。 如果你有意见可以参考精华申请贴下的小贴士:精华评审团不是独裁,如果你的帖子被拒加精,可以在闲   山东省济南市  发表于 2020-7-5 18:39
说人话就是这个功能有和没有结果是一样的   福建省宁德市  发表于 2020-7-1 22:02
没有用。。。因为HP的回调针对同一个连接ID是同步执行而不是异步的   福建省宁德市  发表于 2020-7-1 22:02

评分

参与人数 5好评 +4 精币 +8 收起 理由
a019872140 + 1 加了许可证变慢
鱼刺 + 1 + 1 临界许可又不是内核对象创建多了也没啥问题 你甚至可以给每个变量都搞个许可证
被封禁言 + 1 新技能已get√
司徒西 + 1 + 2 支持开源~!感谢分享
猥琐小胖子 + 1 + 4 支持开源~!感谢分享

查看全部评分


本帖被以下淘专辑推荐:

结帖率:90% (66/73)

签到天数: 3 天

发表于 2020-11-20 09:13:57 | 显示全部楼层   江苏省苏州市
我一窍不通
回复 支持 反对

使用道具 举报

签到天数: 13 天

发表于 2020-11-19 22:21:41 | 显示全部楼层   广东省肇庆市
看看是什么
回复 支持 反对

使用道具 举报

发表于 2020-7-5 21:03:11 | 显示全部楼层   陕西省西安市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:76% (16/21)

签到天数: 26 天

发表于 2020-7-5 12:22:22 | 显示全部楼层   江苏省镇江市
支持开源~!感谢分享


回复 支持 反对

使用道具 举报

发表于 2020-7-4 04:05:06 | 显示全部楼层   四川省德阳市
666666666666
回复 支持 反对

使用道具 举报

结帖率:33% (1/3)

签到天数: 6 天

发表于 2020-7-4 03:28:59 | 显示全部楼层   广东省深圳市
突然就被你的帖子**了,,厉害
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)
发表于 2020-7-3 16:44:10 | 显示全部楼层   香港特别行政区*
        支持开源~!感谢分享
回复 支持 反对

使用道具 举报

发表于 2020-7-3 16:07:03 | 显示全部楼层   湖南省常德市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 22 天

发表于 2020-7-3 05:25:16 | 显示全部楼层   山东省菏泽市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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