CN106886453A - 用于异步多道的信息处理方法、装置和系统 - Google Patents
用于异步多道的信息处理方法、装置和系统 Download PDFInfo
- Publication number
- CN106886453A CN106886453A CN201710090958.8A CN201710090958A CN106886453A CN 106886453 A CN106886453 A CN 106886453A CN 201710090958 A CN201710090958 A CN 201710090958A CN 106886453 A CN106886453 A CN 106886453A
- Authority
- CN
- China
- Prior art keywords
- work
- information
- progress
- subtask information
- client
- 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
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
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 And Data Communications (AREA)
Abstract
本申请公开一种用于异步多道的信息处理方法、装置和系统,该方法包括:接收客户端异步发送的任务信息,并向所述客户端返回应答信息;其中所述任务信息包括多个子任务信息;利用进程池中的多个工作进程对所述多个子任务信息进行处理;向所述客户端异步发送处理结果通知。本发明实施例中,利用进程池中的多个工作进程对客户端发送的包含多个子任务信息的任务信息进行处理,实现了对客户端的任务信息的异步多道处理,避免了单一异步进程处理导致的处理效率低的问题,并且,客户端在接收到应答信息后就完成了任务,不需要等待处理结果,提高了任务信息的处理效率。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种用于异步多道的信息处理方法、装置和系统。
背景技术
随着信息时代的发展,生活中需要处理的信息越来越多,很多业务场景中存在任务执行时间长且又不影响到其他业务正常执行的情况,例如,银行业务处理场景中,日终需要将文件大量数据载入数据库中,这需要较长的执行时间,而且,也占用了大量的系统内存,导致业务处理效率低,流量容易发生阻塞。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种用于异步多道的信息处理方法、装置和系统,能够利用进程池中和客户端中的多个工作进程对任务信息进行处理。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的第一方面,提供一种用于异步多道的信息处理方法,所述方法包括:
接收客户端异步发送的任务信息,并向所述客户端返回应答信息;其中所述任务信息包括多个子任务信息;
利用进程池中的多个工作进程对所述多个子任务信息进行处理;
向所述客户端异步发送处理结果通知。
在本公开的一种示例性实施例中,所述多个子任务信息是以预定的数据格式封装的多个没有时序关系的子任务信息。
在本公开的一种示例性实施例中,所述方法还包括:
以所述预定的数据格式解析所述任务信息,以获取所述多个子任务信息。
在本公开的一种示例性实施例中,所述方法还包括:
将所述多个子任务信息存储到內建的任务队列中,在存储完成后,向所述客户端返回应答信息。
在本公开的一种示例性实施例中,所述向所述客户端异步发送处理结果通知,包括:
接收所述多个工作进程中每个工作进程发送的处理完成消息;
当所述多个工作进程全部处理完成后,向所述客户端异步发送所述任务队列中的所述多个子任务信息的处理结果通知;
其中,所述任务队列中的所述多个子任务信息的处理结果通知是所述每个工作进程根据完成的子任务信息更新的。
在本公开的一种示例性实施例中,所述利用进程池中的多个工作进程对所述多个子任务信息进行处理,包括:
获取所述进程池中每个工作进程的空闲情况;
根据每个工作进程的空闲情况,利用多个工作进程对所述多个子任务信息进行处理。
在本公开的一种示例性实施例中,所述利用进程池中的多个工作进程对所述多个子任务信息进行处理,包括:
将所述多个子任务信息发送给所述多个工作进程进行处理;或者,
生成所述多个子任务信息中每个子任务信息的标识,并将所述每个子任务信息的标识以及所述多个子任务信息转存到存储进程中;
向所述多个工作进程中的每个工作进程发送携带至少一个子任务信息的标识的处理指令,以使所述多个工作进程从所述存储进程中获取到接收到的子任务信息的标识对应的子任务信息后,对所述子任务信息进行处理。
根据本发明的第二方面,提供一种用于异步多道的信息处理方法,所述方法包括:
向进程池异步发送任务信息;其中所述任务信息包括多个子任务信息;
接收所述进程池返回的应答信息;
异步接收所述进程池发送的处理结果通知。
在本公开的一种示例性实施例,所述方法还包括:
以预定的数据格式封装所述多个子任务信息;
其中所述多个子任务信息是多个没有时序关系的子任务信息。
在本公开的一种示例性实施例,所述异步接收所述进程池发送的处理结果通知之后,所述方法还包括:
获取所述客户端中每个工作进程的空闲情况;
根据所述每个工作进程的空闲情况,将所述处理结果通知发送给至少一个工作进程进行处理。
在本公开的一种示例性实施例,所述方法还包括:
利用所述至少一个工作进程恢复所述任务信息的上下文,以进行后续处理。
根据本发明的第三方面,提供一种用于异步多道的信息处理装置,所述装置包括:
接收模块,用于接收客户端异步发送的任务信息;其中所述任务信息包括多个子任务信息;
返回模块,用于向所述客户端返回应答信息;
处理模块,用于利用进程池中的多个工作进程对所述多个子任务信息进行处理;
发送模块,用于向所述客户端异步发送处理结果通知。
在本公开的一种示例性实施例,所述多个子任务信息是以预定的数据格式封装的多个没有时序关系的子任务信息。
在本公开的一种示例性实施例,所述装置还包括:
解析模块,用于以所述预定的数据格式解析所述任务信息,以获取所述多个子任务信息。
在本公开的一种示例性实施例,所述装置还包括:
存储模块,用于将所述多个子任务信息存储到內建的任务队列中;
其中,所述返回模块,用于在所述存储模块在存储完成后,向所述客户端返回应答信息。
在本公开的一种示例性实施例,所述发送模块,包括:
接收单元,用于接收所述多个工作进程中每个工作进程发送的处理完成消息;
发送单元,用于当所述多个工作进程全部处理完成后,向所述客户端异步发送所述任务队列中的所述多个子任务信息的处理结果通知;
其中,所述任务队列中的所述多个子任务信息的处理结果通知是所述每个工作进程根据完成的子任务信息更新的。
在本公开的一种示例性实施例,所述处理模块,配置为获取所述进程池中每个工作进程的空闲情况;以及根据每个工作进程的空闲情况,利用多个工作进程对所述多个子任务信息进行处理。
在本公开的一种示例性实施例,所述处理模块,配置为:
将所述多个子任务信息发送给所述多个工作进程进行处理;或者,
生成所述多个子任务信息中每个子任务信息的标识,并将所述每个子任务信息的标识以及所述多个子任务信息转存到存储进程中;
向所述多个工作进程中的每个工作进程发送携带至少一个子任务信息的标识的处理指令,以使所述多个工作进程从所述存储进程中获取到接收到的子任务信息的标识对应的子任务信息后,对所述子任务信息进行处理。
根据本发明的第四方面,提供一种用于异步多道的信息处理装置,所述装置包括:
发送模块,用于向进程池异步发送任务信息;其中所述任务信息包括多个子任务信息;
接收模块,用于接收所述进程池返回的应答信息,以及异步接收所述进程池发送的处理结果通知。
在本公开的一种示例性实施例,所述装置还包括:
封装模块,用于以预定的数据格式封装所述多个子任务信息;
其中所述多个子任务信息是多个没有时序关系的子任务信息。
在本公开的一种示例性实施例,所述装置还包括:处理模块,用于获取所述客户端中每个工作进程的空闲情况;以及根据所述每个工作进程的空闲情况,将所述处理结果通知发送给至少一个工作进程进行处理。
在本公开的一种示例性实施例,所述装置还包括:
恢复模块,用于利利用所述至少一个工作进程恢复所述任务信息的上下文,以进行后续处理。
根据本发明的第五方面,提供一种用于异步多道的信息处理系统,包括如第三方面中的装置和第四方面中的装置。
本发明实施例中,利用进程池中的多个工作进程对客户端发送的包含多个子任务信息的任务信息进行处理,实现了对客户端的任务信息的异步多道处理,避免了单一异步进程处理导致的处理效率低的问题,并且,客户端在接收到应答信息后就完成了任务,不需要等待处理结果,提高了任务信息的处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
图1是根据一示例性实施例示出的用于信息处理的系统框图;
图2是根据图1得到的用于信息处理的模型图;
图3是根据一示例性实施例示出的用于信息处理方法的流程图;
图4是根据一示例性实施例示出的包含存储进程的系统框图;
图5是根据一示例性实施例示出的进程池的执行流程图;
图6是根据一示例性实施例示出的用于信息处理方法的流程图;
图7是根据一示例性实施例示出的AcallFlow组件的执行流程图;
图8是根据一示例性实施例示出的AcallGetReply组件的执行流程图;
图9是根据一示例性实施例示出的用于异步多道的信息处理系统的结构图;
图10是根据一示例性实施例示出的用于异步多道的信息处理装置的结构图;
图11是根据一示例性实施例示出的用于异步多道的信息处理装置的结构图。
具体实施例
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1是根据一示例性实施例示出的用于信息处理的系统框图。
如图1所示,系统中包括客户端和进程池,其中,客户端进程池发送任务信息,进程池向该客户端返回应答信息,并且,利用多个工作进程对该任务信息进行处理,并在处理完成后,向客户端返回处理结果通知。
图2是根据图1得到的用于信息处理的模型图。如图2所示,本发明实施例中可以利用进程池中的多个工作进程对任务信息进程处理。
图3是根据一示例性实施例示出的用于信息处理方法的流程图。需要说明的是,此实施例主要对进程池侧进行说明,该进程池可以是与客户端对应的异步服务进程池。
如图3所示,在S302中,接收客户端异步发送的任务信息,并向客户端返回应答信息;其中,任务信息包括多个子任务信息。
根据示例实施例,客户端在接收到任务请求后,将该任务请求分解为多个没有时序关系的子任务请求,分别从每个子任务请求中提取出子任务信息,并以预定的数据格式将该多个子任务信息封装成任务信息后,异步发送该任务信息,进而进程池接收到该包含多个子任务信息的任务信息。根据示例实施例,该预定的数据格式可以包括但不限于XML同名节点的格式。
例如,客户端在接收到日终任务时,需要对一些用户账号(例如100个账号)的账务进行处理,由于每个账号的账务处理之间不存在时序关系,因此,客户端可以将该日终任务分解为100个子任务,并分别从每个子任务中提取子任务信息,例如,每个子任务的转账对象、时间以及金额等。又例如,在为100个员工发放工资时,由于对每个用户账号发放工资不存在时序关系,因此可以该发放工资任务分解为100个子任务,并分别从每个子任务中提取子任务信息,例如,用户账号,金额等。将提取出的每个子任务信息以XML同名节点的格式进行封装,例如,在同一个节点之下,将每个子任务信息以多个同名子节点的格式进行封装后,发送给进程池。
相应的,根据示例实施例,在接收到该客户端异步发送的任务信息后,以预定的数据格式解析所述任务信息,以获取所述多个子任务信息。
例如,如果该预定的数据格式为XML同名节点,则以XML同名节点格式解析该任务信息,从而获取到上述多个子任务信息。
需要说明的是,可以在接收到该任务信息后直接将该任务信息解析为多个子任务信息,也可以其他过程中将该任务信息解析为多个子任务信息,例如,可以在将任务信息存储到內建的任务队列后,对该任务信息进行解析。只要能够在利用进程池中的多个工作进程进行处理之前将该任务信息解析为多个子任务信息均可,本发明对此不做限制。
根据示例实施例,在接收客户端异步发送的任务信息后,內建一个任务队列TaskQ,并该任务信息存储到內建的任务队列TaskQ中,在存储完成后,向所述客户端返回应答信息。
需要说明的是,对于客户端来说,接收到应答信息后,已经完成了此任务请求,可以处理其他任务。
在S304中,利用进程池中的多个工作进程对上述多个子任务信息进行处理。
根据示例实施例,在对多个子任务信息进行处理之前,需要把多个子任务信息发送给多个工作进程。本发明实施例中提供了两种方式:
方式一、直接将多个子任务信息发送给多个工作进程。
例如,在內建的任务队列中将任务信息进行解析为多个子任务信息后,直接将该多个子任务信息发送给多个工作进程进行处理。
方式二、将多个子任务信息转存到存储进程,以使多个工作进程从存储进程中获取多个子任务信息。
根据示例实施例,可以生成多个子任务信息中每个子任务信息的标识,将每个子任务信息的标识以及多个子任务信息转存到存储进程中,并向所述多个工作进程中的每个工作进程发送携带至少一个子任务信息的标识的处理指令,以使多个工作进程从存储进程中获取到接收到的子任务信息的标识对应的子任务信息后,对所述子任务信息进行处理。
下面结合具体的应用场景对方式二进行详细的说明。图4是根据一示例性实施例示出的包含存储进程的系统框图。
如图4所示,在生成每个子任务信息的标识后,将任务队列TaskQ中的多个子任务信息转存到存储进程,并向进程池中的工作进程A、B和C分别发送携带至少一个标识的子任务信息的标识的处理指令。
例如,在內建的任务队列中将任务信息进行解析为多个子任务信息后,生成每个子任务信息的标识,例如KEY值,如表1所示,其为本发明实施例提供的一种生成的子任务信息的标识的对应表:
子任务信息 | 标识(key) |
子任务信息X | 1 |
子任务信息Y | 2 |
子任务信息Z | 3 |
表1
并向工作进程A发送携带标识1的处理指令,向工作进程B发送携带标识1的处理指令,向工作进程C发送携带工作进程3的处理指令。工作进程A、B和C在接收到处理指令后,从存储进程中获取到接收到的标识对应的子任务信息,例如,工作进程A获取到子任务信息X,工作进程B获取到子任务信息Y,工作进程C获取到子任务信息Z。
根据一些实施例,进程池的管理进程可以获取进程池中的每个工作进程的空闲情况,并根据每个工作进程的空闲情况,利用多个工作进程对上述多个子任务信息进行处理。例如,管理进程可以实时监控每个工作进程的空闲情况,也可以由每个工作进程在完成任务后向管理进程发送处理完成消息,以使管理进程能够获取到每个工作进程的空闲情况。
根据示例实施例,在获取到每个工作进程的空闲情况后,根据每个工作进程的空闲情况,利用多个工作进程对所述多个子任务信息进行处理。
在利用多个工作进程对多个子任务信息进行处理时,可以优选空闲的工作进程对子任务信息进程处理。例如,向每个空闲的工作进程发送携带一个子任务信息标识的处理指令。进一步的,如果空闲的工作进程的数目小于子任务信息的数目时,可以先将部分的子任务信息发送给空闲的工作进程进行处理,当管理进程获取到有工作进程空闲时,将剩余的子任务信息发送给空闲的工作进程。
在S306中,向客户端异步发送处理结果通知。
根据示例实施例,管理进程可以接收上述多个工作进程中每个工作进程发送的处理完成消息,当上述多个工作进程全部处理完成后,向客户端异步发送任务队列中的所述多个子任务信息的处理结果通知。
根据示例实施例,该任务队列中的多个子任务信息的处理结果通知是每个工作进程根据完成的子任务信息更新的。但本发明不限于此,例如,也可以是管理进程在接收到每个工作进程发送的处理完成消息后,对任务队列进行更新得到的。
处理结果通知包括多个子任务信息的处理结果,例如,一共有100个子任务信息,其中3个处理失败,97个处理成功。
图5是根据一示例性实施例示出的进程池的执行流程图。
如图5所示,在S501中,将接收的任务信息解析为多个子任务信息。
在S502中,向客户端返回应答信息。
在S503中,利用多个工作进程对多个子任务信息进行处理。
在S504中,当该多个子任务信息处理完成后,向客户端发送处理完成通知。
本发明实施例中,利用进程池中的多个工作进程对客户端发送的包含多个子任务信息的任务信息进行处理,实现了对客户端的任务信息的异步多道处理,避免了单一异步进程处理导致的处理效率低的问题,并且,客户端在接收到应答信息后就完成了任务,不需要等待处理结果,提高了任务信息的处理效率。
图6是根据一示例性实施例示出的用于信息处理方法的流程图。需要说明的是,此实施例主要对客户端侧进行说明,该客户端可以是与进程池对应的客户端,该客户端中可以包括至少两个工作进程。
在S602中,向进程池异步发送任务信息。
客户端中还承载有异步发送数据的组件,例如,AcallFlow组件。根据示例实施例,客户端中在接收到该任务信息后,调用AcallFlow组件将该任务信息分解为多个没有时序关系的子任务信息,并以预定的数据格式封装所述多个子任务信息。根据示例实施例,该预定的数据格式可以包括但不限于XML同名节点的格式。并进一步的调用AcallFlow组件保存该任务信息的上下文。
需要说明的是,客户端中可以包括至少两个工作进程,在向进程池异步发送任务信息时,无论是哪个工作进程执行,该工作进程均通过调用AcallFlow组件发送任务信息。
在S604中,接收进程池返回的应答信息。
在S606中,异步接收进程池发送的处理结果通知。
根据示例实施例,异步接收所述进程池发送的处理结果通知之后,还可以获取客户端中每个工作进程的空闲情况,并根据所述每个工作进程的空闲情况,将所述处理结果通知发送给至少一个工作进程进行处理。
例如,客户端可以实时监控每个工作进程的空闲情况,也可以由每个工作进程在完成任务后向客户端发送处理完成消息,以使客户端能够获取到每个工作进程的空闲情况。
例如,客户端中包括两个工作进程M和N,其中工作进程N空闲,工作进程M非空闲,则客户端将处理结果通知发送给工作进程N。
根据示例实施例,可以利用该至少一个工作进程恢复所述任务信息的上下文,以进行后续处理。在恢复任务信息的上下文时,空闲的工作进程调用AcallGetReply组件接收到处理结果通知后,恢复AcallFlow组件保存的所述任务信息的上下文,以进行后续处理。
本发明实施例中,利用进程池中的多个工作进程对客户端发送的包含多个子任务信息的任务信息进行处理,实现了对客户端的任务信息的异步多道处理,避免了单一异步进程处理导致的处理效率低的问题,并且,客户端在接收到应答信息后就完成了任务,不需要等待处理结果,提高了任务信息的处理效率。
下面结合具体的实施例,分别对AcallFlow组件以及AcallGetReply组件的执行过程进行详细的说明。
图7是根据一示例性实施例示出的AcallFlow组件的执行流程图。
如图7所示,在S701中,将多个子任务信息以XML同名节点格式封装为任务信息。
在S702中,将多个子任务信息发送到进程池。
在S703中,判断是否接收到应答信息。
如果是,执行S704。
如果否,结束。
在S704中,保存任务信息的上下文。
图8是根据一示例性实施例示出的AcallGetReply组件的执行流程图。
如图8所示,在S801中,接收处理结果通知。
在S802中,恢复AcallFlow组件保存的任务信息的上下文。
在S803中,根据处理结果进行业务处理。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施例。
下面结合具体的应用场景,对本发明实施例提供的用于异步多道信息处理系统进行说明。
图9是根据一示例性实施例示出的用于异步多道的信息处理系统的结构图。
如图9所示,系统中包括客户端、进程池以及存储进程。其中,客户端进程池发送任务信息,进程池向该客户端返回应答信息,并且,进程池将多个子任务信息转存到存储进程,进程池的多个工作进程从存储进程中获取多个子任务信息后,对子任务信息进行处理,并在处理完成后,向客户端返回处理结果通知。
下述为本发明装置实施例,可以用于执行本发明方法实施例。在下文对装置的描述中,与前述方法相同的部分,将不再赘述。
图10是根据一示例性实施例示出的用于异步多道的信息处理装置的结构图。
如图10所示,所述装置1000包括:接收模块1010,用于接收客户端异步发送的任务信息;其中所述任务信息包括多个子任务信息;
返回模块1020,用于向所述客户端返回应答信息;
处理模块1030,用于利用进程池中的多个工作进程对所述多个子任务信息进行处理;
发送模块1040,用于向所述客户端异步发送处理结果通知。
根据示例实施例,所述多个子任务信息是以预定的数据格式封装的多个没有时序关系的子任务信息。
根据示例实施例,所述装置还包括:
解析模块1050,用于以所述预定的数据格式解析所述任务信息,以获取所述多个子任务信息。
根据示例实施例,所述装置还包括:
存储模块1060,用于将所述多个子任务信息存储到內建的任务队列中;
其中,所述返回模块,用于在所述存储模块在存储完成后,向所述客户端返回应答信息。
根据示例实施例,所述发送模块1040,包括:
接收单元1041,用于接收所述多个工作进程中每个工作进程发送的处理完成消息;
发送单元1042,用于当所述多个工作进程全部处理完成后,向所述客户端异步发送所述任务队列中的所述多个子任务信息的处理结果通知;
其中,所述任务队列中的所述多个子任务信息的处理结果通知是所述每个工作进程根据完成的子任务信息更新的。
根据示例实施例,所述处理模块1030,配置为获取所述进程池中每个工作进程的空闲情况;以及根据每个工作进程的空闲情况,利用多个工作进程对所述多个子任务信息进行处理。
根据示例实施例,所述处理模块1030,配置为:将所述多个子任务信息发送给所述多个工作进程进行处理;或者,
生成所述多个子任务信息中每个子任务信息的标识,并将所述每个子任务信息的标识以及所述多个子任务信息转存到存储进程中;
向所述多个工作进程中的每个工作进程发送携带至少一个子任务信息的标识的处理指令,以使所述多个工作进程从所述存储进程中获取到接收到的子任务信息的标识对应的子任务信息后,对所述子任务信息进行处理。
本发明实施例中,利用进程池中的多个工作进程对客户端发送的包含多个子任务信息的任务信息进行处理,实现了对客户端的任务信息的异步多道处理,避免了单一异步进程处理导致的处理效率低的问题,并且,客户端在接收到应答信息后就完成了任务,不需要等待处理结果,提高了任务信息的处理效率。
图11是根据一示例性实施例示出的用于异步多道的信息处理装置的结构图。
如图11所示,所述装置1100包括:
发送模块1110,用于向进程池异步发送任务信息;其中所述任务信息包括多个子任务信息;
接收模块1120,用于接收所述进程池返回的应答信息,以及异步接收所述进程池发送的处理结果通知。
根据示例实施例,所述装置还包括:
封装模块1130,用于以预定的数据格式封装所述多个子任务信息;
其中所述多个子任务信息是多个没有时序关系的子任务信息。
根据示例实施例,所述装置还包括:处理模块1140,用于获取所述客户端中每个工作进程的空闲情况;以及根据所述每个工作进程的空闲情况,将所述处理结果通知发送给至少一个工作进程进行处理。
根据示例实施例,所述装置还包括:
恢复模块1150,用于利用所述至少一个工作进程恢复所述任务信息的上下文,以进行后续处理。
本发明实施例中,利用进程池中的多个工作进程对客户端发送的包含多个子任务信息的任务信息进行处理,实现了对客户端的任务信息的异步多道处理,避免了单一异步进程处理导致的处理效率低的问题,并且,客户端在接收到应答信息后就完成了任务,不需要等待处理结果,提高了任务信息的处理效率。
本发明实施例还提供了一种用于异步多道的信息处理系统,包括装置1000和装置1100。
本发明实施例中,利用进程池中的多个工作进程对客户端发送的包含多个子任务信息的任务信息进行处理,实现了对客户端的任务信息的异步多道处理,避免了单一异步进程处理导致的处理效率低的问题,并且,客户端在接收到应答信息后就完成了任务,不需要等待处理结果,提高了任务信息的处理效率。
以上具体地示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (23)
1.一种用于异步多道的信息处理方法,其特征在于,所述方法包括:
接收客户端异步发送的任务信息,并向所述客户端返回应答信息;其中所述任务信息包括多个子任务信息;
利用进程池中的多个工作进程对所述多个子任务信息进行处理;
向所述客户端异步发送处理结果通知。
2.如权利要求1所述的方法,其特征在于,所述多个子任务信息是以预定的数据格式封装的多个没有时序关系的子任务信息。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
以所述预定的数据格式解析所述任务信息,以获取所述多个子任务信息。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
将所述多个子任务信息存储到內建的任务队列中,在存储完成后,向所述客户端返回应答信息。
5.如权利要求4所述的方法,其特征在于,所述向所述客户端异步发送处理结果通知,包括:
接收所述多个工作进程中每个工作进程发送的处理完成消息;
当所述多个工作进程全部处理完成后,向所述客户端异步发送所述任务队列中的所述多个子任务信息的处理结果通知;
其中,所述任务队列中的所述多个子任务信息的处理结果通知是所述每个工作进程根据完成的子任务信息更新的。
6.如权利要求1所述的方法,其特征在于,所述利用进程池中的多个工作进程对所述多个子任务信息进行处理,包括:
获取所述进程池中每个工作进程的空闲情况;
根据每个工作进程的空闲情况,利用多个工作进程对所述多个子任务信息进行处理。
7.如权利要求1或6所述的方法,其特征在于,所述利用进程池中的多个工作进程对所述多个子任务信息进行处理,包括:
将所述多个子任务信息发送给所述多个工作进程进行处理;或者,
生成所述多个子任务信息中每个子任务信息的标识,并将所述每个子任务信息的标识以及所述多个子任务信息转存到存储进程中;
向所述多个工作进程中的每个工作进程发送携带至少一个子任务信息的标识的处理指令,以使所述多个工作进程从所述存储进程中获取到接收到的子任务信息的标识对应的子任务信息后,对所述子任务信息进行处理。
8.一种用于异步多道的信息处理方法,其特征在于,所述方法包括:
向进程池异步发送任务信息;其中所述任务信息包括多个子任务信息;
接收所述进程池返回的应答信息;
异步接收所述进程池发送的处理结果通知。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
以预定的数据格式封装所述多个子任务信息;
其中所述多个子任务信息是多个没有时序关系的子任务信息。
10.如权利要求8所述的方法,其特征在于,所述异步接收所述进程池发送的处理结果通知之后,所述方法还包括:
获取所述客户端中每个工作进程的空闲情况;
根据所述每个工作进程的空闲情况,将所述处理结果通知发送给至少一个工作进程进行处理。
11.如权利要求10所述的方法,其特征在于,所述方法还包括:
利用所述至少一个工作进程恢复所述任务信息的上下文,以进行后续处理。
12.一种用于异步多道的信息处理装置,其特征在于,所述装置包括:
接收模块,用于接收客户端异步发送的任务信息;其中所述任务信息包括多个子任务信息;
返回模块,用于向所述客户端返回应答信息;
处理模块,用于利用进程池中的多个工作进程对所述多个子任务信息进行处理;
发送模块,用于向所述客户端异步发送处理结果通知。
13.如权利要求12所述的装置,其特征在于,所述多个子任务信息是以预定的数据格式封装的多个没有时序关系的子任务信息。
14.如权利要求13所述的装置,其特征在于,所述装置还包括:
解析模块,用于以所述预定的数据格式解析所述任务信息,以获取所述多个子任务信息。
15.如权利要求12所述的装置,其特征在于,所述装置还包括:
存储模块,用于将所述多个子任务信息存储到內建的任务队列中;
其中,所述返回模块,用于在所述存储模块在存储完成后,向所述客户端返回应答信息。
16.如权利要求15所述的装置,其特征在于,所述发送模块,包括:
接收单元,用于接收所述多个工作进程中每个工作进程发送的处理完成消息;
发送单元,用于当所述多个工作进程全部处理完成后,向所述客户端异步发送所述任务队列中的所述多个子任务信息的处理结果通知;
其中,所述任务队列中的所述多个子任务信息的处理结果通知是所述每个工作进程根据完成的子任务信息更新的。
17.如权利要求12所述的装置,其特征在于,所述处理模块,配置为获取所述进程池中每个工作进程的空闲情况;以及根据每个工作进程的空闲情况,利用多个工作进程对所述多个子任务信息进行处理。
18.如权利要求12或17所述的装置,其特征在于,所述处理模块,配置为:
将所述多个子任务信息发送给所述多个工作进程进行处理;或者,
生成所述多个子任务信息中每个子任务信息的标识,并将所述每个子任务信息的标识以及所述多个子任务信息转存到存储进程中;
向所述多个工作进程中的每个工作进程发送携带至少一个子任务信息的标识的处理指令,以使所述多个工作进程从所述存储进程中获取到接收到的子任务信息的标识对应的子任务信息后,对所述子任务信息进行处理。
19.一种用于异步多道的信息处理装置,其特征在于,所述装置包括:
发送模块,用于向进程池异步发送任务信息;其中所述任务信息包括多个子任务信息;
接收模块,用于接收所述进程池返回的应答信息,以及异步接收所述进程池发送的处理结果通知。
20.如权利要求19所述的装置,其特征在于,所述装置还包括:
封装模块,用于以预定的数据格式封装所述多个子任务信息;
其中所述多个子任务信息是多个没有时序关系的子任务信息。
21.如权利要求19所述的装置,其特征在于,所述装置还包括:处理模块,用于获取所述客户端中每个工作进程的空闲情况;以及根据所述每个工作进程的空闲情况,将所述处理结果通知发送给至少一个工作进程进行处理。
22.如权利要求20所述的装置,其特征在于,所述装置还包括:
恢复模块,用于利用所述至少一个工作进程恢复所述任务信息的上下文,以进行后续处理。
23.一种用于异步多道的信息处理系统,包括如权利要求12-18中任一项所述的装置以及如权利要求19-22中任一项所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710090958.8A CN106886453A (zh) | 2017-02-20 | 2017-02-20 | 用于异步多道的信息处理方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710090958.8A CN106886453A (zh) | 2017-02-20 | 2017-02-20 | 用于异步多道的信息处理方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106886453A true CN106886453A (zh) | 2017-06-23 |
Family
ID=59180068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710090958.8A Pending CN106886453A (zh) | 2017-02-20 | 2017-02-20 | 用于异步多道的信息处理方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106886453A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158884A (zh) * | 2019-12-31 | 2020-05-15 | 深圳云天励飞技术有限公司 | 一种数据分析方法、装置、电子设备及存储介质 |
CN111343239A (zh) * | 2020-02-10 | 2020-06-26 | 中国银联股份有限公司 | 通信请求处理方法、通信方法、通信请求处理装置以及交易系统 |
CN114465974A (zh) * | 2022-01-20 | 2022-05-10 | 中国工商银行股份有限公司 | 推送消息的处理方法、装置、处理器及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103197968A (zh) * | 2013-03-18 | 2013-07-10 | 焦点科技股份有限公司 | 一种融合同步异步特点的线程池处理方法及系统 |
CN105357273A (zh) * | 2015-09-30 | 2016-02-24 | 山东乾云启创信息科技股份有限公司 | 异步通信模式下socket通信与进程管理通用平台及方法 |
CN105592097A (zh) * | 2016-01-06 | 2016-05-18 | 北京神舟航天软件技术有限公司 | 一种基于客户端的异步交互信息方法 |
CN106095585A (zh) * | 2016-06-22 | 2016-11-09 | 中国建设银行股份有限公司 | 任务请求处理方法、装置和企业信息系统 |
-
2017
- 2017-02-20 CN CN201710090958.8A patent/CN106886453A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103197968A (zh) * | 2013-03-18 | 2013-07-10 | 焦点科技股份有限公司 | 一种融合同步异步特点的线程池处理方法及系统 |
CN105357273A (zh) * | 2015-09-30 | 2016-02-24 | 山东乾云启创信息科技股份有限公司 | 异步通信模式下socket通信与进程管理通用平台及方法 |
CN105592097A (zh) * | 2016-01-06 | 2016-05-18 | 北京神舟航天软件技术有限公司 | 一种基于客户端的异步交互信息方法 |
CN106095585A (zh) * | 2016-06-22 | 2016-11-09 | 中国建设银行股份有限公司 | 任务请求处理方法、装置和企业信息系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158884A (zh) * | 2019-12-31 | 2020-05-15 | 深圳云天励飞技术有限公司 | 一种数据分析方法、装置、电子设备及存储介质 |
CN111343239A (zh) * | 2020-02-10 | 2020-06-26 | 中国银联股份有限公司 | 通信请求处理方法、通信方法、通信请求处理装置以及交易系统 |
CN114465974A (zh) * | 2022-01-20 | 2022-05-10 | 中国工商银行股份有限公司 | 推送消息的处理方法、装置、处理器及电子设备 |
CN114465974B (zh) * | 2022-01-20 | 2024-01-26 | 中国工商银行股份有限公司 | 推送消息的处理方法、装置、处理器及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107566153B (zh) | 一种自管理的微服务实现方法 | |
WO2019072280A3 (en) | Executing multi-party transactions using smart contracts | |
CN111464627B (zh) | 数据处理方法、边缘服务器、中心服务器及处理系统 | |
CN110457556B (zh) | 分布式爬虫系统架构、爬取数据的方法和计算机设备 | |
CN106886453A (zh) | 用于异步多道的信息处理方法、装置和系统 | |
CN109936512A (zh) | 流量分析方法、公共服务流量归属方法及相应的计算机系统 | |
CN107222530A (zh) | 服务异步交互方法、设备、系统和可读介质 | |
CN109254854A (zh) | 异步调用方法、计算机装置及存储介质 | |
CN110741573A (zh) | 在区块链网络中选择性使用网络编码传播交易的方法和系统 | |
CN1973282A (zh) | 用于管理针对集群配置的改变的系统和方法 | |
CN104618432A (zh) | 一种事件发送与接收的处理方法和处理系统 | |
CN105264811A (zh) | 元组恢复 | |
CN113626002A (zh) | 一种服务执行方法及装置 | |
CN107040613A (zh) | 一种报文传输方法及系统 | |
CN102684895A (zh) | 备用服务器、恢复客户端在主用服务器注册的系统及方法 | |
US11470167B2 (en) | Method and apparatus for generating information | |
CN106203661A (zh) | 基于云计算的服务预约系统 | |
CN103731424B (zh) | 一种网络数据的传输方法、装置及系统 | |
CN114726681B (zh) | 业务与通讯逻辑分离的网关服务分层设计方法和装置 | |
CN112615773B (zh) | 一种消息处理方法及系统 | |
EP2590366A1 (en) | Method and system for monitoring message objects sent from a client to invoke operations on a server in a distributed computing environment | |
CN105847461A (zh) | 用于智能设备的数据包处理方法和系统 | |
CN107797793A (zh) | 一种构建代理服务器框架的方法和装置 | |
CN111309500A (zh) | 业务处理方法、装置、设备及存储介质 | |
CN110445848A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170623 |