一种实现异步调用的数据处理方法及装置制造方法及图纸

技术编号:14533049 阅读:78 留言:0更新日期:2017-02-02 16:11
本发明专利技术公开一种实现异步调用的数据处理方法,所述方法包括:逻辑控制器创建异步调用链式存储结构,所述逻辑控制器由系统预先创建;所述逻辑控制器将包括至少一个回调函数的待处理任务存储于所述异步调用链式存储结构中,并为所述待处理任务中的回调函数分别分配一个工作线程,得到回调函数与工作线程的对应关系;当所述逻辑控制器接收到预设的任务执行触发指令时,从所述异步调用链式存储结构中取出一个待处理任务,并将所述待处理任务中的回调函数分配到与其对应的工作线程中执行。与现有技术相比,本发明专利技术实施例利用异步调用链式存储结构存储待处理任务,不需要编写复杂的异步化代码即可实现异步调用,同时异步调用的数据处理效率较高。

Data processing method and device for implementing asynchronous call

The invention discloses a method for realizing asynchronous data processing method, the method comprises: logic controller to create asynchronous call chain storage structure, the logic controller system by pre created; pending tasks stored in the asynchronous call chain storage structure in the logic controller will include at least a callback function, and the callback function processing tasks are assigned a working thread, then the relationship between the callback function with thread; when the logic controller receives a preset task execution trigger instruction, remove the tasks of a pending asynchronous call from the chain storage structure, and the callback function assign processing tasks to the corresponding working thread. Compared with the prior art, the embodiment of the invention uses asynchronous call chain storage structure to store pending tasks, without the need to write complex code to realize asynchronous asynchronous calls, and asynchronous call data processing with high efficiency.

【技术实现步骤摘要】

本专利技术涉及数据处理领域,具体涉及一种实现异步调用的数据处理方法及装置。
技术介绍
计算机在数据处理中可能遇到比较耗时的任务,在调用这种任务处理代码时,系统如果持续等待,可能会严重影响程序性能。例如,某个程序启动后需要执行打开文件读出其中的数据,再根据这些数据进行一系列初始化处理的耗时任务,那么程序主窗口的程序则不能及时执行,导致程序主窗口将迟迟不能显示,降低用户体验。目前,通过异步调用的实现可以把上述问题轻松化解。具体的,可以把整个初始化处理的任务放进一个单独线程,而主线程启动此线程后系统不会持续等待,而是同时启动主窗口程序的线程,让主窗口瞬间显示出来。也就是说,借助异步调用处理耗时的任务,使得用户的体验得到增强。但是,现有的实现异步调用的方法都比较复杂,例如利用jdk中提供的线程库,直接采用线程或线程池的方式对任务进行异步化,或者使用androidsdk中提供的HandlerThread对任务进行异步化,这些方式都需要编写复杂的异步化代码,而且实现异步调用的数据处理效率较低。
技术实现思路
有鉴于此,本专利技术提供了一种实现异步调用的数据处理方法及装置,能够提高实现异步调用的数据处理效率。一方面,本专利技术提供了一种实现异步调用的数据处理方法,所述方法包括:逻辑控制器创建异步调用链式存储结构,所述逻辑控制器由系统预先创建;所述逻辑控制器将包括至少一个回调函数的待处理任务存储于所述异步调用链式存储结构中,并为所述待处理任务中的回调函数分别分配一个工作线程,得到回调函数与工作线程的对应关系;当所述逻辑控制器接收到预设的任务执行触发指令时,从所述异步调用链式存储结构中取出一个待处理任务,并将所述待处理任务中的回调函数分配到与其对应的工作线程中执行。优选地,所述方法还包括:当所述逻辑控制器获知当前待处理任务完成时,从所述异步调用链式存储结构中取出所述当前待处理任务的下一个待处理任务,继续执行所述将所述待处理任务中的回调函数分配到与其对应的工作线程中执行的步骤。优选地,所述方法还包括:当所述逻辑控制器获知所述异步调用链式存储结构为空时,删除所述异步调用链式存储结构。优选地,所述异步调用链式存储结构为队列。优选地,所述方法还包括:当所述逻辑控制器接收到预设的任务暂停触发指令时,将当前待处理任务挂起;并在所述逻辑控制器接收到预设的任务恢复触发指令时,将挂起的当前待处理任务恢复执行。优选地,所述方法还包括:所述逻辑控制器将自身控制的异步调用链式存储结构拼接到第一逻辑控制器创建的异步调用链式存储结构中,所述第一逻辑控制器由系统预先创建,且不同于所述逻辑控制器;所述第一逻辑控制器控制所述逻辑控制器的异步调用链式存储结构。另一方面,本专利技术还提供了一种实现异步调用的数据处理装置,所述装置包括:创建模块,用于创建异步调用链式存储结构;存储模块,用于将包括至少一个回调函数的待处理任务存储于所述异步调用链式存储结构中;第一分配模块,用于为所述待处理任务中的回调函数分别分配一个工作线程,得到回调函数与工作线程的对应关系;取出模块,用于当接收到预设的任务执行触发指令时,从所述异步调用链式存储结构中取出一个待处理任务;第二分配模块,用于将所述待处理任务中的回调函数分配到与其对应的工作线程中执行。优选地,所述装置还包括:触发模块,用于当获知当前待处理任务完成时,触发所述取出模块从所述异步调用链式存储结构中取出所述当前待处理任务的下一个待处理任务。优选地,所述装置还包括:删除模块,用于当获知所述异步调用链式存储结构为空时,删除所述异步调用链式存储结构。优选地,所述装置还包括:挂起模块,用于当接收到预设的任务暂停触发指令时,将当前待处理任务挂起;恢复模块,用于在接收到预设的任务恢复触发指令时,将挂起的当前待处理任务恢复执行。本专利技术的实现异步调用的数据处理方法中,逻辑控制器首先创建异步调用链式存储结构,所述逻辑控制器由系统预先创建。其次,所述逻辑控制器将包括至少一个回调函数的待处理任务存储于所述异步调用链式存储结构中,并为所述待处理任务中的回调函数分别分配一个工作线程,得到回调函数与工作线程的对应关系。当所述逻辑控制器接收到预设的任务执行触发指令时,从所述异步调用链式存储结构中取出一个待处理任务,并将所述待处理任务中的回调函数分配到与其对应的工作线程中执行。与现有技术相比,本专利技术利用异步调用链式存储结构存储待处理任务,不需要编写复杂的异步化代码即可实现异步调用,同时异步调用的数据处理效率较高。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种实现异步调用的数据处理方法流程图;图2为本专利技术提供的一种实现异步调用的数据处理装置结构示意图;图3为本专利技术提供的移动终端的部分结构的框图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本专利技术实施例提供的实现异步调用的数据处理方式应用于Android系统或IOS系统中,着重于对异步化功能的简单化实现,权衡代码开发量与后续维护工作的工作量,最大程度简化异步开发,提高实现异步调用的数据处理效率。下面对本专利技术实施例进行描述。参考图1,图1为本实施例提供的一种实现异步调用的数据处理方法流程图,具体可以包括:S101:逻辑控制器创建异步调用链式存储结构,所述逻辑控制器由系统预先创建。S102:所述逻辑控制器将包括至少一个回调函数的待处理任务存储于所述异步调用链式存储结构中,并为所述待处理任务中的回调函数分别分配一个工作线程,得到回调函数与工作线程的对应关系。S103:当所述逻辑控制器接收到预设的任务执行触发指令时,从所述异步调用链式存储结构中取出一个待处理任务,并将所述待处理任务中的回调函数分配到与其对应的工作线程中执行。在S101中,首先由系统创建逻辑控制器,所述系统可以为Android系统,也可以为IOS系统,或者其他可以实现异步化的系统。所述逻辑控制器用于控制整个实现异步调用的数据处理过程,作为实现异步调用的数据处理的执行主体。另外,S101中的异步调用链式存储结构用于实现异步调用的存储功能。具体的,所述异步调用链式存储结构可以为队列,例如为异步调用队列,也可以为链表。在S102中,逻辑控制器首先确定待处理任务,并将确定的待处理任务存储于预先创建的异步调用链式存储结构中,例如为存储于异步调用队列中。值得注意的是,当待处理任务之间存在先后执行顺序关系时,所述逻辑控制器按照先后执行顺序关系将待处理任务存储于异步调用链式存储结构中。在S102中,存储于异步调用链式存储结构中的各个待处理任务中至少包括一个回调函数,所述回调函数是一个通过函数指针调用的函数,用于实现该待处理任务的功能。实际操作中,为了实现异步调用,所述逻辑控制器为所述异步调用链式存储本文档来自技高网...

【技术保护点】
一种实现异步调用的数据处理方法,其特征在于,所述方法包括:逻辑控制器创建异步调用链式存储结构,所述逻辑控制器由系统预先创建;所述逻辑控制器将包括至少一个回调函数的待处理任务存储于所述异步调用链式存储结构中,并为所述待处理任务中的回调函数分别分配一个工作线程,得到回调函数与工作线程的对应关系;当所述逻辑控制器接收到预设的任务执行触发指令时,从所述异步调用链式存储结构中取出一个待处理任务,并将所述待处理任务中的回调函数分配到与其对应的工作线程中执行。

【技术特征摘要】
1.一种实现异步调用的数据处理方法,其特征在于,所述方法包括:逻辑控制器创建异步调用链式存储结构,所述逻辑控制器由系统预先创建;所述逻辑控制器将包括至少一个回调函数的待处理任务存储于所述异步调用链式存储结构中,并为所述待处理任务中的回调函数分别分配一个工作线程,得到回调函数与工作线程的对应关系;当所述逻辑控制器接收到预设的任务执行触发指令时,从所述异步调用链式存储结构中取出一个待处理任务,并将所述待处理任务中的回调函数分配到与其对应的工作线程中执行。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述逻辑控制器获知当前待处理任务完成时,从所述异步调用链式存储结构中取出所述当前待处理任务的下一个待处理任务,继续执行所述将所述待处理任务中的回调函数分配到与其对应的工作线程中执行的步骤。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述逻辑控制器获知所述异步调用链式存储结构为空时,删除所述异步调用链式存储结构。4.根据权利要求1所述的方法,其特征在于,所述异步调用链式存储结构为队列。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述逻辑控制器接收到预设的任务暂停触发指令时,将当前待处理任务挂起;并在所述逻辑控制器接收到预设的任务恢复触发指令时,将挂起的当前待处理任务恢复执行。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述逻辑控制...

【专利技术属性】
技术研发人员:苟键俞尚林声炜李宏伟曾勇翟一帆梁祥泰苟晓东陈钟
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1