本发明属于数据处理,具体涉及一种基于electron的进程堵塞优化方法。
背景技术:
1、桌面应用中大规模、高并发的处理任务,会导致主进程和渲染进程堵塞,整个应用变得卡顿,甚至应用卡死。
2、当前,为了解决卡顿问题,当前的主要方法是从硬件着手,升级计算机的硬件组件,例如cpu、内存、显卡和硬盘/固态硬盘(ssd),以提高计算和存储性能。更快的cpu和更大的内存可以加速任务处理和数据加载,而ssd可以显著提高数据读写速度。以及利用多核cpu来实现任务的并行处理。多核处理器可以同时执行多个线程或进程,从而加速任务的完成。开发多线程应用程序或使用并行计算库可以发挥多核处理器的潜力。
3、然而,硬件方面的优化方案,存在着成本过高的问题。
技术实现思路
1、为了解决现有技术中的通过提升硬件解决卡顿,成本过高的技术问题,本发明提供一种基于electron的进程堵塞优化方法。
2、s101:基于electron同时开启多个窗口;其中,多个窗口包括第一窗口和第二窗口,所述第一窗口可见,所述第二窗口不可见,所述第一窗口与所述第二窗口通过主进程通信连接;
3、s102:基于可见的所述第一窗口构建应用展示层,基于不可见的所述第二窗口构建任务执行层;
4、s103:将所述第一窗口与所述第二窗口通信连接至相同的indexeddb数据库,并基于所述indexeddb数据库构建任务数据存储层;
5、s104:通过可见的所述第一窗口在所述应用展示层中展示内容,通过不可见的所述第二窗口在所述任务执行层中执行任务。
6、进一步地,所述s104具体包括:
7、s1041:通过可见的所述第一窗口在所述应用展示层发起任务,将任务存储至所述indexeddb数据库中,并通知所述不可见的所述第二窗口所在的所述任务执行层;
8、s1042:所述任务执行层响应于通知,从所述indexeddb数据库接收任务并执行,将执行结果存储至所述indexeddb数据库中,在执行完毕时通知所述第一窗口所在的所述应用展示层;
9、s1043:所述应用展示层响应于执行完毕的通知,从所述indexeddb数据库获取执行结果,在所述第一窗口中展示执行结果。
10、进一步地,所述s104还包括:
11、s1044:在所述第一窗口中刷新页面,展示最新任务进度。
12、进一步地,新增任务的方式为:
13、通过可见的所述第一窗口在所述应用展示层中设置任务参数;
14、将所述任务参数存储至所述indexeddb数据库中,新增任务。
15、进一步地,删除任务的方式为:
16、通过可见的所述第一窗口在所述应用展示层中确定需要删除的任务的id数组;
17、根据id删除所述indexeddb数据库中的任务。
18、进一步地,查找任务的方式为:
19、通过可见的所述第一窗口在所述应用展示层中发起查找指令,或者,页面自动发起更新指令;
20、基于所述查找指令或者所述更新指令,在所述indexeddb数据库中查找相关的任务,并返回可见的所述第一窗口中显示。
21、进一步地,修改任务的方式为:
22、通过可见的所述第一窗口在所述应用展示层中确定需要修改的任务参数;
23、基于需要修改的任务参数,在所述indexeddb数据库中查找相关的任务并修改。
24、进一步地,所述任务数据存储层用于存储任务数据,所述任务数据包括:任务的队列类型、任务类型、任务重试次数、任务最新改变时间、任务开始时间、自增的任务序列号、任务运行的步骤、任务名称和下发人。
25、进一步地,所述任务的队列类型包括:1-待定队列、9-运行队列、0-暂停队列、2-失败队列和3-完成队列。
26、进一步地,所述任务类型包括:上传、下载、删除和复制。
27、与现有技术相比,本发明至少具有以下有益技术效果:
28、在本发明中,基于electron同时开启多个窗口,在可见的窗口中显示内容,在不可见的窗口中并发执行任务,解决进程堵塞问题,缓解应用卡顿,同时避免更换昂贵的硬件,降低成本。
1.一种基于electron的进程堵塞优化方法,其特征在于,包括:
2.根据权利要求1所述的基于electron的进程堵塞优化方法,其特征在于,所述s104具体包括:
3.根据权利要求1所述的基于electron的进程堵塞优化方法,其特征在于,所述s104还包括:
4.根据权利要求1所述的基于electron的进程堵塞优化方法,其特征在于,新增任务的方式为:
5.根据权利要求1所述的基于electron的进程堵塞优化方法,其特征在于,删除任务的方式为:
6.根据权利要求1所述的基于electron的进程堵塞优化方法,其特征在于,查找任务的方式为:
7.根据权利要求1所述的基于electron的进程堵塞优化方法,其特征在于,修改任务的方式为:
8.根据权利要求1所述的基于electron的进程堵塞优化方法,其特征在于,所述任务数据存储层用于存储任务数据,所述任务数据包括:任务的队列类型、任务类型、任务重试次数、任务最新改变时间、任务开始时间、自增的任务序列号、任务运行的步骤、任务名称和下发人。
9.根据权利要求8所述的基于electron的进程堵塞优化方法,其特征在于,所述任务的队列类型包括:1-待定队列、9-运行队列、0-暂停队列、2-失败队列和3-完成队列。
10.根据权利要求8所述的基于electron的进程堵塞优化方法,其特征在于,所述任务类型包括:上传、下载、删除和复制。