CN103905484A - 处理超文本传输协议请求的方法及装置 - Google Patents

处理超文本传输协议请求的方法及装置 Download PDF

Info

Publication number
CN103905484A
CN103905484A CN201210576014.9A CN201210576014A CN103905484A CN 103905484 A CN103905484 A CN 103905484A CN 201210576014 A CN201210576014 A CN 201210576014A CN 103905484 A CN103905484 A CN 103905484A
Authority
CN
China
Prior art keywords
http
processing
resolution data
processing queue
distributed
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.)
Granted
Application number
CN201210576014.9A
Other languages
English (en)
Other versions
CN103905484B (zh
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 Feinno Communication Technology Co Ltd
Original Assignee
Beijing Feinno Communication Technology 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 Feinno Communication Technology Co Ltd filed Critical Beijing Feinno Communication Technology Co Ltd
Priority to CN201210576014.9A priority Critical patent/CN103905484B/zh
Publication of CN103905484A publication Critical patent/CN103905484A/zh
Application granted granted Critical
Publication of CN103905484B publication Critical patent/CN103905484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种处理超文本传输协议请求的方法及装置,属于网络技术领域。方法包括:接收多个超文本传输协议HTTP请求;获取与每个HTTP请求相对应的网络数据流,并对每个HTTP请求对应的网络数据流进行解析,得到与每个HTTP请求相对应的解析数据;得到解析数据后,将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,并调用对应的处理线程对其处理队列中的解析数据进行处理。本发明通过将HTTP请求对应的解析数据分发至对应处理线程的处理队列,并调用该处理线程对其处理队列中的解析数据进行处理,可实现在HTTP请求的数量大于开启的处理线程的数量时,顺畅地对解析数据进行处理,处理线程数量不会随HTTP请求的数量增长而线性增长,从而降低系统开销。

Description

处理超文本传输协议请求的方法及装置
技术领域
本发明涉及网络技术领域,特别涉及一种处理超文本传输协议请求的方法及装置。
背景技术
随着互联网技术的蓬勃发展,互联网上的应用日趋丰富,用户可通过安装在应用客户端的各种应用快捷地获取信息。在应用客户端与应用服务器交互的过程中,应用客户端会向应用服务器发送HTTP(Hyper text Trans port Protocol,超文本传输协议)请求,而当应用服务器端接收到大量的HTTP请求时,为保证应用客户端与应用服务器之间的信息能够顺利传输,如何对数目众多的HTTP请求进行处理,成为了一个亟待解决的问题。
现有技术中,应用服务器在收到大量的HTTP请求后,会开启大量的线程对HTTP请求同步进行处理,即当接收到的HTTP请求数量增加时,开启的线程数量也随之增加,直至可以处理所有HTTP请求。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于现有技术中应用服务器对接收到的HTTP请求进行同步处理,所以当接收到的HTTP请求数量大幅度攀升时,开启的线程数量也随之攀升,而不断攀升的线程数量最终会耗尽应用服务器的资源,导致应用服务器崩溃,从而使应用客户端与应用服务器之间的信息传输中断。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种处理超文本传输协议请求的方法及装置。所述技术方案如下:
一方面,提供了一种处理超文本传输协议请求的方法,所述方法包括:
接收多个HTTP请求,所述HTTP请求的数量大于开启的处理线程的数量;
获取与每个HTTP请求相对应的网络数据流,并对每个HTTP请求对应的网络数据流进行解析,得到与每个HTTP请求相对应的解析数据;
得到解析数据后,将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,并调用所述对应的处理线程对其处理队列中的解析数据进行处理。
进一步地,所述将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,包括:
对于任一HTTP请求对应的解析数据,判断所述任一HTTP请求对应的解析数据待分发至的处理线程的处理队列是否具有空闲空间;
如果所述处理队列具有空闲空间,则将所述任一HTTP请求对应的解析数据分发至所述处理队列的空闲空间中。
进一步地,所述判断所述任一HTTP请求对应的解析数据待分发至的处理线程的处理队列是否具有空闲空间之后,还包括:
如果所述处理队列未具有空闲空间,则将所述任一HTTP请求对应的解析数据分发至其他处理线程的处理队列中;或,
如果所述处理队列未具有空闲空间,则待所述处理队列具有空闲空间后,再将所述任一HTTP请求对应的解析数据分发至所述处理队列的空闲空间中;或,
如果所述处理队列未具有空闲空间,则开启新的处理线程,将所述任一HTTP请求对应的解析数据分发至所述新的处理线程的处理队列中。
进一步地,所述将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,包括:
根据每个HTTP请求对应的解析数据的哈希值将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中。
进一步地,所述调用所述对应的处理线程对其处理队列中的解析数据进行处理,包括:
调用所述对应的处理线程按照先进先出的顺序对处理队列中的解析数据进行处理。
另一方面,提供了一种处理超文本传输协议请求的装置,所述装置包括:
接收模块,用于接收多个HTTP请求,所述HTTP请求的数量大于开启的处理线程的数量;
获取模块,用于获取与所述接收模块接收到的每个HTTP请求相对应的网络数据流;
解析模块,用于对所述获取模块获取到的每个HTTP请求对应的网络数据流进行解析,得到与每个HTTP请求相对应的解析数据;
分发模块,用于在得到解析数据后,将所述解析模块解析出的每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中;
处理模块,用于调用所述对应的处理线程对其处理队列中所述分发模块分发的解析数据进行处理。
进一步地,所述分发模块,包括:
判断单元,用于对于任一HTTP请求对应的解析数据,判断所述任一HTTP请求对应的解析数据待分发至的处理线程的处理队列是否具有空闲空间;
分发单元,用于如果所述判断单元判断所述处理队列具有空闲空间,则将所述任一HTTP请求对应的解析数据分发至所述处理队列的空闲空间中。
进一步地,所述分发单元,还用于如果所述判断单元判断所述处理队列未具有空闲空间,则将所述任一HTTP请求对应的解析数据分发至其他处理线程的处理队列中;或,
如果所述判断单元判断所述处理队列未具有空闲空间,则待所述处理队列具有空闲空间后,再将所述任一HTTP请求对应的解析数据分发至所述处理队列的空闲空间中;或,
如果所述判断单元判断所述处理队列未具有空闲空间,则开启新的处理线程,将所述任一HTTP请求对应的解析数据分发至所述新的处理线程的处理队列中。
进一步地,所述分发模块,用于根据每个HTTP请求对应的解析数据的哈希值将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中。
进一步地,所述处理模块,用于调用所述对应的处理线程按照先进先出的顺序对处理队列中所述分发模块分发的解析数据进行处理。
本发明实施例提供的技术方案带来的有益效果是:
通过将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,并调用所述对应的处理线程对其处理队列中的解析数据进行处理,可实现在HTTP请求的数量大于开启的处理线程的数量时,稳定顺畅地对HTTP请求对应的解析数据进行处理,处理线程数量不会随着HTTP请求的数量增长而线性增长,从而降低了系统的开销,提高了系统的承载能力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的处理超文本传输协议请求的方法流程图;
图2是本发明实施例二提供的处理超文本传输协议请求的方法流程图;
图3是本发明实施例三提供的处理超文本传输协议请求的装置的结构示意图;
图4是本发明实施例三提供的分发模块的内部结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种处理超文本传输协议请求的方法,参见图1,方法流程包括:
步骤101:接收多个HTTP请求,HTTP请求的数量大于开启的处理线程的数量;
步骤102:获取与每个HTTP请求相对应的网络数据流,并对每个HTTP请求对应的网络数据流进行解析,得到与每个HTTP请求相对应的解析数据;
步骤103:得到解析数据后,将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,并调用对应的处理线程对其处理队列中的解析数据进行处理。
进一步地,将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,包括:
对于任一HTTP请求对应的解析数据,判断任一HTTP请求对应的解析数据待分发至的处理线程的处理队列是否具有空闲空间;
如果处理队列具有空闲空间,则将任一HTTP请求对应的解析数据分发至处理队列的空闲空间中。
进一步地,判断任一HTTP请求对应的解析数据待分发至的处理线程的处理队列是否具有空闲空间之后,还包括:
如果处理队列未具有空闲空间,则将任一HTTP请求对应的解析数据分发至其他处理线程的处理队列中;或,
如果处理队列未具有空闲空间,则待处理队列具有空闲空间后,再将任一HTTP请求对应的解析数据分发至处理队列的空闲空间中;或,
如果处理队列未具有空闲空间,则开启新的处理线程,将任一HTTP请求对应的解析数据分发至新的处理线程的处理队列中。
进一步地,将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,包括:
根据每个HTTP请求对应的解析数据的哈希值将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中。
进一步地,调用对应的处理线程对其处理队列中的解析数据进行处理,包括:
调用对应的处理线程按照先进先出的顺序对处理队列中的解析数据进行处理。
本实施例提供的方法,通过将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,并调用所述对应的处理线程对其处理队列中的解析数据进行处理,可实现在HTTP请求的数量大于开启的处理线程的数量时,稳定顺畅地对HTTP请求对应的解析数据进行处理,处理线程数量不会随着HTTP请求的数量增长而线性增长,从而降低了系统的开销,提高了系统的承载能力。进一步地,调用对应的处理线程按照先进先出的顺序对处理队列中的解析数据进行处理,使得处理线程处理HTTP请求对应的解析数据的方式更加有序及更加规则化。
实施例二
本发明实施例提供了一种处理超文本传输协议请求的方法,为了便于说明,以客户端A发送HTTP请求,处理超文本传输协议请求的装置B接收HTTP请求并对其进行处理为例,对本实施例提供的方法进行详细说明。参见图2,方法流程包括:
步骤201:接收多个HTTP请求,HTTP请求的数量大于开启的处理线程的数量;
具体地,接收HTTP请求的具体实现方式可依据现有的接收方式实现,例如,一同接收多个HTTP请求,并将多个HTTP请求缓存至存储介质中,本实施例对此不作具体限定。其中,存储介质具体可为只读寄存器,当然,存储介质的类型,除上述只读寄存器外,还可以为其他类型的存储介质,例如,闪存或硬盘等等,本实施例对存储介质的类型不进行具体限定。
针对接收的HTTP请求的数量大于开启的处理线程的数量的情况,本实施例在后续步骤中对处理HTTP请求的过程进行了详细阐述;而针对接收的HTTP请求的数量小于或等于开启的处理线程的数量的情况,处理超文本传输协议请求的装置B可实现同时处理上述全部HTTP请求,与同步处理HTTP请求的方法一致,此处不再赘述。
进一步地,在接收多个HTTP请求之前,本实施例提供的方法还包括,处理超文本传输协议请求的装置B与客户端A建立TCP(Transmission ControlProtocol,传输控制协议)连接的过程。该建立TCP连接的具体过程为:首先客户端A向处理超文本传输协议请求的装置B发送TCP连接请求,并进入连接请求发送状态,等待处理超文本传输协议请求的装置B确认;处理超文本传输协议请求的装置B接收到客户端A发送的TCP连接请求后,先对该TCP连接请求进行确认,之后根据该TCP连接请求建立及初始化一个连接实例,并向客户端A返回一个新的TCP连接请求,且同时该处理超文本传输协议请求的装置B进入连接请求收到状态;客户端A在接收到处理超文本传输协议请求的装置B返回的TCP连接请求后,向处理超文本传输协议请求的装置B发送确认消息,该确认消息发送完毕后,处理超文本传输协议请求的装置B与客户端A便同时进入建立TCP连接状态,完成三次握手。在完成三次握手之后,处理超文本传输协议请求的装置B与客户端A之间便可进行数据传输。
步骤202:获取与每个HTTP请求相对应的网络数据流,并对每个HTTP请求对应的网络数据流进行解析,得到与每个HTTP请求相对应的解析数据;
具体地,在接收到多个HTTP请求后,便可获取与每个HTTP请求相对应的网络数据流。其中,获取与每个HTTP请求相对应的网络数据流的具体实现方式可依据现有的获取方式实现,例如,同时获取与每个HTTP请求相对应的网络数据流,并将上述每个HTTP请求对应的网络数据流缓存至自身的存储空间,本实施例对此不作具体限定。在获取到与HTTP请求相对应的网络数据流之后,对上述每个HTTP请求对应的网络数据流进行解析。解析每个HTTP请求对应的网络数据流的具体实现方式可依据现有的解析方式实现,例如,对每个HTTP请求对应的网络数据流中的关键数据进行提取和分析,并生成解析数据,本实施例对解析网络数据流的方式同样不作具体限定。
步骤203:对于任一HTTP请求对应的解析数据,判断所述任一HTTP请求对应的解析数据待分发至的处理线程的处理队列是否具有空闲空间;如果处理队列具有空闲空间,则执行步骤204;如果处理队列未具有空闲空间,则执行步骤205至步骤207中的任一步骤;
在每个处理线程开启时,会相应的为该处理线程创建一个与之相对应的处理队列。针对步骤203,为了明确具体将某一HTTP请求对应的解析数据分发给哪一个处理线程进行处理,本实施例提供的方法还包括根据每个HTTP请求对应的解析数据的哈希值将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中的步骤。由于每个HTTP请求对应的解析数据的哈希值不同,因此,可根据哈希值将多个HTTP请求对应的解析数据分发给不同的处理线程,而不同的处理线程则对应不同的哈希值或对应处于某一范围内的哈希值。其中,除根据HTTP请求对应的解析数据的哈希值确定HTTP请求对应的解析数据的处理线程外,还可以采用其他方式确定具体将某一HTTP请求对应的解析数据分发给哪一个处理线程进行处理,本实施例对此不进行具体限定。
步骤204:将所述任一HTTP请求对应的解析数据分发至处理队列的空闲空间中;
具体地,将所述任一HTTP请求对应的解析数据分发至处理队列的空闲空间中的具体实现方式可依据现有的分发方式实现,例如,将所述任一HTTP请求对应的解析数据进行压缩后分发至处理队列的空闲空间中,本实施例对此不进行具体限定。其中,处理队列具体可为数据缓冲区等等,本实施例对此同样不进行具体限定。
进一步地,在将HTTP请求对应的解析数据分发至处理队列的空闲空间后,便可直接执行下述步骤208调用对应的处理线程对其进行处理。
步骤205:将所述任一HTTP请求对应的解析数据分发至其他处理线程的处理队列中;
其中,将该HTTP请求对应的解析数据分发至其他具有空闲空间的处理线程的处理队列中的具体实现方式可依据现有的分发方式实现,例如,将该HTTP请求对应的解析数据进行压缩后分发至其他具有空闲空间的处理线程的处理队列中,本实施例对此不进行具体限定。其中,其他处理线程的处理队列具体可为数据缓冲区等等,本实施例对此同样不进行具体限定。
进一步地,在将HTTP请求对应的解析数据分发至其他处理线程的处理队列中后,便可直接执行下述步骤208调用对应的处理线程对其进行处理。
步骤206:待处理队列具有空闲空间后,再将所述任一HTTP请求对应的解析数据分发至处理队列的空闲空间中;
针对该步骤,将HTTP请求对应的解析数据分发至处理队列的空闲空间中的具体实现方式可依据现有的分发方式实现,例如,将该HTTP请求对应的解析数据进行压缩后分发至处理队列的空闲空间中,本实施例对此不进行具体限定。其中,处理队列具体可为数据缓冲区等等,本实施例对此同样不进行具体限定。
进一步地,在将HTTP请求对应的解析数据分发至处理队列的空闲空间后,便可直接执行下述步骤208调用对应的处理线程对其进行处理。
步骤207:开启新的处理线程,将所述任一HTTP请求对应的解析数据分发至新的处理线程的处理队列中;
具体地,如果HTTP请求对应的解析数据待分发至的处理线程的处理队列未具有空闲空间且开启的处理线程数量未达到预设数目,则可开启新的处理线程,并将该HTTP请求对应的解析数据分发至新的处理线程的处理队列中。其中,将该HTTP请求对应的解析数据分发至新的处理线程的处理队列中的具体实现方式可依据现有的分发方式实现,例如,将该HTTP请求对应的解析数据进行压缩后分发至新的处理线程的处理队列中,本实施例对此不进行具体限定。其中,新的处理线程的处理队列具体可为数据缓冲区等等,本实施例对此同样不进行具体限定;预设数目的大小具体可为50个,当然预设数目除上述数值外,还可为其他数值,例如,100个等等,本实施例预设数目的大小也不进行具体限定。
进一步地,在将HTTP请求对应的解析数据分发至新的处理线程的处理队列中后,便可直接执行步骤208调用对应的处理线程对其进行处理。
步骤208:调用对应的处理线程对其处理队列中的解析数据进行处理。
针对该步骤,在将任一HTTP请求对应的解析数据分发至对应的处理线程的处理队列中后,便可调用对应的处理线程对其进行处理;而如果对应的处理线程的处理队列中此时还存储了其他HTTP请求对应的解析数据,则按照先进先出的顺序对存储在该处理队列中的解析数据依次进行处理。其中,除按照先进先出的顺序对存储在处理队列中的解析数据进行处理之外,还可以按照其他方式对解析数据进行处理,例如,按照预设优先级对解析数据进行处理,本实施例对此不作具体限定。
进一步地,在通过软件编程实现本实施例提供的方法时,接收客户端A发送的TCP连接可由process Accept()函数实现,初始化及建立与该TCP连接对应的连接实例可由constructor()函数及regist Http Connection()函数实现,接收HTTP请求及对应的网络数据流可由process Receive()及receive Data()函数实现,解析HTTP请求对应的网络数据流可由parser()函数实现,将HTTP请求对应的解析数据分发至对应的处理线程的处理队列及调用对应的处理线程对HTTP请求对应的解析数据可由dispatch()函数及receive Handler()函数实现。除此之外,上述各个过程还可以采用其他函数实现,本实施例对此不作具体限定。
本实施例提供的方法,通过将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,并调用所述对应的处理线程对其处理队列中的解析数据进行处理,可实现在HTTP请求的数量大于开启的处理线程的数量时,稳定顺畅地对HTTP请求对应的解析数据进行处理,处理线程数量不会随着HTTP请求的数量增长而线性增长,从而降低了系统的开销,提高了系统的承载能力。进一步地,调用对应的处理线程按照先进先出的顺序对处理队列中的解析数据进行处理,使得处理线程处理HTTP请求对应的解析数据的方式更加有序及更加规则化。
实施例三
本发明实施例提供了一种处理超文本传输协议请求的装置,用于执行上述实施例一或实施例二所提供的方法,参见图3,该装置包括:
接收模块31,用于接收多个HTTP请求,HTTP请求的数量大于开启的处理线程的数量;
获取模块32,用于获取与接收模块31接收到的每个HTTP请求相对应的网络数据流;
解析模块33,用于对获取模块32获取到的每个HTTP请求对应的网络数据流进行解析,得到与每个HTTP请求相对应的解析数据;
分发模块34,用于在得到解析数据后,将解析模块33解析出的每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中;
处理模块35,用于调用对应的处理线程对其处理队列中分发模块34分发的解析数据进行处理。
进一步地,参见图4,分发模块34,包括:
判断单元341,用于对于任一HTTP请求对应的解析数据,判断所述任一HTTP请求对应的解析数据待分发至的处理线程的处理队列是否具有空闲空间;
分发单元342,用于如果判断单元341判断处理队列具有空闲空间,则将所述任一HTTP请求对应的解析数据分发至处理队列的空闲空间中。
进一步地,分发单元342,还用于如果判断单元341判断处理队列未具有空闲空间,则将所述任一HTTP请求对应的解析数据分发至其他处理线程的处理队列中;
或,
如果判断单元341判断处理队列未具有空闲空间,则待处理队列具有空闲空间后,再将所述任一HTTP请求对应的解析数据分发至处理队列的空闲空间中;
或,
如果判断单元341判断处理队列未具有空闲空间,则开启新的处理线程,将所述任一HTTP请求对应的解析数据分发至新的处理线程的处理队列中。
进一步地,分发模块34,用于根据每个HTTP请求对应的解析数据的哈希值将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中。
进一步地,处理模块35,用于调用对应的处理线程按照先进先出的顺序对处理队列中分发模块34分发的解析数据进行处理。
综上所述,本发明实施例提供的装置,通过将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,并调用所述对应的处理线程对其处理队列中的解析数据进行处理,可实现在HTTP请求的数量大于开启的处理线程的数量时,稳定顺畅地对HTTP请求对应的解析数据进行处理,处理线程数量不会随着HTTP请求的数量增长而线性增长,从而降低了系统的开销,提高了系统的承载能力。进一步地,调用对应的处理线程按照先进先出的顺序对处理队列中的解析数据进行处理,使得处理线程处理HTTP请求对应的解析数据的方式更加有序及更加规则化。
需要说明的是:上述实施例提供的处理超文本传输协议请求的装置在处理超文本传输协议请求时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的处理超文本传输协议请求的装置与处理超文本传输协议请求的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种处理超文本传输协议请求的方法,其特征在于,所述方法包括:
接收多个超文本传输协议HTTP请求,所述HTTP请求的数量大于开启的处理线程的数量;
获取与每个HTTP请求相对应的网络数据流,并对每个HTTP请求对应的网络数据流进行解析,得到与每个HTTP请求相对应的解析数据;
得到解析数据后,将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,并调用所述对应的处理线程对其处理队列中的解析数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,包括:
对于任一HTTP请求对应的解析数据,判断所述任一HTTP请求对应的解析数据待分发至的处理线程的处理队列是否具有空闲空间;
如果所述处理队列具有空闲空间,则将所述任一HTTP请求对应的解析数据分发至所述处理队列的空闲空间中。
3.根据权利要求2所述的方法,其特征在于,所述判断所述任一HTTP请求对应的解析数据待分发至的处理线程的处理队列是否具有空闲空间之后,还包括:
如果所述处理队列未具有空闲空间,则将所述任一HTTP请求对应的解析数据分发至其他处理线程的处理队列中;或,
如果所述处理队列未具有空闲空间,则待所述处理队列具有空闲空间后,再将所述任一HTTP请求对应的解析数据分发至所述处理队列的空闲空间中;或,
如果所述处理队列未具有空闲空间,则开启新的处理线程,将所述任一HTTP请求对应的解析数据分发至所述新的处理线程的处理队列中。
4.根据权利要求1至3中任一权利要求所述的方法,其特征在于,所述将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中,包括:
根据每个HTTP请求对应的解析数据的哈希值将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中。
5.根据权利要求1至3中任一权利要求所述的方法,其特征在于,所述调用所述对应的处理线程对其处理队列中的解析数据进行处理,包括:
调用所述对应的处理线程按照先进先出的顺序对处理队列中的解析数据进行处理。
6.一种处理超文本传输协议请求的装置,其特征在于,所述装置包括:
接收模块,用于接收多个超文本传输协议HTTP请求,所述HTTP请求的数量大于开启的处理线程的数量;
获取模块,用于获取与所述接收模块接收到的每个HTTP请求相对应的网络数据流;
解析模块,用于对所述获取模块获取到的每个HTTP请求对应的网络数据流进行解析,得到与每个HTTP请求相对应的解析数据;
分发模块,用于在得到解析数据后,将所述解析模块解析出的每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中;
处理模块,用于调用所述对应的处理线程对其处理队列中所述分发模块分发的解析数据进行处理。
7.根据权利要求6所述的装置,其特征在于,所述分发模块,包括:
判断单元,用于对于任一HTTP请求对应的解析数据,判断所述任一HTTP请求对应的解析数据待分发至的处理线程的处理队列是否具有空闲空间;
分发单元,用于如果所述判断单元判断所述处理队列具有空闲空间,则将所述任一HTTP请求对应的解析数据分发至所述处理队列的空闲空间中。
8.根据权利要求7所述的装置,其特征在于,所述分发单元,还用于如果所述判断单元判断所述处理队列未具有空闲空间,则将所述任一HTTP请求对应的解析数据分发至其他处理线程的处理队列中;或,
如果所述判断单元判断所述处理队列未具有空闲空间,则待所述处理队列具有空闲空间后,再将所述任一HTTP请求对应的解析数据分发至所述处理队列的空闲空间中;或,
如果所述判断单元判断所述处理队列未具有空闲空间,则开启新的处理线程,将所述任一HTTP请求对应的解析数据分发至所述新的处理线程的处理队列中。
9.根据权利要求6至8中任一权利要求所述的装置,其特征在于,所述分发模块,用于根据每个HTTP请求对应的解析数据的哈希值将每个HTTP请求对应的解析数据分发至对应的处理线程的处理队列中。
10.根据权利要求6至8中任一权利要求所述的装置,其特征在于,所述处理模块,用于调用所述对应的处理线程按照先进先出的顺序对处理队列中所述分发模块分发的解析数据进行处理。
CN201210576014.9A 2012-12-26 2012-12-26 处理超文本传输协议请求的方法及装置 Active CN103905484B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210576014.9A CN103905484B (zh) 2012-12-26 2012-12-26 处理超文本传输协议请求的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210576014.9A CN103905484B (zh) 2012-12-26 2012-12-26 处理超文本传输协议请求的方法及装置

Publications (2)

Publication Number Publication Date
CN103905484A true CN103905484A (zh) 2014-07-02
CN103905484B CN103905484B (zh) 2017-08-01

Family

ID=50996638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210576014.9A Active CN103905484B (zh) 2012-12-26 2012-12-26 处理超文本传输协议请求的方法及装置

Country Status (1)

Country Link
CN (1) CN103905484B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141549A (zh) * 2015-08-17 2015-12-09 北京京东尚科信息技术有限公司 网络请求处理方法和装置
CN105490956A (zh) * 2015-12-07 2016-04-13 方正移动传媒技术(北京)有限公司 一种网络请求处理方法及装置
CN110519329A (zh) * 2019-07-23 2019-11-29 苏州浪潮智能科技有限公司 一种并发处理samba协议请求的方法、设备及可读介质
CN110995798A (zh) * 2019-11-21 2020-04-10 上海龙旗科技股份有限公司 一种用于功能手机网络应用的数据通信方法和系统
CN112206507A (zh) * 2020-10-19 2021-01-12 珠海金山网络游戏科技有限公司 协议处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621458A (zh) * 2008-06-30 2010-01-06 国际商业机器公司 异步处理网络请求的方法和系统
CN101882089A (zh) * 2009-05-07 2010-11-10 中兴通讯股份有限公司 一种采用多线程处理业务会话应用的方法及装置
US20110145835A1 (en) * 2009-12-14 2011-06-16 Verisign, Inc. Lockless Queues
CN102202094A (zh) * 2011-05-13 2011-09-28 中兴通讯股份有限公司 一种基于http的业务请求处理方法及装置
CN102340545A (zh) * 2011-10-31 2012-02-01 深圳市五巨科技有限公司 服务器及其数据处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621458A (zh) * 2008-06-30 2010-01-06 国际商业机器公司 异步处理网络请求的方法和系统
CN101882089A (zh) * 2009-05-07 2010-11-10 中兴通讯股份有限公司 一种采用多线程处理业务会话应用的方法及装置
US20110145835A1 (en) * 2009-12-14 2011-06-16 Verisign, Inc. Lockless Queues
CN102202094A (zh) * 2011-05-13 2011-09-28 中兴通讯股份有限公司 一种基于http的业务请求处理方法及装置
CN102340545A (zh) * 2011-10-31 2012-02-01 深圳市五巨科技有限公司 服务器及其数据处理方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141549A (zh) * 2015-08-17 2015-12-09 北京京东尚科信息技术有限公司 网络请求处理方法和装置
CN105141549B (zh) * 2015-08-17 2018-09-21 北京京东尚科信息技术有限公司 网络请求处理方法和装置
CN105490956A (zh) * 2015-12-07 2016-04-13 方正移动传媒技术(北京)有限公司 一种网络请求处理方法及装置
CN110519329A (zh) * 2019-07-23 2019-11-29 苏州浪潮智能科技有限公司 一种并发处理samba协议请求的方法、设备及可读介质
CN110519329B (zh) * 2019-07-23 2022-06-07 苏州浪潮智能科技有限公司 一种并发处理samba协议请求的方法、设备及可读介质
CN110995798A (zh) * 2019-11-21 2020-04-10 上海龙旗科技股份有限公司 一种用于功能手机网络应用的数据通信方法和系统
CN112206507A (zh) * 2020-10-19 2021-01-12 珠海金山网络游戏科技有限公司 协议处理方法及装置
CN112206507B (zh) * 2020-10-19 2023-02-17 珠海金山数字网络科技有限公司 协议处理方法及装置

Also Published As

Publication number Publication date
CN103905484B (zh) 2017-08-01

Similar Documents

Publication Publication Date Title
CN111580995B (zh) 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统
CN110113381B (zh) 一种区块链中订阅主题的方法及装置
CN103905484A (zh) 处理超文本传输协议请求的方法及装置
CN107729139A (zh) 一种并发获取资源的方法和装置
CN104468638B (zh) 一种分布式数据处理方法及系统
CN110224896B (zh) 一种网络性能数据采集方法、装置及存储介质
CN112437047A (zh) 一种远程服务器管理方法、系统及相关装置
CN107332857B (zh) 一种网络数据传输方法、装置、系统和存储介质
CN108833565A (zh) 一种监控服务器的方法、装置、服务器和存储介质
CN106528272B (zh) 一种数据处理装置、方法及终端
CN113452667A (zh) 一种适用于多种协议类型的边缘物联终端接入方法
CN110138738A (zh) 办公会议智能化的方法、装置、系统、存储介质和服务器
CN111158876B (zh) 一种日志处理方法、装置、设备及计算机可读存储介质
CN113342503B (zh) 实时进度反馈方法、装置、设备及存储介质
CN111447273B (zh) 云处理系统及基于云处理系统的数据处理方法
CN113965628A (zh) 消息调度方法、服务器和存储介质
CN110572476B (zh) 一种远程控制方法、装置及设备
CN102523122B (zh) 广域网终端设备远程管理方法及管理装置
CN109714369B (zh) 分布式充电桩通信系统的通信方法、充电桩及联网装置
CN108494606B (zh) 一种基于wcf技术的数据服务框架搭建方法
CN104079658B (zh) Web环境下基于池技术的环保物联网实时控制方法
CN109697132A (zh) 一种终端设备的即时通信系统及方法
CN108881373A (zh) 一种基于mvc框架的前端数据流处理方法
CN107659557A (zh) 一种简单的大数据分布式调用计算方法
CN102693434B (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
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building block A room 602

Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.