一种数据调用方法、装置及系统与流程

专利检索2025-04-12  4


本发明涉及桌面端应用,特别涉及一种数据调用方法、装置及系统。


背景技术:

1、桌面应用程序在调用数据库时,通常将数据库操作放在主进程中,导致主进程任务过重,阻塞主进程。例如,electron是一个开源的跨平台框架,用于构建基于web技术(html、css和javascript)的桌面应用程序,在应用开发过程中,数据持久化必不可少,sqlite的使用较为广泛,但多数应用将数据库操作放在electron主进程中,可能会阻塞主进程,导致一系列的问题。


技术实现思路

1、为了解决上述技术问题,提出了本发明。本发明的实施例提供了一种数据调用方法、装置及系统,可以解决调用数据时主进程容易阻塞的问题。

2、根据本发明的一个方面,提供了一种数据调用方法,应用于主进程,包括:所述主进程获取渲染进程发送的查询请求和操作请求;其中,所述查询请求用于查询数据库,所述操作请求用于对数据库进行操作;所述主进程将所述查询请求和操作请求转发到子线程中;所述主进程获取所述子线程返回的查询结果和操作结果,并将所述查询结果和操作结果的数据发送给所述渲染进程,以进行界面展示。

3、在一实施例中,在所述主进程获取渲染进程发送的查询请求和操作请求之前,所述数据调用方法还包括:根据连接参数与数据库连接;完成与数据库的连接后,创建一个新的数据库;在新的数据库中创建数据表;其中,所述数据表定义了数据存储的结构,所述数据表包括列名、数据类型和约束;根据网络请求更新所述数据表的内容。

4、在一实施例中,所述主进程获取渲染进程发送的查询请求和操作请求包括:当所述渲染进程发送所述查询请求和操作请求给所述主进程时,所述主进程监听到所述查询请求和操作请求并进行处理;其中,所述数据调用方法包括:处理所述查询请求和操作请求时,所述主进程向所述渲染进程发送回复消息;其中,所述回复消息用于通知所述渲染进程当前所述查询请求和操作请求已被监听并处理。

5、在一实施例中,所述数据调用方法还包括:所述主进程获取所述子线程返回的返回值、数据库版本号、用户版本号;所述返回值表示整数或浮点数或字符串或对象;所述主进程将所述子线程返回的所述返回值、所述数据库版本号、所述用户版本号返回至所述渲染进程,以根据所述返回值在界面上展示所述数据库版本号、所述用户版本号。

6、根据本发明的另一个方面,提供了一种数据调用方法,应用于子线程,包括:所述子线程获取主进程转发的查询数据库的查询请求和操作请求;其中,所述查询请求和操作请求由渲染进程发起;所述子线程根据所述查询请求和操作请求进行数据查询和数据操作,获得查询结果和操作结果;所述子线程将所述查询结果和操作结果返回给所述主进程,以便所述主进程将所述查询结果和操作结果转发给所述渲染进程进行界面展示。

7、在一实施例中,所述子线程根据所述查询请求和操作请求进行数据查询,获得查询结果和操作结果,包括:所述子线程根据所述查询请求和操作请求,执行结构化查询语言命令,对数据库进行插入、更新、删除或查询数据;其中,所述子线程将所述查询结果和操作结果返回给所述主进程,包括:所述子线程执行结构化查询语言命令后,将所述查询结果和操作结果返回给所述主进程;其中,所述查询结果和操作结果包括查询结果集、受影响的行数或其他执行结果。

8、根据本发明的另一个方面,提供了一种数据调用装置,应用于主进程,包括:第一获取模块,用于所述主进程获取渲染进程发送的查询请求和操作请求;其中,所述查询请求用于查询数据库,所述操作请求用于对数据库进行操作;转发模块,用于所述主进程将所述查询请求和操作请求转发到子线程中;发送模块,用于所述主进程获取所述子线程返回的查询结果和操作结果,并将所述查询结果和操作结果的数据发送给所述渲染进程,以进行界面展示。

9、根据本发明的另一个方面,提供了一种数据调用装置,应用于子线程,包括:第二获取模块,用于所述子线程获取主进程转发的查询数据库的查询请求和操作请求;其中,所述查询请求和操作请求由渲染进程发起;操作模块,用于所述子线程根据所述查询请求和操作请求进行数据查询和数据操作,获得查询结果和操作结果;返回模块,用于所述子线程将所述查询结果和操作结果返回给所述主进程,以便所述主进程将所述查询结果和操作结果转发给所述渲染进程进行界面展示。

10、根据本发明的另一个方面,提供了一种数据调用系统,应用于上述的数据调用方法,包括:渲染进程,所述渲染进程用于根据数据库的数据生成可视图像;主进程,所述主进程与所述渲染进程通信连接,所述主进程用于转发所述渲染进程查询请求和操作请求;子线程,所述子线程与所述主进程通信连接,所述子线程用于根据所述主进程获取的所述查询请求和所述操作请求,进行数据查询和数据操作。

11、本发明提供的数据调用方法、装置及系统,开启一个子线程,作为处理数据库操作的专用线程,由主进程分别与渲染进程、子线程进行通信,在数据库查询、存储请求量大的情况下,转发数据库的相关操作给子线程,由子线程进行执行,解放electron主进程,避免因主进程阻塞造成的问题。



技术特征:

1.一种数据调用方法,其特征在于,应用于主进程,包括:

2.根据权利要求1所述的数据调用方法,其特征在于,在所述主进程获取渲染进程发送的查询请求和操作请求之前,所述数据调用方法还包括:

3.根据权利要求1所述的数据调用方法,其特征在于,所述主进程获取渲染进程发送的查询请求和操作请求包括:

4.根据权利要求1所述的数据调用方法,其特征在于,所述数据调用方法还包括:

5.根据权利要求1所述的数据调用方法,其特征在于,在所述主进程获取渲染进程发送的查询请求和操作请求之前,所述数据调用方法还包括:

6.一种数据调用方法,其特征在于,应用于子线程,包括:

7.根据权利要求6所述的数据调用方法,其特征在于,所述子线程根据所述查询请求和操作请求进行数据查询,获得查询结果和操作结果,包括:

8.一种数据调用装置,其特征在于,应用于主进程,包括:

9.一种数据调用装置,其特征在于,应用于子线程,包括:

10.一种数据调用系统,应用于权利要求1所述的数据调用方法,其特征在于,包括:


技术总结
本发明提供一种数据调用方法、装置及系统,可以解决调用数据时主进程容易阻塞的问题。其中,应用于主进程数据调用方法包括:所述主进程获取渲染进程发送的查询请求和操作请求;其中,所述查询请求用于查询数据库,所述操作请求用于对数据库进行操作;所述主进程将所述查询请求和操作请求转发到子线程中;所述主进程获取所述子线程返回的所述查询结果和操作结果,并将所述查询结果和操作结果的数据发送给所述渲染进程,以进行界面展示。

技术研发人员:杨彪,李益防,陈浩
受保护的技术使用者:浪潮通用软件有限公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1152341.html

最新回复(0)