CN111124715B - 一种信息处理方法、网络进程单元和计算机可读存储介质 - Google Patents
一种信息处理方法、网络进程单元和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111124715B CN111124715B CN201911363270.8A CN201911363270A CN111124715B CN 111124715 B CN111124715 B CN 111124715B CN 201911363270 A CN201911363270 A CN 201911363270A CN 111124715 B CN111124715 B CN 111124715B
- Authority
- CN
- China
- Prior art keywords
- process unit
- computing
- task
- calculation
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种信息处理方法、网络进程单元和计算机可读存储介质,所述方法应用于网络进程单元,所述网络进程单元与计算进程单元通信连接,所述方法包括:获得任务请求,所述任务请求中包括计算任务;将所述计算任务发送至计算进程单元,以处理计算任务;接收来自所述计算进程单元的处理结果,所述处理结果用于封装成对应所述任务请求的第一响应信息,应用本发明实施例提供的计算密集型任务请求处理方法,能够通过计算进程单元处理计算任务,在计算任务处理过程中,网络进程单元能够及时接收并处理后续请求。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种信息处理方法、网络进程单元和计算机可读存储介质。
背景技术
目前用于进行http服务的服务器平台包括有nginx、openresty和tengine等。这些服务器通常用于接收并处理来自客户端的http请求,并将处理结果返回给客户端。但是这些服务器大都是基于epoll单进程模型实现http请求的,即每次任务请求都是在对应的网络进程单元中进行处理的,因此这些服务器处理的请求一般来说都是非计算密集型的任务,当这类服务器进行计算密集型的任务处理时,由于网络进程单元处理计算密集型的任务会占用相当长的处理时间,进而导致后续请求无法及时处理。造成客户端任务请求发送后出现无响应或响应超时的情况发生。
发明内容
本发明实施例提供了一种网络进程单元、应用于网络进程单元的处理方法及计算机可读介质,对计算密集型任务请求的处理进行优化。
本发明一方面提供一种计算密集型任务请求处理方法,所述方法应用于网络进程单元,所述网络进程单元与计算进程单元通信连接,所述方法包括:获得任务请求,所述任务请求中包括计算任务;将所述计算任务发送至计算进程单元,以使所述计算进程单元处理所述计算任务;接收来自所述计算进程单元的处理结果,所述处理结果用于封装成对应所述任务请求的第一响应信息。
在一可实施方式中,所述获得任务请求,所述任务请求中包括计算任务,包括:获得任务请求;判断所述任务请求中是否包括计算任务,获得判断结果;其中,当所述判断结果为所述任务请求中包括计算任务时,将所述计算任务用于发送至计算进程单元。
在一可实施方式中,所述将所述计算任务发送至计算进程单元,以处理计算任务,包括:与计算进程单元建立socket,所述socket用于进行通信连接;向所述计算进程单元发送计算请求,所述计算请求用于请求所述计算进程单元处理所述计算任务;接收来自计算进程单元的第二响应信息;基于所述第二响应信息将所述计算任务发送至计算进程单元。
在一可实施方式中,所述接收来自所述计算进程单元的处理结果,包括:通过epoll监听所述计算进程单元的socket,等待计算进程单元将处理结果发送到监听的socket中;当所述计算进程单元将处理结果发送到所述监听的socket中时,所述网络进程单元接收来自所述计算进程单元的处理结果。
在一可实施方式中,在将所述计算任务发送至计算进程单元之前,所述方法还包括:根据配置文件复刻若干所述计算进程单元;所述计算进程单元进行初始化和加载计算资源算法库。
在一可实施方式中,在通过epoll监听所述计算进程单元的socket的过程中,所述方法还包括:获得下一轮任务请求;将所述下一轮任务请求发送至其中一个未处理计算任务的计算进程单元,以使所述未处理计算任务的计算进程单元处理所述计算任务。
本发明另一方面提供一种网络进程单元,所述网络进程单元与计算进程单元通信连接,所述网络进程单元包括:获得模块,用于获得任务请求,所述任务请求中包括计算任务;发送模块,用于将所述计算任务发送至计算进程单元,以使所述计算进程单元处理所述计算任务;接收模块,用于接收来自所述计算进程单元的处理结果,所述处理结果用于封装成对应所述任务请求的第一响应信息。
在一可实施方式中,所述获得模块,包括:获得子模块,用于获得任务请求;判断子模块,用于判断所述任务请求中是否包括计算任务,获得判断结果;其中,当所述判断结果为所述任务请求中包括计算任务时,所述计算任务用于发送至计算进程单元。
在一可实施方式中,所述发送模块,包括:建立子模块,用于与计算进程单元建立socket,所述socket用于进行通信连接;发送子模块,用于向所述计算进程单元发送计算请求,所述计算请求用于请求所述计算进程单元处理所述计算任务;第一接收子模块,用于接收来自计算进程单元的第二响应信息;所述发送子模块,还用于基于所述第二响应信息将所述计算任务发送至计算进程单元。
在一可实施方式中,所述接收模块,包括:监听子模块,用于通过epoll监听所述计算进程单元的socket,等待计算进程单元将处理结果发送到监听的socket中;第二接收子模块,用于当所述计算进程单元将处理结果发送到所述监听的socket中时,所述网络进程单元接收来自所述计算进程单元的处理结果。
在一可实施方式中,服务器包括:复刻单元,用于根据配置文件复刻若干所述计算进程单元;所述计算进程单元包括,初始加载模块,用于所述计算进程单元进行初始化和加载计算资源算法库。
在一可实施方式中,在所述网络进程单元中,所述获得模块,还用于获得下一轮任务请求;所述发送模块,还用于将所述下一轮任务请求发送至其中一个未处理计算任务的计算进程单元,以使所述未处理计算任务的计算进程单元处理所述计算任务。
本发明另一方面提供一种计算机可读存储介质,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行上述任一项所述的计算密集型任务请求处理方法。
本发明提供的网络进程单元、应用于网络进程单元的处理方法及计算机可读介质,能够接收并处理计算密集型任务请求,并将处理结果发送至指定对象,当网络进程单元获得计算密集型任务请求时,能够将计算密集型任务请求中的计算任务发送至计算进程单元,通过计算进程单元处理计算任务,在计算任务处理过程中,网络进程单元能够及时接收并处理后续请求,避免了由于网络进程单元处理计算任务而无法及时接收后续的任务请求的情况发生。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1为本发明实施例一种计算密集型任务请求处理方法的实现流程示意图;
图2为本发明实施例一种计算密集型任务请求处理方法任务判断的实现流程示意图;
图3为本发明实施例一种计算密集型任务请求处理方法建立通信的实现流程示意图;
图4为本发明实施例一种计算密集型任务请求处理方法epoll监听的实现流程示意图;
图5为本发明实施例一种计算密集型任务请求处理方法复刻计算进程单元的实现流程示意图;
图6为本发明实施例另一种计算密集型任务请求处理方法的实现流程示意图;
图7为本发明实施例一种网络进程单元的实现模块示意图;
图8为本发明实施例一种服务器的实现模块示意图。
具体实施方式
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一种计算密集型任务请求处理方法的实现流程示意图。
参见图1,本发明实施例一方面提供一种计算密集型任务请求处理方法,方法应用于网络进程单元,网络进程单元与计算进程单元通信连接,方法包括:步骤101,获得任务请求,任务请求中包括计算任务;步骤102,将计算任务发送至计算进程单元,以使计算进程单元处理计算任务;步骤103,接收来自计算进程单元的处理结果,处理结果用于封装成对应任务请求的第一响应信息。
本发明实施例提供的计算密集型任务请求处理方法,用于Web服务器(WebServer,网站服务器),以进行http服务。应用本发明实施例提供的计算密集型请求处理方法,能够接收并处理http请求,并将处理结果发送至指定对象,尤其适用于处理具有计算密集型特点的任务。在本方法中,当网络进程单元获得计算密集型任务请求时,能够将计算任务发送至计算进程单元,以处理计算任务,使计算任务的处理不占用网络进程单元的处理时间,进而网络进程单元能够及时接收并处理后续请求。避免了由于网络进程单元一直在做当前任务请求的计算任务,而无法及时接收后续的任务请求的情况发生。进而避免后续任务请求发送后出现无响应和/或响应超时的情况发生。
本方法Web服务器可以基于openresty进行修改,OpenResty又被称为ngx_openresty,是基于Nginx的核心Web应用程序服务器。Web服务器包括网络进程单元与计算进程单元,其中网络进程单元与计算进程单元通信连接,网络进程单元用于和客户端进行通信连接,实现与客户端之间的数据传输,计算进程单元与网络进程单元通信连接,用于对来自网络进程单元的计算任务进行处理并进行返回。采用多种现有的协议通信方式实现通信连接,此处不做赘述。
本方法包括网络进程单元获得任务请求,任务请求中包括计算任务。其中,请求任务来自客户端,客户端为任一与web服务器进行通信连接的设备。网络进程单元用于执行网络进程,通过解析任务请求,获得包括在任务请求中的计算任务。计算任务为需要进行大量的计算,比如计算圆周率、对视频进行高清解码等等。
本方法还包括网络进程单元将计算任务发送至计算进程单元,以使计算进程单元处理计算任务。计算进程单元用于执行计算任务,网络进程单元在通过解析获得计算任务后,将计算任务发送至计算进程单元,通过计算进程单元对计算任务进行处理,以获得对应计算任务的处理结果。此时,网络进程单元等待计算进程单元完成处理并发送处理结果至网络进程单元,网络进程单元无需进行计算任务的处理,能够及时接收并处理后续的任务请求。
本方法还包括网络进程单元接收来自计算进程单元的处理结果,处理结果用于封装成对应任务请求的第一响应信息。当计算进程单元完成任务处理,获得处理结果后,将处理结果发送至网络进程单元,网络进程单元接收来自计算进程单元的处理结果,通过对处理结果进行封装,生成对应任务请求的第一响应信息,网络进程单元将第一响应信息发送至客户端,完成该轮任务请求。可以理解的是,网络进程单元根据任务请求的指示,可以将第一响应信息发送至与发送任务请求相同或不同的客户端。
图2为本发明实施例一种计算密集型任务请求处理方法任务判断的实现流程示意图。
参见图2,在本发明实施例中,步骤101,获得任务请求,任务请求中包括计算任务,包括:步骤1011,获得任务请求;步骤1012,判断任务请求中是否包括计算任务,获得判断结果;其中,当判断结果为任务请求中包括计算任务时,将计算任务用于发送至计算进程单元。
网络进程单元接收到的任务可能包括计算密集型任务和IO密集型任务。计算密集型任务的特点是要进行大量的计算,比如计算圆周率、对视频进行高清解码等等。IO(输入/输出、Input/Output)密集型任务,涉及到网络、磁盘IO的任务多是IO密集型任务,这类任务无需进行大量计算,比如Web应用。当接收到的任务为IO密集型任务时,由于无需进行大量计算,该种类任务仅通过网络进程单元处理即可,不会占用较长的处理时间。基于此,需要对任务请求的类型进行判断。
本方法在获得任务请求之后,通过判断任务请求中是否包括计算任务,获得判断结果。当判断结果为任务请求中包括计算任务时,认为该任务请求需要占用相当长的处理时间,将该计算任务发送至计算进程单元进行处理,以使网络进程单元能够及时接收后续的任务请求。
当判断结果为任务请求中不包括计算任务时,可以认为该任务请求属于IO密集型任务,不会占用较长的处理时间,无需将该任务发送至计算进程单元处理,可以由网络进程单元直接对该任务进行处理,获得的处理结果由网络进程单元进行封装,生成对应的响应信息,网络进程单元将该响应信息发送至客户端,完成该轮任务请求。
图3为本发明实施例一种计算密集型任务请求处理方法建立通信的实现流程示意图。
参见图3,在本发明实施例中,步骤102,将计算任务发送至计算进程单元,以处理计算任务,包括:步骤1021,与计算进程单元建立socket,socket用于进行通信连接;步骤1022,向计算进程单元发送计算请求,计算请求用于请求计算进程单元处理计算任务;步骤1023,接收来自计算进程单元的第二响应信息;步骤1024,基于第二响应信息将计算任务发送至计算进程单元。
本方法在网络进程单元接收任务请求后,与计算进程单元建立socket(套接字)通信,网络进程单元发送计算请求至计算进程单元,请求计算进程单元处理计算任务。本方法包括与计算进程单元建立socket,socket用于进行通信连接。其中,Socket是传输层的端点,网络进程单元和计算进程单元通过传输层通信连接,可以通过Socket实现发送和/或接收数据。在建立socket后,网络进程单元可以通过位于网络进程单元的socket向计算进程单元发送计算请求,计算请求用于请求计算进程单元处理计算任务。然后,网络进程单元通过位于网络进程单元的socket接收来自计算进程单元的第二响应信息。第二响应信息由计算进程单元通过位于计算进程单元的socket发送,第二响应信息用于指示网络进程单元发送计算任务至该计算进程单元。在网络进程单元获得第二响应信息后,网络进程单元基于第二响应信息将计算任务发送至计算进程单元。需要说明的是,当计算进程单元有多个时,可以在每个计算进程单元或在对应每个计算进程单元的socket设置不同的ID以用于区分。
图4为本发明实施例一种计算密集型任务请求处理方法epoll监听的实现流程示意图。
参见图4,在本发明实施例中,步骤103,接收来自计算进程单元的处理结果,包括:步骤1031,通过epoll监听计算进程单元的socket,等待计算进程单元将处理结果发送到监听的socket中;步骤1032,当计算进程单元将处理结果发送到监听的socket中时,网络进程单元接收来自计算进程单元的处理结果。
epoll可以为epoll单进程模型,用于对位于计算进程单元的socket进行监听。web服务器为通过epoll单进程模型对openresty进行修改的web服务器。在计算进程单元进行计算任务的处理过程中,网络进程单元epoll监听计算进程单元的socket,网络进程单元等待epoll监听到计算进程单元将处理结果发送到监听的socket中。当网络进程单元等待epoll监听到计算进程单元将处理结果发送到监听的socket中时,网络进程单元接收来自计算进程单元的处理结果。基于epoll单进程模型进行监听能够使处理逻辑更简单,减少性能消耗。
图5为本发明实施例一种计算密集型任务请求处理方法复刻计算进程单元的实现流程示意图。
在本发明实施例中,在步骤102,将计算任务发送至计算进程单元之前,方法还包括:步骤501,根据配置文件复刻若干计算进程单元;步骤502,计算进程单元进行初始化和加载计算资源算法库。
需要说明的是,该方法并不位于步骤101和步骤102之间,该方法可以在web服务器启动时进行配置。计算进程单元可以基于配置文件复刻获得。配置文件可以为服务器参数、进程参数等其他参数或内容。计算进程单元进行初始化,加载资源和计算资源算法库,能够得到使用GPU(Graphics Processing Unit,图形处理器)加快运算的目的。由于计算进程单元只需要关注处理计算任务,可以使用GPU加速计算,即使计算进程单元出错而异常中断时,也对网络进程单元无影响,可以再复刻一个计算进程单元出来。复刻的若干计算进程单元的数量大于等于一。当复刻获得计算进程单元后,可以对每个计算进程单元进行不同的进程ID命名,以便于管理计算进程单元,当某个计算进程单元异常时,可以通过进程ID获得对应的计算进程单元,并及时进行删除、重启或复刻等操作。
在本发明实施例中,在通过epoll监听计算进程单元的socket的过程中,方法还包括:获得下一轮任务请求;将下一轮任务请求发送至其中一个未处理计算任务的计算进程单元,以使未处理计算任务的计算进程单元处理计算任务。
由于在计算进程单元进行任务处理过程中,网络进程单元未进行任务处理,此时,网络进程单元可以接受来自客户端的下一轮任务请求,并对下一轮任务请求进行上述实施例任一项的操作,以实现对下一轮请求指令的处理。
图6为本发明实施例另一种计算密集型任务请求处理方法的实现流程示意图。
参见图6,本发明实施例另一方面提供了另一种计算密集型任务请求处理方法,该方法应用于openresty服务器。
首先,当openresty服务器启动时,服务器根据配置文件fork(复刻)出n个计算进程单元,其中,n的数量大于等于1,优选为至少2个。
然后确定复刻得到的进程是否是网络进程单元,当确定复刻得到的进程不是网络进程单元时,当确定为复刻得到的进程为计算进程单元,计算进程单元加载资源,并加载计算任务算法库,以提高计算能力。当确定为复刻得到的进程为网络进程单元时,该网络进程单元与至少一个计算进程单元建立socket实现通信,并通过epoll对计算进程单元的socket进行监听,该网络进程单元保存监听的计算进程单元的socket和计算进程单元的进程号。
再后,由网络进程单元接收来自客户端的任务请求,并判断该任务请求是否为计算密集型任务请求,当判断为该任务为计算密集型任务请求时,将该任务为计算密集型任务请求中的计算任务请求计算进程单元进行处理,计算进程单元接收请求后,通过socket返回响应信息,当响应信息为允许进行计算任务的处理时,将该计算任务发送至对应计算进程单元进行计算,当响应信息为不允许进行计算任务的处理时,网络进程单元可以丢弃该任务请求,进行下一个任务请求的处理;也可以将该任务请求发送至另一个建立socket的计算进程单元,请求另一个建立socket的计算进程单元处理该任务请求,直至收到允许进行计算任务的处理的响应信息。当计算进程单元完成计算任务的处理时,计算进程单元返回处理结果至网络进程单元,网络进程单元将处理结果封装后,发送http响应至客户端,完成一轮请求任务的处理。
图7为本发明实施例一种网络进程单元的实现模块示意图。
参见图7,本发明实施例另一方面提供一种网络进程单元701,网络进程单元701与计算进程单元702通信连接,网络进程单元包括:获得模块7011,用于获得任务请求,任务请求中包括计算任务;发送模块7012,用于将计算任务发送至计算进程单元,以使计算进程单元处理计算任务;接收模块7013,用于接收来自计算进程单元的处理结果,处理结果用于封装成对应任务请求的第一响应信息。
在本发明实施例中,获得模块7011,包括:获得子模块70111,用于获得任务请求;判断子模块70112,用于判断任务请求中是否包括计算任务,获得判断结果;其中,当判断结果为任务请求中包括计算任务时,计算任务用于发送至计算进程单元。
在本发明实施例中,发送模块7012,包括:建立子模块70121,用于与计算进程单元建立socket,socket用于进行通信连接;发送子模块70122,用于向计算进程单元发送计算请求,计算请求用于请求计算进程单元处理计算任务;第一接收子模块70123,用于接收来自计算进程单元的第二响应信息;发送子模块,还用于基于第二响应信息将计算任务发送至计算进程单元。
在本发明实施例中,接收模块7013,包括:监听子模块70131,用于通过epoll监听计算进程单元的socket,等待计算进程单元将处理结果发送到监听的socket中;第二接收子模块70132,用于当计算进程单元将处理结果发送到监听的socket中时,网络进程单元接收来自计算进程单元的处理结果。
图8为本发明实施例一种服务器的实现模块示意图。
在本发明实施例中,服务器包括网络进程单元701、若干计算进程单元702和复刻单元703。复刻单元703,用于根据配置文件复刻若干计算进程单元;计算进程单元702包括,加载模块7021,用于计算进程单元进行初始化和加载计算资源算法库;计算模块,用于对任务对象进行计算。
在本发明实施例中,在网络进程单元中,获得模块7011,还用于获得下一轮任务请求;发送模块7012,还用于将下一轮任务请求发送至其中一个未处理计算任务的计算进程单元,以使未处理计算任务的计算进程单元处理计算任务。
本发明实施例另一方面提供一种计算机可读存储介质,存储介质包括一组计算机可执行指令,当指令被执行时用于执行上述任一项的计算密集型请求处理方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种信息处理方法,其特征在于,所述方法应用于openresty服务器,所述方法包括:
当openresty服务器启动时,根据配置文件复刻n个计算进程单元,其中,n为大于等于2的正整数;
确定复刻得到的所述计算进程单元是否为网络进程单元;
当确定为复刻得到的所述计算进程单元不是网络进程单元时,使所述计算进程单元加载资源,并加载计算资源算法库;
当确定为复刻得到的所述计算进程单元为网络进程单元时,使所述网络进程单元与至少一个计算进程单元建立socket以进行通信,并通过epoll监听所述计算进程单元的socket,保存所监听的计算进程单元的socket和计算进程单元的进程号;
由网络进程单元接收来自客户端的任务请求,所述任务请求中包括计算任务;
判断所述计算任务是否为计算密集型任务;
当判断为所述计算任务为计算密集型任务时,发送计算任务请求至计算进程单元;
所述计算进程单元接收计算任务请求,并通过socket返回响应信息;
当所述响应信息为允许进行计算任务的处理时,所述网络进程单元发送所述计算任务至所述计算进程单元,以使计算进程单元对所述计算任务进行计算;
当所述响应信息为不允许进行计算任务的处理时,网络进程单元将所述计算任务请求发送至另一个建立socket的计算进程单元,以请求所述另一个建立socket的计算进程单元对所述计算任务进行计算;或,网络进程单元将所述任务请求进行丢弃,以进行下一个任务请求的处理;
所述计算进程单元对所述计算任务进行处理,获得处理结果;
所述网络进程单元接收来自所述计算进程单元的处理结果,对所述处理结果进行封装,获得第一响应信息,发送第一响应信息至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获得任务请求;
判断所述任务请求中是否包括计算任务,获得判断结果。
3.根据权利要求1所述的方法,其特征在于,所述接收来自所述计算进程单元的处理结果,包括:
通过epoll监听所述计算进程单元的socket,等待计算进程单元将处理结果发送到监听的socket中;
当所述计算进程单元将处理结果发送到所述监听的socket中时,所述网络进程单元接收来自所述计算进程单元的处理结果。
4.根据权利要求1所述的方法,其特征在于,所述进行下一个任务请求的处理,包括:
获得下一轮任务请求;
将所述下一轮任务请求发送至其中一个未处理计算任务的计算进程单元,以使所述未处理计算任务的计算进程单元处理所述计算任务。
5.一种服务器,其特征在于,包括:
复刻单元,用于当openresty服务器启动时,根据配置文件复刻n个计算进程单元,其中,n为大于等于2的正整数;
计算进程单元,用于确定复刻得到的所述计算进程单元是否为网络进程单元;
当确定为复刻得到的所述计算进程单元不是网络进程单元时,使所述计算进程单元加载资源,并加载计算资源算法库;
网络进程单元,用于当确定为复刻得到的所述计算进程单元为网络进程单元时,使所述网络进程单元与至少一个计算进程单元建立socket以进行通信,并通过epoll监听所述计算进程单元的socket,保存所监听的计算进程单元的socket和计算进程单元的进程号;
所述网络进程单元,还用于接收来自客户端的任务请求,所述任务请求中包括计算任务;
所述网络进程单元,还用于判断所述计算任务是否为计算密集型任务;
所述网络进程单元,还用于当判断为所述计算任务为计算密集型任务时,发送计算任务请求至计算进程单元;
所述计算进程单元,还用于接收计算任务请求,并通过socket返回响应信息;
所述网络进程单元,还用于当所述响应信息为允许进行计算任务的处理时,发送所述计算任务至所述计算进程单元,以使计算进程单元对所述计算任务进行计算;
所述网络进程单元,还用于当所述响应信息为不允许进行计算任务的处理时,将所述计算任务请求发送至另一个建立socket的计算进程单元,以请求所述另一个建立socket的计算进程单元对所述计算任务进行计算;或,将所述任务请求进行丢弃,以进行下一个任务请求的处理;
所述计算进程单元,还用于对所述计算任务进行处理,获得处理结果;
所述网络进程单元,还用于接收来自所述计算进程单元的处理结果,对所述处理结果进行封装,获得第一响应信息,发送第一响应信息至所述客户端。
6.一种计算机可读存储介质,其特征在于,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行权利要求1-4任一项所述的信息处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911363270.8A CN111124715B (zh) | 2019-12-26 | 2019-12-26 | 一种信息处理方法、网络进程单元和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911363270.8A CN111124715B (zh) | 2019-12-26 | 2019-12-26 | 一种信息处理方法、网络进程单元和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124715A CN111124715A (zh) | 2020-05-08 |
CN111124715B true CN111124715B (zh) | 2022-07-29 |
Family
ID=70502736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911363270.8A Active CN111124715B (zh) | 2019-12-26 | 2019-12-26 | 一种信息处理方法、网络进程单元和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124715B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216768A (zh) * | 2014-09-22 | 2014-12-17 | 北京金山安全软件有限公司 | 一种数据处理方法及装置 |
CN109753358A (zh) * | 2018-12-26 | 2019-05-14 | 新华三技术有限公司合肥分公司 | 任务处理方法及装置 |
US20190196875A1 (en) * | 2017-10-27 | 2019-06-27 | EMC IP Holding Company LLC | Method, system and computer program product for processing computing task |
-
2019
- 2019-12-26 CN CN201911363270.8A patent/CN111124715B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216768A (zh) * | 2014-09-22 | 2014-12-17 | 北京金山安全软件有限公司 | 一种数据处理方法及装置 |
US20190196875A1 (en) * | 2017-10-27 | 2019-06-27 | EMC IP Holding Company LLC | Method, system and computer program product for processing computing task |
CN109753358A (zh) * | 2018-12-26 | 2019-05-14 | 新华三技术有限公司合肥分公司 | 任务处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111124715A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10945091B2 (en) | Methods and systems for communication management | |
CN109815025B (zh) | 一种业务模型调用方法、装置及存储介质 | |
CN110471749B (zh) | 任务处理方法、装置、计算机可读存储介质和计算机设备 | |
CN112261094A (zh) | 一种报文处理方法及代理服务器 | |
CN111163140A (zh) | 资源获取和分配的方法、装置和计算机可读存储介质 | |
CN110519388B (zh) | 区块链请求的处理方法、装置、电子设备及可读存储介质 | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN111552577A (zh) | 防止出现无效请求的方法、存储介质 | |
CN108111630B (zh) | 一种Zookeeper集群系统及其连接方法和系统 | |
CN111124715B (zh) | 一种信息处理方法、网络进程单元和计算机可读存储介质 | |
CN111835797A (zh) | 一种数据处理方法、装置及设备 | |
CN112054919B (zh) | 容器集群无状态下的id生成方法、装置、存储介质及系统 | |
CN113783822B (zh) | 服务超时管理方法和装置,电子设备,可读介质 | |
CN115955437B (zh) | 一种数据传输方法、装置、设备及介质 | |
CN111796906A (zh) | 一种容器管理方法、装置、设备及存储介质 | |
CN115665173A (zh) | 一种基于MQ的WebSocket通信方法、系统和存储介质 | |
CN116264592A (zh) | 虚拟桌面性能探测方法、装置、设备及存储介质 | |
CN114584573A (zh) | 一种基于长轮询机制的节点机信息同步方法 | |
WO2017152535A1 (zh) | 非阻塞请求处理方法及装置 | |
CN114356713A (zh) | 线程池监控方法、装置、电子设备及存储介质 | |
CN115396430A (zh) | 云手机管理方法及系统 | |
CN112165529A (zh) | 一种低成本跨网络数据交换的方法、装置、设备和介质 | |
CN111309744A (zh) | 对象处理方法、装置、电子设备及计算机可读存储介质 | |
CN114900860B (zh) | 移动终端边缘计算方法、装置、边缘计算服务器及介质 | |
CN115348220A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 215024 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Jiangsu Province Applicant after: Sipic Technology Co.,Ltd. Address before: 215024 building 14, Tengfei Innovation Park, 388 Xinping street, Suzhou Industrial Park, Jiangsu Province Applicant before: AI SPEECH Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |