[发明专利]数据库操作任务的处理方法和装置在审
申请号: | 201510452085.1 | 申请日: | 2015-07-28 |
公开(公告)号: | CN105094972A | 公开(公告)日: | 2015-11-25 |
发明(设计)人: | 雷志海 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆;胡彬 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 操作 任务 处理 方法 装置 | ||
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种数据库操作任务的处理方法和装置。
背景技术
移动终端上执行的应用程序会产生大量的数据库操作需求,从而产生大量的数据库操作任务,典型的如对数据库的读取、写入、删除、查询等操作任务,以及用户接口(UserInterface,UI)交互任务等。
现有技术有两种解决方式,一种是由主线程,按照应用程序中各类任务的产生顺序,同步执行数据库操作任务;另一种是由主线程产生数据库操作任务,由其他线程异步执行数据库操作任务,将结果返回给主线程。
第一种方案存在的缺陷在于:由于数据库操作任务的执行时间长,所以使得主线程对UI交互任务的处理延迟,造成UI卡顿现象;第二种方案存在的缺陷在于:由于数据库操作任务在另一异步线程执行,会导致操作顺序错乱,和UI交互任务触发的数据库操作任务返回结果较慢,造成UI交互任务无法正常执行,例如显示白页。
发明内容
本发明实施例提供一种数据库操作任务的处理方法和装置,以优化对在执行应用程序的过程中产生的数据库操作任务的处理方式。
第一方面,本发明实施例提供了一种数据库操作任务的处理方法,包括:
主线程在执行应用程序的过程中,根据应用上层业务请求产生数据库操作任务;
所述主线程根据所述上层业务请求的属性设置数据库操作任务的配置信息和优先级;
所述主线程根据所述优先级,将数据库操作任务调度给数据库处理线程;
所述数据库处理线程根据所述数据库操作任务的配置信息执行任务;
所述数据库处理线程将任务执行结果返回给所述主线程的上层业务请求。
第二方面,本发明实施例提供了一种数据库操作任务的处理装置,包括:
操作任务生成模块,用于主线程在执行应用程序的过程中,根据应用上层业务请求产生数据库操作任务;
任务信息设置模块,用于所述主线程根据所述上层业务请求的属性设置数据库操作任务的配置信息和优先级;
操作任务调度模块,用于所述主线程根据所述优先级,将数据库操作任务调度给数据库处理线程;
操作任务执行模块,用于所述数据库处理线程根据所述数据库操作任务的配置信息执行任务;
执行结果返回模块,用于所述数据库处理线程将任务执行结果返回给所述主线程的上层业务请求。
本发明实施例提供的数据库操作任务的处理方法和装置,通过主线程在执行应用程序的过程中,根据不同的应用上层业务请求产生相应的数据库操作任务,并通过所述主线程根据数据库操作任务对应的优先级从高到低的顺序,将数据库操作任务异步调度给数据库处理线程进行处理,并将任务执行结果返回至主线程的上层业务请求,一方面,使得优先级较高的数据库操作任务可以被数据库处理线程优先执行,保证了优先级较高的数据库操作任务能够及时返回任务执行结果,使得某些依赖于该及时返回的任务执行结果的数据库操作任务可以有效执行,避免了操作顺序错乱;另一方面,避免了由主线程按照应用程序中各类任务的产生顺序,同步执行数据库操作任务所导致的对某些优先级较高的数据库操作任务的处理延迟以及所出现的UI卡顿现象。
附图说明
为了更清楚地说明本发明,下面将对本发明中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种数据库操作任务的处理方法的流程示意图;
图2a为本发明实施例二提供的数据库操作任务的处理方法中一种数据库操作任务的调度的流程示意图;
图2b为本发明实施例二适用的一种数据库操作任务的处理实例的示意图;
图3为本发明实施例三提供的一种数据库操作任务的处理方法的流程示意图;
图4为本发明实施例四提供的一种数据库操作任务的处理装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案作进一步详细描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510452085.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种中断控制方法和中断控制器
- 下一篇:一种实现目标与任务对位的方法