数据库读取方法、装置及计算机可读存储介质制造方法及图纸

技术编号:22564844 阅读:17 留言:0更新日期:2019-11-16 11:53
本发明专利技术涉及云存储技术领域,揭露了一种数据库读取方法,包括:使用封装动态共享库so文件将数据库读取优化逻辑加载至客户端程序中,获取所述客户端程序的查询命令,在所述动态共享库so文件提供的数据读取接口请求执行上述查询命令时,判断所述查询命令是否要进行所述优化逻辑,在所述查询命令不需要进行优化逻辑时,所述动态共享库so文件直接向数据库进行查询,返回查询结果在所述查询命令需要进行优化逻辑时,所述客户端程序通过调用so文件提供的数据读取接口,采用本地数据缓存优先策略,执行所述数据库数据查询操作的优化逻辑的流程,返回查询结果。本发明专利技术还提出一种数据库读取装置以及一种计算机可读存储介质。本发明专利技术实现了数据库的高效读取。

Database reading method, device and computer readable storage medium

The invention relates to the field of cloud storage technology, and discloses a database reading method, which comprises: using the encapsulated dynamic shared library so file to load the database reading optimization logic into the client program, obtaining the query command of the client program, when the data reading interface provided by the dynamic shared library so file requests to execute the query command, judging that the query command is No need to carry out the optimization logic. When the query command does not need to carry out the optimization logic, the dynamic shared library so file directly queries the database and returns the query results. When the query command needs to carry out the optimization logic, the client program executes the database by calling the data reading interface provided by the so file and adopting the local data cache priority strategy Data query operation optimization logic process, return query results. The invention also provides a database reading device and a computer readable storage medium. The invention realizes efficient reading of database.

【技术实现步骤摘要】
数据库读取方法、装置及计算机可读存储介质
本专利技术涉及云存储
,尤其涉及一种基于动态执行文件的数据库读取方法、装置及计算机可读存储介质。
技术介绍
随着信息技术的快速发展和数据量的快速增加,数据库在存储海量数据的情况下读写速度常常难以达到实际产品的需要,尤其是在诸如金融行业等对数据实时性、准确性要求较高的场景下,对数据库读写速度的优化需求更加强烈。在此情况下,需要在客户机和服务器连接的各个环节中优化数据库访问和读写速度。常用的数据库读性能优化方式主要包括硬件扩容、分库分表、数据归档、减少异地部署/跨机房访问等。其中,所述硬件扩容主要指通过提升硬盘读写速度、增加内存、升级CPU等硬件性能达到提升数据库读写速度的方法;所述分库分表基本思想是把一个数据库切分成多个部分放到不同的数据库上,从而缓解单一数据库的性能问题;所述数据归档是将不再经常使用的数据移到一个单独的存储设备来进行长期保存;所述减少异地部署/跨机房访问主要通过减少客户机和服务器的物理距离提升发出指令和返回结果的时间损耗。上述优化方式均需较多的变动数据架构和硬件变更,实际执行过程中易造成数据丢失、数据表损坏、新录入数据出错、服务暂时中断等异常情况,产生巨大的经济和声誉损失。另外对硬件的升级、网络布线的更新也会带来成本的增加。
技术实现思路
本专利技术提供一种数据库读取方法、装置及计算机可读存储介质,其主要目的在于当用户在数据库进行读取数据时,给用户呈现出较快的读取结果。为实现上述目的,本专利技术提供的一种数据库读取方法,包括:使用封装动态共享库so文件将数据库读取优化逻辑加载至客户端程序中;获取所述客户端程序的查询命令,在所述动态共享库so文件提供的数据读取接口请求执行上述查询命令时,判断所述查询命令是否要进行所述优化逻辑;在所述查询命令不需要进行优化逻辑时,所述动态共享库so文件直接向数据库进行查询,返回查询结果;在所述查询命令需要进行优化逻辑时,所述客户端程序通过调用so文件提供的数据读取接口,采用本地数据缓存优先策略,执行所述数据库数据查询操作的优化逻辑的流程,返回查询结果。可选地,在使用封装动态共享库so文件将数据库读取优化逻辑加载至客户端程序中之前,该方法还包括:新增一个自定义的动态共享库so文件,该动态共享库so文件封装了一个用于读取所述数据库中数据的数据读取接口。可选地,所述使用封装动态共享库so文件将数据库读取优化逻辑加载至客户端程序中,包括:将所述动态共享库so文件的优化逻辑加载在该动态共享库so文件所封装的数据读取接口上;通过使用构造函数预先加载所述的动态共享库so文件。可选地,所述通过使用构造函数预先加载所述的动态共享库so文件,包括:通过GNUC编译器中提供__attribute__((constructor))方法定义所述构造函数,并在所述构造函数定义一个进程启动预先加载的运行入口;将所述封装的动态共享库so文件加载逻辑放至所述预先加载的运行入口里。可选地,所述本地数据缓存优先策略,包括:根据索引从本地数据仓库查找所述查询命令对应的所述数据库数据;当未查找到对应的所述数据库数据时,访问数据库读取所述查询命令对应的数据,并将获得的数据附加上当前的时间戳后,存入本地内存数据仓库中,返回查询结果给所述客户端程序;当查找到对应的所述数据库数据时,对所查询到的数据的时间戳进行校验,根据外部配置文件中的配置参数判断所述时间戳是否过期;当所述时间戳已过期时,访问数据库读取所述查询命令对应的数据,并将获得的数据附加上当前的时间戳后,存入本地内存数据仓库中,返回查询结果给所述客户端程序;当所述时间戳未过期时,直接将查询结果返回给所述客户端程序,并保留原时间戳。此外,为实现上述目的,本专利技术还提供一种数据库读取装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的数据库读取程序,所述数据库读取程序被所述处理器执行时实现如下步骤:使用封装动态共享库so文件将数据库读取优化逻辑加载至客户端程序中;获取所述客户端程序的查询命令,在所述动态共享库so文件提供的数据读取接口请求执行上述查询命令时,判断所述查询命令是否要进行所述优化逻辑;在所述查询命令不需要进行优化逻辑时,所述动态共享库so文件直接向数据库进行查询,返回查询结果;在所述查询命令需要进行优化逻辑时,所述客户端程序通过调用so文件提供的数据读取接口,采用本地数据缓存优先策略,执行所述数据库数据查询操作的优化逻辑的流程,返回查询结果。可选地,在使用封装动态共享库so文件将数据库读取优化逻辑加载至客户端程序中之前,该方法还包括:新增一个自定义的动态共享库so文件,该动态共享库so文件封装了一个用于读取所述数据库中数据的数据读取接口。可选地,所述使用封装动态共享库so文件将数据库读取优化逻辑加载至客户端程序中,包括:将所述动态共享库so文件的优化逻辑加载在该动态共享库so文件所封装的数据读取接口上;通过使用构造函数预先加载所述的动态共享库so文件。可选地,所述本地数据缓存优先策略,包括:根据索引从本地数据仓库查找所述查询命令对应的所述数据库数据;当未查找到对应的所述数据库数据时,访问数据库读取所述查询命令对应的数据,并将获得的数据附加上当前的时间戳后,存入本地内存数据仓库中,返回查询结果给所述客户端程序;当查找到对应的所述数据库数据时,对所查询到的数据的时间戳进行校验,根据外部配置文件中的配置参数判断所述时间戳是否过期;当所述时间戳已过期时,访问数据库读取所述查询命令对应的数据,并将获得的数据附加上当前的时间戳后,存入本地内存数据仓库中,返回查询结果给所述客户端程序;当所述时间戳未过期时,直接将查询结果返回给所述客户端程序,并保留原时间戳。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据库读取程序,所述数据库读取程序可被一个或者多个处理器执行,以实现如上所述的数据库读取方法的步骤。本专利技术提出的数据库读取方法、装置及计算机可读存储介质,使用封装动态共享库so文件将数据库读取优化逻辑加载至客户端程序中,客户端程序的查询命令通过调用so文件提供的数据读取接口,加快对数据库读取的速度,从而可以给用户呈现出较快的读取结果。附图说明图1为本专利技术一实施例提供的数据库读取方法的流程示意图;图2为本专利技术一实施例提供的数据库读取装置的内部结构示意图;图3为本专利技术一实施例提供的数据库读取装置中数据库读取程序的模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种数据库读取方法。参照图本文档来自技高网...

【技术保护点】
1.一种数据库读取方法,其特征在于,所述方法包括:/n使用封装动态共享库so文件将数据库读取优化逻辑加载至客户端程序中;/n获取所述客户端程序的查询命令,在所述动态共享库so文件提供的数据读取接口请求执行上述查询命令时,判断所述查询命令是否要进行所述优化逻辑;/n在所述查询命令不需要进行优化逻辑时,所述动态共享库so文件直接向数据库进行查询,返回查询结果;/n在所述查询命令需要进行优化逻辑时,所述客户端程序通过调用so文件提供的数据读取接口,采用本地数据缓存优先策略,执行所述数据库数据查询操作的优化逻辑的流程,返回查询结果。/n

【技术特征摘要】
1.一种数据库读取方法,其特征在于,所述方法包括:
使用封装动态共享库so文件将数据库读取优化逻辑加载至客户端程序中;
获取所述客户端程序的查询命令,在所述动态共享库so文件提供的数据读取接口请求执行上述查询命令时,判断所述查询命令是否要进行所述优化逻辑;
在所述查询命令不需要进行优化逻辑时,所述动态共享库so文件直接向数据库进行查询,返回查询结果;
在所述查询命令需要进行优化逻辑时,所述客户端程序通过调用so文件提供的数据读取接口,采用本地数据缓存优先策略,执行所述数据库数据查询操作的优化逻辑的流程,返回查询结果。


2.如权利要求1所述的数据库读取方法,其特征在于,在使用封装动态共享库so文件将数据库读取优化逻辑加载至客户端程序中之前,该方法还包括:
新增一个自定义的动态共享库so文件,该动态共享库so文件封装了一个用于读取所述数据库中数据的数据读取接口。


3.如权利要求2所述的数据库读取方法,其特征在于,所述使用封装动态共享库so文件将数据库读取优化逻辑加载至客户端程序中,包括:
将所述动态共享库so文件的优化逻辑加载在该动态共享库so文件所封装的数据读取接口上;
通过使用构造函数预先加载所述的动态共享库so文件。


4.如权利要求3所述的数据库读取方法,其特征在于,所述通过使用构造函数预先加载所述的动态共享库so文件,包括:
通过GNUC编译器中提供__attribute__((constructor))方法定义所述构造函数,并在所述构造函数定义一个进程启动预先加载的运行入口;
将封装的所述动态共享库so文件加载逻辑放至所述预先加载的运行入口里。


5.如权利要求1至4中任意一项所述的数据库读取方法,其特征在于,所述本地数据缓存优先策略,包括:
根据索引从本地数据仓库查找所述查询命令对应的所述数据库数据;
当未查找到对应的所述数据库数据时,访问数据库读取所述查询命令对应的数据,并将获得的数据附加上当前的时间戳后,存入本地内存数据仓库中,返回查询结果给所述客户端程序;
当查找到对应的所述数据库数据时,对所查询到的数据的时间戳进行校验,根据外部配置文件中的配置参数判断所述时间戳是否过期;
当所述时间戳已过期时,访问数据库读取所述查询命令对应的数据,并将获得的数据附加上当前的时间戳后,存入本地内存数据仓库中,返回查询结果给所述客户端程序;
当所述时间戳未过期时,直接将查询结果返回给所述客户端程序,并保留原时...

【专利技术属性】
技术研发人员:王海洋许朝阳
申请(专利权)人:平安证券股份有限公司
类型:发明
国别省市:广东;44

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

1