CN102291324A - 高并发业务请求处理方法 - Google Patents

高并发业务请求处理方法 Download PDF

Info

Publication number
CN102291324A
CN102291324A CN201110176960XA CN201110176960A CN102291324A CN 102291324 A CN102291324 A CN 102291324A CN 201110176960X A CN201110176960X A CN 201110176960XA CN 201110176960 A CN201110176960 A CN 201110176960A CN 102291324 A CN102291324 A CN 102291324A
Authority
CN
China
Prior art keywords
service request
message queue
sub
group objects
network
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
Application number
CN201110176960XA
Other languages
English (en)
Inventor
鞠进步
高磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Shenzhou Taiyue Software Co Ltd
Original Assignee
Beijing Shenzhou Taiyue Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Shenzhou Taiyue Software Co Ltd filed Critical Beijing Shenzhou Taiyue Software Co Ltd
Priority to CN201110176960XA priority Critical patent/CN102291324A/zh
Publication of CN102291324A publication Critical patent/CN102291324A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种高并发业务请求处理方法,涉及即时通讯领域。所述方法包括步骤:将业务请求和目的IP压入客户端的分组消息队列;根据所述目的IP,将所述业务请求压入所述分组消息队列的数据存储模块的子消息队列中;将所述子消息队列中的多个业务请求,在所述分组消息队列的网络处理模块中,合并成一个网络请求后发送给所述目的IP对应的服务器。本发明的高并发业务请求处理方法,通过设置分组消息队列,首先将业务请求按照目的IP进行分组,然后将同组的业务请求合并成网络请求后再发送给服务器。从而,减少了网络请求次数,提高了对业务请求的处理效率,节省客户端和服务器内存。

Description

高并发业务请求处理方法
技术领域
本发明涉及即时通讯技术领域,特别涉及一种高并发业务请求处理方法。
背景技术
随着IM(InstantMessaging,即时通讯)用户规模的增多,IM业务内的业务请求数量越来越多,并且业务请求的发起频率也不均匀。如果每来一个业务请求就进行一次网络处理,效率比较低,并且在业务请求突增(比如早上上班时间大量用户登录或者服务器重启后会有大量用户重新连接服务器,这些都会造成请求突增)的情况下故障率也比较高。
面对这个问题,通常的解决方案是建立一个消息队列,然后后台一个请求一个请求的处理这些业务请求。这个解决方案,虽然将业务请求的处理转移到了后台,但实质上针对每一个业务请求还是需要发送一次网络请求。因此,面对大业务量的业务请求,处理请求的效率依然很低,并且占用较多的客户端和服务器的内存。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种高并发业务请求处理方法,以提高对业务请求的处理效率,节省客户端和服务器内存。
(二)技术方案
为解决上述技术问题,本发明提供一种高并发业务请求处理方法,其包括步骤:
A:将业务请求和目的IP压入客户端的分组消息队列;
B:根据所述目的IP,将所述业务请求压入所述分组消息队列的数据存储模块的子消息队列中;
C:将所述子消息队列中的多个业务请求,在所述分组消息队列的网络处理模块中,合并成一个网络请求后发送给所述目的IP对应的服务器。
优选地,所述数据存储模块包括以散列表实现地一组分组对象。
优选地,所述分组对象包含键值IP和所述子消息队列。
优选地,所述步骤B具体包括以下步骤:
B1:判断是否存在一个分组对象的键值IP与所述目的IP一致,如果存在,将所述业务请求压入所述分组对象的子消息队列中,否则,执行步骤B2;
B2:在所述数据存储模块中创建一个新的分组对象,所述新的分组对象的键值IP同于所述目的IP;
B3:将所述业务请求压入所述新的分组对象的子消息队列中。
优选地,所述网络处理模块包含多个操作系统线程。
优选地,所述步骤C具体包括以下步骤;
C1:所述线程周期性查询和判断所述子消息队列中的业务请求的数量,如果所述业务请求的数量超过第一设定值m,则将所述子消息队列中前m个业务请求合并成一个网络请求后发送给所述目的IP对应的服务器,否则,执行C2;
C2:所述线程判断所述子消息队列中第1个业务请求的等待时间是否超过第二设定值n,如果超过,则将所述子消息队列中所有业务请求合并成一个网络请求后发送给所述目的IP对应的服务器,否则,执行所述步骤C1。
优选地,所述第一设定值m为32。
优选地,所述第二设定值n为200毫秒。
优选地,在所述步骤C之后还包括步骤D:所述服务器接收所述网络请求后,将所述网络请求拆分成所述多个业务请求后分别进行响应。
(三)有益效果
本发明的高并发业务请求处理方法,通过设置分组消息队列,首先将业务请求按照目的IP进行分组,然后将同组的业务请求合并成网络请求后再发送给服务器。从而,减少了网络请求次数,提高了对业务请求的处理效率,节省客户端和服务器内存。
附图说明
图1是本发明实施例所述的高并发业务请求处理方法的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明实施例所述的高并发业务请求处理方法的流程图。如图1所示,所述方法包括:
步骤A:将业务请求和目的IP压入客户端的分组消息队列。
所述分组消息队列建立在所述客户端上,其包括数据存储模块和网络处理模块。
所述数据存储模块包含以散列表实现地一组分组对象。所述分组对象包括键值IP和子消息队列。所述数据存储模块能够以所述键值IP为索引查找相应的分组对象。
所述网络处理模块包含多个操作系统线程,所述操作系统线程的数量能够配置调整。
步骤B:根据所述目的IP,将所述业务请求压入所述分组消息队列的数据存储模块的子消息队列中。
所述步骤B具体包括:
步骤B1:判断是否存在一个分组对象的键值IP与所述目的IP一致,如果存在,将所述业务请求压入所述分组对象的子消息队列中,否则,执行步骤B2。
步骤B2:在所述数据存储模块中创建一个新的分组对象,所述新的分组对象的键值IP同于所述目的IP。
步骤B3:将所述业务请求压入所述新的分组对象的子消息队列中。
步骤C:将所述子消息队列中的多个业务请求,在所述分组消息队列的网络处理模块中,合并成一个网络请求后发送给所述目的IP对应的服务器。
所述步骤C具体包括:
步骤C1:所述线程周期性查询和判断所述子消息队列中的业务请求的数量,如果所述业务请求的数量超过第一设定值m,则将所述子消息队列中前m个业务请求合并成一个网络请求后发送给所述目的IP对应的服务器,否则,执行C2。所述第一设定值m的取值能够配置调整,一般为32。所述子消息队列按照先进先出的规则发送其所包含的多个业务请求,即每次将排在子消息队列最前面的m个业务请求合并成一个网络请求进行发送。同时,所述子消息队列能够根据业务请求数量的增加动态申请存储空间。
步骤C2:所述线程判断所述子消息队列中第1个业务请求的等待时间是否超过第二设定值n,如果超过,则将所述子消息队列中所有业务请求合并成一个网络请求后发送给所述目的IP对应的服务器,否则,执行所述步骤C1。所述第二设定值n的取值能够配置调整,一般取值为200毫秒。由于所述子消息队列按照先进先出的规则发送其所包含的多个业务请求,因此,所述子消息队列中第1个业务请求(即排在所述子消息队列最前面的业务请求)是最早进入所述子消息队列的,也是等待时间最长的业务请求。通过所述步骤C2的操作,可以保证所述子消息队列中单个业务请求的等待时间不会过长。
步骤D:所述服务器接收所述网络请求后,将所述网络请求拆分成所述多个业务请求后分别进行响应。将多个业务请求合并成一个网络请求,以及将网络请求拆分成多个业务请求的过程,通过现有技术均可以实现,并非本发明重点,在此不再赘述。
本发明实施例所述的高并发业务请求处理方法,通过设置分组消息队列,首先将业务请求按照目的IP进行分组,然后将同组的业务请求合并成网络请求后再发送给服务器。从而,减少了网络请求次数,提高了对业务请求的处理效率,节省客户端和服务器内存。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (9)

1.一种高并发业务请求处理方法,其特征在于,包括步骤:
A:将业务请求和目的IP压入客户端的分组消息队列;
B:根据所述目的IP,将所述业务请求压入所述分组消息队列的数据存储模块的子消息队列中;
C:将所述子消息队列中的多个业务请求,在所述分组消息队列的网络处理模块中,合并成一个网络请求后发送给所述目的IP对应的服务器。
2.如权利要求1所述的方法,其特征在于,所述数据存储模块包括以散列表实现地一组分组对象。
3.如权利要求2所述的方法,其特征在于,所述分组对象包含键值IP和所述子消息队列。
4.如权利要求3所述的方法,其特征在于,所述步骤B具体包括以下步骤:
B1:判断是否存在一个分组对象的键值IP与所述目的IP一致,如果存在,将所述业务请求压入所述分组对象的子消息队列中,否则,执行步骤B2;
B2:在所述数据存储模块中创建一个新的分组对象,所述新的分组对象的键值IP同于所述目的IP;
B3:将所述业务请求压入所述新的分组对象的子消息队列中。
5.如权利要求1所述的方法,其特征在于,所述网络处理模块包含多个操作系统线程。
6.如权利要求5所述的方法,其特征在于,所述步骤C具体包括以下步骤;
C1:所述线程周期性查询和判断所述子消息队列中的业务请求的数量,如果所述业务请求的数量超过第一设定值m,则将所述子消息队列中前m个业务请求合并成一个网络请求后发送给所述目的IP对应的服务器,否则,执行C2;
C2:所述线程判断所述子消息队列中第1个业务请求的等待时间是否超过第二设定值n,如果超过,则将所述子消息队列中所有业务请求合并成一个网络请求后发送给所述目的IP对应的服务器,否则,执行所述步骤C1。
7.如权利要求6所述的方法,其特征在于,所述第一设定值m为32。
8.如权利要求6所述的方法,其特征在于,所述第二设定值n为200毫秒。
9.如权利要求1所述的方法,其特征在于,在所述步骤C之后还包括步骤D:所述服务器接收所述网络请求后,将所述网络请求拆分成所述多个业务请求后分别进行响应。
CN201110176960XA 2011-06-28 2011-06-28 高并发业务请求处理方法 Pending CN102291324A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110176960XA CN102291324A (zh) 2011-06-28 2011-06-28 高并发业务请求处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110176960XA CN102291324A (zh) 2011-06-28 2011-06-28 高并发业务请求处理方法

Publications (1)

Publication Number Publication Date
CN102291324A true CN102291324A (zh) 2011-12-21

Family

ID=45337442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110176960XA Pending CN102291324A (zh) 2011-06-28 2011-06-28 高并发业务请求处理方法

Country Status (1)

Country Link
CN (1) CN102291324A (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710749A (zh) * 2012-04-28 2012-10-03 广东威创视讯科技股份有限公司 一种消息队列控制方法,及服务器
CN103297474A (zh) * 2012-03-01 2013-09-11 腾讯科技(深圳)有限公司 一种批量处理分包方法和系统
CN103297395A (zh) * 2012-02-24 2013-09-11 阿里巴巴集团控股有限公司 一种互联网业务的实现方法、系统以及装置
CN103473848A (zh) * 2013-09-27 2013-12-25 浪潮齐鲁软件产业有限公司 一种基于高并发的网络发票查验构架及方法
CN104202399A (zh) * 2014-09-05 2014-12-10 国家电网公司 一种基于请求缓冲池的数据服务调度方法
CN105024944A (zh) * 2015-07-14 2015-11-04 南京雨巢网络有限公司 一种基于物联网的喷淋控制器高并发解决方法
CN105554049A (zh) * 2015-08-14 2016-05-04 广州爱九游信息技术有限公司 分布式业务量控制方法和装置
CN106789615A (zh) * 2017-02-04 2017-05-31 重庆优启科技有限公司 一种提高web处理并发请求的方法及使用其的服务站
WO2017181602A1 (zh) * 2016-04-20 2017-10-26 乐视控股(北京)有限公司 点播方法、装置、电子设备及系统
CN107729139A (zh) * 2017-09-18 2018-02-23 北京京东尚科信息技术有限公司 一种并发获取资源的方法和装置
CN107766127A (zh) * 2016-08-23 2018-03-06 阿里巴巴集团控股有限公司 事务消息处理方法、装置、设备及系统
CN108418743A (zh) * 2018-01-16 2018-08-17 北京奇艺世纪科技有限公司 一种聊天室消息分发方法、装置及电子设备
CN108737292A (zh) * 2018-04-18 2018-11-02 千寻位置网络有限公司 一种批量消息的发送方法及系统、服务器
CN109451076A (zh) * 2018-12-29 2019-03-08 乐蜜有限公司 一种网络请求的合并处理方法、装置及电子设备
CN109788306A (zh) * 2018-12-28 2019-05-21 广州华多网络科技有限公司 信息处理方法、装置、服务器及存储介质
CN109842646A (zh) * 2017-11-27 2019-06-04 北京京东尚科信息技术有限公司 网络请求的处理方法和装置
CN109981737A (zh) * 2019-02-22 2019-07-05 香港乐蜜有限公司 一种网络请求的处理方法、装置、终端及存储介质
CN110381030A (zh) * 2019-06-20 2019-10-25 视联动力信息技术股份有限公司 一种同步请求的处理方法及装置
WO2019210574A1 (zh) * 2018-05-04 2019-11-07 平安科技(深圳)有限公司 消息处理方法、装置、设备及可读存储介质
CN110505253A (zh) * 2018-05-16 2019-11-26 杭州海康威视系统技术有限公司 一种请求网页信息的方法、装置及存储介质
CN111327691A (zh) * 2020-01-23 2020-06-23 联想(北京)有限公司 业务处理方法、装置及电子设备
CN112015569A (zh) * 2020-08-11 2020-12-01 支付宝(杭州)信息技术有限公司 消息提醒处理方法及装置
CN112565056A (zh) * 2020-11-11 2021-03-26 中国软件与技术服务股份有限公司 一种即时通讯处理群发上线、下线消息的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1504912A (zh) * 2002-12-05 2004-06-16 �Ҵ���˾ 用树状分段改善树搜索性能和存储器带宽的方法和系统
CN101286875A (zh) * 2008-03-31 2008-10-15 华为技术有限公司 一种批量处理xml文档的方法、系统、装置和终端
CN101604437A (zh) * 2009-07-22 2009-12-16 阿里巴巴集团控股有限公司 账户批量实时处理系统及账户批量实时处理方法
CN101788961A (zh) * 2009-01-23 2010-07-28 英业达集团(天津)电子技术有限公司 对块设备进行异步请求的数据访问方法
US20110066676A1 (en) * 2009-09-14 2011-03-17 Vadim Kleyzit Method and system for reducing web page download time

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1504912A (zh) * 2002-12-05 2004-06-16 �Ҵ���˾ 用树状分段改善树搜索性能和存储器带宽的方法和系统
CN101286875A (zh) * 2008-03-31 2008-10-15 华为技术有限公司 一种批量处理xml文档的方法、系统、装置和终端
CN101788961A (zh) * 2009-01-23 2010-07-28 英业达集团(天津)电子技术有限公司 对块设备进行异步请求的数据访问方法
CN101604437A (zh) * 2009-07-22 2009-12-16 阿里巴巴集团控股有限公司 账户批量实时处理系统及账户批量实时处理方法
US20110066676A1 (en) * 2009-09-14 2011-03-17 Vadim Kleyzit Method and system for reducing web page download time

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297395B (zh) * 2012-02-24 2016-08-24 阿里巴巴集团控股有限公司 一种互联网业务的实现方法、系统以及装置
CN103297395A (zh) * 2012-02-24 2013-09-11 阿里巴巴集团控股有限公司 一种互联网业务的实现方法、系统以及装置
CN103297474A (zh) * 2012-03-01 2013-09-11 腾讯科技(深圳)有限公司 一种批量处理分包方法和系统
CN103297474B (zh) * 2012-03-01 2018-05-15 腾讯科技(深圳)有限公司 一种批量处理分包方法和系统
CN102710749A (zh) * 2012-04-28 2012-10-03 广东威创视讯科技股份有限公司 一种消息队列控制方法,及服务器
CN102710749B (zh) * 2012-04-28 2015-04-08 广东威创视讯科技股份有限公司 一种消息队列控制方法,及服务器
CN103473848A (zh) * 2013-09-27 2013-12-25 浪潮齐鲁软件产业有限公司 一种基于高并发的网络发票查验构架及方法
CN103473848B (zh) * 2013-09-27 2016-09-28 浪潮软件集团有限公司 一种基于高并发的网络发票查验构架及方法
CN104202399A (zh) * 2014-09-05 2014-12-10 国家电网公司 一种基于请求缓冲池的数据服务调度方法
CN105024944A (zh) * 2015-07-14 2015-11-04 南京雨巢网络有限公司 一种基于物联网的喷淋控制器高并发解决方法
CN105554049A (zh) * 2015-08-14 2016-05-04 广州爱九游信息技术有限公司 分布式业务量控制方法和装置
CN105554049B (zh) * 2015-08-14 2018-12-25 广州爱九游信息技术有限公司 分布式业务量控制方法和装置
WO2017181602A1 (zh) * 2016-04-20 2017-10-26 乐视控股(北京)有限公司 点播方法、装置、电子设备及系统
CN107766127A (zh) * 2016-08-23 2018-03-06 阿里巴巴集团控股有限公司 事务消息处理方法、装置、设备及系统
CN107766127B (zh) * 2016-08-23 2021-07-06 阿里巴巴集团控股有限公司 事务消息处理方法、装置、设备及系统
CN106789615A (zh) * 2017-02-04 2017-05-31 重庆优启科技有限公司 一种提高web处理并发请求的方法及使用其的服务站
CN107729139A (zh) * 2017-09-18 2018-02-23 北京京东尚科信息技术有限公司 一种并发获取资源的方法和装置
CN107729139B (zh) * 2017-09-18 2021-02-26 北京京东尚科信息技术有限公司 一种并发获取资源的方法和装置
CN109842646A (zh) * 2017-11-27 2019-06-04 北京京东尚科信息技术有限公司 网络请求的处理方法和装置
CN108418743B (zh) * 2018-01-16 2020-10-02 北京奇艺世纪科技有限公司 一种聊天室消息分发方法、装置及电子设备
CN108418743A (zh) * 2018-01-16 2018-08-17 北京奇艺世纪科技有限公司 一种聊天室消息分发方法、装置及电子设备
CN108737292A (zh) * 2018-04-18 2018-11-02 千寻位置网络有限公司 一种批量消息的发送方法及系统、服务器
WO2019210574A1 (zh) * 2018-05-04 2019-11-07 平安科技(深圳)有限公司 消息处理方法、装置、设备及可读存储介质
CN110505253A (zh) * 2018-05-16 2019-11-26 杭州海康威视系统技术有限公司 一种请求网页信息的方法、装置及存储介质
CN109788306B (zh) * 2018-12-28 2021-07-20 广州华多网络科技有限公司 信息处理方法、装置、服务器及存储介质
CN109788306A (zh) * 2018-12-28 2019-05-21 广州华多网络科技有限公司 信息处理方法、装置、服务器及存储介质
CN109451076A (zh) * 2018-12-29 2019-03-08 乐蜜有限公司 一种网络请求的合并处理方法、装置及电子设备
CN109981737A (zh) * 2019-02-22 2019-07-05 香港乐蜜有限公司 一种网络请求的处理方法、装置、终端及存储介质
WO2020168933A1 (zh) * 2019-02-22 2020-08-27 香港乐蜜有限公司 一种网络请求的处理方法、装置、终端及存储介质
CN109981737B (zh) * 2019-02-22 2021-11-26 卓米私人有限公司 一种网络请求的处理方法、装置、终端及存储介质
CN110381030B (zh) * 2019-06-20 2022-03-11 视联动力信息技术股份有限公司 一种同步请求的处理方法及装置
CN110381030A (zh) * 2019-06-20 2019-10-25 视联动力信息技术股份有限公司 一种同步请求的处理方法及装置
CN111327691A (zh) * 2020-01-23 2020-06-23 联想(北京)有限公司 业务处理方法、装置及电子设备
CN111327691B (zh) * 2020-01-23 2022-03-25 联想(北京)有限公司 业务处理方法、装置及电子设备
CN112015569A (zh) * 2020-08-11 2020-12-01 支付宝(杭州)信息技术有限公司 消息提醒处理方法及装置
CN112015569B (zh) * 2020-08-11 2024-01-30 支付宝(杭州)信息技术有限公司 消息提醒处理方法及装置
CN112565056A (zh) * 2020-11-11 2021-03-26 中国软件与技术服务股份有限公司 一种即时通讯处理群发上线、下线消息的方法和装置
CN112565056B (zh) * 2020-11-11 2022-09-09 中国软件与技术服务股份有限公司 一种即时通讯处理群发上线、下线消息的方法和装置

Similar Documents

Publication Publication Date Title
CN102291324A (zh) 高并发业务请求处理方法
CN103942098A (zh) 一种任务处理系统和方法
US20130054521A1 (en) Method and device for automactic migration of system configuration item
CN103067453A (zh) 一种通讯录共享方法及系统
US11431827B2 (en) Data center management system
CN101771723A (zh) 数据同步方法
CN102761528A (zh) 数据管理系统及方法
CN103412786A (zh) 一种高性能服务器架构系统及数据处理方法
WO2012159538A1 (zh) 一种信息共享的即时通讯系统及方法
CN102546839B (zh) 面向大规模网络的高效、可靠的软件分发方法
CN111787349B (zh) 一种数据缓存方法、装置、设备及介质
WO2013004191A1 (zh) 一种消息推送方法及即时通信服务器
CN102891809A (zh) 多核网络设备报文按接口保序方法及系统
CN102932262A (zh) 网络处理器镜像实现方法及网络处理器
CN102932269A (zh) 负载均衡的实现方法和装置
WO2014173366A2 (zh) 一种实现电信能力群发的方法、装置及系统
US11700189B2 (en) Method for performing task processing on common service entity, common service entity, apparatus and medium for task processing
Qing et al. Hybrid virtual network embedding with K-core decomposition and time-oriented priority
CN101778131A (zh) 数据同步系统
WO2012159535A1 (zh) 一种实现用户信息共享的即时通讯系统及方法
CN101789963A (zh) 数据同步系统
CN106612300A (zh) 一种消息推送方法及推送服务器
WO2012159493A1 (zh) 一种用于实现用户信息共享的即时通讯系统及方法
CN105656647B (zh) 堆叠系统中实现分工的方法、主设备、备设备和系统
CN104899105A (zh) 一种进程间通信方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20111221