CN110519364A - 一种基于jdk8的高并发性能优化的方法及其系统 - Google Patents
一种基于jdk8的高并发性能优化的方法及其系统 Download PDFInfo
- Publication number
- CN110519364A CN110519364A CN201910785237.8A CN201910785237A CN110519364A CN 110519364 A CN110519364 A CN 110519364A CN 201910785237 A CN201910785237 A CN 201910785237A CN 110519364 A CN110519364 A CN 110519364A
- Authority
- CN
- China
- Prior art keywords
- request
- timer
- service layer
- processing result
- jdk8
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种基于jdk8的高并发性能优化的方法及其系统;其中,方法,包括:S1,服务层接收客户端请求;S2,服务层将客户端请求定义到请求对象,并将请求对象放至阻塞线程安全队列中等待;S3,定时器每隔设定时间对阻塞线程安全队列中等待的请求对象进行批量提交至分布式服务端;S4,分布式服务端对请求对象进行处理,并将处理结果返回至定时器;S5,定时器根据返回的处理结果唤醒对应的线程,将处理结果发送至服务层;S6,服务层将处理结果发送至客户端。本发明实现简单,编码简便,且针对具体高并发接口做优化较为灵活,方便管理,在分布式环境可应用,可承受的并发量大大提高了,响应速度也得到了提高。
Description
技术领域
本发明涉及开源社区高并发性能优化技术领域,更具体地说是指一种基于jdk8的高并发性能优化的方法及其系统。
背景技术
开源社区提供了很多系统高并发下性能优化解决方案,如数据库读写分离,缓存技术,数据库垂直水平拆分,负载均衡,业务拆分,还有基于jdk本身去做优化,但是基于jdk处理的具体方案较少,基于jdk优化主要是运用编程的思想对具体业务场景来优化;现有开源社区的使用jdk解决高并发的方案有使用Java实现缓存,主要采用HashMap+定时器线程池实现,map用于存储键值对数据,map的value是Cache的内部类对象Entity,Entity包含value和该键值对的生命周期定时器Future。
但是,现有的技术虽然解决了高并发请求服务端压力过大的问题,但是编码有一定的复杂度,不够简便,并且在分布式环境中缓存失效,还会有数据一致性问题,缓存还不方便管理,因此,无法满足需求。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种基于jdk8的高并发性能优化的方法及其系统。
为实现上述目的,本发明采用于下技术方案:
一种基于jdk8的高并发性能优化的方法,包括以下步骤:
S1,服务层接收客户端请求;
S2,服务层将客户端请求定义到请求对象,并将请求对象放至阻塞线程安全队列中等待;
S3,定时器每隔设定时间对阻塞线程安全队列中等待的请求对象进行批量提交至分布式服务端;
S4,分布式服务端对请求对象进行处理,并将处理结果返回至定时器;
S5,定时器根据返回的处理结果唤醒对应的线程,将处理结果发送至服务层;
S6,服务层将处理结果发送至客户端。
其进一步技术方案为:所述S2中,所述“服务层将客户端请求定义到请求对象”包括将客户端请求的参数及CompletetableFuture封装到请求对象中。
其进一步技术方案为:所述S3中,所述设定时间为10毫秒。
其进一步技术方案为:所述S3中,定时器还对请求对象进行分类,将同类请求批量提交至分布式服务端。
其进一步技术方案为:所述S4中,所述“将处理结果返回至定时器”为批量返回处理结果至定时器。
其进一步技术方案为:所述S5中,所述“对应的线程”为异步结束阻塞。
一种基于jdk8的高并发性能优化的系统,包括:接收单元,定义单元,提交单元,处理单元,唤醒发送单元,及发送单元;
所述接收单元,用于服务层接收客户端请求;
所述定义单元,用于服务层将客户端请求定义到请求对象,并将请求对象放至阻塞线程安全队列中等待;
所述提交单元,用于定时器每隔设定时间对阻塞线程安全队列中等待的请求对象进行批量提交至分布式服务端;
所述处理单元,用于分布式服务端对请求对象进行处理,并将处理结果返回至定时器;
所述唤醒发送单元,用于定时器根据返回的处理结果唤醒对应的线程,将处理结果发送至服务层;
所述发送单元,用于服务层将处理结果发送至客户端。
其进一步技术方案为:所述定义单元中,所述“服务层将客户端请求定义到请求对象”包括将客户端请求的参数及CompletetableFuture封装到请求对象中。
其进一步技术方案为:所述提交单元中,所述设定时间为10毫秒。
其进一步技术方案为:所述提交单元中,定时器还对请求对象进行分类,将同类请求批量提交至分布式服务端。
本发明与现有技术相比的有益效果是:实现简单,编码简便,且针对具体高并发接口做优化较为灵活,方便管理,在分布式环境可应用,可承受的并发量大大提高了,响应速度也得到了提高,能够更好地满足需求。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为本发明一种基于jdk8的高并发性能优化的方法流程图;
图2为本发明一种基于jdk8的高并发性能优化的系统方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如图1到图2所示的具体实施例,其中,如图1所示,本发明公开了一种基于jdk8的高并发性能优化的方法,包括以下步骤:
S1,服务层接收客户端请求;
S2,服务层将客户端请求定义到请求对象,并将请求对象放至阻塞线程安全队列中等待;
S3,定时器每隔设定时间对阻塞线程安全队列中等待的请求对象进行批量提交至分布式服务端;
S4,分布式服务端对请求对象进行处理,并将处理结果返回至定时器;
S5,定时器根据返回的处理结果唤醒对应的线程,将处理结果发送至服务层;
S6,服务层将处理结果发送至客户端。
其中,所述S2中,所述“服务层将客户端请求定义到请求对象”包括将客户端请求的参数及CompletetableFuture封装到请求对象中。
其中,CompletetableFuture为提供了异步函数式编程,通过回调的方式处理计算结果。
其中,客户端请求的参数包括请求的数量,及数据大小。
其中,所述S3中,所述设定时间为10毫秒,便于快速获取队列。
其中,所述S3中,定时器还对请求对象进行分类,将同类请求批量提交至分布式服务端。
其中,所述S4中,所述“将处理结果返回至定时器”为批量返回处理结果至定时器,有序且快速。
其中,所述S5中,所述“对应的线程”为异步结束阻塞。
其中,当客户端并发2000个请求,现有技术中也就2000个请求同时到服务端,而采用本发明使用批量处理的方式,请求服务端次数变为2-3次,可承受并发量大大提高了,响应速度也得到了提高。
如图2所示,本发明还公开了一种基于jdk8的高并发性能优化的系统,包括:接收单元10,定义单元20,提交单元30,处理单元40,唤醒发送单元50,及发送单元60;
所述接收单元10,用于服务层接收客户端请求;
所述定义单元20,用于服务层将客户端请求定义到请求对象,并将请求对象放至阻塞线程安全队列中等待;
所述提交单元30,用于定时器每隔设定时间对阻塞线程安全队列中等待的请求对象进行批量提交至分布式服务端;
所述处理单元40,用于分布式服务端对请求对象进行处理,并将处理结果返回至定时器;
所述唤醒发送单元50,用于定时器根据返回的处理结果唤醒对应的线程,将处理结果发送至服务层;
所述发送单元60,用于服务层将处理结果发送至客户端。
其中,所述定义单元20中,所述“服务层将客户端请求定义到请求对象”包括将客户端请求的参数及CompletetableFuture封装到请求对象中。
其中,所述提交单元30中,所述设定时间为10毫秒。
进一步地,所述提交单元30中,定时器还对请求对象进行分类,将同类请求批量提交至分布式服务端。
其中,还可在本发明方案的基础上使用缓存,负载均衡等进一步优化效率。
本发明实现简单,编码简便,且针对具体高并发接口做优化较为灵活,方便管理,在分布式环境可应用,可承受的并发量大大提高了,响应速度也得到了提高,能够更好地满足需求。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。
Claims (10)
1.一种基于jdk8的高并发性能优化的方法,其特征在于,包括以下步骤:
S1,服务层接收客户端请求;
S2,服务层将客户端请求定义到请求对象,并将请求对象放至阻塞线程安全队列中等待;
S3,定时器每隔设定时间对阻塞线程安全队列中等待的请求对象进行批量提交至分布式服务端;
S4,分布式服务端对请求对象进行处理,并将处理结果返回至定时器;
S5,定时器根据返回的处理结果唤醒对应的线程,将处理结果发送至服务层;
S6,服务层将处理结果发送至客户端。
2.根据权利要求1所述的一种基于jdk8的高并发性能优化的方法,其特征在于,所述S2中,所述“服务层将客户端请求定义到请求对象”包括将客户端请求的参数及CompletetableFuture封装到请求对象中。
3.根据权利要求2所述的一种基于jdk8的高并发性能优化的方法,其特征在于,所述S3中,所述设定时间为10毫秒。
4.根据权利要求3所述的一种基于jdk8的高并发性能优化的方法,其特征在于,所述S3中,定时器还对请求对象进行分类,将同类请求批量提交至分布式服务端。
5.根据权利要求4所述的一种基于jdk8的高并发性能优化的方法,其特征在于,所述S4中,所述“将处理结果返回至定时器”为批量返回处理结果至定时器。
6.根据权利要求5所述的一种基于jdk8的高并发性能优化的方法,其特征在于,所述S5中,所述“对应的线程”为异步结束阻塞。
7.一种基于jdk8的高并发性能优化的系统,其特征在于,包括:接收单元,定义单元,提交单元,处理单元,唤醒发送单元,及发送单元;
所述接收单元,用于服务层接收客户端请求;
所述定义单元,用于服务层将客户端请求定义到请求对象,并将请求对象放至阻塞线程安全队列中等待;
所述提交单元,用于定时器每隔设定时间对阻塞线程安全队列中等待的请求对象进行批量提交至分布式服务端;
所述处理单元,用于分布式服务端对请求对象进行处理,并将处理结果返回至定时器;
所述唤醒发送单元,用于定时器根据返回的处理结果唤醒对应的线程,将处理结果发送至服务层;
所述发送单元,用于服务层将处理结果发送至客户端。
8.根据权利要求7所述的一种基于jdk8的高并发性能优化的系统,其特征在于,所述定义单元中,所述“服务层将客户端请求定义到请求对象”包括将客户端请求的参数及CompletetableFuture封装到请求对象中。
9.根据权利要求8所述的一种基于jdk8的高并发性能优化的系统,其特征在于,所述提交单元中,所述设定时间为10毫秒。
10.根据权利要求9所述的一种基于jdk8的高并发性能优化的系统,其特征在于,所述提交单元中,定时器还对请求对象进行分类,将同类请求批量提交至分布式服务端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910785237.8A CN110519364A (zh) | 2019-08-23 | 2019-08-23 | 一种基于jdk8的高并发性能优化的方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910785237.8A CN110519364A (zh) | 2019-08-23 | 2019-08-23 | 一种基于jdk8的高并发性能优化的方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110519364A true CN110519364A (zh) | 2019-11-29 |
Family
ID=68627522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910785237.8A Pending CN110519364A (zh) | 2019-08-23 | 2019-08-23 | 一种基于jdk8的高并发性能优化的方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110519364A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489479A (zh) * | 2021-12-23 | 2022-05-13 | 北京云宽志业网络技术有限公司 | 数据存储磁盘上下电的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030200255A1 (en) * | 2002-04-19 | 2003-10-23 | International Business Machines Corporation | System and method for preventing timeout of a client |
US20080189350A1 (en) * | 2007-02-06 | 2008-08-07 | Vasa Prakash | Devices, systems, and methods for providing data |
CN103116634A (zh) * | 2012-06-12 | 2013-05-22 | 上海雷腾软件有限公司 | 支持高并发缓存任务队列的系统及其异步批量操作方法 |
CN105912402A (zh) * | 2016-04-11 | 2016-08-31 | 深圳益邦阳光有限公司 | 一种基于Actor模型的调度方法及装置 |
CN108073414A (zh) * | 2016-11-15 | 2018-05-25 | 北京亿阳信通科技有限公司 | 一种基于Jedis的将多线程并发请求合并批量提交并分发结果的实现方法 |
CN109375998A (zh) * | 2018-10-11 | 2019-02-22 | 上海瀚银信息技术有限公司 | 一种高并发请求环境中的处理方法 |
-
2019
- 2019-08-23 CN CN201910785237.8A patent/CN110519364A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030200255A1 (en) * | 2002-04-19 | 2003-10-23 | International Business Machines Corporation | System and method for preventing timeout of a client |
US20080189350A1 (en) * | 2007-02-06 | 2008-08-07 | Vasa Prakash | Devices, systems, and methods for providing data |
CN103116634A (zh) * | 2012-06-12 | 2013-05-22 | 上海雷腾软件有限公司 | 支持高并发缓存任务队列的系统及其异步批量操作方法 |
CN105912402A (zh) * | 2016-04-11 | 2016-08-31 | 深圳益邦阳光有限公司 | 一种基于Actor模型的调度方法及装置 |
CN108073414A (zh) * | 2016-11-15 | 2018-05-25 | 北京亿阳信通科技有限公司 | 一种基于Jedis的将多线程并发请求合并批量提交并分发结果的实现方法 |
CN109375998A (zh) * | 2018-10-11 | 2019-02-22 | 上海瀚银信息技术有限公司 | 一种高并发请求环境中的处理方法 |
Non-Patent Citations (1)
Title |
---|
XUYUANPENG01: "高并发处理,从Java8新特性说起", 《HTTPS://BLOG.CSDN.NET/M13797378901/ARTICLE/DETAILS/90257210》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489479A (zh) * | 2021-12-23 | 2022-05-13 | 北京云宽志业网络技术有限公司 | 数据存储磁盘上下电的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106384290B (zh) | 保单处理系统、方法及装置 | |
CN103259683B (zh) | 基于HTML5的Web网管系统二级缓存推送方法 | |
JP5484471B2 (ja) | 記憶側記憶要求管理 | |
CN102915254B (zh) | 任务管理方法及装置 | |
CN103294548B (zh) | 一种基于分布式文件系统的io请求调度方法和系统 | |
WO2023082560A1 (zh) | 一种任务处理方法、装置、设备及介质 | |
CN102546612B (zh) | 用户态下基于rdma协议的远程过程调用实现方法 | |
WO2019047441A1 (zh) | 一种通信优化方法及系统 | |
CN104572277A (zh) | 一种线程流控方法和装置 | |
JP2012118987A (ja) | メモリ使用量照会ガバナのためのコンピュータ実装方法、コンピュータ・プログラム、およびシステム(メモリ使用量照会ガバナ) | |
CN105187327A (zh) | 一种分布式消息队列中间件 | |
WO2012116513A1 (zh) | 并发优化的bpmn组合服务执行引擎及方法 | |
CN110519364A (zh) | 一种基于jdk8的高并发性能优化的方法及其系统 | |
CN110020061A (zh) | 一种智慧城市时空信息云平台服务引擎 | |
CN109857574A (zh) | 一种低能耗集群环境下可超载负载感知的服务质量提升方法 | |
CN111736907A (zh) | 一种自适应低延迟内存计算引擎的数据分析方法 | |
EP1569111A2 (en) | Method and object request broker for accelerating object-oriented communication | |
CN107957904A (zh) | 基于面向对象的交换协议的用电信息采集任务管理方法 | |
WO2020076393A1 (en) | Stream allocation using stream credits | |
US11005776B2 (en) | Resource allocation using restore credits | |
Jung et al. | Processing IoT Data with Cloud Computing for Smart Cities. | |
CN108075989B (zh) | 一种基于可扩展协议的负载均衡网络中间件实现方法 | |
CN109800035A (zh) | 一种算法集成服务框架系统 | |
CN111724262B (zh) | 一种应用服务器后续包查询系统及其工作方法 | |
CN105518617B (zh) | 缓存数据的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191129 |
|
RJ01 | Rejection of invention patent application after publication |