全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210639161.X (22)申请日 2022.06.07 (71)申请人 杭州指令集智能科技有限公司 地址 310012 浙江省杭州市文一西路1号 益 展商务大厦A座5 01室 (72)发明人 何晓杰 秦钢 宋杨  (74)专利代理 机构 杭州品众专利代理事务所 (特殊普通 合伙) 33459 专利代理师 蔡陈祥 (51)Int.Cl. G06F 9/54(2006.01) G06F 9/445(2018.01) G06F 8/71(2018.01) (54)发明名称 实现脚本单机高并发的方法 (57)摘要 本发明公开了一种实现脚本单机高并发的 方法, 包括如下步骤: 步骤一, 启 动服务端, 构建 脚本运行环境; 步骤二, 客户端发送多个请求至 服务端内, 服务端接收到多个请求后处理每个请 求内带有的脚本; 步骤三, 服务端将多个请求内 带有的脚本同步放入到脚本运行环 境内, 在共享 上下文内同步运行多个脚本, 同时按每个脚本对 应的独立上下文信息返回数据至客户端。 本发明 的实现脚本单机高并发的方法, 采用了针对脚本 构建共享内存, 共享目录与文件, 共享上下文等 内容, 确保脚本能够在共享的空间内, 以独立的 上下文运行。 权利要求书1页 说明书3页 附图1页 CN 114924894 A 2022.08.19 CN 114924894 A 1.一种实现脚本单机高并发的方法, 其特 征在于: 包括如下步骤: 步骤一, 启动服 务端, 构建脚本运行环境; 步骤二, 客户端发送多个请求至服务端内, 服务端接收到多个请求后处理每个请求内 带有的脚本; 步骤三, 服务端将多个请求内带有的脚本同步放入到脚本运行环境内, 在共享上下文 内同步运行多个脚本, 同时按每 个脚本对应的独立上 下文信息返回数据至客户端。 2.根据权利要求1所述的实现脚本单机高并发的方法, 其特征在于: 所述步骤一种构建 脚本运行环境的具体步骤如下: 步骤一一, 构建共享目录与文件; 步骤一二, 构建共享内存; 步骤一三, 构建共享上 下文数据, 完成脚本运行环境构建。 3.根据权利要求1或2所述的实现脚本单机高并发的方法, 其特征在于: 所述步骤一中 服务端启动后还进行加载脚本缓存数据, 判断脚本缓存中是否命中要执行 的脚本, 若命中 则不做处 理在共享上 下文内运行脚本, 若未命中则进行处 理后在共享上 下文内运行脚本 。 4.根据权利要求3所述的实现脚本单机高并发的方法, 其特征在于: 所述步骤二中处理 每个请求内带有的脚本的具体步骤如下: 步骤二一, 分析每 个请求内带有的脚本, 根据每 个脚本生成相互独立的独立上 下文; 步骤二二, 同时根据步骤二 一生成的独立上 下文建立脚本数据沙盒。 5.根据权利要求3所述的实现脚本单机高并发的方法, 其特征在于: 所述步骤一中判断 脚本缓存中是否命中要执行的脚本的具体步骤为在服务端接受到一个脚本的请求时, 会先 对脚本代码进 行哈希运算, 并使用运算结果到缓存中进 行匹配, 若 是命中缓存, 则直接从缓 存内读取编译后的脚本并执行, 若是不命中缓存, 则把脚本代码进 行编译, 将编译 结果写入 缓存, 然后执 行编译后的脚本 。权 利 要 求 书 1/1 页 2 CN 114924894 A 2实现脚本单机高 并发的方 法 技术领域 [0001]本发明涉及 一种脚本并发方法, 更具体的说是涉及一种实现脚本单机高并发的方 法。 背景技术 [0002]脚本技术, 是应对了部分逻辑需要动态加载代码, 而并非将代码编译在程序 内的 技术。 使用脚本技术将可以应对大部分业务逻辑不固定, 需要频繁改动的场景, 在实际应用 中, 只需要从服 务端下发新的脚本, 就可以完成对业 务逻辑的变更。 [0003]而脚本技术由于其解释执行的特性, 会比编译执行慢很多, 并且会有物理环境的 限制, 如对内存的要求, 会随着执行脚本的变多, 而占用大量内存, 从而直接降低脚本的并 发量。 同时, 在一般情况下, 都会将脚本 设计为单线程运行, 即多个脚本来运行时, 会分个先 来后到, 无法做到在同时运行。 [0004]目前OpenResty内置的LuaJIT, 可以实现较高并发的Lua脚本, 但是Lua脚本的学习 成本较高, 在常用的语言技术体系内, 包含js, python,java等等, 但是不包含lua, 因此现有 技术下, 要实现脚本语言的高并发处理, 只能采用上述Lua相关的技术栈, 基本不具备通用 性, 在常用技术栈, 如js, python等条件下, 很难有Lua的一席之地, 要求开发或实施人员额 外学习的成本很高。 并且在现有技术条件下, 很难实现单台服务器扛住QPS  5000以上的高 强度并发压力。 对于复杂的脚本, 甚至是每个请求都带了不同的脚本代码时, 其承压能力将 进一步下降。 对于服务器数量受限, 服务器配置受限, 并且脚本请求业务复杂的条件下, 将 无法承受较高的并发压力, 出现脚本执行崩溃, 执行结果异常, 执行卡死无返回等等各种问 题。 发明内容 [0005]针对现有技术存在的不足, 本发明的目的在于提供一种在需要动态执行脚本代码 的场景下, 使 该脚本代码能支持高并发的能力, 彻底解决了脚本语言执行能力低下, 对并发 不友好的弊端的方法。 [0006]为实现上述目的, 本 发明提供了如下技术方案: 一种实现脚本单机高并发的方法, 包括如下步骤: [0007]步骤一, 启动服 务端, 构建脚本运行环境; [0008]步骤二, 客户端发送多个请求至服务端内, 服务端接收到多个请求后处理每个请 求内带有的脚本; [0009]步骤三, 服务端将多个请求内带有的脚本同步放入到脚本运行环境内, 在共享上 下文内同步 运行多个脚本, 同时按每 个脚本对应的独立上 下文信息返回数据至客户端。 [0010]作为本发明的进一步改进, 所述步骤一种构建脚本运行环境的具体步骤如下: 步 骤一一, 构建共享目录与文件; [0011]步骤一二, 构建共享内存;说 明 书 1/3 页 3 CN 114924894 A 3

.PDF文档 专利 实现脚本单机高并发的方法

文档预览
中文文档 6 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共6页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 实现脚本单机高并发的方法 第 1 页 专利 实现脚本单机高并发的方法 第 2 页 专利 实现脚本单机高并发的方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 00:04:44上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。