发明内容
鉴于以上内容,有必要提出一种任务处理方法、装置、计算机设备及存储介质,能够严格控制权限的配置,提高了权限配置的效率和准确度。
本申请的第一方面提供了一种任务处理方法,所述任务处理方法包括:
响应于多个任务执行请求,对所述多个任务执行请求进行分组,得到多个任务执行请求组;
根据每个任务执行请求组的组标识确定项目处理队列,并将每个任务执行请求组中的任务执行请求分配给对应的项目处理队列,其中,不同的项目处理队列在物理层相互隔离;
调用执行节点组执行多个所述项目处理队列中的任务执行请求;
监控所述执行节点组中每个执行节点的执行情况,当任意一个执行节点的执行情况为异常时,通过所述执行节点组在多个候选备用节点中选举一个副执行节点;
根据所述副执行节点更新所述执行节点组,并调用更新后的执行节点组执行多个所述项目处理队列中的任务执行请求。
根据本申请的一个可选的实施例,所述响应于多个任务执行请求,对所述多个任务执行请求进行分组,得到多个任务执行请求组包括:
解析每个任务执行请求的报文头,得到所述报文头携带的地址信息;
在预设的地址权限数据库中,查询与所述地址信息匹配的权限信息;
根据所述权限信息对所述多个任务执行请求进行分组,得到多个任务执行请求组。
根据本申请的一个可选的实施例,所述将每个任务执行请求组中的任务执行请求分配给对应的项目处理队列包括:
按照每个任务执行请求组中任务执行请求对应的参数信息生成任务执行列表,所述任务执行列表包括执行时间;
计算所述执行时间与当前时间的时间差;
根据所述时间差将每个任务执行请求写入对应的项目处理队列。
根据本申请的一个可选的实施例,所述监控所述执行节点组中每个执行节点的执行情况包括:
按照预设时间间隔获取所述执行节点的工作状态信息;
根据所述工作状态信息确定所述执行节点的健康程度;
当所述健康程度低于预设的健康程度阈值时,确定所述执行节点执行的执行情况为异常;
当所述健康程度等于或高于所述预设的健康程度阈值时,确定所述执行节点执行的执行情况为正常。
根据本申请的一个可选的实施例,所述通过所述执行节点组在多个候选备用节点中选举一个副执行节点包括:
在多个备用节点中确定当前处于空闲状态的多个空闲备用节点;
确定每个空闲备用节点的处理任务量;
计算所述执行情况为异常的执行节点对应的项目处理队列中的剩余任务量;
根据所述剩余任务量及每个空闲备用节点的处理任务量筛选出多个候选备用节点;
通过所述执行节点组中剩余的执行节点对每个候选备用节点进行投票;
根据每个候选备用节点的投票结果筛选出副执行节点。
根据本申请的一个可选的实施例,所述计算所述执行情况为异常的执行节点对应的项目处理队列中的剩余任务量包括:
确定所述执行情况为异常的执行节点对应的项目处理队列中的剩余任务执行请求;
获取所述剩余任务执行请求对应的剩余文档数据;
对所述剩余文档数据进行切分得到多个文档子数据,提取每个文档子数据的文档子向量,并根据多个所述文档子向量生成文档矩阵;
采用预先训练的处理量预测模型基于所述文档矩阵预测出所述执行情况为异常的执行节点对应的项目处理队列中的剩余任务量。
根据本申请的一个可选的实施例,所述方法还包括:
按照预设的时间间隔确定所述更新后的执行节点组的剩余任务执行请求量;
计算所述剩余任务执行请求量的完成时间;
当所述完成时间晚于预设时间时,在所述更新后的执行节点组中增加执行节点;
当所述完成时间早于所述预设时间时,减少所述更新后的执行节点组中的执行节点。
本申请的第二方面提供了一种任务处理装置,所述装置包括:
请求处理模块,用于响应于多个任务执行请求,对所述多个任务执行请求进行分组,得到多个任务执行请求组;
请求分配模块,用于根据每个任务执行请求组的组标识确定项目处理队列,并将每个任务执行请求组中的任务执行请求分配给对应的项目处理队列,其中,不同的项目处理队列在物理层相互隔离;
请求执行模块,用于调用执行节点组执行多个所述项目处理队列中的任务执行请求;
节点监控模块,用于监控所述执行节点组中每个执行节点的执行情况,当任意一个执行节点的执行情况为异常时,通过所述执行节点组在多个候选备用节点中选举一个副执行节点;
节点替换模块,用于根据所述副执行节点更新所述执行节点组,并调用更新后的执行节点组执行多个所述项目处理队列中的任务执行请求。
本申请的第三方面提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的任务处理方法。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的任务处理方法。
本申请实施例公开了一种任务处理方法、装置、计算机设备及存储介质,通过响应于多个任务执行请求,对所述多个任务执行请求进行分组,得到多个任务执行请求组,对任务执行请求实现分组处理可以提高对任务执行请求的处理效率,从而提高任务处理的效率;根据每个任务执行请求组的组标识确定项目处理队列,并将每个任务执行请求组中的任务执行请求分配给对应的项目处理队列,其中,不同的项目处理队列在物理层相互隔离,项目处理队列之间相互物理隔离可有效地避免了任务执行请求在执行过程中发生相互干扰,提高了任务执行请求的执行效率;调用执行节点组执行多个所述项目处理队列中的任务执行请求;监控所述执行节点组中每个执行节点的执行情况,当任意一个执行节点的执行情况为异常时,通过所述执行节点组在多个候选备用节点中选举一个副执行节点,通过监控所述执行节点组中每个执行节点的执行情况可有效保证所述项目处理队列的正常执行;根据所述副执行节点更新所述执行节点组,并调用更新后的执行节点组执行多个所述项目处理队列中的任务执行请求,通过替换掉执行节点组中执行情况异常的执行节点,可有效保证所述项目处理队列的执行效率。本申请可有效提高任务处理的效率。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例提供一种任务处理方法、装置、计算机设备及计算机可读存储介质。其中,该任务处理方法可应用于终端设备或服务器中,该终端设备可以手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备,该服务器可以为单台的服务器,也可以为由多台服务器组成的服务器集群。以下以该任务处理方法应用于服务器为例进行解释说明。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本申请实施例提供的一种任务处理方法的示意流程图。
如图1所示,所述任务处理方法具体包括步骤S11至S15,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
S11,响应于多个任务执行请求,对所述多个任务执行请求进行分组,得到多个任务执行请求组。
示例性的,客户端安装有一个或多个应用和/或小程序,用户可以通过点击、触摸或者语音控制来通过所述应用或小程序发送任务执行请求。所述任务执行请求可以是以HTTP请求的方式发送。
在一些实施方式中,响应于多个任务执行请求,对所述多个任务执行请求进行分组,得到多个任务执行请求组包括:
解析每个任务执行请求的报文头,得到所述报文头携带的地址信息;
在预设的地址权限数据库中,查询与所述地址信息匹配的权限信息;
根据所述权限信息对所述多个任务执行请求进行分组,得到多个任务执行请求组。
示例性的,根据地址信息和权限信息之间的对应关系生成地址权限数据库,通过查询所述地址权限数据库可确定与所述报文头携带的地址信息匹配的权限信息。
示例性的,所述权限信息可以包括权限等级和/或权限种类,根据所述权限等级和/所述权限种类对所述多个任务执行请求进行分组。根据权限信息的不同对任务执行请求进行分组,实现分组处理,可以提高对任务执行请求的处理效率,从而提高任务处理的效率。
示例性的,可以将得到的所述多个任务执行请求组存储至区块链中,保证所述多个任务执行请求组的安全性和不易篡改性,从而进一步提高任务处理方法的安全性。
S12,根据每个任务执行请求组的组标识确定项目处理队列,并将每个任务执行请求组中的任务执行请求分配给对应的项目处理队列,其中,不同的项目处理队列在物理层相互隔离。
示例性的,预先设置项目处理队列和组标识之间的对应关系,如一对多或一对一,根据每个任务执行请求组的组标识确定每个任务执行请求组对应的项目处理队列,并将每个任务执行请求组中的任务执行请求添加进对应的项目处理队列,其中不同的项目处理队列在物理层相互隔离。当不同的项目处理队列在物理层相互隔离时,不同的项目处理队列中的任务执行请求的执行过程也是相互隔离的。因此有效地避免了任务执行请求在执行过程中发生相互干扰,提高了任务执行请求的执行效率。
在一些实施方式中,所述将每个任务执行请求组中的任务执行请求分配给对应的项目处理队列包括:
按照每个任务执行请求组中任务执行请求对应的参数信息生成任务执行列表,所述任务执行列表包括执行时间;
计算所述执行时间与当前时间的时间差;
根据所述时间差将每个任务执行请求写入对应的项目处理队列。
获取每个任务执行请求组中任务执行请求对应的参数信息,根据所述参数信息生成所述任务执行请求对应的任务执行列表,所述任务执行列表包括执行时间。示例性的,可根据执行时间的先后顺序生成所述任务执行列表。根据所述多个任务执行请求的参数信息生成任务执行列表,便于进行***化的管理。
获取当前时间,将所述执行时间减去当前时间得到每个任务执行请求的时间差。示例性的,可以将执行时间和当前时刻的时间差与预设时间阈值进行比较,并将小于预设时间阈值的任务执行请求加入对应的项目处理队列,也可以按照所述时间差从小到大的顺序将任务执行请求写入对应的项目处理队列,使得执行时间在先的任务执行请求先加入项目处理队列,执行时间在后的任务执行请求后加入项目处理队列。按照一定的顺序将所述任务执行请求加入项目处理队列,保证了任务执行请求加入的有序性,提高了任务执行请求分配的效率。
S13,调用执行节点组执行多个所述项目处理队列中的任务执行请求。
预先确定多个执行节点,根据所述多个执行节点部署执行节点组,所述执行节点组用于执行项目处理队列中的任务执行请求。
S14,监控所述执行节点组中每个执行节点的执行情况,当任意一个执行节点的执行情况为异常时,通过所述执行节点组在多个候选备用节点中选举一个副执行节点。
预先设置多个候选备用节点,当监控到所述执行节点组中一个执行节点的执行情况异常时,通过所述执行节点组在多个候选备用节点中选举一个副执行节点来替换该执行情况异常的执行节点。通过监控所述执行节点组中每个执行节点的执行情况可有效保证所述项目处理队列的正常执行。
在一些实施方式中,所述监控所述执行节点组中每个执行节点的执行情况包括:
按照预设时间间隔获取所述执行节点的工作状态信息;
根据所述工作状态信息确定所述执行节点的健康程度;
当所述健康程度低于预设的健康程度阈值时,确定所述执行节点执行的执行情况为异常;
当所述健康程度等于或高于所述预设的健康程度阈值时,确定所述执行节点执行的执行情况为正常。
示例性的,所述工作状态信息可以包括多种类型的信息,比如可以包括网络状态信息,或者可以包括负载状态信息,或者可以包括监控质量状态信息,或者可以包括网络状态信息、负载状态信息和监控质量状态信息三项中任意两项,或者可以包括网络状态信息、负载状态信息和监控质量状态信息三项。所述工作状态信息的类型可根据用户的需求进行设置。
具体来说,网络状态信息可以是指预设时间周期内执行节点的外部探测丢包率、时延等信息;负载状态信息可以是指预设时间周期内执行节点的任务执行量、CPU负载、带宽负载等信息;监控质量状态信息可以是指预设时间周期内执行节点的任务执行质量,比如对每个任务执行请求是否返回执行结果、返回探测成功的任务的占比、返回探测结果的消耗等。所述预设时间周期可以是用户根据经验和实际情况确定的,具体不做限定。比如,所述预设时间周期可与服务器获取所述执行节点的工作状态信息的周期一致。
示例性的,根据工作状态信息来确定执行节点的评分值,进而可以根据评分值的高低来确定执行节点的健康程度,例如,采用0-10之间的自然数进行表示所述执行节点的评分值。采用评分值的方式来反映执行节点的健康程度,更加直观明了。
在一些实施方式中,所述通过所述执行节点组在多个候选备用节点中选举一个副执行节点包括:
在多个备用节点中确定当前处于空闲状态的多个空闲备用节点;
确定每个空闲备用节点的处理任务量;
计算所述执行情况为异常的执行节点对应的项目处理队列中的剩余任务量;
根据所述剩余任务量及每个空闲备用节点的处理任务量筛选出多个候选备用节点;
通过所述执行节点组中剩余的执行节点对每个候选备用节点进行投票;
根据每个候选备用节点的投票结果筛选出副执行节点。
获取所述多个备用节点的工作状态,确定工作状态为空闲状态的备用节点为空闲备用节点。获取空闲备用节点的节点信息得到该空闲备用节点对应的处理任务量,即所述空闲备用节点最多能处理的任务量。
示例性的,所述根据所述剩余任务量及每个空闲备用节点的处理任务量筛选出多个候选备用节点包括:当一空闲备用节点的处理任务量大于所述剩余任务量时,将所述空闲备用节点确定为候选备用节点。按照判断所述处理任务量与所述剩余任务量的大小,在所述多个空闲备用节点中确定多个候选备用节点。将所述处理任务量大于所述剩余任务量的空闲备用节点确定为候选备用节点,可避免候选备用节点无法适应任务量而造成任务执行失败的情况发生,保证了任务执行请求的处理效率。
在一些实施方式中,所述计算所述执行情况为异常的执行节点对应的项目处理队列中的剩余任务量包括:
确定所述执行情况为异常的执行节点对应的项目处理队列中的剩余任务执行请求;
获取所述剩余任务执行请求对应的剩余文档数据;
对所述剩余文档数据进行切分得到多个文档子数据,提取每个文档子数据的文档子向量,并根据多个所述文档子向量生成文档矩阵;
采用预先训练的处理量预测模型基于所述文档矩阵预测出所述执行情况为异常的执行节点对应的项目处理队列中的剩余任务量。
预先训练处理量预测模型,所述处理量预测模型用于将文档数据对应的文档矩阵作为输入,输出所述文档数据对应的任务量,根据预先训练的处理量预测模型计算项目处理队列中的剩余任务量可提高计算剩余任务量的效率和准确率,从而提高了确定候选备用节点的准确性。
示例性的,将每个候选备用节点的投票结果按照票数的多少进行倒序排序,将投票结果排在第一位的候选备用节点确定为副执行节点。
S15,根据所述副执行节点更新所述执行节点组,并调用更新后的执行节点组执行多个所述项目处理队列中的任务执行请求。
将所述副执行节点替换掉所述执行节点组中执行情况异常的执行节点,并调用更新后的执行节点组继续执行多个所述项目处理队列中的任务执行请求。通过替换掉执行节点组中执行情况异常的执行节点,可有效保证所述项目处理队列的执行效率。
在一些实施方式中,所述方法还包括:
按照预设的时间间隔确定所述更新后的执行节点组的剩余任务执行请求量;
计算所述剩余任务执行请求量的完成时间;
当所述完成时间晚于预设时间时,在所述更新后的执行节点组中增加执行节点;
当所述完成时间早于所述预设时间时,减少所述更新后的执行节点组中的执行节点。
预先设置时间间隔,如5mins,按照预设的时间间隔确定所述更新后的执行节点组的剩余任务执行请求量,并根据所述剩余任务执行请求量的完成时间和预设任务执行请求完成的时间进行比对,当所述完成时间晚于预设任务执行请求完成的时间时,在所述更新后的执行节点组中增加执行节点,以保证剩余任务执行请求能在预设时间内完成;当所述完成时间晚于预设任务执行请求完成的时间时,减少所述更新后的执行节点组中的执行节点,以保证剩余任务执行请求能在预设时间点附近完成,严格的控制了项目处理队列的处理。
通过计算执行节点组的剩余任务执行请求量的完成时间,并根据所述完成时间与预设时间的比较结果,增加或减少所述执行节点组中的执行节点,以使执行节点组在预设的时间点完成项目处理队列中任务执行请求,严格的控制了项目处理队列的处理,从而提高了任务处理的效率。
上述实施例提供的任务处理方法,通过响应于多个任务执行请求,对所述多个任务执行请求进行分组,得到多个任务执行请求组,对任务执行请求实现分组处理可以提高对任务执行请求的处理效率,从而提高任务处理的效率;根据每个任务执行请求组的组标识确定项目处理队列,并将每个任务执行请求组中的任务执行请求分配给对应的项目处理队列,其中,不同的项目处理队列在物理层相互隔离,项目处理队列之间相互物理隔离可有效地避免了任务执行请求在执行过程中发生相互干扰,提高了任务执行请求的执行效率;调用执行节点组执行多个所述项目处理队列中的任务执行请求;监控所述执行节点组中每个执行节点的执行情况,当任意一个执行节点的执行情况为异常时,通过所述执行节点组在多个候选备用节点中选举一个副执行节点,通过监控所述执行节点组中每个执行节点的执行情况可有效保证所述项目处理队列的正常执行;根据所述副执行节点更新所述执行节点组,并调用更新后的执行节点组执行多个所述项目处理队列中的任务执行请求,通过替换掉执行节点组中执行情况异常的执行节点,可有效保证所述项目处理队列的执行效率。本申请可有效提高任务处理的效率。
请参阅图2,图2是本申请的实施例提供的一种任务处理装置的示意性框图,该任务处理装置用于执行前述的任务处理方法。其中,该任务处理装置可以配置于服务器或终端中。
其中,服务器可以为独立的服务器,也可以为服务器集群。该终端可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
如图2所示,任务处理装置20包括:请求处理模块201、请求分配模块202、请求执行模块203、节点监控模块204和节点替换模块205。
请求处理模块201用于响应于多个任务执行请求,对所述多个任务执行请求进行分组,得到多个任务执行请求组。
示例性的,客户端安装有一个或多个应用和/或小程序,用户可以通过点击、触摸或者语音控制来通过所述应用或小程序发送任务执行请求。所述任务执行请求可以是以HTTP请求的方式发送。
在一些实施方式中,请求处理模块201对所述多个任务执行请求进行分组,得到多个任务执行请求组包括:
解析每个任务执行请求的报文头,得到所述报文头携带的地址信息;
在预设的地址权限数据库中,查询与所述地址信息匹配的权限信息;
根据所述权限信息对所述多个任务执行请求进行分组,得到多个任务执行请求组。
示例性的,根据地址信息和权限信息之间的对应关系生成地址权限数据库,通过查询所述地址权限数据库可确定与所述报文头携带的地址信息匹配的权限信息。
示例性的,所述权限信息可以包括权限等级和/或权限种类,根据所述权限等级和/所述权限种类对所述多个任务执行请求进行分组。根据权限信息的不同对任务执行请求进行分组,实现分组处理,可以提高对任务执行请求的处理效率,从而提高任务处理的效率。
请求分配模块202用于根据每个任务执行请求组的组标识确定项目处理队列,并将每个任务执行请求组中的任务执行请求分配给对应的项目处理队列,其中,不同的项目处理队列在物理层相互隔离。
示例性的,预先设置项目处理队列和组标识之间的对应关系,如一对多或一对一,根据每个任务执行请求组的组标识确定每个任务执行请求组对应的项目处理队列,并将每个任务执行请求组中的任务执行请求添加进对应的项目处理队列,其中不同的项目处理队列在物理层相互隔离。当不同的项目处理队列在物理层相互隔离时,不同的项目处理队列中的任务执行请求的执行过程也是相互隔离的。因此有效地避免了任务执行请求在执行过程中发生相互干扰,提高了任务执行请求的执行效率。
在一些实施方式中,请求分配模块202将每个任务执行请求组中的任务执行请求分配给对应的项目处理队列包括:
按照每个任务执行请求组中任务执行请求对应的参数信息生成任务执行列表,所述任务执行列表包括执行时间;
计算所述执行时间与当前时间的时间差;
根据所述时间差将每个任务执行请求写入对应的项目处理队列。
获取每个任务执行请求组中任务执行请求对应的参数信息,根据所述参数信息生成所述任务执行请求对应的任务执行列表,所述任务执行列表包括执行时间。示例性的,可根据执行时间的先后顺序生成所述任务执行列表。
根据所述多个任务执行请求的参数信息生成任务执行列表,便于进行***化的管理。
获取当前时间,将所述执行时间减去当前时间得到每个任务执行请求的时间差。示例性的,可以将执行时间和当前时刻的时间差与预设时间阈值进行比较,并将小于预设时间阈值的任务执行请求加入对应的项目处理队列,也可以按照所述时间差从小到大的顺序将任务执行请求写入对应的项目处理队列,使得执行时间在先的任务执行请求先加入项目处理队列,执行时间在后的任务执行请求后加入项目处理队列。按照一定的顺序将所述任务执行请求加入项目处理队列,保证了任务执行请求加入的有序性,提高了任务执行请求分配的效率。
请求执行模块203用于调用执行节点组执行多个所述项目处理队列中的任务执行请求。
预先确定多个执行节点,根据所述多个执行节点部署执行节点组用于执行项目处理队列中的任务执行请求。
节点监控模块204用于监控所述执行节点组中每个执行节点的执行情况,当任意一个执行节点的执行情况为异常时,通过所述执行节点组在多个候选备用节点中选举一个副执行节点。
预先设置多个候选备用节点,当监控到所述执行节点组中一个执行节点的执行情况异常时,通过所述执行节点组在多个候选备用节点中选举一个副执行节点来替换该执行情况异常的执行节点。通过监控所述执行节点组中每个执行节点的执行情况可有效保证所述项目处理队列的正常执行。
在一些实施方式中,节点监控模块204监控所述执行节点组中每个执行节点的执行情况包括:
按照预设时间间隔获取所述执行节点的工作状态信息;
根据所述工作状态信息确定所述执行节点的健康程度;
当所述健康程度低于预设的健康程度阈值时,确定所述执行节点执行的执行情况为异常;
当所述健康程度等于或高于所述预设的健康程度阈值时,确定所述执行节点执行的执行情况为正常。
示例性的,所述工作状态信息可以包括多种类型的信息,比如可以包括网络状态信息,或者可以包括负载状态信息,或者可以包括监控质量状态信息,或者可以包括网络状态信息、负载状态信息和监控质量状态信息三项中任意两项,或者可以包括网络状态信息、负载状态信息和监控质量状态信息三项。所述工作状态信息的类型可根据用户的需求进行设置。
具体来说,网络状态信息可以是指预设时间周期内执行节点的外部探测丢包率、时延等信息;负载状态信息可以是指预设时间周期内执行节点的任务执行量、CPU负载、带宽负载等信息;监控质量状态信息可以是指预设时间周期内执行节点的任务执行质量,比如对每个任务执行请求是否返回执行结果、返回探测成功的任务的占比、返回探测结果的消耗等。所述预设时间周期可以是用户根据经验和实际情况确定的,具体不做限定。比如,所述预设时间周期可与服务器获取所述执行节点的工作状态信息的周期一致。
示例性的,根据工作状态信息来确定执行节点的评分值,进而可以根据评分值的高低来确定执行节点的健康程度,采用评分值的方式来反映执行节点的健康程度,更加直观明了。
在一些实施方式中,节点监控模块204通过所述执行节点组在多个候选备用节点中选举一个副执行节点包括:
在多个备用节点中确定当前处于空闲状态的多个空闲备用节点;
确定每个空闲备用节点的处理任务量;
计算所述执行情况为异常的执行节点对应的项目处理队列中的剩余任务量;
根据所述剩余任务量及每个空闲备用节点的处理任务量筛选出多个候选备用节点;
通过所述执行节点组中剩余的执行节点对每个候选备用节点进行投票;
根据每个候选备用节点的投票结果筛选出副执行节点。
获取所述多个备用节点的工作状态,确定工作状态为空闲状态的备用节点为空闲备用节点。获取空闲备用节点的节点信息得到该空闲备用节点对应的处理任务量,即所述空闲备用节点最多能处理的任务量。
示例性的,所述根据所述剩余任务量及每个空闲备用节点的处理任务量筛选出多个候选备用节点包括:当一空闲备用节点的处理任务量大于所述剩余任务量时,将所述空闲备用节点确定为候选备用节点。按照判断所述处理任务量与所述剩余任务量的大小,在所述多个空闲备用节点中确定多个候选备用节点。将所述处理任务量大于所述剩余任务量的空闲备用节点确定为候选备用节点,可避免候选备用节点无法适应任务量而造成任务执行失败的情况发生,保证了任务执行请求的处理效率。
在一些实施方式中,节点监控模块204计算所述执行情况为异常的执行节点对应的项目处理队列中的剩余任务量包括:
确定所述执行情况为异常的执行节点对应的项目处理队列中的剩余任务执行请求;
获取所述剩余任务执行请求对应的剩余文档数据;
对所述剩余文档数据进行切分得到多个文档子数据,提取每个文档子数据的文档子向量,并根据多个所述文档子向量生成文档矩阵;
采用预先训练的处理量预测模型基于所述文档矩阵预测出所述执行情况为异常的执行节点对应的项目处理队列中的剩余任务量。
预先训练处理量预测模型,所述处理量预测模型用于将文档数据对应的文档矩阵作为输入,输出所述文档数据对应的任务量,根据预先训练的处理量预测模型计算项目处理队列中的剩余任务量可提高计算剩余任务量的效率和准确率,从而提高了确定候选备用节点的准确性。
示例性的,将每个候选备用节点的投票结果按照票数的多少进行倒序排序,将投票结果排在第一位的候选备用节点确定为副执行节点。
节点替换模块205用于根据所述副执行节点更新所述执行节点组,并调用更新后的执行节点组执行多个所述项目处理队列中的任务执行请求。
将所述副执行节点替换掉所述执行节点组中执行情况异常的执行节点,并调用更新后的执行节点组继续执行多个所述项目处理队列中的任务执行请求。通过替换掉执行节点组中执行情况异常的执行节点,可有效保证所述项目处理队列的执行效率。
在一些实施方式中,节点替换模块205还用于:
按照预设的时间间隔确定所述更新后的执行节点组的剩余任务执行请求量;
计算所述剩余任务执行请求量的完成时间;
当所述完成时间晚于预设时间时,在所述更新后的执行节点组中增加执行节点;
当所述完成时间早于所述预设时间时,减少所述更新后的执行节点组中的执行节点。
预先设置时间间隔,如5mins,按照预设的时间间隔确定所述更新后的执行节点组的剩余任务执行请求量,并根据所述剩余任务执行请求量的完成时间和预设任务执行请求完成的时间进行比对,当所述完成时间晚于预设任务执行请求完成的时间时,在所述更新后的执行节点组中增加执行节点,以保证剩余任务执行请求能在预设时间内完成;当所述完成时间晚于预设任务执行请求完成的时间时,减少所述更新后的执行节点组中的执行节点,以保证剩余任务执行请求能在预设时间点附近完成,严格的控制了项目处理队列的处理。
通过计算执行节点组的剩余任务执行请求量的完成时间,并根据所述完成时间与预设时间的比较结果,增加或减少所述执行节点组中的执行节点,以使执行节点组在预设的时间点完成项目处理队列中任务执行请求,严格的控制了项目处理队列的处理,从而提高了任务处理的效率。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块及单元的具体工作过程,可以参考前述任务处理方法实施例中的对应过程,在此不再赘述。
上述实施例提供的任务处理装置可以实现为一种计算机程序的形式,该计算机程序可以在如图3所示的计算机设备上运行。
请参阅图3,图3为本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以为服务器或终端设备。
如图3所示,该计算机设备30包括通过***总线连接的处理器301和存储器302,其中,存储器302可以包括非易失性存储介质和易失性存储介质。
处理器301用于提供计算和控制能力,支撑整个计算机设备的运行。
存储器302可存储操作***和计算机程序。该计算机程序包括计算机可读指令,该指令被执行时,可使得处理器301执行所述的任务处理方法。
在一可行实施例中,所述计算机设备还包括网络接口,所述网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器301是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器执行存储在存储器中的计算机程序,以实现如下步骤:
响应于多个任务执行请求,对所述多个任务执行请求进行分组,得到多个任务执行请求组;
根据每个任务执行请求组的组标识确定项目处理队列,并将每个任务执行请求组中的任务执行请求分配给对应的项目处理队列,其中,不同的项目处理队列在物理层相互隔离;
调用执行节点组执行多个所述项目处理队列中的任务执行请求;
监控所述执行节点组中每个执行节点的执行情况,当任意一个执行节点的执行情况为异常时,通过所述执行节点组在多个候选备用节点中选举一个副执行节点;
根据所述副执行节点更新所述执行节点组,并调用更新后的执行节点组执行多个所述项目处理队列中的任务执行请求。
具体地,所述处理器对上述指令的具体实现方法可参考前述任务处理方法实施例中相关步骤的描述,在此不赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括计算机可读指令,所述指令被执行时所实现的方法可参照本申请任务处理方法的各个实施例。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。
前述实施例提供的任务处理装置、计算机设备及计算机可读存储介质,通过响应于多个任务执行请求,对所述多个任务执行请求进行分组,得到多个任务执行请求组,对任务执行请求实现分组处理可以提高对任务执行请求的处理效率,从而提高任务处理的效率;根据每个任务执行请求组的组标识确定项目处理队列,并将每个任务执行请求组中的任务执行请求分配给对应的项目处理队列,其中,不同的项目处理队列在物理层相互隔离,项目处理队列之间相互物理隔离可有效地避免了任务执行请求在执行过程中发生相互干扰,提高了任务执行请求的执行效率;调用执行节点组执行多个所述项目处理队列中的任务执行请求;监控所述执行节点组中每个执行节点的执行情况,当任意一个执行节点的执行情况为异常时,通过所述执行节点组在多个候选备用节点中选举一个副执行节点,通过监控所述执行节点组中每个执行节点的执行情况可有效保证所述项目处理队列的正常执行;根据所述副执行节点更新所述执行节点组,并调用更新后的执行节点组执行多个所述项目处理队列中的任务执行请求,通过替换掉执行节点组中执行情况异常的执行节点,可有效保证所述项目处理队列的执行效率。本申请可有效提高任务处理的效率。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。