一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于鸿蒙系统的分布式任务调度系统的制作方法

2022-02-22 05:11:10 来源:中国专利 TAG:


1.本发明涉及任务调度,尤其涉及基于鸿蒙系统的分布式任务调度系统。


背景技术:

2.用户在使用终端设备时,一般会涉及多个应用同时运行,用户请求数量多、访问频繁,但是目前现有的系统只能对用户请求进行顺序执行;同时在任务调度时存在调度混乱,使得任务处理负担大,任务处理效率低下,影响用户的使用请求,尤其针对新的鸿蒙系统来说,处理用户请求的效率低下,不能满足用户的需求。


技术实现要素:

3.为了克服现有技术的不足,本发明的目的在于提供基于鸿蒙系统的分布式任务调度系统,其能够解决现有技术中任务调度混乱,任务处理效率低下等问题。
4.本发明的目的采用如下技术方案实现:基于鸿蒙系统的分布式任务调度系统,包括流程构建模块、流程解析模块、流程拆分模块、流程转发模块和多个分布式服务器;其中,流程构建模块,用于接收来自客户端的若干个用户请求并根据每个用户请求构建任务流程,以及将构建的任务流程转发给流程解析模块进行解析;所述流程拆分模块,用于根据每个任务流程的解析结果将每个任务流程拆分重组为若干个子流程,并将若干个子流程发送给流程转发模块;所述流程转发模块,用于根据预设算法将多个子流程分别转发到对应的若干个分布式服务器,从而使得对应分布式服务器对接收到的对应子流程进行处理以实现对数据层的访问;所述流程转发模块,还用于接收每个分布式服务器返回的对应子流程的访问结果,并将每个分布式服务器返回的对应子流程的访问结果转发给流程拆分模块;所述流程拆分模块,还用于根据每个任务流程所拆分的对应子流程的访问结果生成每个任务流程的访问结果并转发至客户端,以使得客户端根据访问结果显示对应数据或执行对应动作。
5.进一步地,所述流程转发模块,还用于根据分布式服务器的服务类型、分布式服务器的忙闲度、分布式服务器的处理流程的效率中的一个或多个因素来确定若干个子流程的分配方式,进而根据分配方式将每个子流程转发到对应的分布式服务器。
6.进一步地,所述流程转发模块,还用于向每个分布式服务器发送定时检测指令,以及获取每个分布式服务器的反馈结果,并根据每个分布式服务器的反馈结果判断分布式服务器是否出现异常;所述流程转发模块,还用于当对应分布式服务器出现异常时,向对应分布式服务器发送重启指令,使得对应分布式服务器重启进入正常工作状态。
7.进一步地,所述流程转发模块,还用于当系统处于空间状态时,向若干个分布式服务器发送休眠指令使得对应的分布式服务器进行低功耗状态;同时与进入低功耗状态的分布式服务器保持心跳连接;
所述流程转发模块,还用于当系统处于忙碌状态时,向处于低功耗状态的分布式服务器发送启动指令,使得对应的分布式服务器进入正常工作状态。
8.进一步地,所述流程转发模块,还用于根据预设时间段或系统中子流程的处理数量来确定系统是处于空闲状态还是忙碌状态。
9.进一步地,所述流程构建模块,还用于将接收到若干个用户请求存储于请求缓存空间内,并依次从所述请求缓存空间内取出对应的用户请求以生成对应的任务流程。
10.进一步地,所述请求缓存空间采用队列的方式对依次接收到的若干个用户请求进行存储。
11.进一步地,所述流程构建模块,还用于将生成的任务流程按照任务流程的类型和/或生成时间进行分类存储于流程缓存空间中。
12.进一步地,所述流程解析模块,还用于按照任务流程的优先级从流程缓存空间中取出对应的任务流程,或按照生成时间的先后顺序从流程缓存空间中取出对应的任务流程。
13.进一步地,所述流程转发模块,还用于接收新增的分布式服务器的初始化信息,控制新增的分布式服务器初始化后进入正常工作状态。
14.相比现有技术,本发明的有益效果在于:本发明通过设置流程构建模块、流程解析模块和流程拆分模块来实现将若干个用户请求转换成若干个子流程,然后通过流程转发模块将子流程发送到对应的分布式服务器同时运行,可大大提高任务调度的处理效率以及任务调度的有效性。
附图说明
15.图1为本发明提供的基于鸿蒙系统的分布式任务调度系统模块图。
具体实施方式
16.下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
17.本发明提供一种优选的实施例,基于鸿蒙系统的分布式任务调度系统,如图1所示,包括流程构建模块、流程解析模块、流程拆分模块、流程转发模块、和多个分布式服务器。
18.本发明应用于鸿蒙系统中,用于对多任务、多线程时的任务的分布式调用,快速提高任务处理的效率。
19.其中,流程构建模块,与客户端通信连接,用于接收客户端发送的用户请求,并根据用户请求构建生成任务流程。具体地,用户通过安装有鸿蒙系统的移动终端或pc端来获取对应数据或执行对应操作时,会向系统发送用户请求。流程构建模块,即可通过接收用户请求并构建生成任务流程。由于不同应用或设备的不同,其用户请求所涉及到的数据格式、数据类型等会有所不同,因此,流程构建模块,在接收到用户请求后会对用户请求进行预处理,比如数据转换、归一化等使其统一后生成任务流程。其中,用户请求可以为一个,也可以为多个。也即,流程构建模块,接收若干个用户请求并根据每个用户请求生成对应的任务流
程。一个用户请求对应一个任务流程。
20.更为进一步地,用户请求可以来自于同一个应用,也可以来自不同的应用。
21.同时,为了避免用户请求频繁时导致请求丢失的问题,本发明还设置请求缓存空间,用于存储用户请求。通过请求缓存空间可将接收到的用户请求进行预先存储。这样,流程构建模块,可从该请求缓存空间中依次取出用户请求进行处理生成对应的任务流程。
22.同理,本发明还设置流程缓存空间,用于存储生成的任务流程。
23.流程构建模块,用于将根据每个用户请求生成的任务流程存储于流程缓存空间中,避免后续模块无法对任务及时处理时导致任务流程丢失的问题。
24.通过设置相应的缓存空间,在用户操作频繁时,可避免用户请求和生成的任务流程丢失。另外,请求缓存空间可采用队列的方式,按照接收指令请求的时间先后顺序对指令请求进行存储,这样,流程构建模块课可依次从队列中取出对应的指令请求进行生成对应的流程。优选地,请求缓存空间中的队列可包括多种,比如普通队列、高优先队列、低优先队列等,可根据每个用户请求的优先级或重要程度等来确定每个用户请求所存储的队列。流程构建模块,可优先选取高优先队列中的用户请求进行处理。另外,本发明还可对每个队列设定对应的优先级范围。当接收到新的用户请求时,判断用户请求的优先级是否符合高优先队列,若是,则将新的用户请求存储于高优先级队列中;若否,则将其与普通队列的优先级或低优先级队列的优先级进行对比,以确定该新的用户请求符合的队列。优选地,本发明还包括待选队列。也即,当某个用户请求满足一个队列,但是该队列满时,可将该用户请求存储该待选队列中。一旦某个队列有空间时,可将该用户请求取出并存储于该队列中。
25.对于任务缓存空间中流程的存储,可根据任务流程的类型进行分类存储,将相同的流程归类到一处,以便后续统一处理。
26.优选地,流程解析模块,用于从流程缓存空间中取出对应的流程并对其进行解析。流程解析模块在从流程缓存空间中取出流程时可按照设定的规则进行。设定的规则可预先设定,也可根据每个分类的任务流程的数量、任务流程的优先级或流程的生成时间等进行实时性选择。比如当某个类别的流程的数量较多,则可优先对来数量多的流程进行解析处理;当某个类别的流程的优先级较高时,可选择该类别的流程进行处理。
27.流程拆分模块,用于对解析后的任务流程进行拆分并重构生成若干个子流程,并将每个子流程通过流程转发模块转发给对应的分布式服务器。
28.优选地,每个任务流程均可拆分成一个或多个子流程。不同流程也可拆分形成相同的子流程,具体可根据访问的数据等进行拆分。本发明通过将不同的任务流程拆分并重组生成若干个子流程,可避免访问相同资源的任务流程的重复访问,避免资源浪费。将不同任务流程拆分成多个相同或不同的子流程,实现对资源的一次性访问,然后根据访问结果再进行组合后得出每个任务流程的最终访问结果。
29.优选地,本发明在对任务流程进行拆分时,可根据每个任务流程所访问的资源、任务流程的类型、任务流程的处理方式等进行拆分,比如某个a任务流程需要对某个数据库中的c资源进行访问,而某个b任务流程也需要对某个数据库中的c资源进行访问时,可将上述两个任务流程拆分成一个访问某个数据库中c资源的子流程,以便后续根据该子流程实现对对应数据库的c资源的访问。
30.流程转发模块,用于将拆分形成的子流程转发至分布式服务器。当分布式服务器
有多个时,流程转发模块根据预设算法将若干个子流程转发到分对应的布式服务器,使得对应的分布式服务器对子流程进行处理。
31.其中,预设算法可根据每个分布式服务器的服务类型、忙闲度、优先级等进行适度设置,以保证若干个子流程的快速处理,提高流程的处理效率。服务类型是指每个分布式服务器所访问的数据资源可能不同,因此,可根据子流程访问的数据资源来确定子流程对应的分布式服务器;同理,还可根据分布式服务器的忙闲度、优先级等来确定每个子流程对应的分布式服务器,保证子流程的处理效率等。
32.优选地,分布式服务器,用于对接收到的子流程进行解析并生成访问指令,实现对数据层的访问,以及获取子流程的访问结果并将子流程的访问结果反馈给流程转发模块。
33.由于每个任务流程可能被拆分成一个子流程或多个子流程。因此,流程转发模块,接收到每个子流程的访问结果后,将其转发给流程拆分模块。流程拆分模块,根据每个任务流程所拆分的子流程的访问结果生成对应任务流程的访问结果,并将每个任务流程的访问结果直接反馈到客户端,使得客户端根据访问结果显示对应的数据或执行对应的动作。
34.本实施例直接将流程拆分模块与客户端通信连接,可及时将访问结果反馈到客户端,进一步提高任务的处理效率优选地,为了保证每个分布式服务器的正常工作,本发明的流程转发模块,还用于定时向每个分布式服务器发送检测请求,以获取每个分布式服务器的反馈结果,进而根据每个分布式服务器的反馈结果检测对应分布式服务器是否出现异常。
35.若检测到对应分布式服务器存在异常时,流程转发模块,还用于向对应的分布式服务器发送重启指令,使得分布式服务器重启并进入正常工作状态。
36.另外,若对应分布式服务器进入重启后仍无法进入正常工作状态时,流程抓饭模块可再次向分布式服务器发送重启指令。当发送重启指令的次数超过一定数量,而对应分布式服务器仍无法进入正常工作状态时,向远程维护中心发出预警通知,以便相关维护人员对分布式服务器进行维护。
37.优选地,当某个分布式服务器在处理子流程出现故障时,流程转发模块,还用于将该分布式服务器上处理的子流程转发到其他的分布式服务器上进行处理,以保证子流程的处理;同时还会向该分布式服务器发送重启指令,使其进入重启当分布式服务器重启成功后,重新向流程转发模块发送启动请求指令,并发送自身的基本信息,使得分布式服务器进入到正常的工作中。
38.本发明中的分布式服务器还可根据实际的情况进行新增,当有新增的分布式服务器时,分布式服务器在初始化时会向流程转发模块发送启动请求指令,以发送自身的基本信息进入正常的工作中。
39.流程转发模块,还用于当系统处于闲时间段时,根据预先算法向对应的分布式服务器发送休眠指令,使得对应的分布式服务器进入低功耗状态,同时与分布式服务器保持心跳连接。同理,流程转发模块,还用于当系统处于忙时间段时,向处于低功耗状态的分布式服务器发送启动指令,使对应的分布式服务器进入正常工作。本发明既可以在空闲时间时保证系统的低功耗,在忙时间时保证数据处理的及时性,满足不同的需求。
40.优选地,流程转发模块,还根据预设时间段确定系统处于忙时间段还是处于闲时间段。或者,流程转发模块,还用于根据系统中子流程的处理数量来判断系统处于忙时间段
还是处于闲时间段。空间时间段和忙时间段也可以实际的需求设定;也可以根据当前子流程的数量,也即访问的频率等进行设定。
41.上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献