基于IndexedDB存储的Electron桌面应用任务管理方法与流程

文档序号:33954574发布日期:2023-04-26 14:27阅读:408来源:国知局
基于IndexedDB存储的Electron桌面应用任务管理方法与流程

本发明涉及计算机任务管理,尤其涉及一种基于indexeddb存储的electron桌面应用任务管理方法。


背景技术:

1、electron是一个用html,css和javascript来构建的跨平台桌面应用程序,原理为electron通过将chromium和node.js合并到同一个运行时环境中,并将其打包为mac,windows和linux系统下的应用来实现这一目的。electron于2013年作为构建atom的框架而被开发出来。这两个项目在2014春季开源。electron的核心理念是:保持electron的体积小和可持续性开发。比如electron只用了chromium的渲染库而不是其全部组件。这使得升级chromium更加容易,但也意味着electron缺少了google chrome里的一些浏览器相关的特性。添加到electron的新功能应该主要是原生api。如果可以的话,一个功能应该尽可能的成为一个node.js模块。

2、electron和nw.js都可以用前端的知识来开发桌面应用,nw.js和electron起初是同一个作者开发。后来种种原因分为两个产品。一个命名为nw.js(英特尔公司提供技术支持)、另一命名为electron(github公司提供技术支持)。nw.js和electron可以用nodejs中几乎所有的模块。nw.js和electron不仅可以把html写的web页面打包成跨平台可以安装到电脑上面的软件,也可以通过javascript访问操作系统原生的ui和api(控制窗口、添加菜单项目、托盘应用菜单、读写文件、访问剪贴板)。

3、目前electron的应用很广泛,github的atom编辑器、微软的vscode编辑器,包括阿里内部的一些软件也是用electron开发的。

4、现有技术中在使用electron制作桌面应用时,electron没有一个合适的任务管理功能模块。并且electron提供的electron-store存储组件,因为是通过nodejs的fs模块把数据存储在本地硬盘文件上,并且进行读取操作,存在并发任务并不友好、数据存储量少、数据量大查询慢、api不丰富等问题。


技术实现思路

1、有鉴于现有技术的上述缺陷,本发明提出一种基于indexeddb存储的electron桌面应用任务管理方法,用于查看、管理桌面应用任务,解决electron不具备任务管理的问题,同时可存储万条以上的任务。使用indexeddb存储,任务的增删改查的更加方便、快捷。提供一套完整的electron桌面应用中任务管理解决方案。

2、本发明提供的一种基于indexeddb存储的electron桌面应用任务管理方法,包括:

3、任务管理模块监听用户下发任务,将任务信息中队列类型为待定队列的任务存入indexeddb;

4、任务管理触发判断方法,所述判断方法为如果indexeddb中队列类型为运行队列的任务数小于预定数值时,将indexeddb中队列类型为待定队列的任务,根据任务改变时间排序,取前预设数量的数据,将所述预设数量的任务的队列类型修改为运行队列,进入运行队列的等待任务队列中;

5、所述等待任务队列发生变化时触发方法,先判断并行任务数,如果并行数大于当前运行任务队列数,所述等待任务队列会先入先出的方式进入所述运行任务队列,直到相等;

6、所述运行任务队列发生变化时触发方法,判断所述运行任务队列中任务运行状态为未执行任务或暂停任务的,执行所述未执行任务或暂停任务的任务类型所对应的后台接口或electron的nodejs服务;

7、所述运行任务队列中的任务失败后,该任务队伍类型变为失败队列;将失败队列中的任务的队列类型变为待定队列,进行重试;

8、所述运行任务队列中的任务完成后,该任务队列类型变为完成队列。

9、优选地,在待定队列或者运行队列通过将队列类型修改为暂停队列,将任务暂停。

10、优选地,所述任务信息包括任务名称、队列类型、任务类型、任务重试次数、任务最新改变时间、任务开始时间、任务序列号、任务运行状态。

11、优选地,所述任务类型包括:上传、下载、删除、复制。

12、优选地,所述队列类型包括待定队列、运行队列、暂停队列、失败队列、完成队列。

13、优选地,所述待定队列、所述运行队列的任务包括单选、多选、删除、暂停功能。

14、优选地,所述任务运行状态包括未执行任务、正在执行任务和暂停任务。

15、优选地,所述运行队列包括等待任务队列和运行任务队列。

16、本发明还提供了一种电子设备,所述电子设备包括:

17、至少一个处理器;以及,

18、与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法。

19、本发明还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行上述方法。

20、本发明的有益效果是:

21、提供了一种桌面应用任务管理完整的解决方案,相比于其他存储,大数据量任务处理游刃有余;

22、indexeddb是其同源策略,每个源都会关联到不同的数据库集合,不同源是不允许访问其他源的数据库,从而保证了数据的安全性。



技术特征:

1.一种基于indexeddb存储的electron桌面应用任务管理方法,其特征在于,包括:

2.如权利要求1所述的桌面应用任务管理方法,其特征在于,在待定队列或者运行队列通过将队列类型修改为暂停队列,将任务暂停。

3.如权利要求1所述的桌面应用任务管理方法,其特征在于,所述任务信息包括任务名称、队列类型、任务类型、任务重试次数、任务最新改变时间、任务开始时间、任务序列号、任务运行状态。

4.如权利要求3所述的桌面应用任务管理方法,其特征在于,所述任务类型包括:上传、下载、删除、复制。

5.如权利要求1所述的桌面应用任务管理方法,其特征在于,所述队列类型包括待定队列、运行队列、暂停队列、失败队列、完成队列。

6.如权利要求1所述的桌面应用任务管理方法,其特征在于,所述待定队列、所述运行队列的任务包括单选、多选、删除、暂停功能。

7.如权利要求1所述的桌面应用任务管理方法,其特征在于,所述任务运行状态包括未执行任务、正在执行任务和暂停任务。

8.如权利要求1所述的桌面应用任务管理方法,其特征在于,所述运行队列包括等待任务队列和运行任务队列。

9.一种电子设备,其特征在于,所述电子设备包括:

10.一种非暂态计算机可读存储介质,其特征在于,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述权利要求1-8任一项所述的方法。


技术总结
本发明涉及计算机任务管理技术领域,尤其涉及一种基于IndexedDB存储的Electron桌面应用任务管理方法,包括任务管理模块监听用户下发任务;任务管理触发判断方法,将所述预设数量的任务的队列类型修改为运行队列;所述等待任务队列发生变化时触发方法,所述等待任务队列会先入先出的方式进入所述运行任务队列;所述运行任务队列发生变化时触发方法,执行所述未执行任务或暂停任务的任务类型所对应的后台接口或Electron的nodejs服务,本发明提供的桌面应用任务管理完整的解决方案,相比于其他存储,大数据量任务处理游刃有余,IndexedDB是其同源策略,保证了数据的安全性。

技术研发人员:于海洋,杨经纬,吴琦,杨林祥,朱宏,黄艳亭,张磊,周鹏越
受保护的技术使用者:中电信数智科技有限公司
技术研发日:
技术公布日:2024/1/11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1