数据库访问方法及装置制造方法及图纸

技术编号:34548498 阅读:32 留言:0更新日期:2022-08-17 12:31
本申请公开了数据库访问方法及装置,该方法中,通过预先创建的数据库表实例接收应用发送的数据库访问操作,当数据库表实例接收到应用发送的数据库访问操作时,生成数据库访问任务,并将访问任务添加到指定任务队列中;通过预先封装的数据库管理类从指定任务队列中读取目标访问任务,根据任务类型执行目标访问任务,以获取数据库访问结果。该方法可以方便、灵活地对数据库操作接口进行扩展,且可避免访问出错现象,提高访问安全性。此外,不同场景下产生的访问任务可以复用一个工作线程,无需在各应用中单独开发数据库访问线程,既能简化应用内部处理逻辑,降低应用体量,节约开发成本,还能简化数据库系统的访问逻辑,节约数据库系统资源。资源。资源。

【技术实现步骤摘要】
数据库访问方法及装置


[0001]本申请涉及数据库
,尤其涉及一种数据库访问方法及装置。

技术介绍

[0002]数据库用于以某种规则存储数据,并支持用户根据需求对存储的数据进行访问,如查询、添加、删除和修改等操作。随着计算机技术的快速发展,数据库的读写速度、数据可用性、安全性、可扩展性均面临着更高的要求。
[0003]现有技术中,为了实现各类应用对数据库的访问,通常在各个应用中部署专用于访问数据库的工作线程;当应用需要访问数据库时,通过此类工作线程访问数据库。例如,在聊天应用中部署用于查询聊天记录数据的第一线程和用于查询好友数据的第二线程。当用户需要查找聊天记录数据时,聊天应用启动第一线程,第一线程根据数据库提供的聊天记录查询接口访问相应的数据库实例,以获取聊天记录数据;当用户需要查找好友数据时,聊天应用启动第二线程,第二线程根据数据库提供的好友数据查询接口访问相应的数据库实例,以获取好友数据。
[0004]对于上述实现方式,若应用或者应用所在的系统中存在多个访问数据库的工作线程,极容易出现访问出错的现象。并且,如需要扩展数据库操作接口,需要修改已有的工作线程或者开发新的工作线程,即不便于扩展数据库操作接口。

技术实现思路

[0005]本申请提供一种数据库访问方法及装置,该方法可以方便、灵活地对数据库操作接口进行扩展,且可串行化地执行数据库访问操作,避免访问出错现象,提高访问安全性。此外,不同场景下产生的各类型访问操作可以复用同一个工作线程,从而简化访问逻辑,节约数据库系统资源。
[0006]第一方面,本申请提供一种数据库访问方法,应用于数据库系统,所述方法包括:
[0007]预先创建数据库管理类和数据库表实例;
[0008]通过所述数据库表实例接收到应用发送的数据库访问操作,生成数据库访问任务,并将所述访问任务添加到指定任务队列中,所述访问任务的任务类型与所述访问操作的操作类型对应;
[0009]通过所述数据库管理类从所述指定任务队列中读取目标访问任务,根据所述目标访问任务的任务类型执行所述目标访问任务,以获取目标访问操作对应的数据库访问结果,所述目标访问操作是与所述目标访问任务对应的访问操作。
[0010]第二方面,本申请还提供一种数据库访问装置,所述装置应用于数据库系统,所述装置包括:
[0011]创建模块,用于预先创建数据库管理类和数据库表实例;
[0012]第一处理模块,用于通过所述数据库表实例接收应用发送的数据库访问操作,生成数据库访问任务,并将所述访问任务添加到指定任务队列中,所述访问任务的任务类型
与所述访问操作的操作类型对应;
[0013]第二处理模块,用于通过所述数据库管理类从所述指定任务队列中读取目标访问任务,根据所述目标访问任务的任务类型执行所述目标访问任务,以获取目标访问操作对应的数据库访问结果,所述目标访问操作是与所述目标访问任务对应的访问操作。
[0014]由以上技术方案可知,本申请提供一种数据库访问方法及装置,该方法包括:通过预先创建的数据库表实例接收应用发送的数据库访问操作,当数据库表实例接收到应用发送的数据库访问操作时,生成数据库访问任务,并将访问任务添加到指定任务队列中,访问任务的任务类型与访问操作的操作类型对应;通过预先封装的数据库管理类从指定任务队列中读取访问任务,根据读取到的目标访问任务的任务类型执行目标访问任务,以获取目标访问操作对应的数据库访问结果,目标访问操作是与目标访问任务对应的访问操作。该方法可以方便、灵活地对数据库操作接口进行扩展,且可串行化地处理数据库访问操作,避免访问出错现象,提高访问安全性。此外,不同场景下产生的各类型访问任务可以复用同一个工作线程,无需在各应用中单独开发用于访问数据库的线程,既能简化应用内部处理逻辑,降低应用体量,节约开发成本,还能简化数据库系统的访问逻辑,节约数据库系统资源。
附图说明
[0015]为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本申请根据示例性实施例示出的一种数据库访问方法流程图;
[0017]图2为本申请根据示例性实施例示出的一种数据库访问装置框图。
具体实施方式
[0018]为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0019]本申请实施例提供一种数据库访问方法,所述数据库可以是SQL(结构化查询语言,Structured Query Language)。该方法可以应用于数据库系统DBS(Data Base System,简称DBS),该数据库系统通常由软件、数据库和数据管理员组成,其软件主要包括操作系统、各种宿主语言、实用程序等,如计算机操作系统。
[0020]为了实现本申请提供的数据库访问方法,预先在数据库系统中构建数据库表实例和数据库管理类。
[0021]其中,该数据库表实例继承数据库基类,并提供至少一个用于接收数据库访问操作的操作接口,即数据库操作接口。这样,应用可以通过访问指定的数据库操作接口与对应的数据库表实例进行通信,从而将数据库访问操作发送给数据库表实例。
[0022]在一些实施例中,可以根据数据库访问操作的操作类型,确定对应的数据库接口类型和数据库操作接口,然后根据确定的数据库操作接口,创建数据库表实例。具体的,在
获取到指定的数据库操作接口的情况下,创建数据库表实例的过程可以包括:根据指定的数据库操作接口扩展数据库表基类,例如,将实现数据库操作接口的类作为数据库表基类的子类;然后实例化扩展后的数据库表基类,得到数据库表实例。其中,指定的数据库操作接口与指定的数据库访问操作相对应。例如,聊天记录数据查询接口与聊天应用中产生的聊天记录数据查询操作相对应。
[0023]需要说明的是,本申请实施例提及的数据库访问操作的操作类型,可以是广义的操作类型,如查询操作、插入操作、删除操作、修改操作,即为四种不同类型的操作。
[0024]此外,本申请实施例提及的数据库访问操作的操作类型,也可以是狭义的操作类型,包括用户自定义的操作类型或者针对特定场景下特定操作的分类,等等。例如,定义聊天应用场景下的聊天记录查询操作、聊天记录删除操作、好友数据查询操作以及好友数据删除操作为四种不同类型的操作。又如,定义聊天应用中的聊天记录查询操作和浏览器应用中的浏览历史记录查询操作为两种不同类型的操作。
[0025]在一种实现方式中,可以针对一种类型的数据库访问操作,创建一个数据库表实例。在本实现方式中,可以是涉本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库访问方法,其特征在于,应用于数据库系统,所述方法包括:预先创建数据库管理类和数据库表实例;通过所述数据库表实例接收应用发送的数据库访问操作,生成数据库访问任务,并将所述访问任务添加到指定任务队列中,所述访问任务的任务类型与所述访问操作的操作类型对应;通过所述数据库管理类从所述指定任务队列中读取目标访问任务,根据所述目标访问任务的任务类型执行所述目标访问任务,以获取目标访问操作对应的数据库访问结果,所述目标访问操作是与所述目标访问任务对应的访问操作。2.根据权利要求1所述的方法,其特征在于,所述创建数据库表实例包括:根据指定的数据库操作接口扩展数据库表基类,所述指定的数据库操作接口与指定的数据库访问操作对应;实例化所述扩展后的数据库表基类,得到所述数据库表实例。3.根据权利要求1所述的方法,其特征在于,从所述指定任务队列中读取目标访问任务,根据所述目标访问任务的任务类型执行所述目标访问任务,包括:通过所述数据库管理类,实例化数据库;以及,启动数据库工作线程,通过数据库工作线程从所述指定任务队列中顺序读取目标访问任务,根据目标访问任务的任务类型执行所述目标访问任务,并将所述访问结果返回给所述数据库表实例。4.根据权利要求3所述的方法,其特征在于,所述数据库表实例提供至少一个回调接口,所述将所述访问结果返回给所述数据库表实例,包括:将所述访问结果发送至所述回调接口,以使所述数据库表实例根据所述回调接口获取到所述访问结果。5.根据权利要求1所述的方法,其特征在于,所述指定任务队列的数量为多个,一个指定任务队列用于存储一种类型的访问任务,不同指定任务队列具有不同的优先级;在多个指定任务队列中存在待执行的访问任务时,所述数据库管理类优先从所述多个指定任务队列中优先级最高的指定任务队列中读取所述目标访问任务。6.一种数据库...

【专利技术属性】
技术研发人员:冯勇王志新
申请(专利权)人:北京新媒传信科技有限公司
类型:发明
国别省市:

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

1