说明:收录全网最新的团体标准 提供单次或批量下载
文库搜索
切换导航
文件分类
频道
文件分类
批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 20221094319 9.6 (22)申请日 2022.08.08 (71)申请人 浪潮云信息技 术股份公司 地址 250100 山东省济南市高新区浪潮路 1036号浪潮科技园S01号楼 (72)发明人 薛小珊 (74)专利代理 机构 济南信达专利事务所有限公 司 37100 专利代理师 阚恭勇 (51)Int.Cl. G06F 9/46(2006.01) G06F 9/50(2006.01) (54)发明名称 一种同步请求的异步并发系统 (57)摘要 本发明提供一种同步请求的异步并发系统, 属于同步请求领域, 本发明包括多线程池设计、 Future‑Callback机制、 CountDownLatch计数器、 同步等待回调机制。 基于Cou ntdownLatch机制初 始化多个线 程池的调度与同步返回, 基于java的 ExecutorService初始化线程池, 线程池内使用 Future‑Callback机制完成池内多线程的同步等 待。 本系统的实现主要适用于分组事务隔离处 理, 规划多线 程池执行, 并通过池内Future等待+ 池间计数器调度实现高性能同步请求的处理与 返回。 权利要求书1页 说明书3页 附图1页 CN 115408114 A 2022.11.29 CN 115408114 A 1.一种同步请求的异步并发系统, 其特 征在于, 包括, 数个线程池、 Future ‑Callback机制、 CountDo wnLatch计数器、 同步 等待模块; 数个线程池: 同步启动且进行事务分组隔离; Future‑CallBack机制: 单事务的线程池内通过Future任务实现异步执行, 同时通过 CallBack机制+future.get()同步 等待单线程的执 行完成; CountDownLatch计数器: 对于隔离的线程池之间通过CountDownLatch机制进行调度, 每次执行1个线程池完成则countDown()进行计数器减1操作, 待所有线程池执行完成则恢 复await断点执 行; 同步等待模块: 线程池内通过Future.get完成同步等待, 各线程池通过await()等待同 步返回。 2.根据权利要求1所述的系统, 其特 征在于, 基于CountdownLatch初始化线程池的调度与同步返回, 基于j ava的ExecutorService 初始化线程池, 线程池内使用Future ‑Callback机制完成池内多 线程的同步 等待。 3.根据权利要求2所述的系统, 其特 征在于, 对于事务或数据进行分组划分, 分数组等同于线程池的数量。 4.根据权利要求3所述的系统, 其特 征在于, 对线程池进行分组隔离并发执 行; 线程池同步执 行, 每个线程池执 行1个事务。 5.根据权利要求2所述的系统, 其特 征在于, CounDownLatch初始值为线程池的数量, 线程池初始化后 执行await()等待, 每个线程 池执行完成执行countDown()进行计数器减1, 直至计数器=0从await()等待节点处继续 执行。 6.根据权利要求2所述的系统, 其特 征在于, 基于java的ExecutorService 方式创建线程池。 7.根据权利要求6所述的系统, 其特 征在于, 基于CountdownLatch机制初始化线程池的调度与同步返回, 基于java的 ExecutorService初始化线程池, 线 程池内使用Future ‑Callback完成池内多线程的同步等 待。 8.根据权利要求2所述的方法, 其特 征在于, 工作流程如下: 1)同步请求进入后, 系统进行初始化, 首先获取待 处理全部事务分成N组(N>1), 初始化 CountDownLatch容器的初始值为N, 同时初始化N个线程池, 触发N个线程池的执行, 并执行 CountDownLatch.await()等待返回执 行; 2)线程池通过java的ExecutorService进行线程与等待队列的初始化, 单个线程通过 Future‑Callback实现, 通过Future.get()方式等待单线程完成, 待线程池内线程均执行 完成后, 触发CountDo wnLatch.countDo wn(), 进行计数器 ‑1; 3)待N个线程池均执行完成后, 执行了N次CountDownLatch.countDown(), 此时计数器 的数值为0, 触发CountDownLatch.await()处的等待逻辑继续执行, 此处逻辑为进行返回 事务结果的收集与转换, 并进行同步返回。权 利 要 求 书 1/1 页 2 CN 115408114 A 2一种同步请求的异步并发系统 技术领域 [0001]本发明涉及同步请求 技术领域, 尤其涉及一种同步请求的异步并发系统。 背景技术 [0002]伴随着互联网技术的飞速发展和软件复杂度的提高, 一些同步请求不但事务越来 越复杂, 同时对性能要求越来越高。 [0003]复杂事务的同步处理的实现方案有多种, 选择一种高性能架构是一种紧迫诉求。 下面是一些最常用的实现技 术: [0004]1)硬件方式提速: 通过不断提升CPU+内存的硬件性能提高执行效率, 但是基于业 务逻辑本身的限制, 很多场景并不能良好的提高执 行效率 [0005]2)通过Kafka等方式异步实现: 同步实现进行生产者、 消费者模式拆分, 对于部分 同步要求不高的场景如购物下单的后续流程有良好效果, 但是对于严格实时等待的机制无 法良好的处 理; [0006]单层线程池处理: 将事务拆分到线程池的单个线程执行, 对于简单场景有一定效 率提升, 但是对于复杂分层结构处理不好, 不便于扩展与事务隔离, 比如一个请求要调用多 个组织机构, 每 个组织机构要出发多个请求。 发明内容 [0007]为了解决以上技术问题, 本发明提供了一种同步请求的异步并发系统。 选择使用 双层异步架构实现同步事务返回: 首先不依赖于硬件的提速, 能做到底层解耦; 能够保持严 格等待, 避免方案2的纯异步架构; 另外, 进行分层隔离处 理复杂事务, 架构清晰, 便 于扩展。 [0008]本发明的技 术方案是: [0009]一种同步请求的异步并发系统, 包括多线程池设计、 Future ‑Callback机制、 CountDownLatch计数器、 同步 等待回调机制。 [0010]本发明基于CountdownLatch机制初始化多个线程池的调度与同步返回, 基于 java的ExecutorServic e初始化线 程池, 线程池内使用Future ‑Callback机制完成池内多线 程的同步 等待 [0011]其中: [0012]1)多线程池设计: 同步启动多个线程池进行事务分组隔离, 相互不影响; [0013]2)Future ‑CallBack机制: 单事务的线程池内通过Future任务实现异步执行, 同时 通过CallBack机制+future.get()同步 等待单线程的执 行完成; [0014]3)CountDownLatch机制: 对于多个隔离的线程池之间通过CountDownLatch 机制 进行调度, 每次执行1个线程池完成则countDown()进行计数器减1操作, 待所有线程池执 行完成则恢复await断点执 行; [0015]4)同步等待回调: 线程池内通过Futur e.get完成同步等待, 多个线程池通过await ()机制等待同步返回。说 明 书 1/3 页 3 CN 115408114 A 3
专利 一种同步请求的异步并发系统
文档预览
中文文档
6 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
赞助1.5元下载(无需注册)
温馨提示:本文档共6页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
下载文档到电脑,方便使用
赞助1.5元下载
本文档由 人生无常 于
2024-03-18 13:07:59
上传分享
举报
下载
原文档
(372.0 KB)
分享
友情链接
ISO 15836-1 2017 Information and documentation — The Dublin Core metadata element set — Part 1 Core elements.pdf
ISO 19861 2015 Buildings and civil engineering works — Sealants — Determination of curing behaviour.pdf
ISO 10531-1992Packaging. Complete,filled transport packages. Stability testing of unit loads first e.pdf
ISO 6398-1 2024 Oil and gas industries including lower carbon energy Submersible linear motor systems for artificial lift Part 1 Submersible linear motor.pdf
ISO 8528-3 2020 Reciprocating internal combustion engine driven alternating current generating sets Part 3 Alternating current generators for generating sets.pdf
ISO 14723 2009 Petroleum and natural gas industries — Pipeline transportation systems — Subsea pipeline valves.pdf
ISO 5794-2 2014 Rubber compounding ingredients — Silica, precipitated, hydrated — Part 2 Evaluation procedures in styrene-butadiene rubber.pdf
ISO 476-1982Textile machinery and accessories. Pirn winding machines. Vocabulary first edition.pdf
ISO 16558-1 2015 Soil quality — Risk-based petroleum hydrocarbons — Part 1 Determination of aliphatic and aromatic fractions of volatile petroleum hydrocarbons using gas chromatography (static headspace method).pdf
ISO 11237 2017 Rubber hoses and hose assemblies Compact wire-braid-reinforced hydraulic types for oil-based or water-based fluids Specification.pdf
GB-T 34848-2017 热收缩薄膜收缩性能试验方法.pdf
GB-T 40337-2021 气焊及相关工艺设备的气密性.pdf
GB-T 14488.2-2008 油料 杂质含量的测定.pdf
GB-T 26277-2021 轮胎电阻测量方法.pdf
GB-T 34142-2017 辐射防护仪器 用于放射性物质光子探测的高灵敏手持式仪器.pdf
GB-T 24355-2009 地理信息 图示表达.pdf
GB-T 119.1-2000 圆柱销 不淬硬钢和奥氏体不锈钢.pdf
GB-T 41747-2022 结构级和高强度连续热镀锌双辊铸轧薄钢板及钢带.pdf
GB-T 12053-1989 光学识别用字母数字字符集 第一部分 OCR-A 字符集印刷图象的形状和尺寸.pdf
GB-T 16505.1-1996 信息处理系统 开放系统互连 文卷传送、访问和管理 第1部分 概论.pdf
1
/
3
6
评价文档
赞助1.5元 点击下载(372.0 KB)
回到顶部
×
微信扫码支付
1.5
元 自动下载
官方客服微信:siduwenku
支付 完成后 如未跳转 点击这里 下载
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们
微信(点击查看客服)
,我们将及时删除相关资源。