CN102340545A - 服务器及其数据处理方法 - Google Patents

服务器及其数据处理方法 Download PDF

Info

Publication number
CN102340545A
CN102340545A CN201110336731XA CN201110336731A CN102340545A CN 102340545 A CN102340545 A CN 102340545A CN 201110336731X A CN201110336731X A CN 201110336731XA CN 201110336731 A CN201110336731 A CN 201110336731A CN 102340545 A CN102340545 A CN 102340545A
Authority
CN
China
Prior art keywords
request
java
connection
data
result
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
CN201110336731XA
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.)
Shenzhen Wuju Technology Co Ltd
Original Assignee
Shenzhen Wuju 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 Shenzhen Wuju Technology Co Ltd filed Critical Shenzhen Wuju Technology Co Ltd
Priority to CN201110336731XA priority Critical patent/CN102340545A/zh
Publication of CN102340545A publication Critical patent/CN102340545A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

本发明提供一种服务器及其数据处理方法,该方法首先接收客户端发送的连接请求,将所述连接请求的连接标识和发送的字节数据形成二元组请求数据包,保存到二元组请求数据包队列,再将所述二元组请求数据包解析为java数据对象,保存到合法请求java对象队列,并根据所述java数据对象的请求类型寻找对应类型的空闲线程进行处理,将处理结果和所述连接标识组成处理结果java对象,保存到处理结果java对象队列,最后根据所述连接标识在请求连接队列中找到所述连接请求,发送所述处理结果至客户端。本发明的技术方案系统处理速度快,线程及代码之间的依赖关系低,便于升级和维护,系统逻辑过程无需更改,便可以扩展到不同的业务规则和业务逻辑。

Description

服务器及其数据处理方法
技术领域
本发明属于网络通信数据处理领域,尤其涉及一种服务器及其数据处理方法。
背景技术
在现有技术中,客户端浏览器与服务器之间的HTTP(Hyper Text TransferProtocol,超文本传输协议)连接是无状态的。也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但操作结束就中断连接。如果客户端浏览器访问的某个HTML(Hyper Text Markup Language,是为网页创建设计的一种标记语言)网页或其他类型的网页中包含有其他的网络资源,如JavaScript(客户端网页开发的一种脚本语言)文件、图像文件、CSS(一种用来为结构化文档的计算机语言)文件等,当浏览器每遇到这样一个网络资源,就会和服务器之间建立一个HTTP连接,这样的处理方法是非常浪费时间的。
基于上述问题,现有技术中提供了一种长连接处理方式。所谓长连接,是指在一个HTTP连接上可以连续发送多个数据包,发送完毕后再断开连接。在连接保持期间,如果没有数据包发送,则浏览器与服务器双方需要发送链路检测包。
发明内容
本发明提供了一种服务器及其数据处理方法,旨在解决现有的服务器数据处理过程系统处理速度慢,线程及代码之间的依赖关系高,难以进行扩展的问题。
本发明是这样实现的,一种服务器数据处理方法,包括:
步骤a:接收客户端发送的连接请求;
步骤b:将所述连接请求的连接标识和发送的字节数据形成二元组请求数据包,保存到二元组请求数据包队列;
步骤c:将所述二元组请求数据包解析为java数据对象,保存到合法请求java对象队列;
步骤d:根据所述java数据对象的请求类型寻找对应类型的空闲线程进行处理,将处理结果和所述连接标识组成处理结果java对象,保存到处理结果java对象队列;
步骤e:根据所述连接标识在请求连接队列中找到所述连接请求,发送所述处理结果至所述客户端。
在本发明的技术方案中,所述步骤a进一步包括:为所述连接请求分配唯一的连接标识。
在本发明的技术方案中,所述步骤c进一步包括:读取所述二元组请求数据包队列,对队列的每个请求包执行过滤器链处理,处理结果正常则继续解析所述二元组请求数据包,否则生成异常处理信息,并将所述异常处理信息和所述连接标识组成处理结果java对象,保存到所述处理结果java对象队列。
在本发明的技术方案中,所述步骤d具体包括:读取所述合法请求java对象队列,根据所述java数据对象的请求类型到处理者线程池中寻找对应类型的空闲线程,将所述空闲线程的状态改变为忙碌,交给所述空闲线程处理所述类型的业务逻辑,在处理完毕后将所述忙碌线程的状态改变为空闲。
在本发明的技术方案中,所述方法进一步包括:读取所述请求连接队列,发送心跳侦测请求判断所述连接请求是否存活,并在所述连接请求不存活后释放所述连接请求的所有系统资源,将所述连接请求移出所述请求连接队列。
本发明的另一技术方案为:一种服务器,包括请求接收模块、二元组请求数据包形成模块、java数据对象解析模块、处理结果java对象形成模块以及请求处理结果发送模块,所述请求接收模块用于接收客户端发送的连接请求,所述二元组请求数据包形成模块用于将所述连接请求的连接标识和发送的字节数据形成二元组请求数据包,保存到二元组请求数据包队列,所述java数据对象解析模块用于将所述二元组请求数据包解析为java数据对象,保存到合法请求java对象队列,所述处理结果java对象形成模块用于根据所述java数据对象的请求类型寻找对应类型的空闲线程进行处理,将处理结果和所述连接标识组成处理结果java对象,保存到处理结果java对象队列,所述请求处理结果发送模块用于根据所述连接标识在请求连接队列中找到所述连接请求,发送所述处理结果至所述客户端。
在本发明的技术方案中,所述服务器进一步包括连接标识分配模块,所述连接标识分配模块用于为所述连接请求分配唯一的连接标识。
在本发明的技术方案中,所述服务器进一步包括过滤器链处理模块及异常处理信息生成模块,所述过滤器链处理模块用于读取所述二元组请求数据包队列,对队列的每个请求包执行过滤器链处理,处理结果正常则继续解析所述二元组请求数据包,否则通过所述异常处理信息生成模块生成异常处理信息,并将所述异常处理信息和所述连接标识组成处理结果java对象,保存到所述处理结果java对象队列。
在本发明的技术方案中,所述java数据对象解析模块处理所述java数据对象的具体过程为:读取所述合法请求java对象队列,根据所述java数据对象的请求类型到处理者线程池中寻找对应类型的空闲线程,将所述空闲线程的状态改变为忙碌,交给所述空闲线程处理所述类型的业务逻辑,在处理完毕后将所述忙碌线程的状态改变为空闲。
在本发明的技术方案中,所述服务器进一步连接请求存活判断模块及资源释放模块,所述连接请求存活判断模块用于读取所述请求连接队列,发送心跳侦测请求判断所述连接请求是否存活,所述资源释放模块用于在所述连接请求不存活后释放所述连接请求的所有系统资源,将所述连接请求移出所述请求连接队列。
本发明的技术方案系统处理速度快,线程及代码之间的依赖关系低,便于升级和维护,系统逻辑过程无需更改,便可以扩展到不同的业务规则和业务逻辑。
附图说明
附图1是本发明第一实施例的服务器数据处理方法的流程图;
附图2是本发明第二实施例的服务器数据处理方法的流程图;
附图3是本发明第一实施例的服务器的结构示意图;
附图4是本发明第二实施例的服务器的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,是本发明第一实施例的服务器数据处理方法的流程图。本发明第一实施例的服务器数据处理方法包括以下步骤:
步骤101:接收客户端发送的连接请求;
在步骤101中,客户端发送连接请求到服务器端监听端口,服务器监听线程,接收连接请求。并为该连接请求分配连接标识,上述连接标识是该连接请求在系统内的唯一系统标识。服务器将接收到的请求数据放入请求连接队列中,继续等待处理下一个连接请求。
步骤102:将该连接请求的连接标识和发送的字节数据形成二元组请求数据包,保存到二元组请求数据包队列;
具体过程为,循环扫描请求连接队列,侦测该连接请求发送的数据事件,读取每个发送数据的连接请求发送过来的字节数据,将该连接请求的连接标识和该连接请求发送的字节数据作为一个二元组请求数据包保存到二元组请求数据包队列中。
步骤103:将该二元组请求数据包解析为java数据对象,保存到合法请求java对象队列;
在步骤103中,解析请求包数据为java数据对象(该对象包含连接标识、请求类型等数据),并将java对象放到合法请求java对象队列。
在进行解析之前,循环读取二元组请求数据包队列,对队列的每个请求包执行过滤器链处理。其中每个过滤器对数据进行对应过滤处理,避免不合法数据或非法请求进入正式的业务逻辑处理流程,造成系统资源浪费,也避免程序结构混乱。该过滤器是可以扩展的,可以依据具体的业务流程执行不同的检查和判断,常见的过滤器链如:字符转换、请求合法性检查、数据包合法性检查等。处理结果正常则继续解析,否则停止该二元组请求数据包的处理,生成异常处理信息,将异常处理信息和该java数据对象的连接标识组成处理结果java对象,保存到处理结果java对象队列。
步骤104:根据该java数据对象的请求类型寻找对应类型的空闲线程进行处理,将处理结果和该java数据对象的连接标识组成处理结果java对象,保存到处理结果java对象队列;
具体过程为,循环读取合法请求java对象队列,按照每个java对象数据包的请求类型,到处理者线程池中寻找对应类型的空闲线程,改变处理线程状态为忙碌,交给该处理线程处理该类型的业务逻辑。待处理完毕,处理线程自身改变自己状态为空闲以便下一个数据包使用,并获取到该处理者线程的处理结果,将处理结果和该java对象的连接标识等数据组成处理结果java对象,放入处理结果java对象队列(该对象包含连接标识等数据)。
其中,处理者线程池在线程不足时,创建可用线程,当线程资源大量空闲时,释放线程资源,控制线程生命周期。
步骤105:根据该处理结果java对象的连接标识在请求连接队列中找到该连接请求,发送处理结果至客户端。
具体过程为,循环扫描处理结果java对象队列,获取到该对象的连接标识,依据标识到请求连接队列中找到该请求,通过请求连接队列里的请求将请求处理结果数据发送给客户端。
接下来,循环读取请求连接队列,发送心跳侦测请求,获取结果。通过测试结果,通过测试结果判断该连接请求是否存活。存活则结束,若无响应、访问超时或客户端已断开,则释放该连接请求的所有系统资源,将该连接请求移出请求连接队列,停止该请求的所有数据处理。
请参阅图2,是本发明第二实施例的服务器数据处理方法的流程图。本发明第二实施例的服务器数据处理方法包括以下步骤:
步骤201:接收客户端发送的连接请求;
客户端发送连接请求到服务器端监听端口,服务器监听线程,接收连接请求。服务器将接收到的请求数据放入请求连接队列中,继续等待处理下一个连接请求。
步骤202:为该连接请求分配连接标识;
上述连接标识是该连接请求在系统内的唯一系统标识。
步骤203:扫描请求连接队列,将该连接请求的连接标识和发送的字节数据形成二元组请求数据包,保存到二元组请求数据包队列中;
循环扫描请求连接队列,侦测该连接请求发送的数据事件,读取每个发送数据的连接请求发送过来的字节数据,将该连接请求的连接标识和该连接请求发送的字节数据作为一个二元组请求数据包保存到二元组请求数据包队列中。
步骤204:读取二元组请求数据包队列,对该二元组请求数据包执行过滤器链处理,处理结果正常则继续步骤205,否则转至步骤207;
循环读取二元组请求数据包队列,对队列的每个请求包执行过滤器链处理。其中每个过滤器对数据进行对应过滤处理,避免不合法数据或非法请求进入正式的业务逻辑处理流程,造成系统资源浪费,也避免程序结构混乱。该过滤器是可以扩展的,可以依据具体的业务流程执行不同的检查和判断,常见的过滤器链如:字符转换、请求合法性检查、数据包合法性检查等。
步骤205:将该二元组请求数据包解析为java数据对象,放入合法请求java对象队列;
解析请求包数据为java数据对象(该对象包含连接标识、请求类型等数据),并将java对象放到合法请求java对象队列。
步骤206:读取合法请求java对象队列,根据该java数据对象的请求类型寻找对应类型的空闲线程进行处理,将处理结果和该java数据对象的连接标识组成处理结果java对象,放入处理结果java对象队列;
循环读取合法请求java对象队列,按照每个java对象数据包的请求类型,到处理者线程池中寻找对应类型的空闲线程,改变处理线程状态为忙碌,交给该处理线程处理该类型的业务逻辑。待处理完毕,处理线程自身改变自己状态为空闲以便下一个数据包使用,并获取到该处理者线程的处理结果,将处理结果和该java对象的连接标识等数据组成处理结果java对象,放入处理结果java对象队列(该对象包含连接标识等数据)。
其中,处理者线程池在线程不足时,创建可用线程,当线程资源大量空闲时,释放线程资源,控制线程生命周期。
步骤207:生成异常处理信息,将异常处理信息和该java数据对象的连接标识组成处理结果java对象,保存到处理结果java对象队列。
停止该二元组请求数据包的处理,生成异常处理信息,获取到该包的连接标识,组成处理结果java对象,保存到处理结果java对象队列。
步骤208:扫描处理结果java对象队列,根据该处理结果java对象的连接标识在请求连接队列中找到该连接请求,发送处理结果至客户端。
循环扫描处理结果java对象队列,获取到该对象的连接标识,依据标识到请求连接队列中找到该请求,通过请求连接队列里的请求将请求处理结果数据发送给客户端。
步骤209:读取请求连接队列,通过测试结果判断该连接请求是否存活,存活则继续执行步骤209,否则继续步骤210;
循环读取请求连接队列,发送心跳侦测请求,获取结果。通过测试结果,判断该请求是否存活。
步骤210:释放该连接请求的所有系统资源,并将其移出请求连接队列。
若无响应、访问超时或客户端已断开,则释放该连接请求的所有系统资源,将该连接请求移出请求连接队列,停止该请求的所有数据处理。
请参与图3,是本发明第一实施例的服务器的结构示意图。本发明第一实施例的服务器包括请求接收模块、二元组请求数据包形成模块、java数据对象解析模块、处理结果java对象形成模块以及请求处理结果发送模块。
其中,请求接收模块用于接收客户端发送的连接请求。客户端发送连接请求到服务器端监听端口,服务器监听线程,接收连接请求。并为该连接请求分配连接标识,上述连接标识是该连接请求在系统内的唯一系统标识。服务器将接收到的请求数据放入请求连接队列中,继续等待处理下一个连接请求。
二元组请求数据包形成模块用于将该连接请求的连接标识和发送的字节数据形成二元组请求数据包,保存到二元组请求数据包队列。具体过程为,循环扫描请求连接队列,侦测该连接请求发送的数据事件,读取每个发送数据的连接请求发送过来的字节数据,将该连接请求的连接标识和该连接请求发送的字节数据作为一个二元组请求数据包保存到二元组请求数据包队列中。
java数据对象解析模块用于将该二元组请求数据包解析为java数据对象,保存到合法请求java对象队列。其解析请求包数据为java数据对象(该对象包含连接标识、请求类型等数据),并将java对象放到合法请求java对象队列。
在进行解析之前,循环读取二元组请求数据包队列,对队列的每个请求包执行过滤器链处理。其中每个过滤器对数据进行对应过滤处理,避免不合法数据或非法请求进入正式的业务逻辑处理流程,造成系统资源浪费,也避免程序结构混乱。该过滤器是可以扩展的,可以依据具体的业务流程执行不同的检查和判断,常见的过滤器链如:字符转换、请求合法性检查、数据包合法性检查等。处理结果正常则继续解析,否则停止该二元组请求数据包的处理,生成异常处理信息,将异常处理信息和该java数据对象的连接标识组成处理结果java对象,保存到处理结果java对象队列。
处理结果java对象形成模块用于根据该java数据对象的请求类型寻找对应类型的空闲线程进行处理,将处理结果和该java数据对象的连接标识组成处理结果java对象,保存到处理结果java对象队列。具体过程为,循环读取合法请求java对象队列,按照每个java对象数据包的请求类型,到处理者线程池中寻找对应类型的空闲线程,改变处理线程状态为忙碌,交给该处理线程处理该类型的业务逻辑。待处理完毕,处理线程自身改变自己状态为空闲以便下一个数据包使用,并获取到该处理者线程的处理结果,将处理结果和该java对象的连接标识等数据组成处理结果java对象,放入处理结果java对象队列(该对象包含连接标识等数据)。
其中,处理者线程池在线程不足时,创建可用线程,当线程资源大量空闲时,释放线程资源,控制线程生命周期。
请求处理结果发送模块用于根据该处理结果java对象的连接标识在请求连接队列中找到该连接请求,发送处理结果至客户端。具体过程为,循环扫描处理结果java对象队列,获取到该对象的连接标识,依据标识到请求连接队列中找到该请求,通过请求连接队列里的请求将请求处理结果数据发送给客户端。
接下来,循环读取请求连接队列,发送心跳侦测请求,获取结果。通过测试结果,通过测试结果判断该连接请求是否存活。存活则结束,若无响应、访问超时或客户端已断开,则释放该连接请求的所有系统资源,将该连接请求移出请求连接队列,停止该请求的所有数据处理。
请参阅图4,是本发明第二实施例的服务器的结构示意图。本发明第二实施例的服务器包括请求接收模块、连接标识分配模块、二元组请求数据包形成模块、过滤器链处理模块、java数据对象解析模块、处理结果java对象形成模块、异常处理信息生成模块、请求处理结果发送模块、连接请求存活判断模块以及资源释放模块。
其中,请求接收模块用于接收客户端发送的连接请求。客户端发送连接请求到服务器端监听端口,服务器监听线程,接收连接请求。服务器将接收到的请求数据放入请求连接队列中,继续等待处理下一个连接请求。
连接标识分配模块用于为该连接请求分配连接标识,上述连接标识是该连接请求在系统内的唯一系统标识。
二元组请求数据包形成模块用于扫描请求连接队列,将该连接请求的连接标识和发送的字节数据形成二元组请求数据包,保存到二元组请求数据包队列中。具体过程为,循环扫描请求连接队列,侦测该连接请求发送的数据事件,读取每个发送数据的连接请求发送过来的字节数据,将该连接请求的连接标识和该连接请求发送的字节数据作为一个二元组请求数据包保存到二元组请求数据包队列中。
过滤器链处理模块用于读取二元组请求数据包队列,对该二元组请求数据包执行过滤器链处理。具体过程为,循环读取二元组请求数据包队列,对队列的每个请求包执行过滤器链处理。其中每个过滤器对数据进行对应过滤处理,避免不合法数据或非法请求进入正式的业务逻辑处理流程,造成系统资源浪费,也避免程序结构混乱。该过滤器是可以扩展的,可以依据具体的业务流程执行不同的检查和判断,常见的过滤器链如:字符转换、请求合法性检查、数据包合法性检查等。
java数据对象解析模块用于将该二元组请求数据包解析为java数据对象(该对象包含连接标识、请求类型等数据),放入合法请求java对象队列。
处理结果java对象形成模块用于读取合法请求java对象队列,根据该java数据对象的请求类型寻找对应类型的空闲线程进行处理,将处理结果和该java数据对象的连接标识组成处理结果java对象,放入处理结果java对象队列。具体过程为,循环读取合法请求java对象队列,按照每个java对象数据包的请求类型,到处理者线程池中寻找对应类型的空闲线程,改变处理线程状态为忙碌,交给该处理线程处理该类型的业务逻辑。待处理完毕,处理线程自身改变自己状态为空闲以便下一个数据包使用,并获取到该处理者线程的处理结果,将处理结果和该java对象的连接标识等数据组成处理结果java对象,放入处理结果java对象队列(该对象包含连接标识等数据)。
其中,处理者线程池在线程不足时,创建可用线程,当线程资源大量空闲时,释放线程资源,控制线程生命周期。
异常处理信息生成模块用于生成异常处理信息,将异常处理信息和该java数据对象的连接标识组成处理结果java对象,保存到处理结果java对象队列。
请求处理结果发送模块用于扫描处理结果java对象队列,根据该处理结果java对象的连接标识在请求连接队列中找到该连接请求,发送处理结果至客户端。
连接请求存活判断模块用于循环读取请求连接队列,发送心跳侦测请求,获取结果。通过测试结果,判断该请求是否存活。
资源释放模块用于在请求无响应、访问超时或客户端已断开的时候释放该连接请求的所有系统资源,将该连接请求移出请求连接队列,停止该请求的所有数据处理。
在本发明的技术方案中,请求队列进入过滤器线程,请求队列中有多个请求数据任务时将执行多个过滤器线程同步处理,该过滤器线程主要负责通过判断筛选出符合后面处理线程能处理的请求数据任务(譬如用户合法性检查、数据包合法性检查等),将那些不符合处理线程处理格式的请求数据任务剔除出请求队列,避免处理线程处理的时候出错,提高后面处理线程的处理效率,该过滤器是可以扩展的,里面的处理过程可以依据后面的处理线程需要动态添加。
本发明所有处理过程均采用独立线程单独处理,如过滤器线程、业务逻辑处理线程、结果发送线程、侦听请求线程、侦测请求心跳线程等。各个线程处理不会互相等待,而仅关心各自处理的队列是否有数据处理,如有数据就立即处理。这样可以加快系统的处理速度。此外,所有处理过程全部单独独立出来,每个线程就是一个模块,每个线程之间仅仅通过数据关联。系统设计的代码模块性强,线程之间、代码之间的依赖关系低,过滤器处理线程是链式处理非常便于升级和维护,能依据不同业务规则,在其中植入对应的业务校验和判断逻辑。业务逻辑处理线程依据请求类型到处理对象池中找对应请求类型的处理线程,对于不同的具体业务逻辑只需定义不同的请求数据类型、该类型的合法请求java对象、该类型的处理逻辑,放入系统中对应队列和对象池,系统逻辑过程无需更改,便可以扩展到不同的业务规则和业务逻辑。系统代码便于阅读,容易维护和升级。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种服务器数据处理方法,其特征在于,所述方法包括以下步骤:
步骤a:接收客户端发送的连接请求;
步骤b:将所述连接请求的连接标识和发送的字节数据形成二元组请求数据包,保存到二元组请求数据包队列;
步骤c:将所述二元组请求数据包解析为java数据对象,保存到合法请求java对象队列;
步骤d:根据所述java数据对象的请求类型寻找对应类型的空闲线程进行处理,将处理结果和所述连接标识组成处理结果java对象,保存到处理结果java对象队列;
步骤e:根据所述连接标识在请求连接队列中找到所述连接请求,发送所述处理结果至所述客户端。
2.根据权利要求1所述的服务器数据处理方法,其特征在于,所述步骤a还包括:为所述连接请求分配唯一的连接标识。
3.根据权利要求2所述的服务器数据处理方法,其特征在于,所述步骤c还包括:读取所述二元组请求数据包队列,对队列的每个请求包执行过滤器链处理,处理结果正常则继续解析所述二元组请求数据包,否则生成异常处理信息,并将所述异常处理信息和所述连接标识组成处理结果java对象,保存到所述处理结果java对象队列。
4.根据权利要求3所述的服务器数据处理方法,其特征在于,所述步骤d具体包括:读取所述合法请求java对象队列,根据所述java数据对象的请求类型到处理者线程池中寻找对应类型的空闲线程,将所述空闲线程的状态改变为忙碌,交给所述空闲线程处理所述类型的业务逻辑,在处理完毕后将所述忙碌线程的状态改变为空闲。
5.根据权利要求4所述的服务器数据处理方法,其特征在于,所述方法还包括:读取所述请求连接队列,发送心跳侦测请求判断所述连接请求是否存活,并在所述连接请求不存活后释放所述连接请求的所有系统资源,将所述连接请求移出所述请求连接队列。
6.一种服务器,其特征在于,所述服务器包括请求接收模块、二元组请求数据包形成模块、java数据对象解析模块、处理结果java对象形成模块以及请求处理结果发送模块,所述请求接收模块用于接收客户端发送的连接请求,所述二元组请求数据包形成模块用于将所述连接请求的连接标识和发送的字节数据形成二元组请求数据包,保存到二元组请求数据包队列,所述java数据对象解析模块用于将所述二元组请求数据包解析为java数据对象,保存到合法请求java对象队列,所述处理结果java对象形成模块用于根据所述java数据对象的请求类型寻找对应类型的空闲线程进行处理,将处理结果和所述连接标识组成处理结果java对象,保存到处理结果java对象队列,所述请求处理结果发送模块用于根据所述连接标识在请求连接队列中找到所述连接请求,发送所述处理结果至所述客户端。
7.根据权利要求6所述的服务器,其特征在于,所述服务器还包括连接标识分配模块,所述连接标识分配模块用于为所述连接请求分配唯一的连接标识。
8.根据权利要求7所述的服务器,其特征在于,所述服务器还包括过滤器链处理模块及异常处理信息生成模块,所述过滤器链处理模块用于读取所述二元组请求数据包队列,对队列的每个请求包执行过滤器链处理,处理结果正常则继续解析所述二元组请求数据包,否则通过所述异常处理信息生成模块生成异常处理信息,并将所述异常处理信息和所述连接标识组成处理结果java对象,保存到所述处理结果java对象队列。
9.根据权利要求8所述的服务器,其特征在于,所述java数据对象解析模块处理所述java数据对象的具体过程为:读取所述合法请求java对象队列,根据所述java数据对象的请求类型到处理者线程池中寻找对应类型的空闲线程,将所述空闲线程的状态改变为忙碌,交给所述空闲线程处理所述类型的业务逻辑,在处理完毕后将所述忙碌线程的状态改变为空闲。
10.根据权利要求9所述的服务器,其特征在于,所述服务器还包括连接请求存活判断模块及资源释放模块,所述连接请求存活判断模块用于读取所述请求连接队列,发送心跳侦测请求判断所述连接请求是否存活,所述资源释放模块用于在所述连接请求不存活后释放所述连接请求的所有系统资源,将所述连接请求移出所述请求连接队列。
CN201110336731XA 2011-10-31 2011-10-31 服务器及其数据处理方法 Pending CN102340545A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110336731XA CN102340545A (zh) 2011-10-31 2011-10-31 服务器及其数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110336731XA CN102340545A (zh) 2011-10-31 2011-10-31 服务器及其数据处理方法

Publications (1)

Publication Number Publication Date
CN102340545A true CN102340545A (zh) 2012-02-01

Family

ID=45516042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110336731XA Pending CN102340545A (zh) 2011-10-31 2011-10-31 服务器及其数据处理方法

Country Status (1)

Country Link
CN (1) CN102340545A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744723A (zh) * 2014-01-24 2014-04-23 深圳联友科技有限公司 一种线程池的管理方法和管理系统
CN103905484A (zh) * 2012-12-26 2014-07-02 北京新媒传信科技有限公司 处理超文本传输协议请求的方法及装置
CN104410619A (zh) * 2014-11-21 2015-03-11 中国联合网络通信集团有限公司 即时通信方法及系统
CN104601541A (zh) * 2014-12-05 2015-05-06 华为技术有限公司 数据传输的方法、服务器和用户设备
CN105187564A (zh) * 2015-10-14 2015-12-23 中科宇图天下科技有限公司 一种手机端文件断点续传的方法
CN106598706A (zh) * 2015-10-15 2017-04-26 五八同城信息技术有限公司 一种提高服务器的稳定性的方法、装置及服务器
CN108090114A (zh) * 2017-11-02 2018-05-29 珠海许继芝电网自动化有限公司 一种基于实时数据库的单链路请求应答的判定方法
CN108259243A (zh) * 2018-01-12 2018-07-06 深圳市卓讯信息技术有限公司 基于微服务技术架构的数据处理方法、终端及计算机存储介质
CN108600373A (zh) * 2018-04-26 2018-09-28 广州沐思信息科技有限公司 一种图片生成方法、服务器和计算机可读存储介质
CN108920284A (zh) * 2018-06-06 2018-11-30 亚信科技(中国)有限公司 共享内存访问方法及系统
CN109451035A (zh) * 2018-12-04 2019-03-08 宁波耘瑞智能科技有限公司 一种分离式集群代理与服务的方法、装置及系统
CN110413696A (zh) * 2019-08-02 2019-11-05 中国工商银行股份有限公司 一种数据处理方法及装置
CN111246253A (zh) * 2020-01-21 2020-06-05 北京三体云联科技有限公司 视频流传输方法和装置
CN111415291A (zh) * 2020-02-21 2020-07-14 华为技术有限公司 一种多核芯片及其调度方法
CN113378871A (zh) * 2020-03-10 2021-09-10 中国移动通信集团辽宁有限公司 数据标注方法、装置及计算设备
CN113571049A (zh) * 2021-07-22 2021-10-29 成都航盛智行科技有限公司 基于vr的车身控制系统和方法
US11818047B2 (en) 2020-08-05 2023-11-14 Coupang Corp. Systems and methods for pooling multiple user requests to mitigate network congestion

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1735015A (zh) * 2004-08-03 2006-02-15 中兴通讯股份有限公司 Java实现web服务器主动发起向浏览器发送数据的方法
WO2006092537A1 (fr) * 2005-03-04 2006-09-08 France Telecom Procede ameliore de transmission de donnees et d'informations de service qui leur sont associees
CN101236490A (zh) * 2007-02-01 2008-08-06 阿里巴巴公司 一种获取业务逻辑的方法及系统
CN101809954A (zh) * 2007-07-31 2010-08-18 英特尔公司 用于移动微波存取全球互通(WiMAX)系统中的媒体存取控制(MAC)开销减小的压缩的MAC报头结构
CN102035880A (zh) * 2010-11-02 2011-04-27 中兴通讯股份有限公司 一种保持连接的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1735015A (zh) * 2004-08-03 2006-02-15 中兴通讯股份有限公司 Java实现web服务器主动发起向浏览器发送数据的方法
WO2006092537A1 (fr) * 2005-03-04 2006-09-08 France Telecom Procede ameliore de transmission de donnees et d'informations de service qui leur sont associees
CN101236490A (zh) * 2007-02-01 2008-08-06 阿里巴巴公司 一种获取业务逻辑的方法及系统
CN101809954A (zh) * 2007-07-31 2010-08-18 英特尔公司 用于移动微波存取全球互通(WiMAX)系统中的媒体存取控制(MAC)开销减小的压缩的MAC报头结构
CN102035880A (zh) * 2010-11-02 2011-04-27 中兴通讯股份有限公司 一种保持连接的方法及装置

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905484B (zh) * 2012-12-26 2017-08-01 北京新媒传信科技有限公司 处理超文本传输协议请求的方法及装置
CN103905484A (zh) * 2012-12-26 2014-07-02 北京新媒传信科技有限公司 处理超文本传输协议请求的方法及装置
CN103744723B (zh) * 2014-01-24 2019-04-26 深圳联友科技有限公司 一种线程池的管理方法和管理系统
CN103744723A (zh) * 2014-01-24 2014-04-23 深圳联友科技有限公司 一种线程池的管理方法和管理系统
CN104410619A (zh) * 2014-11-21 2015-03-11 中国联合网络通信集团有限公司 即时通信方法及系统
CN104410619B (zh) * 2014-11-21 2017-12-19 中国联合网络通信集团有限公司 即时通信方法及系统
CN104601541B (zh) * 2014-12-05 2018-12-07 华为技术有限公司 数据传输的方法、服务器和用户设备
CN104601541A (zh) * 2014-12-05 2015-05-06 华为技术有限公司 数据传输的方法、服务器和用户设备
CN105187564A (zh) * 2015-10-14 2015-12-23 中科宇图天下科技有限公司 一种手机端文件断点续传的方法
CN105187564B (zh) * 2015-10-14 2019-02-19 中科宇图天下科技有限公司 一种手机端文件断点续传的方法
CN106598706A (zh) * 2015-10-15 2017-04-26 五八同城信息技术有限公司 一种提高服务器的稳定性的方法、装置及服务器
CN108090114A (zh) * 2017-11-02 2018-05-29 珠海许继芝电网自动化有限公司 一种基于实时数据库的单链路请求应答的判定方法
CN108259243A (zh) * 2018-01-12 2018-07-06 深圳市卓讯信息技术有限公司 基于微服务技术架构的数据处理方法、终端及计算机存储介质
CN108600373A (zh) * 2018-04-26 2018-09-28 广州沐思信息科技有限公司 一种图片生成方法、服务器和计算机可读存储介质
CN108920284A (zh) * 2018-06-06 2018-11-30 亚信科技(中国)有限公司 共享内存访问方法及系统
CN109451035A (zh) * 2018-12-04 2019-03-08 宁波耘瑞智能科技有限公司 一种分离式集群代理与服务的方法、装置及系统
CN110413696A (zh) * 2019-08-02 2019-11-05 中国工商银行股份有限公司 一种数据处理方法及装置
CN111246253A (zh) * 2020-01-21 2020-06-05 北京三体云联科技有限公司 视频流传输方法和装置
CN111246253B (zh) * 2020-01-21 2022-04-15 北京世纪好未来教育科技有限公司 视频流传输方法和装置
CN111415291A (zh) * 2020-02-21 2020-07-14 华为技术有限公司 一种多核芯片及其调度方法
CN111415291B (zh) * 2020-02-21 2021-09-21 华为技术有限公司 一种多核芯片及其调度方法
CN113378871A (zh) * 2020-03-10 2021-09-10 中国移动通信集团辽宁有限公司 数据标注方法、装置及计算设备
US11818047B2 (en) 2020-08-05 2023-11-14 Coupang Corp. Systems and methods for pooling multiple user requests to mitigate network congestion
CN113571049A (zh) * 2021-07-22 2021-10-29 成都航盛智行科技有限公司 基于vr的车身控制系统和方法

Similar Documents

Publication Publication Date Title
CN102340545A (zh) 服务器及其数据处理方法
CN102480490B (zh) 一种用于防止csrf攻击的方法和设备
JP5624973B2 (ja) フィルタリング装置
CN100361452C (zh) 响应拒绝服务攻击的方法和设备
JP4977888B2 (ja) ウェブアプリケーション攻撃の検知方法
CN101743530B (zh) 用于部分可用内容的防病毒扫描的方法和系统
US20150135256A1 (en) Disambiguating conflicting content filter rules
CN107172176B (zh) 基于配置管理的app网络连接方法、设备及配置服务器
CN105939313A (zh) 状态码重定向方法及装置
CN103688489A (zh) 一种策略处理的方法及网络设备
US20200159596A1 (en) Implementing multiple content management service operations
CN113660250B (zh) 基于web应用防火墙的防御方法、装置、系统和电子装置
CN109413016B (zh) 一种基于规则的报文检测方法和装置
CN106375189A (zh) 一种长短链转换的方法和系统
RU2638001C1 (ru) Система и способ выделения части резерва производительности антивирусного сервера для выполнения антивирусной проверки веб-страницы
Westergaard et al. Modeling and verification of a protocol for operational support using coloured petri nets
CN113765980A (zh) 一种限流方法、装置、系统、服务器和存储介质
CN108632219A (zh) 一种网站漏洞检测方法、检测服务器及系统
CN112528307A (zh) 服务请求校验方法、装置、电子设备及存储介质
CN111245899B (zh) 一种web服务环境下非法报文的处理方法及系统
CN1475927A (zh) 保证服务供应商所推荐的服务的可用性的方法和系统
CN104462242B (zh) 网页回流量统计方法及装置
CN109039687A (zh) 请求的负载均衡方法、装置、系统、设备以及存储介质
CN105930385A (zh) 一种数据爬取方法及系统
CN104052630A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120201