CN103164256A - 一种实现单机支持高并发处理方法及系统 - Google Patents
一种实现单机支持高并发处理方法及系统 Download PDFInfo
- Publication number
- CN103164256A CN103164256A CN2011104056591A CN201110405659A CN103164256A CN 103164256 A CN103164256 A CN 103164256A CN 2011104056591 A CN2011104056591 A CN 2011104056591A CN 201110405659 A CN201110405659 A CN 201110405659A CN 103164256 A CN103164256 A CN 103164256A
- Authority
- CN
- China
- Prior art keywords
- event
- instruction
- data
- client
- main thread
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实现单机支持高并发处理方法及系统,包括位于同一服务器上的接收消息队列、主线程和工作线程,主线程监听到事件后,判断事件类型,当事件类型为客户端新连接事件时,接收新的套接字并对新的套接字进行处理;当事件类型为传输请求事件时,接收传输请求指令,并根据指令生成请求消息添加到接收消息队列;当事件类型为输出事件时,将处于发送状态的数据进行发送处理;工作线程读取接收消息队列中的请求消息,获取请求消息的响应数据并将响应数据处置为发送状态。本发明使单机系统实现了支持更多用户的并发访问,不需要分布式的集群部署,架构简单,整体成本较低。
Description
技术领域
本发明涉及一种网络数据传输,尤其涉及单机支持高并发访问的处理方法及系统。
背景技术
并发是指网站在同一时间访问的人数,人数越多,瞬间带宽要求更高,也就是要求服务器瞬间处理的流量越大,当并发数超过一定量(例如百万级)后称为高并发,网站如果要在短时间内响应高并发的请求,需要对服务器的处理能力提出更高要求。
目前已有的高并发解决方案,多采用分布式的集群部署方式。这种方式要求前端布置一个服务器,后端布置多台服务器,前端的一个服务器用于负载均衡,将并发转发给后端的服务器,后端的服务器进行业务处理。这种分布式的系统架构虽然对高并发处理具有一定的效果,但其系统设计及部署都比较复杂,并且整体成本较高。而单机(即单服务器)环境下支持的并发数小,当单机系统需要支持更多用户时,只能通过部署更多软硬件来扩容,造成资源浪费,成本增加。
发明内容
本发明要解决的主要技术问题是,提供一种实现单机支持高并发处理方法及系统,不需要分布式的集群部署,而是采用单机系统来支持多用户的高并发处理,使单机系统实现支持更多用户。
根据本发明的第一方面,提供一种实现单机支持高并发处理方法,包括由同一服务器执行的主线程工作步骤和工作线程工作步骤,所述主线程工作步骤包括:
主线程监听事件;
当主线程监听到事件后,判断事件类型;
按照事件类型对该事件进行响应和处理,当事件类型为客户端新连接事件时,接收新的套接字并对新的套接字进行处理;当事件类型为传输请求事件时,接收传输请求指令,根据传输请求指令生成请求消息添加到接收消息队列等待工作线程的读取;当事件类型为输出事件时,将处于发送状态的数据进行发送处理;
所述工作线程工作步骤包括:
读取接收消息队列中的请求消息;
获取请求消息的响应数据并将响应数据处置为发送状态,以供主线程进行发送处理。
根据本发明的第二方面,提供一种实现单机支持高并发处理系统,包括:
接收消息队列,其用于接收消息;
主线程,其用于监听事件,当监听到事件后,判断事件类型,按照事件类型对该事件进行响应和处理,当事件类型为客户端新连接事件时,接收新的套接字并对新的套接字进行处理;当事件类型为传输请求事件时,接收传输请求指令,并根据指令生成请求消息添加到接收消息队列;当事件类型为输出事件时,将处于发送状态的数据进行发送处理;
工作线程,其用于读取接收消息队列中的请求消息,获取请求消息的响应数据并将响应数据处置为发送状态,以供主线程进行发送处理;
所述接收消息队列、主线程和工作线程位于同一服务器上。
根据本发明的第三方面,提供一种实现单机支持高并发状态下对传输请求事件的处理方法,包括:
主线程检测到一个传输请求事件时,读取指令头及指令体数据,根据请求的指令头及指令体生成一个请求消息,将请求消息添加到接收消息队列;
工作线程从接收消息队列中取出一条请求消息,根据请求消息创建响应消息头,然后调用业务处理函数对请求消息进行处理,生成响应数据,将响应数据关联到数据发送指针上,并触发输出事件;
主线程检测到输出事件后,从数据发送指针上取出关联的响应数据,并将响应数据发送出去。
本发明通过主要包括主线程、接收消息队列和工作线程的高并发处理系统架构,对不同类型事件进行不同处理,使单机系统实现了支持更多用户的并发访问,不需要分布式的集群部署,架构简单,整体成本较低。
附图说明
图1为本发明一种实施例中高并发处理系统的架构图;
图2为本发明一种实施例中主线程工作流程图;
图3为本发明一种实施例中工作线程工作流程图;
图4为本发明一种实施例中对传输请求事件的处理流程图;
图5为本发明一种实施例中实现单机支持高并发处理的主流程图;
图6为本发明一种具体实例中主线程工作流程图;
图7为本发明一种具体实例中工作线程工作流程图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
本申请通过在单机(即同一台服务器)系统上设计高并发处理系统,通过对不同类型事件的不同处理,对多用户(例如百万级用户)的并发请求做出响应和处理。
请参考图1,实现单机支持高并发处理系统的架构如图1所示,包括位于同一服务器1上主线程10、接收消息队列20和工作线程30,其中主线程10用于创建工作线程30、监听事件,当监听到事件后,判断事件类型,按照事件类型对该事件进行响应和处理,当事件类型为客户端新连接事件时,接收新的套接字并对新的套接字进行处理;当事件类型为传输请求事件时,接收传输请求指令,根据传输请求指令生成请求消息添加到接收消息队列;当事件类型为输出事件时,将处于发送状态的数据进行发送处理。接收消息队列20用于接收主线程10发送来的消息,将消息进行先入先出处理或按照预先设定的优先级缓存和输出。工作线程30用于读取接收消息队列中的请求消息,调用函数处理后得到请求消息的响应数据并将响应数据处置为发送状态,以供主线程10进行发送处理。
在一具体实例中,主线程10包括监听模块11、输入处理模块12和输出处理模块13。监听模块11用于监听服务器系统底层触发的事件,读取底层在事件中设置的标识,根据标识判断事件类型,当事件类型为客户端新连接事件或已连接客户的传输请求事件时,作为输入事件发信息给输入处理模块12,并通知输入处理模块12事件的类型。输入处理模块12根据事件类型进行接收和处理。当事件类型为客户端新连接事件时,输入处理模块12循环接收新的套接字,如果接收失败,则结束内部循环,如果接收成功,将新的套接字加入服务器系统的I/O模型队列中,当接收到数据读取完毕标识时,则结束事件处理。当事件类型为传输请求事件时,输入处理模块12接收传输请求指令的指令头及指令体,验证合法后,组成一个请求消息,添加到接收消息队列中。在接收指令时,输入处理模块12根据指令头中描述的长度信息动态分配指令体缓存空间,接收指令体数据,并将接收到的指令体数据放入指令体缓存空间,判断指令的接收状态,如果整个指令接收成功,则将指令体缓存空间中的指令体数据放入消息队列;如果接收到数据读取完毕标识,则结束事件处理;如果接收失败则结束事件的处理。当事件类型为输出事件时,监听模块11发信息给输出处理模块13,输出处理模块13从数据发送指针上读取处于发送状态的数据,将该数据打包发送,在发送数据后判断数据发送状态,当判断数据发送成功后,将I/O模型队列中与接收该数据的客户端的套接字中的输出事件修改为传输请求事件,以便接收来自于该客户端的下一传输请求事件,提高响应速度。当输出处理模块13判断数据发送失败后,结束事件处理。
在另一实施例中,请参考图1,实现单机支持高并发处理系统还包括与接收消息队列20、主线程10和工作线程30位于同一服务器1上的会话管理器40,会话管理器40用于对客户端信息进行添加、更新或删除,所述客户端信息由主线程写入或删除。当事件类型为客户端新连接事件且输入处理模块12接收该客户端的套接字成功后,输入处理模块12将客户端信息写入会话管理器40。客户端信息包括客户端登录网站信息、心跳信息和连接时长中的至少一种。当事件类型为来自于已在会话管理器40中建立客户端信息的客户端的传输请求事件时,如果输入处理模块12接收该客户端的传输请求指令不成功,则将I/O模型队列中该客户端的套接字删除,并将会话管理器40中该客户端的客户端信息删除。当事件类型为输出事件时,如果输出处理模块13判断数据发送失败后,将I/O模型队列中与接收该数据的客户端的套接字删除,并删除会话管理器中该客户端信息。
如果输入处理模块12接收传输请求指令不成功或输出处理模块13发送数据不成功,说明套接字有误,所以将I/O模型队列中该客户端的套接字和会话管理器40中该客户端的客户端信息删除,以便再次触发关于该客户端的事件时作为客户端新连接事件,在I/O模型队列中和会话管理器40中记录该客户端的新的套接字,使服务器系统应用层可以和传输层通过新的套接字接口。这样可避免由于通过旧的、无效的或错误的套接字接收或发送数据而导致的连接时间过长的问题,从而可提高对并发访问的响应速度。
因此,在输入处理模块12接收传输请求指令不成功或输出处理模块13发送数据不成功时,也可以将I/O模型队列中该客户端的套接字和会话管理器40中该客户端的客户端信息中的套接字删除,而保留会话管理器40中该客户端的客户端信息中的其他信息,例如保留客户端通信的IP地址、使用的传输层协议(TCP或UDP)、客户端使用的端口号和心跳信息。当下次该客户端发出新连接事件时,根据客户端通信的IP地址将该客户端的新的套接字更新到该客户端信息中。
在另一具体实例中,删除客户端信息的方式还可以按套接字删除,也可以按超时时间删除。
在会话管理器40写入客户端信息后,在一具体实例中,工作线程30从接收消息队列20中读取一请求消息,根据该请求消息动态分配响应数据缓存空间,读取会话管理器40中与传输请求事件对应的客户端信息,将响应数据存入响应数据缓存空间,将响应数据缓存空间关联到数据发送指针上,并触发输出事件。客户端信息可提供给上层应用程序(即业务处理函数)。
建立会话管理器的另一效果是可将其中记录有信息的客户端和服务器保持长连接,例如在客户端信息中保存有心跳信息,心跳是维持长连接的基本要素。长连接使客户端有请求产生时,可随时处理,不需重新建立连接,节省了处理时间,提高了任务处理效率。
基于上述架构,在单机支持高并发处理时包括主线程工作步骤和工作线程工作步骤,其中主线程工作步骤如图2所示,包括以下步骤:
步骤S21,主线程监听事件。在一实施例中,首先创建监听套接字,将监听套接字绑定所述服务器的IP地址和端口,在主线程监听事件过程中监听来自于被绑定的服务器的IP地址和端口的事件。
步骤S22,当主线程监听到事件后,判断事件类型。可根据所述服务器底层对事件设置的标识判断事件类型。
步骤S23,按照事件类型对该事件进行响应和处理,当事件类型为客户端新连接事件时,则执行步骤S24,接收新的套接字并对新的套接字进行处理。当事件类型为传输请求事件时,执行步骤S25,接收传输请求指令,根据传输请求指令生成请求消息添加到接收消息队列等待工作线程的读取。当事件类型为输出事件时,执行步骤S26,将处于发送状态的数据进行发送处理。
在步骤S24中,主线程的一种处理方案为:主线程循环接收新的套接字,如果接收失败,则结束内部循环,如果接收成功,则记录客户端信息,当接收到数据读取完毕标识时,则结束事件处理。将新的套接字加入服务器系统的I/O模型队列中,并将与该新的套接字对应的客户端信息添加到会话管理器中。新的套接字接收成功后,将新的套接字设置为非阻塞状态,当系统从非阻塞的套接字上接收消息时,如果该套接字上没有消息,会立即返回,不再长时间等待,从而提高处理速度。
在步骤S25中,主线程的一种处理方案为:主线程接收传输请求指令的指令头,根据指令头中描述的长度信息动态分配指令体缓存空间,接收指令体数据,并将接收到的指令体数据放入指令体缓存空间,判断指令的接收状态,如果整个指令接收成功,则根据指令头及指令体缓存空间中的指令体数据生成请求消息,并将请求消息添加到接收消息队列,如果接收到数据读取完毕标识,则结束事件处理。
在步骤S26中,主线程的一种处理方案为:主线程将处于发送状态的数据进行打包发送,在发送数据后判断数据发送状态,当判断数据发送成功后,将I/O模型队列中与接收该数据的客户端的套接字中的输出事件修改为传输请求事件,当输出处理模块13判断数据发送失败后,结束事件处理。
其中工作线程工作步骤如图3所示,包括以下步骤:
步骤S31,读取接收消息队列中的请求消息。
步骤S32,调用业务处理函数对请求消息进行处理,生成响应数据。在一种具体实例中,根据请求消息创建响应消息头,响应消息头包含服务类型,序号,服务状态,及响应指令体大小等信息,客户端接收到响应头后,就能知道服务处理的状态。工作线程根据请求消息动态分配响应数据缓存空间,调用上层应用设置的回调函数处理业务逻辑,生成响应数据,将响应数据存入响应数据缓存空间。
步骤S33,获取请求消息的响应数据并将响应数据处置为发送状态,以供主线程进行发送处理。将响应数据缓存空间关联到数据发送指针上,并触发输出事件。
基于上述高并发处理系统的架构,实现单机支持高并发状态下对传输请求事件的处理流程如图4所示,包括以下步骤:
步骤S41,主线程检测到一个传输请求事件时,读取请求的指令头及指令体数据,根据指令头及指令体数据生成一个请求消息。
步骤S42,主线程将请求消息添加到接收消息队列。
步骤S43,工作线程从接收消息队列中取出一条请求消息。
步骤S44,工作线程根据请求消息创建响应消息头,然后调用业务处理函数处理业务逻辑,生成响应数据,将响应数据关联到数据发送指针上,并触发输出事件。
步骤S45,主线程检测到输出事件后,从数据发送指针上取出关联的响应数据,并将响应数据发送出去。
以系统内核为epoll机制(一种网络IO模型,IO事件通知机制)为例,步骤S41是通过这个系统内核的EPOLL机制来检测的,步骤S44将响应数据关联到内核EPOLL的一个指针上,并触发输出事件,然后在步骤S45中,主线程通过系统内核的EPOLL机制检测到输出事件,从内核的指针上取出该响应数据。
下面以高并发处理系统基于epoll作为I/O模型为例进行进一步说明。
高并发服务器中提升性能的关键是IO、CPU和内存,所以高并发的服务器需要最大限度的利用CPU,减少内存申请,复制。其中网络IO模型也是影响系统性能的关键因素。本实施例选择linux平台下的epoll作为IO模型,内存分配使用tcmalloc(google的一个开源内存管理库)以提高分配效率及降低频繁内存分配带来的CPU损耗。
服务器采用多线程的模型,有一个主线程负责网络IO的输入及输出,有多个工作线程负责业务逻辑的处理。工作线程之间没有互相制约的关系,独立执行同样的工作。
本实施例的服务器是请求响应式的,也就是对应每一个请求都会产生一个响应消息,无论服务处理是成功还是失败。而且请求总是由客户端发起的,当然一个服务器也可以是另外一个服务器的客户端。
本实施例的通讯协议可以是采用二进制格式,以减少内存拷贝及提高打包,解包效率。请求及响应指令都分为指令头,及指令体两部分。指令头是必须的,并且所有服务的指令头都相同,请求及响应的指令头均相同,但具体的参数会不一样,指令体是可选的,指令体一般存储服务请求的额外参数。
相比较文本格式,采用二进制的指令头及指令体,指令的解析将十分简单,从socket句柄(服务器与客户端之间的数据通道)读取数据时,直接将结构体指令作为参数,读取指定长度,成功后,就可以直接使用结构体了,这样就避免了内存的二次复制。
系统架构包括主线程、接收消息队列、工作线程和会话管理器。
主线程是最核心的模块之一,其主要功能包括:工作线程的创建,业务端口输入/输出的监听,接收新的连接,socket(即套接字)数据的接收与发送及客户信息的管理维护等。
主线程通过epoll来管理主监听socket及所有客户端socket,epoll网络IO模型通常有ET/LT两种触发模式,本实施例采用效率相对较高的ET模式。当监听到EPOLLIN事件(即传输请求事件)时需要循环读取缓冲区的数据(或接收所有已准备好的连接),直到接收到EAGAIN(EAGAIN是一个信号,表示该套接字上已经没有事件了)为止,接收到EAGAIN表示本次事件的数据已读取完毕。
当有新的客户端连接到服务端口时,主线程将新的客户端socket添加到epoll的监控列表中,并通过会话管理器添加客户端信息到客户端列表中。而当检测到客户端连接失败时(如读取时返回0,或者心跳失败),主线程会从客户端列表中删除客户端信息。客户端如有需求稍晚会再次发送请求。
当有客户端socket可读时(即有传输请求产生),主线程会读取请求指令头及指令体,并在做一些合法性验证后将请求消息压入接收消息队列。
当有客户端socket可写时(即有请求处理结果产生),主线程会取出epoll_event中与事件相关联的数据,并发送出去。
接收消息队列是一个阻塞的同步队列,同步指消息队列是线程安全的,能够保证当有多个线程同步访问队列时,不会导致混乱。阻塞是指,当从队列中取数据时,如果队列中此时没有数据,会一直阻塞,只到有数据被添加到队列中时,才会返回。本实施例设计了线程同步,使其可支持多线程并行运作并具有阻塞及通知机制。
工作线程负责从接收消息队列中取出数据,并调用用户设置的回调函数处理业务请求。响应数据直接关联到epoll_event的data.ptr指针上,然后使用epoll_ctl控制信号触发EPOLL_OUT事件(即输出事件),然后由主线程发送响应数据。
会话管理器提供对客户信息的添加,更新,删除等操作。可以按描述符删除,也可以按超时时间删除。本实施例中,一旦建立连接,会话管理器会将服务器与各客户端之间的连接保持为长连接,这样在客户端有请求产生时,可随时处理,不需重新建立连接,节省了处理时间,提高了任务处理效率。
如图5所示为一种实施例中实现单机支持高并发处理的主流程图,包括以下步骤:
步骤S51,启动单机支持高并发处理进程。
步骤S52,初始化会话管理器。
步骤S53,创建监听套接字,并绑定服务器IP,端口,开始监听事件。
步骤S54,创建并启动工作线程。
步骤S55,创建epoll套接字,并注册监听套接字到EPOLL队列中。
步骤S56,使用循环体epoll_wait检测epoll事件。当检测到新事件时,执行步骤S57。
步骤S57,循环处理epoll事件。
一种具体实例中,epoll事件处理流程如图6所示,包括以下步骤:
步骤S611,判断是否是监听套接字,如果是监听套接字的事件,表示事件是未曾建立过连接的新客户端的新连接事件,则执行步骤S612,否则执行步骤S621。
步骤S612,循环使用系统函数accept接收该新的客户端的连接,接收对应于该新客户端的套接字。
步骤S613,判断接收是否成功,如果接收失败,即接收到EAGAIN信号,则表示套接字中无数据可读,则结束内部循环,回到步骤S56重新执行。如果接收成功,则执行步骤S614。
步骤S614,设置对应于该新客户端的套接字为非阻塞的,并将套接字加入EPOLL队列。
步骤S615,通过会话管理器,添加客户端信息。然后回到步骤S612。
步骤S621,判断是否是EPOLLIN事件,即已知客户端的输入事件,即传输请求事件,如果是,则执行步骤S622,否则执行步骤S631。
步骤S622,循环接收传输请求事件。首先接收指令头,并验证指令头的合法性;根据指令头中的length长度,动态分配指令体缓存空间,用于缓存传输请求事件的指令体数据;再接收指令体数据,将指令体数据缓存到指令体缓存空间中。
步骤S623,判断指令体接收状态。如果接收成功,则执行步骤S624根据请求的指令头和指令体生成消息,压入接收消息队列。如果接收失败,则执行步骤S64,从EPOLL队列中删除描述符,然后关闭描述符,删除客户端信息。然后跳到步骤S56处理下一EPOLL事件。
步骤S625,判断是否接收到EAGAIN信号,如果是,则结束内部循环,回到步骤S56重新处理下一EPOLL事件。否则转向步骤S622,重新接收下一条请求。
步骤S631,判断是否是EPOLLOUT事件(即输出事件,服务器有任务处理结果产生),如果是,则执行步骤S632。
步骤S632,从epoll event中取出暂存在缓存空间中的关联的响应数据。根据客户端信息中记录的该客户端的套接字的发送指令头,如果发送成功,接着发送指令体,并释放数据的缓存空间。
步骤S633,判断发送状态。如果响应数据发送成功,则执行步骤S634。如果发送失败,则执行步骤S64,从EPOLL队列中删除该客户端的套接字,然后关闭该客户端的套接字,删除客户端信息。
步骤S634,将该客户端套接字的EPOLLOUT事件修改成EPOLLIN事件,结束事件处理,返回步骤S56重新处理下一EPOLL事件。
当然,本领域技术人员应该理解,基于本申请的发明构思,某些步骤执行的先后顺序可以调整,例如可先执行步骤S631,后执行步骤S621。
一种具体实例中,工作线程的处理流程图如图7所示,包括以下步骤:
步骤S71,从接收消息队列中取出一条请求数据ReqData。
步骤S72,动态分配响应数据的缓存空间,并根据缓存空间来进行初始化。
步骤S73,调用业务处理函数,对请求数据进行处理。
步骤S74,释放请求数据ReqData的空间。
步骤S75,将响应数据关联到Epoll的event上,并使用epoll_ctl将套接字的事件改为EPOLLOUT,触发EPOLLOUT事件,由主线程来发送数据。然后回到步骤S71,继续处理下一条消息数据。
本实施例采用单进程、多线程模型,其中的网络接收及发送都在同一线程中完成,业务处理在独立的工作线程中完成。同时工作线程是预先创建好的,线程数也是固定的。这种设计带来的好处是避免线程过多导致的上下文切换开销。并使系统足够简洁。
请求响应式的服务模式,即请求总是由客户端发起的,并且服务器总是有一个返回。这种设计的好处同样是使系统处理流程更简洁,效率更高,以支持更高的并发量。
基于二进制的协议设计,使数据打包与解包的处理效率更高。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (14)
1.一种实现单机支持高并发处理方法,其特征在于包括,由同一服务器执行的主线程工作步骤和工作线程工作步骤,所述主线程工作步骤包括:
主线程监听事件;
当主线程监听到事件后,判断事件类型;
按照事件类型对该事件进行响应和处理,当事件类型为客户端新连接事件时,接收新的套接字并对新的套接字进行处理;当事件类型为传输请求事件时,接收传输请求指令,根据传输请求指令生成请求消息添加到接收消息队列等待工作线程的读取;当事件类型为输出事件时,将处于发送状态的数据进行发送处理;
所述工作线程工作步骤包括:
读取接收消息队列中的请求消息;
获取请求消息的响应数据并将响应数据处置为发送状态,以供主线程进行发送处理。
2.如权利要求1所述的方法,其特征在于,所述主线程监听事件之前还包括:创建监听套接字,将监听套接字绑定所述服务器的IP地址和端口,在主线程监听事件过程中监听来自于被绑定的服务器的IP地址和端口的事件,所述主线程监听到事件后,根据所述服务器底层对事件设置的标识判断事件类型。
3.如权利要求1或2所述的方法,其特征在于,当事件类型为客户端新连接事件时,所述接收新的套接字并对新的套接字进行处理步骤包括:
循环接收新的套接字,如果接收失败,则结束内部循环,如果接收成功,则记录客户端信息,当接收到数据读取完毕标识时,则结束事件处理。
4.如权利要求3所述的方法,其特征在于,新的套接字接收成功后,将新的套接字设置为非阻塞状态,所述记录客户端信息包括:将新的套接字加入服务器系统的I/O模型队列中,并将与该新的套接字对应的客户端信息添加到会话管理器中。
5.如权利要求1或2所述的方法,其特征在于,当事件类型为传输请求事件时,所述接收传输请求指令,并将指令体中的请求消息添加到接收消息队列步骤包括:
接收传输请求指令的指令头;
根据指令头中描述的长度信息动态分配指令体缓存空间;
接收指令体数据,并将接收到的指令体数据放入指令体缓存空间;
判断指令的接收状态,如果整个指令接收成功,则根据请求的指令头及指令体生成一个请求消息,将请求消息添加到接收消息队列;如果接收到数据读取完毕标识,则结束事件处理;如果接收失败,则删除I/O模型队列中与发送传输请求指令的客户端对应的套接字,删除会话管理器中该客户端信息。
6.如权利要求1或2所述的方法,其特征在于,当事件类型为输出事件时,将处于发送状态的数据进行发送处理步骤包括:
当判断数据发送成功后,将I/O模型队列中与接收该数据的客户端的套接字中的输出事件修改为传输请求事件;
当判断数据发送失败后,将I/O模型队列中与接收该数据的客户端的套接字删除,并删除会话管理器中该客户端信息。
7.如权利要求1或2所述的方法,其特征在于,获取请求消息的响应数据并将响应数据处置为发送状态包括:
根据请求消息动态分配响应数据缓存空间;
调用业务处理函数对请求消息进行处理;
将响应数据存入响应数据缓存空间;
将响应数据缓存空间关联到数据发送指针上,并触发输出事件。
8.一种实现单机支持高并发处理系统,其特征在于包括:
接收消息队列,其用于接收消息;
主线程,其用于监听事件,当监听到事件后,判断事件类型,按照事件类型对该事件进行响应和处理,当事件类型为客户端新连接事件时,接收新的套接字并对新的套接字进行处理;当事件类型为传输请求事件时,接收传输请求指令,并根据指令生成请求消息添加到接收消息队列;当事件类型为输出事件时,将处于发送状态的数据进行发送处理;
工作线程,其用于读取接收消息队列中的请求消息,获取请求消息的响应数据并将响应数据处置为发送状态,以供主线程进行发送处理;
所述接收消息队列、主线程和工作线程位于同一服务器上。
9.如权利要求8所述的高并发处理系统,其特征在于,所述高并发处理系统基于epoll作为I/O模型创建,所述主线程绑定所述服务器的IP地址和端口,其监听的事件为该IP地址和端口的事件。
10.如权利要求8或9所述的高并发处理系统,其特征在于,还包括与接收消息队列、主线程和工作线程位于同一服务器上的会话管理器,所述会话管理器用于对客户端信息进行添加、更新或删除,所述客户端信息由主线程写入或删除。
11.如权利要求10所述的高并发处理系统,其特征在于,所述客户端信息包括客户端登录网站信息、心跳信息和连接时长中的至少一种;所述会话管理器将其中记录有信息的客户端和服务器保持长连接。
12.如权利要求8或9所述的高并发处理系统,其特征在于,当主线程判断事件类型为客户端新连接事件时,主线程循环接收新的套接字,如果接收失败,则结束内部循环,如果接收成功,将新的套接字加入服务器系统的I/O模型队列中,并将与该新的套接字对应的客户端信息添加到会话管理器中,当接收到数据读取完毕标识时,则结束事件处理;当主线程判断事件类型为传输请求事件时,主线程接收传输请求指令的指令头,根据指令头中描述的长度信息动态分配指令体缓存空间,接收指令体数据,并将接收到的指令体数据放入指令体缓存空间,判断指令的接收状态,如果整个指令接收成功,则根据指令头及指令体数据生成一个请求消息并将该请求消息添加到接收消息队列;如果接收到数据读取完毕标识,则结束事件处理;如果接收失败,则删除I/O模型队列中与发送传输请求指令的客户端对应的套接字,删除会话管理器中该客户端信息;当主线程判断事件类型为输出事件时,主线程在发送数据后判断数据发送状态,当判断数据发送成功后,将I/O模型队列中与接收该数据的客户端的套接字中的输出事件修改为传输请求事件,当判断数据发送失败后,将I/O模型队列中与接收该数据的客户端的套接字删除,并删除会话管理器中该客户端信息。
13.如权利要求8或9所述的高并发处理系统,其特征在于,所述工作线程从接收消息队列中读取一请求消息,根据该请求消息动态分配响应数据缓存空间,调用业务处理函数对请求消息进行处理生成响应数据,将响应数据存入响应数据缓存空间,将响应数据缓存空间关联到数据发送指针上,并触发输出事件。
14.一种实现单机支持高并发状态下对传输请求事件的处理方法,其特征在于包括:
主线程检测到一个传输请求事件时,读取指令头及指令体数据,根据请求的指令头及指令体生成一个请求消息,将请求消息添加到接收消息队列;
工作线程从接收消息队列中取出一条请求消息,根据请求消息创建响应消息头,然后调用业务处理函数对请求消息进行处理,生成响应数据,将响应数据关联到数据发送指针上,并触发输出事件;
主线程检测到输出事件后,从数据发送指针上取出关联的响应数据,并将响应数据发送出去。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104056591A CN103164256A (zh) | 2011-12-08 | 2011-12-08 | 一种实现单机支持高并发处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104056591A CN103164256A (zh) | 2011-12-08 | 2011-12-08 | 一种实现单机支持高并发处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103164256A true CN103164256A (zh) | 2013-06-19 |
Family
ID=48587373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104056591A Pending CN103164256A (zh) | 2011-12-08 | 2011-12-08 | 一种实现单机支持高并发处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103164256A (zh) |
Cited By (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103441999A (zh) * | 2013-08-21 | 2013-12-11 | 好耶网络科技(上海)有限公司 | 一种套接字连接池控制方法 |
CN103501245A (zh) * | 2013-09-26 | 2014-01-08 | 北京搜狐互联网信息服务有限公司 | 一种网络事件处理方法及装置 |
CN104320404A (zh) * | 2014-11-05 | 2015-01-28 | 中国科学技术大学 | 一种多线程高性能http代理实现方法及系统 |
CN104506642A (zh) * | 2014-12-30 | 2015-04-08 | 深圳市兰丁科技有限公司 | 一种客户端消息高效的收发和处理方法及系统 |
CN104683460A (zh) * | 2015-02-15 | 2015-06-03 | 青岛海尔智能家电科技有限公司 | 一种物联网的通信方法、装置及服务器 |
CN104793999A (zh) * | 2014-01-21 | 2015-07-22 | 航天信息股份有限公司 | 伺服服务器架构系统 |
CN104917814A (zh) * | 2015-04-21 | 2015-09-16 | 浙江大学 | 一种基于java的网络传输协议转换中间件 |
CN104932932A (zh) * | 2014-03-20 | 2015-09-23 | 腾讯科技(深圳)有限公司 | 一种业务异步处理方法、装置和系统 |
CN105024944A (zh) * | 2015-07-14 | 2015-11-04 | 南京雨巢网络有限公司 | 一种基于物联网的喷淋控制器高并发解决方法 |
CN105094988A (zh) * | 2015-08-13 | 2015-11-25 | 深圳市金蝶中间件有限公司 | 基于http请求的数据处理方法和装置 |
CN105681321A (zh) * | 2016-02-24 | 2016-06-15 | 公安部第一研究所 | 一种数据处理方法及装置 |
WO2016127854A1 (zh) * | 2015-02-09 | 2016-08-18 | 阿里巴巴集团控股有限公司 | 一种信息处理方法及装置 |
CN106201830A (zh) * | 2016-07-27 | 2016-12-07 | 福建富士通信息软件有限公司 | 一种基于epoll写数据监视的方法以及系统 |
CN106302554A (zh) * | 2016-11-08 | 2017-01-04 | 郑州云海信息技术有限公司 | 一种socket通信方法、装置和存储设备 |
WO2017028399A1 (zh) * | 2015-08-18 | 2017-02-23 | 北京百度网讯科技有限公司 | 通信数据传输方法及系统 |
CN106534118A (zh) * | 2016-11-11 | 2017-03-22 | 济南浪潮高新科技投资发展有限公司 | 一种高性能ip‑sm‑gw系统的实现方法 |
CN106603685A (zh) * | 2016-12-23 | 2017-04-26 | 深圳市三维通机器人系统有限公司 | 基于大数据高并发通信的agv通信方法及其系统 |
CN106844017A (zh) * | 2015-12-03 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 用于网站服务器处理事件的方法和设备 |
CN107016295A (zh) * | 2017-03-01 | 2017-08-04 | 武汉斗鱼网络科技有限公司 | 一种实现数据加解密的方法及系统 |
CN107181643A (zh) * | 2017-06-08 | 2017-09-19 | 北京数盾信息科技有限公司 | 一种代理服务器监控管理方法及系统 |
CN107479955A (zh) * | 2017-08-04 | 2017-12-15 | 南京华飞数据技术有限公司 | 一种基于Epoll异步服务器的高效响应方法 |
CN107479966A (zh) * | 2017-07-03 | 2017-12-15 | 珠海高凌信息科技股份有限公司 | 一种基于多核心cpu的信令采集方法 |
CN107533488A (zh) * | 2015-10-22 | 2018-01-02 | 甲骨文国际公司 | 用于在交易处理环境中提供mssq通知的系统和方法 |
WO2018032399A1 (en) * | 2016-08-17 | 2018-02-22 | Zte Corporation | Server and method having high concurrency capability |
CN107948158A (zh) * | 2017-11-27 | 2018-04-20 | 中山路得斯空调有限公司 | 一种处理高频率多并发的数据连接方法 |
CN108255585A (zh) * | 2016-12-28 | 2018-07-06 | 北京奇虎科技有限公司 | Sdk异常控制及应用程序运行方法、装置及其设备 |
CN108958903A (zh) * | 2017-05-25 | 2018-12-07 | 北京忆恒创源科技有限公司 | 嵌入式多核中央处理器任务调度方法与装置 |
CN108958904A (zh) * | 2017-05-25 | 2018-12-07 | 北京忆恒创源科技有限公司 | 嵌入式多核中央处理器的轻量级操作系统的驱动程序框架 |
CN109032452A (zh) * | 2018-08-14 | 2018-12-18 | 北京大米科技有限公司 | 页面操作内容同步系统及方法 |
CN109032451A (zh) * | 2018-08-14 | 2018-12-18 | 北京大米科技有限公司 | 图库操作内容同步系统及方法 |
CN109067885A (zh) * | 2018-08-14 | 2018-12-21 | 北京大米科技有限公司 | 绘画线条同步系统及方法 |
CN109144698A (zh) * | 2018-08-30 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 数据获取方法、事件分发器、设备、介质和无人车 |
CN109240780A (zh) * | 2018-08-14 | 2019-01-18 | 北京大米科技有限公司 | 音频操作内容同步系统及方法 |
CN109375998A (zh) * | 2018-10-11 | 2019-02-22 | 上海瀚银信息技术有限公司 | 一种高并发请求环境中的处理方法 |
CN109474661A (zh) * | 2018-09-25 | 2019-03-15 | 视联动力信息技术股份有限公司 | 一种网络请求事件的处理方法和系统 |
CN109947581A (zh) * | 2019-03-29 | 2019-06-28 | 山东浪潮云信息技术有限公司 | 高并发的数据传送方法及用于交换机的数据传送方法 |
CN110380991A (zh) * | 2019-07-24 | 2019-10-25 | 成都甄识科技有限公司 | 一种IOCP机制及基于eFPGA和IOCP的物联网通信加速系统 |
CN110795092A (zh) * | 2018-08-01 | 2020-02-14 | 中标软件有限公司 | Docker执行Epoll系统调用的方法 |
WO2020034652A1 (zh) * | 2018-08-14 | 2020-02-20 | 北京大米科技有限公司 | 一种用户界面同步系统、方法、终端以及服务器 |
CN110896493A (zh) * | 2018-09-13 | 2020-03-20 | 武汉斗鱼网络科技有限公司 | 一种链接弹幕的方法及移动终端 |
CN111131499A (zh) * | 2019-12-31 | 2020-05-08 | 北京讯鸟软件有限公司 | 并发和异步任务处理方法及其设备 |
CN111522663A (zh) * | 2020-04-23 | 2020-08-11 | 苏州浪潮智能科技有限公司 | 一种基于分布式存储系统的数据传输方法、装置和系统 |
CN111651320A (zh) * | 2020-05-20 | 2020-09-11 | 北京中交兴路信息科技有限公司 | 一种高并发连接方法和系统 |
CN111752717A (zh) * | 2020-07-08 | 2020-10-09 | 广州爱浦路网络技术有限公司 | Smf智能扩展方法和装置、smf会话建立的通信方法 |
CN111897496A (zh) * | 2020-07-28 | 2020-11-06 | 上海德拓信息技术股份有限公司 | 分布式系统中提升网络io读写性能的方法 |
CN112380028A (zh) * | 2020-10-26 | 2021-02-19 | 上汽通用五菱汽车股份有限公司 | 一种异步非阻塞响应式消息处理方法 |
CN112395076A (zh) * | 2019-08-15 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 网络数据的处理方法、设备及存储介质 |
CN112954006A (zh) * | 2021-01-26 | 2021-06-11 | 重庆邮电大学 | 支持Web高并发访问的工业互联网边缘网关设计方法 |
CN112968919A (zh) * | 2019-12-12 | 2021-06-15 | 上海欣诺通信技术股份有限公司 | 一种数据处理方法、装置、设备和存储介质 |
CN113608853A (zh) * | 2021-08-06 | 2021-11-05 | 安徽创新软件集团有限公司 | 一种基于物联网技术的多线程数据采集系统 |
CN113741797A (zh) * | 2020-08-31 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法和装置 |
CN113839853A (zh) * | 2021-08-24 | 2021-12-24 | 云智联网络科技(北京)有限公司 | 一种高并发聊天室消息分发方法及装置 |
CN115277602A (zh) * | 2022-06-22 | 2022-11-01 | 全知科技(杭州)有限责任公司 | 一种api网关流量镜像方法 |
CN115412500A (zh) * | 2022-06-16 | 2022-11-29 | 深圳花儿数据技术有限公司 | 支持负载均衡策略的异步通信方法、系统、介质及设备 |
CN115883627A (zh) * | 2022-11-22 | 2023-03-31 | 山东鲁软数字科技有限公司 | 一种嵌入式数据传输方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040267916A1 (en) * | 2003-06-25 | 2004-12-30 | International Business Machines Corporation | Method for improving performance in a computer storage system by regulating resource requests from clients |
CN1700177A (zh) * | 2005-06-24 | 2005-11-23 | 中国人民解放军国防科学技术大学 | 构建基于软流水结构的Web服务器的方法及其服务器 |
CN1867898A (zh) * | 2003-10-14 | 2006-11-22 | 国际商业机器公司 | 用于在面向服务的体系结构中处理服务请求的方法和装置 |
CN101256505A (zh) * | 2007-03-02 | 2008-09-03 | 中国科学院声学研究所 | 基于io事件通知机制的单进程内容服务器装置及方法 |
-
2011
- 2011-12-08 CN CN2011104056591A patent/CN103164256A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040267916A1 (en) * | 2003-06-25 | 2004-12-30 | International Business Machines Corporation | Method for improving performance in a computer storage system by regulating resource requests from clients |
CN1867898A (zh) * | 2003-10-14 | 2006-11-22 | 国际商业机器公司 | 用于在面向服务的体系结构中处理服务请求的方法和装置 |
CN1700177A (zh) * | 2005-06-24 | 2005-11-23 | 中国人民解放军国防科学技术大学 | 构建基于软流水结构的Web服务器的方法及其服务器 |
CN101256505A (zh) * | 2007-03-02 | 2008-09-03 | 中国科学院声学研究所 | 基于io事件通知机制的单进程内容服务器装置及方法 |
Cited By (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103441999A (zh) * | 2013-08-21 | 2013-12-11 | 好耶网络科技(上海)有限公司 | 一种套接字连接池控制方法 |
CN103501245A (zh) * | 2013-09-26 | 2014-01-08 | 北京搜狐互联网信息服务有限公司 | 一种网络事件处理方法及装置 |
CN103501245B (zh) * | 2013-09-26 | 2017-02-08 | 北京搜狐互联网信息服务有限公司 | 一种网络事件处理方法及装置 |
CN104793999A (zh) * | 2014-01-21 | 2015-07-22 | 航天信息股份有限公司 | 伺服服务器架构系统 |
CN104932932B (zh) * | 2014-03-20 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种业务异步处理方法、装置和系统 |
CN104932932A (zh) * | 2014-03-20 | 2015-09-23 | 腾讯科技(深圳)有限公司 | 一种业务异步处理方法、装置和系统 |
CN104320404B (zh) * | 2014-11-05 | 2017-10-03 | 中国科学技术大学 | 一种多线程高性能http代理实现方法及系统 |
CN104320404A (zh) * | 2014-11-05 | 2015-01-28 | 中国科学技术大学 | 一种多线程高性能http代理实现方法及系统 |
CN104506642A (zh) * | 2014-12-30 | 2015-04-08 | 深圳市兰丁科技有限公司 | 一种客户端消息高效的收发和处理方法及系统 |
CN104506642B (zh) * | 2014-12-30 | 2018-06-22 | 深圳市兰丁科技有限公司 | 一种客户端消息高效的收发和处理方法及系统 |
CN105991571B (zh) * | 2015-02-09 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 一种信息处理方法及装置 |
WO2016127854A1 (zh) * | 2015-02-09 | 2016-08-18 | 阿里巴巴集团控股有限公司 | 一种信息处理方法及装置 |
CN105991571A (zh) * | 2015-02-09 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种信息处理方法及装置 |
CN104683460A (zh) * | 2015-02-15 | 2015-06-03 | 青岛海尔智能家电科技有限公司 | 一种物联网的通信方法、装置及服务器 |
CN104683460B (zh) * | 2015-02-15 | 2019-08-16 | 青岛海尔智能家电科技有限公司 | 一种物联网的通信方法、装置及服务器 |
CN104917814B (zh) * | 2015-04-21 | 2018-05-01 | 浙江大学 | 一种基于java的网络传输协议转换中间件 |
CN104917814A (zh) * | 2015-04-21 | 2015-09-16 | 浙江大学 | 一种基于java的网络传输协议转换中间件 |
CN105024944A (zh) * | 2015-07-14 | 2015-11-04 | 南京雨巢网络有限公司 | 一种基于物联网的喷淋控制器高并发解决方法 |
CN105094988A (zh) * | 2015-08-13 | 2015-11-25 | 深圳市金蝶中间件有限公司 | 基于http请求的数据处理方法和装置 |
WO2017028399A1 (zh) * | 2015-08-18 | 2017-02-23 | 北京百度网讯科技有限公司 | 通信数据传输方法及系统 |
US10609125B2 (en) | 2015-08-18 | 2020-03-31 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and system for transmitting communication data |
CN107533488B (zh) * | 2015-10-22 | 2021-06-29 | 甲骨文国际公司 | 用于在交易处理环境中提供mssq通知的系统和方法 |
CN107533488A (zh) * | 2015-10-22 | 2018-01-02 | 甲骨文国际公司 | 用于在交易处理环境中提供mssq通知的系统和方法 |
CN106844017B (zh) * | 2015-12-03 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 用于网站服务器处理事件的方法和设备 |
CN106844017A (zh) * | 2015-12-03 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 用于网站服务器处理事件的方法和设备 |
CN105681321A (zh) * | 2016-02-24 | 2016-06-15 | 公安部第一研究所 | 一种数据处理方法及装置 |
CN106201830A (zh) * | 2016-07-27 | 2016-12-07 | 福建富士通信息软件有限公司 | 一种基于epoll写数据监视的方法以及系统 |
WO2018032399A1 (en) * | 2016-08-17 | 2018-02-22 | Zte Corporation | Server and method having high concurrency capability |
CN106302554A (zh) * | 2016-11-08 | 2017-01-04 | 郑州云海信息技术有限公司 | 一种socket通信方法、装置和存储设备 |
CN106534118A (zh) * | 2016-11-11 | 2017-03-22 | 济南浪潮高新科技投资发展有限公司 | 一种高性能ip‑sm‑gw系统的实现方法 |
CN106603685A (zh) * | 2016-12-23 | 2017-04-26 | 深圳市三维通机器人系统有限公司 | 基于大数据高并发通信的agv通信方法及其系统 |
CN108255585A (zh) * | 2016-12-28 | 2018-07-06 | 北京奇虎科技有限公司 | Sdk异常控制及应用程序运行方法、装置及其设备 |
CN108255585B (zh) * | 2016-12-28 | 2023-08-18 | 三六零科技集团有限公司 | Sdk异常控制及应用程序运行方法、装置及其设备 |
CN107016295A (zh) * | 2017-03-01 | 2017-08-04 | 武汉斗鱼网络科技有限公司 | 一种实现数据加解密的方法及系统 |
CN108958903B (zh) * | 2017-05-25 | 2024-04-05 | 北京忆恒创源科技股份有限公司 | 嵌入式多核中央处理器任务调度方法与装置 |
CN108958904B (zh) * | 2017-05-25 | 2024-04-05 | 北京忆恒创源科技股份有限公司 | 嵌入式多核中央处理器的轻量级操作系统的驱动程序框架 |
CN108958904A (zh) * | 2017-05-25 | 2018-12-07 | 北京忆恒创源科技有限公司 | 嵌入式多核中央处理器的轻量级操作系统的驱动程序框架 |
CN108958903A (zh) * | 2017-05-25 | 2018-12-07 | 北京忆恒创源科技有限公司 | 嵌入式多核中央处理器任务调度方法与装置 |
CN107181643A (zh) * | 2017-06-08 | 2017-09-19 | 北京数盾信息科技有限公司 | 一种代理服务器监控管理方法及系统 |
CN107479966A (zh) * | 2017-07-03 | 2017-12-15 | 珠海高凌信息科技股份有限公司 | 一种基于多核心cpu的信令采集方法 |
CN107479966B (zh) * | 2017-07-03 | 2020-11-03 | 珠海高凌信息科技股份有限公司 | 一种基于多核心cpu的信令采集方法 |
CN107479955A (zh) * | 2017-08-04 | 2017-12-15 | 南京华飞数据技术有限公司 | 一种基于Epoll异步服务器的高效响应方法 |
CN107479955B (zh) * | 2017-08-04 | 2020-04-17 | 南京华飞数据技术有限公司 | 一种基于Epoll异步服务器的高效响应方法 |
CN107948158A (zh) * | 2017-11-27 | 2018-04-20 | 中山路得斯空调有限公司 | 一种处理高频率多并发的数据连接方法 |
CN107948158B (zh) * | 2017-11-27 | 2023-06-27 | 广东路得斯环境科技有限公司 | 一种处理高频率多并发的数据连接方法 |
CN110795092B (zh) * | 2018-08-01 | 2023-05-02 | 中标软件有限公司 | Docker执行Epoll系统调用的方法 |
CN110795092A (zh) * | 2018-08-01 | 2020-02-14 | 中标软件有限公司 | Docker执行Epoll系统调用的方法 |
CN109240780A (zh) * | 2018-08-14 | 2019-01-18 | 北京大米科技有限公司 | 音频操作内容同步系统及方法 |
CN109067885A (zh) * | 2018-08-14 | 2018-12-21 | 北京大米科技有限公司 | 绘画线条同步系统及方法 |
CN109067885B (zh) * | 2018-08-14 | 2021-09-17 | 北京大米科技有限公司 | 绘画线条同步系统及方法 |
WO2020034652A1 (zh) * | 2018-08-14 | 2020-02-20 | 北京大米科技有限公司 | 一种用户界面同步系统、方法、终端以及服务器 |
CN109032452A (zh) * | 2018-08-14 | 2018-12-18 | 北京大米科技有限公司 | 页面操作内容同步系统及方法 |
CN109032451A (zh) * | 2018-08-14 | 2018-12-18 | 北京大米科技有限公司 | 图库操作内容同步系统及方法 |
CN109144698B (zh) * | 2018-08-30 | 2021-04-27 | 百度在线网络技术(北京)有限公司 | 数据获取方法、事件分发器、设备、介质和无人车 |
CN109144698A (zh) * | 2018-08-30 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 数据获取方法、事件分发器、设备、介质和无人车 |
CN110896493B (zh) * | 2018-09-13 | 2022-02-08 | 武汉斗鱼网络科技有限公司 | 一种链接弹幕的方法及移动终端 |
CN110896493A (zh) * | 2018-09-13 | 2020-03-20 | 武汉斗鱼网络科技有限公司 | 一种链接弹幕的方法及移动终端 |
CN109474661A (zh) * | 2018-09-25 | 2019-03-15 | 视联动力信息技术股份有限公司 | 一种网络请求事件的处理方法和系统 |
CN109375998A (zh) * | 2018-10-11 | 2019-02-22 | 上海瀚银信息技术有限公司 | 一种高并发请求环境中的处理方法 |
CN109375998B (zh) * | 2018-10-11 | 2022-07-22 | 上海瀚银信息技术有限公司 | 一种高并发请求环境中的处理方法 |
CN109947581B (zh) * | 2019-03-29 | 2021-08-27 | 浪潮云信息技术股份公司 | 高并发的数据传送方法及用于交换机的数据传送方法 |
CN109947581A (zh) * | 2019-03-29 | 2019-06-28 | 山东浪潮云信息技术有限公司 | 高并发的数据传送方法及用于交换机的数据传送方法 |
CN110380991A (zh) * | 2019-07-24 | 2019-10-25 | 成都甄识科技有限公司 | 一种IOCP机制及基于eFPGA和IOCP的物联网通信加速系统 |
CN112395076A (zh) * | 2019-08-15 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 网络数据的处理方法、设备及存储介质 |
CN112968919A (zh) * | 2019-12-12 | 2021-06-15 | 上海欣诺通信技术股份有限公司 | 一种数据处理方法、装置、设备和存储介质 |
CN112968919B (zh) * | 2019-12-12 | 2023-05-30 | 上海欣诺通信技术股份有限公司 | 一种数据处理方法、装置、设备和存储介质 |
CN111131499A (zh) * | 2019-12-31 | 2020-05-08 | 北京讯鸟软件有限公司 | 并发和异步任务处理方法及其设备 |
CN111522663A (zh) * | 2020-04-23 | 2020-08-11 | 苏州浪潮智能科技有限公司 | 一种基于分布式存储系统的数据传输方法、装置和系统 |
CN111522663B (zh) * | 2020-04-23 | 2022-08-19 | 苏州浪潮智能科技有限公司 | 一种基于分布式存储系统的数据传输方法、装置和系统 |
CN111651320A (zh) * | 2020-05-20 | 2020-09-11 | 北京中交兴路信息科技有限公司 | 一种高并发连接方法和系统 |
CN111752717A (zh) * | 2020-07-08 | 2020-10-09 | 广州爱浦路网络技术有限公司 | Smf智能扩展方法和装置、smf会话建立的通信方法 |
CN111897496A (zh) * | 2020-07-28 | 2020-11-06 | 上海德拓信息技术股份有限公司 | 分布式系统中提升网络io读写性能的方法 |
CN111897496B (zh) * | 2020-07-28 | 2023-12-19 | 上海德拓信息技术股份有限公司 | 分布式系统中提升网络io读写性能的方法 |
CN113741797A (zh) * | 2020-08-31 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法和装置 |
CN112380028A (zh) * | 2020-10-26 | 2021-02-19 | 上汽通用五菱汽车股份有限公司 | 一种异步非阻塞响应式消息处理方法 |
CN112954006B (zh) * | 2021-01-26 | 2022-07-22 | 重庆邮电大学 | 支持Web高并发访问的工业互联网边缘网关设计方法 |
CN112954006A (zh) * | 2021-01-26 | 2021-06-11 | 重庆邮电大学 | 支持Web高并发访问的工业互联网边缘网关设计方法 |
CN113608853B (zh) * | 2021-08-06 | 2023-11-10 | 安徽创新软件集团有限公司 | 一种基于物联网技术的多线程数据采集系统 |
CN113608853A (zh) * | 2021-08-06 | 2021-11-05 | 安徽创新软件集团有限公司 | 一种基于物联网技术的多线程数据采集系统 |
CN113839853A (zh) * | 2021-08-24 | 2021-12-24 | 云智联网络科技(北京)有限公司 | 一种高并发聊天室消息分发方法及装置 |
CN115412500A (zh) * | 2022-06-16 | 2022-11-29 | 深圳花儿数据技术有限公司 | 支持负载均衡策略的异步通信方法、系统、介质及设备 |
CN115412500B (zh) * | 2022-06-16 | 2024-05-28 | 深圳花儿数据技术有限公司 | 支持负载均衡策略的异步通信方法、系统、介质及设备 |
CN115277602B (zh) * | 2022-06-22 | 2023-07-28 | 全知科技(杭州)有限责任公司 | 一种api网关流量镜像方法 |
CN115277602A (zh) * | 2022-06-22 | 2022-11-01 | 全知科技(杭州)有限责任公司 | 一种api网关流量镜像方法 |
CN115883627A (zh) * | 2022-11-22 | 2023-03-31 | 山东鲁软数字科技有限公司 | 一种嵌入式数据传输方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103164256A (zh) | 一种实现单机支持高并发处理方法及系统 | |
JP7197612B2 (ja) | オンデマンドネットワークコード実行システム上での補助機能の実行 | |
US10292044B2 (en) | Apparatus for end-user transparent utilization of computational, storage, and network capacity of mobile devices, and associated methods | |
US9251040B2 (en) | Remote debugging in a cloud computing environment | |
WO2019061720A1 (zh) | 一种数据同步的方法和系统 | |
KR102596924B1 (ko) | 이벤트 통지 방법, 장치 및 저장매체 | |
WO2019153488A1 (zh) | 服务配置管理方法、装置、存储介质和服务器 | |
US8543652B2 (en) | System and method for efficient unified messaging system support for speech-to-text service | |
US20140059152A1 (en) | Support server for redirecting task results to a wake-up server | |
CN112799786A (zh) | 微服务实例的退出方法、装置、设备及存储介质 | |
TWI484346B (zh) | 最適化網路連接器並減少中斷 | |
EP4071609A1 (en) | Node management method, device and apparatus, storage medium, and system | |
US10484262B2 (en) | Dynamic cloning of application infrastructures | |
US20100322393A1 (en) | Voicemail notification server load balancing | |
RU2011110346A (ru) | Система медийных ресурсов и способ предоставления медийных ресурсов | |
CN113420007B (zh) | 数据库访问的审计处理方法、装置及电子设备 | |
CN103501237A (zh) | 设备管理方法、管理平台、设备及系统 | |
CN115426361A (zh) | 分布式客户端打包方法、装置、主服务器及存储介质 | |
JP2005531061A (ja) | モバイルアプリケーションのための実行環境 | |
JP5405550B2 (ja) | モバイルメッセージングサービスにおけるファイル送信をサポートするファイル送信管理システム及びファイル送信管理方法 | |
KR101758337B1 (ko) | 메시지의 중복알림을 방지하는 방법, 저장 매체 및 이를 운용하는 사용자 장치 | |
JP5529596B2 (ja) | 処理方法、処理装置、通信装置及びプログラム | |
JP2008250427A (ja) | 情報処理システムに用いられるバージョンアップ装置及び該装置を備えた情報処理システム並びに情報処理システムをバージョンアップするためのプログラム | |
CN115686813A (zh) | 一种资源调度方法、装置、电子设备和存储介质 | |
CN105245512B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130619 |
|
RJ01 | Rejection of invention patent application after publication |