CN114237886A - 任务处理方法、装置、计算机设备和存储介质 - Google Patents
任务处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114237886A CN114237886A CN202111535039.XA CN202111535039A CN114237886A CN 114237886 A CN114237886 A CN 114237886A CN 202111535039 A CN202111535039 A CN 202111535039A CN 114237886 A CN114237886 A CN 114237886A
- Authority
- CN
- China
- Prior art keywords
- server
- task
- tasks
- target
- servers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2025—Failover techniques using centralised failover control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及人工智能技术领域,提供一种任务处理方法、装置、计算机设备和存储介质,方法包括:对服务器集群中包含的所有服务器进行异常分析以确定出异常服务器,并将除异常服务器外的服务器标记为正常服务器;从所有正常服务器中确定出目标服务器;通过目标服务器从数据源获取待处理任务;基于缓存工具对所有待处理任务进行去重处理,得到处理后的目标任务;将目标任务存放至预设的消息队列内,通过消息中间件将消息队列内的所有目标任务分配给服务器集群中的各正常服务器。本申请能够保障任务的正常处理,提高任务的处理效率,以及提高任务处理的智能性与准确性。本申请还可以应用于区块链领域,上述目标任务等数据可以存储于区块链上。
Description
技术领域
本申请涉及人工智能技术领域,具体涉及一种任务处理方法、装置、计算机设备和存储介质。
背景技术
现有技术中,在涉及大批量任务处理时,主要是采用单机部署处理的方式。随着业务的发展以及数据规模的不断扩大,单机部署的任务跑批方案存在以下问题:大批量任务执行时采用单台服务器执行,导致任务执行速度较慢,任务执行时间较长、效率低;并且,如果该服务器发生故障,则会影响该服务器下所有任务的执行,且该服务器上所执行的任务也会全部失败,造成了***资源的浪费,使得任务的正常处理无法得到保障。
发明内容
本申请的主要目的为提供一种任务处理方法、装置、计算机设备和存储介质,旨在解决现有的大批量任务处理方式存在任务执行速度较慢,任务执行时间较长、效率低,并且任务的正常处理无法得到保障的技术问题。
本申请提出一种任务处理方法,所述方法包括步骤:
对预设的服务器集群中包含的所有服务器进行异常分析以确定出所述服务器集群中的异常服务器,并将所述服务器集群中除所述异常服务器外的服务器标记为正常服务器;其中,所述服务器的数量包括多个;
从所有所述正常服务器中确定出一台目标服务器;
通过所述目标服务器从预设的数据源中获取待处理任务;其中,所述待处理任务的数量包括多个;
基于预设的缓存工具对所有所述待处理任务进行去重处理,得到处理后的目标任务;
将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器,以通过各所述正常服务器对接收到的目标任务进行处理。
可选地,所述对预设的服务器集群中包含的所有服务器进行异常分析以确定出所述服务器集群中的异常服务器的步骤,包括:
获取各所述服务器的运行参数,以及获取预设参数阈值;其中,所述预设参数阈值为对应所有所述服务器的一个综合阈值;将每一个所述服务器的运行参数分别与所述预设参数阈值进行数值比较处理,从所有所述服务器中筛选出运行参数满足所述预设参数阈值的第一服务器,并将所有所述服务器中除所述第一服务器外的服务器标记为第二服务器;
获取各所述第二服务器的运行参数,基于各所述第二服务器的运行参数与预设的异常识别模型生成各所述第二服务器的运行异常概率值;
获取预设概率阈值;其中,所述预设概率阈值为对应所有所述服务器的一个综合阈值;
将每一个所述第二服务器的运行异常概率值分别与所述预设概率阈值进行数值比较处理,从所有所述第二服务器中筛选出运行异常概率值小于所述预设概率阈值的第三服务器;
将所述第一服务器与所述第三服务器作为所述异常服务器。
可选地,所述获取各所述第二服务器的运行参数,基于各所述第二服务器的运行参数与预设的异常识别模型生成各所述第二服务器的运行异常概率值的步骤,包括:
计算所有所述第二服务器的运行参数的平均值;以及,
计算所有所述第二服务器的运行参数的方差;
获取第一指定服务器的指定运行参数;其中,所述第一指定服务器为所有所述第二服务器中的任意一个服务器;
将所述平均值、所述方差以及所述指定运行参数输入至所述异常识别模型内,通过所述异常识别模型生成与所述第一指定服务器对应的运行异常概率值。
可选地,所述基于预设的缓存工具对所有所述待处理任务进行去重处理,得到处理后的目标任务的步骤,包括:
步骤A:按照各所述待处理任务的采集时间从前到后的顺序对所有所述待处理任务进行排序,得到对应的排序结果;
步骤B:获取所述排序结果中排序第1位的第一任务,并提取所述第一任务包含的第一任务字段;
步骤C:对所有所述第一任务字段进行拼接处理得到对应的第一拼接字段,将所述第一拼接字段存储至所述缓存工具内,并为所述第一拼接字段设置第一超时时间;
步骤D:获取所述排序结果中排序第i位的第二任务,对所述第二任务包含的所有第二任务字段进行拼接处理得到对应的第二拼接字段,并判断所述缓存工具中是否存在与所述第二拼接字段相同的第一指定字段;其中,所述i为整数且所述i的初始值为2;
步骤E:若不存在所述第一指定字段,则将所述第二拼接字段存储至所述缓存工具内,并为所述第二拼接字段设置第二超时时间,否则不对所述第二拼接字段进行存储处理;
步骤F:令i=i+1,重复执行步骤D-步骤E直至i=n,以完成对于所述排序结果中包含的所有任务的处理,并获取所述缓存工具内存储的所有目标拼接字段;其中,所述n为所有所述待处理任务的数量;
步骤G:从所有所述待处理任务中筛选出与所述目标拼接字段对应的任务,得到所述目标任务。
可选地,所述将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器的步骤,包括:
获取各所述目标任务的采集时间信息、处理时效信息以及重要度信息;
基于所述采集时间信息、所述处理时效信息与所述重要度信息,生成各所述目标任务的处理顺序;
将所有所述目标任务按照所述处理顺序存放至所述消息队列内;
通过所述消息中间件按照所述处理顺序,将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器。
可选地,所述基于所述采集时间信息、所述处理时效信息与所述重要度信息,生成各所述目标任务的处理顺序的步骤,包括:
获取与所述采集时间信息对应的第一预设权重,与所述处理时效信息对应的第二预设权重,以及与所述重要度信息对应的第三预设权重;
基于所述采集时间信息、处理时效信息、重要度信息、所述第一预设权重、所述第二预设权重以及所述第三预设权重,通过预设计算公式计算各所述目标任务的优先级数值;
将所有所述目标任务按照所述优先级数值从大到小的顺序进行排序,得到与所有所述目标任务对应的目标排序信息;
基于所有所述目标排序信息生成各所述目标任务的处理顺序。
可选地,所述将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器的步骤之后,包括:
通过所述消息中间件接收第二指定服务器发送的对接收到的指定任务进行处理后得到的任务处理结果;其中,所述第二指定服务器为所有所述正常服务器中的任意一个服务器,所述指定任务为所述指定服务器接收到的所有目标任务中的任意一个任务;
若所述任务处理结果为处理正常,在所述缓存工具内获取与所述指定任务对应的指定拼接字段,并对与所述指定拼接字段对应的指定超时时间进行调整,以使调整后的指定超时时间大于所述指定超时时间;
若所述任务处理结果为处理异常,从所述缓存工具中删除与所述指定任务对应的指定拼接字段;
将所述指定任务放置于预设的异常任务列表内。
本申请还提供一种任务处理装置,包括:
第一确定模块,用于对预设的服务器集群中包含的所有服务器进行异常分析以确定出所述服务器集群中的异常服务器,并将所述服务器集群中除所述异常服务器外的服务器标记为正常服务器;其中,所述服务器的数量包括多个;
第二确定模块,用于从所有所述正常服务器中确定出一台目标服务器;
获取模块,用于通过所述目标服务器从预设的数据源中获取待处理任务;其中,所述待处理任务的数量包括多个;
第一处理模块,用于基于预设的缓存工具对所有所述待处理任务进行去重处理,得到处理后的目标任务;
第二处理模块,用于将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器,以通过各所述正常服务器对接收到的目标任务进行处理。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请中提供的任务处理方法、装置、计算机设备和存储介质,具有以下有益效果:
本申请中提供的任务处理方法、装置、计算机设备和存储介质,在对待处理任务进行处理之前,先对预设的服务器集群中包含的所有服务器进行异常分析并确定服务器集群中的异常服务器,然后从服务器集群中除该异常服务器之外的所有正常服务器中确定出一台目标服务器,并通过目标服务器从预设的数据源中获取待处理任务,之后基于预设的缓存模块对所有待处理任务进行去重处理,得到处理后的目标任务,最后将目标任务存放至预设的消息队列内,通过消息中间件将消息队列内的所有目标任务分配给所述服务器集群中的各所述正常服务器,以通过各正常服务器对接收到的目标任务进行处理。本申请通过使用服务器集群中的正常服务器来对待处理任务进行处理,正常服务器分发任务同时也可以执行任务,能够实现资源的最大化使用,提高任务的处理效率。通过只使用正常服务器进行任务处理,有利于避免出现使用异常服务器对任务进行处理而导致任务无法正常处理的情况,有效地提高了服务器集群的运行稳定性以及保障了任务的正常处理,提高用户的使用体验。以及在进行任务处理之前,还会基于缓存工具的使用来检验所有待处理任务是否存在重复任务,进而可以准确快速地完成对于所有待处理任务的去重处理,有效地避免了相同任务的重复执行,减少装置的无用功耗,提高了任务处理的智能性与准确性。
附图说明
图1是本申请一实施例的任务处理方法的流程示意图;
图2是本申请一实施例的任务处理装置的结构示意图;
图3是本申请一实施例的计算机设备的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
参照图1,本申请一实施例的任务处理方法,包括:
S10:对预设的服务器集群中包含的所有服务器进行异常分析以确定出所述服务器集群中的异常服务器,并将所述服务器集群中除所述异常服务器外的服务器标记为正常服务器;其中,所述服务器的数量包括多个;
S20:从所有所述正常服务器中确定出一台目标服务器;
S30:通过所述目标服务器从预设的数据源中获取待处理任务;其中,所述待处理任务的数量包括多个;
S40:基于预设的缓存工具对所有所述待处理任务进行去重处理,得到处理后的目标任务;
S50:将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器,以通过各所述正常服务器对接收到的目标任务进行处理。
如上述步骤S10至S50所述,本方法实施例的执行主体为一种任务处理装置。在实际应用中,上述任务处理装置可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。本实施例中的任务处理装置,能够保障任务的正常处理,提高任务的处理效率,以及提高任务处理的智能性与准确性。具体地,首先对预设的服务器集群中包含的所有服务器进行异常分析以确定出所述服务器集群中的异常服务器,并将所述服务器集群中除所述异常服务器外的服务器标记为正常服务器。其中,所述服务器的数量包括多个。另外,对预设的服务器集群中包含的所有服务器进行异常分析以确定出所述服务器集群中的异常服务器的具体实现过程,本申请将在后续的具体实施例中对此作进一步的描述,在此不予赘述。
然后从所有所述正常服务器中确定出一台目标服务器。其中,可利用zookeeper分布式锁实现选举,从服务器集群中包含的所有所述正常服务器中产生一台服务器作为master,即所述目标服务器。这台目标服务器作为任务的数据生产者,负责从存储有任务数据的数据源内读取相应的任务数据后放入消息队列。服务器集群内除该目标服务器外的其他正常服务器,不担任数据生产的角色。只有在目标服务器出现异常的情况下,zookeeper分布式锁触发重新选主时,其他正常服务器才会有机会被选为master。当在目标服务器出现故障后,zookeeper分布式锁会自动触发选主容错,从而不会影响整个服务器集群的任务跑批进程,有利于保证任务的正常处理。之后通过所述目标服务器从预设的数据源中获取待处理任务。其中,所述待处理任务的数量包括多个。另外,所述数据源可为相关业务***,例如定投业务***。所述待处理任务可为与客户的定投计划所对应的定投任务。每一个待处理任务可由多个字段组成。
后续基于预设的缓存工具对所有所述待处理任务进行去重处理,得到处理后的目标任务。其中,所述具体可为redis缓存。另外,在获取到所有待处理任务后,可通过对每一个待处理任务包含的任务字段进行拼接处理生成与每一个待处理任务分别对应的拼接字段,再基于拼接字段与缓存工具的使用来检验所有待处理任务是否存在重复任务,进而可以准确快速地完成对于所有待处理任务的去重处理,有效地避免了相同任务的重复执行。此外,对于所述基于预设的缓存工具对所有所述待处理任务进行去重处理,得到处理后的目标任务的具体实现过程,本申请将在后续的具体实施例中对此作进一步的描述,在此不予赘述。最后将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器,以通过各所述正常服务器对接收到的目标任务进行处理。其中,所述消息中间件具体可为RABBITMQ。在将待处理任务放入消息队列以后,消息中间件RABBITMQ会将消息队列里面的任务按照消息队列中各个任务的排序均匀分配给对应的消费者,即服务器集群中的所有正常服务器,且每台消费者不会被分配到重复的任务。另外,当需要增加处理速度的时候,还可以给服务器集群扩容,新增服务器启动过程中会触发重新选主,同时会自动对接消息队列成为新的消费者,并自动参与任务的消费处理。
本实施例中,在对待处理任务进行处理之前,先对预设的服务器集群中包含的所有服务器进行异常分析并确定服务器集群中的异常服务器,然后从服务器集群中除该异常服务器之外的所有正常服务器中确定出一台目标服务器,并通过目标服务器从预设的数据源中获取待处理任务,之后基于预设的缓存模块对所有待处理任务进行去重处理,得到处理后的目标任务,最后将目标任务存放至预设的消息队列内,通过消息中间件将消息队列内的所有目标任务分配给所述服务器集群中的各所述正常服务器,以通过各正常服务器对接收到的目标任务进行处理。本实施例通过使用服务器集群中的正常服务器来对待处理任务进行处理,正常服务器分发任务同时也可以执行任务,能够实现资源的最大化使用,提高任务的处理效率。通过只使用正常服务器进行任务处理,有利于避免出现使用异常服务器对任务进行处理而导致任务无法正常处理的情况,有效地提高了服务器集群的运行稳定性以及保障了任务的正常处理,提高用户的使用体验。以及在进行任务处理之前,还会基于缓存工具的使用来检验所有待处理任务是否存在重复任务,进而可以准确快速地完成对于所有待处理任务的去重处理,有效地避免了相同任务的重复执行,减少装置的无用功耗,提高了任务处理的智能性与准确性。
进一步地,本申请一实施例中,上述步骤S10,包括:
S100:获取各所述服务器的运行参数,以及获取预设参数阈值;其中,所述预设参数阈值为对应所有所述服务器的一个综合阈值;
S101:将每一个所述服务器的运行参数分别与所述预设参数阈值进行数值比较处理,从所有所述服务器中筛选出运行参数满足所述预设参数阈值的第一服务器,并将所有所述服务器中除所述第一服务器外的服务器标记为第二服务器;
S102:获取各所述第二服务器的运行参数,基于各所述第二服务器的运行参数与预设的异常识别模型生成各所述第二服务器的运行异常概率值;
S103:获取预设概率阈值;其中,所述预设概率阈值为对应所有所述服务器的一个综合阈值;
S104:将每一个所述第二服务器的运行异常概率值分别与所述预设概率阈值进行数值比较处理,从所有所述第二服务器中筛选出运行异常概率值小于所述预设概率阈值的第三服务器;
S105:将所述第一服务器与所述第三服务器作为所述异常服务器。
如上述步骤S100至S105所述,所述对预设的服务器集群中包含的所有服务器进行异常分析以确定出所述服务器集群中的异常服务器的步骤,具体可包括:首先获取各所述服务器的运行参数,以及获取预设参数阈值。其中,所述预设参数阈值为对应所有所述服务器的一个综合阈值。所述运行参数可仅包括任务处理错误率或者仅包括任务处理超时率。对应的,所述预设参数阈值可包括错误阈值或超时阈值。通常根据监控服务可以记录每个时刻服务器所处理的总任务数量、任务处理错误次数和任务处理时长,然后通过滑动窗口算法可以统计某一时间段内,服务器的总任务数量、任务处理错误次数和任务处理时长,并根据该总任务数量、任务处理错误次数和任务处理时长确定出任务处理错误率与任务处理超时率,该任务处理错误率等于任务处理错误次数除以服务器的总任务数量。另外,可根据任务处理时长与预设的标准任务处理时长得到超时任务的数量,则任务处理超时率等于超时任务的数量除以服务器的总任务数量。另外,若任务的任务处理时长大于该标准任务处理时长,则将该任务视为超时任务。进一步地,所述运行参数当然也可以既包括任务处理错误率又包括任务请求超时率。此时需要分别对任务处理错误率和任务请求超时率进行判断,且只要有一个参数满足对应的预设参数阈值,就将该参数对应的服务器视作为异常服务器。然后将每一个所述服务器的运行参数分别与所述预设参数阈值进行数值比较处理,从所有所述服务器中筛选出运行参数满足所述预设参数阈值的第一服务器,并将所有所述服务器中除所述第一服务器外的服务器标记为第二服务器。其中,在具体实现时,需要对服务器集群中的每个服务器进行筛选,首先判断当前服务器的运行参数是否满足参数阈值,如果满足,则将该当前服务器标记为异常服务器;然后再将该当前服务器的下一个服务器作为新的当前服务器,继续判断当前服务器的运行参数是否满足参数阈值,直到服务器集群中所有的服务器判断完毕。另外,运行参数满足参数阈值可以是运行参数大于参数阈值,或者运行参数小于参数阈值等。之后获取各所述第二服务器的运行参数,基于各所述第二服务器的运行参数与预设的异常识别模型生成各所述第二服务器的运行异常概率值。其中,所述预设的异常识别模型为概率分布模型,具体可以为高斯模型、泊松分布模型或者伯努利分布模型等中的任意一种,优选可采用高斯模型。所述异常识别模型通常可以表征服务器集群中服务器的运行参数的大致分布情况,该异常识别模型中的不定参数通常可以根据服务器集群中所有服务器的运行参数拟合得到,然后在将当前服务器的运行参数输入至不定参数确定后的异常识别模型中,可以输出当前服务器运行正常的概率值,之后用该运行正常的概率确定服务器运行异常的概率值,且服务器运行正常的概率值和运行异常的概率值的和值为1,从而可以使用1-运行正常的概率值得到所需的运行异常的概率值。后续获取预设概率阈值;其中,所述预设概率阈值为对应所有所述服务器的一个综合阈值。其中,对于所述预设概率阈值的取值不作具体限定,可根据实际需求进行设置。最后将每一个所述第二服务器的运行异常概率值分别与所述预设概率阈值进行数值比较处理,从所有所述第二服务器中筛选出运行异常概率值小于所述预设概率阈值的第三服务器,并将所述第一服务器与所述第三服务器作为所述异常服务器。本实施例中,针对服务器集群中的每个服务器,如果第一服务器的运行参数满足运行参数对应的参数阈值,则会将第一服务器作为异常服务器。并在此基础上,还会使用预设的异常识别模型对除所述第一服务器外的第二服务器进行异常预测,进而再从第二服务器中筛选出相应的第三服务器作为异常服务器。通过对服务器集群中的服务器进行两次异常识别筛选,再将两次异常识别筛选中得到的所有符合条件服务器确定为异常服务器,从而提高了判断服务器异常的准确率,在一定程度上保证了服务集群中正常服务器的质量,有利于避免出现使用异常服务器对任务进行处理而导致任务无法正常处理的情况,有效地提高了服务器集群的运行稳定性,保障了任务的正常处理,提高用户的使用体验。
进一步地,本申请一实施例中,上述步骤S102,包括:
S1020:计算所有所述第二服务器的运行参数的平均值;以及,
S1021:计算所有所述第二服务器的运行参数的方差;
S1022:获取第一指定服务器的指定运行参数;其中,所述第一指定服务器为所有所述第二服务器中的任意一个服务器;
S1023:将所述平均值、所述方差以及所述指定运行参数输入至所述异常识别模型内,通过所述异常识别模型生成与所述第一指定服务器对应的运行异常概率值。
如上述步骤S1020至S1023所述,所述获取各所述第二服务器的运行参数,基于各所述第二服务器的运行参数与预设的异常识别模型生成各所述第二服务器的运行异常概率值的步骤,具体可包括:首先计算所有所述第二服务器的运行参数的平均值。其中,可以通过对所有第二服务器的运行参数进行加和再求平均,从而可以得到该运行参数所对应的平均值。以及计算所有所述第二服务器的运行参数的方差。可以根据所有第二服务器的运行参数以及所有第二服务器的运行参数对应的平均值,通过预设公式来求出各所述第二服务器的运行参数的方差。所述预设公式具体为:σ2为所有所述第二服务器的运行参数的方差,p为所有第二服务器的数量总和,xi表示第i个第二服务器的运行参数,μ为所有所述第二服务器的运行参数的平均值。然后获取第一指定服务器的指定运行参数。其中,所述第一指定服务器为所有所述第二服务器中的任意一个服务器。最后将所述平均值、所述方差以及所述指定运行参数输入至所述异常识别模型内,通过所述异常识别模型生成与所述第一指定服务器对应的运行异常概率值。具体的,所述异常识别模型具体为高斯模型。所述高斯模型的公式为:在该高斯模型的公式中,x表示所述第一指定服务器的指定运行参数,μ为所有所述第二服务器的运行参数的平均值,σ2为所有所述第二服务器的运行参数的方差,将该运行参数对应的均值μ和方差σ2、以及第一指定服务器的指定运行参数代入高斯模型的公式中,可以输出对应的第一指定服务器运行正常的概率值,再用1减去该运行正常的概率值,从而可以得到该第一指定服务器运行异常的概率值。本实施例中,在得到了各所述第二服务器的运行参数后,可以根据该运行参数计算得到相应的平均值与方差,进而可以将所述平均值、所述方差以及第一指定服务器的指定运行参数输入至所述异常识别模型内,从而可以通过所述异常识别模型实现快速准确地生成与所述第一指定服务器对应的运行异常概率值,有利于后续可以根据得到的运行异常概率值来从所有第二服务器中筛选出运行异常概率值小于所述预设概率阈值的第三服务器,并将该第三服务器作为异常服务器,有效地提高了判断服务器异常的准确率。
进一步地,本申请一实施例中,上述步骤S40,包括:
S400:步骤A:按照各所述待处理任务的采集时间从前到后的顺序对所有所述待处理任务进行排序,得到对应的排序结果;
S401:步骤B:获取所述排序结果中排序第1位的第一任务,并提取所述第一任务包含的第一任务字段;
S402:步骤C:对所有所述第一任务字段进行拼接处理得到对应的第一拼接字段,将所述第一拼接字段存储至所述缓存工具内,并为所述第一拼接字段设置第一超时时间;
S403:步骤D:获取所述排序结果中排序第i位的第二任务,对所述第二任务包含的所有第二任务字段进行拼接处理得到对应的第二拼接字段,并判断所述缓存工具中是否存在与所述第二拼接字段相同的第一指定字段;其中,所述i为整数且所述i的初始值为2;
S404:步骤E:若不存在所述第一指定字段,则将所述第二拼接字段存储至所述缓存工具内,并为所述第二拼接字段设置第二超时时间,否则不对所述第二拼接字段进行存储处理;
S405:步骤F:令i=i+1,重复执行步骤D-步骤E直至i=n,以完成对于所述排序结果中包含的所有任务的处理,并获取所述缓存工具内存储的所有目标拼接字段;其中,所述n为所有所述待处理任务的数量;
S406:步骤G:从所有所述待处理任务中筛选出与所述目标拼接字段对应的任务,得到所述目标任务。
如上述步骤S400至S406所述,所述基于预设的缓存工具对所有所述待处理任务进行去重处理,得到处理后的目标任务的步骤,具体可包括:步骤A:按照各所述待处理任务的采集时间从前到后的顺序对所有所述待处理任务进行排序,得到对应的排序结果。其中,所述采集时间可指目标服务器采集得到各所述待处理任务的时间。然后步骤B:获取所述排序结果中排序第1位的第一任务,并提取所述第一任务包含的第一任务字段。其中,任务字段可指待处理任务中包含的所有字段,或者也可指待处理任务中包含的指定位置处的字段,如果是指定位置处的字段,则需要保证对于每个待处理任务的字段提取处理均是对该指定位置处进行字段提取。步骤C:对所有所述第一任务字段进行拼接处理得到对应的第一拼接字段,将所述第一拼接字段存储至所述缓存工具内,并为所述第一拼接字段设置第一超时时间。其中,所述缓存工具具体可为redis缓存。还可为经过拼接生成的拼接字段设置超时时间,如果该拼接字段在该缓存工具中的存储时间大于该超时时间,则会将该拼接字段视作无效信息并从缓存工具中进行剔除,从而后续可以在接收到与该拼接字段相同的特定字段时,可以将该特定字段存放于缓存工具内。另外,对于当前任意一个任务,如果该任务所对应的拼接字段存在于缓存工具内,则可将该任务视作为重复任务,且后续不会将该拼接字段再存储于缓存工具内,以及也会将该任务剔除掉,以避免出现对相同的多个任务进行重复处理的情况,从而可以提高任务处理的智能性与准确性。步骤D:获取所述排序结果中排序第i位的第二任务,对所述第二任务包含的所有第二任务字段进行拼接处理得到对应的第二拼接字段,并判断所述缓存工具中是否存在与所述第二拼接字段相同的第一指定字段。其中,所述i为整数且所述i的初始值为2。步骤E:若不存在所述第一指定字段,则将所述第二拼接字段存储至所述缓存工具内,并为所述第二拼接字段设置第二超时时间,否则不对所述第二拼接字段进行存储处理。步骤F:令i=i+1,重复执行步骤D-步骤E直至i=n,以完成对于所述排序结果中包含的所有任务的处理,并获取所述缓存工具内存储的所有目标拼接字段;其中,所述n为所有所述待处理任务的数量。其中,所述目标拼接字段是指经过对所有待处理任务进行了基于拼接字段的去重处理后得到的相互间各自不同的字段数据。举例地,当i=3时的处理过程可包括:获取所述排序结果中排序第三的第三任务,对所述第三任务包含的所有第三任务字段进行拼接处理得到对应的第三拼接字段,并判断所述缓存工具中是否存在与所述第三拼接字段相同的第二指定字段。若不存在所述第二指定字段,则将所述第三拼接字段存储至所述缓存工具内,并为所述第二拼接字段设置第三超时时间,否则不对所述第三拼接字段进行存储处理。步骤G:从所有所述待处理任务中筛选出与所述目标拼接字段对应的任务,得到所述目标任务。本实施例中,在获取到所有待处理任务后,通过对每一个待处理任务包含的任务字段进行拼接处理生成与每一个待处理任务分别对应的拼接字段,再基于拼接字段与缓存工具的使用来检验所有待处理任务是否存在重复任务,进而可以准确快速地完成对于所有待处理任务的去重处理,有效地避免了相同任务的重复执行,减少装置的无用功耗,提高了任务处理的智能性与准确性。
进一步地,本申请一实施例中,上述步骤S50,包括:
S500:获取各所述目标任务的采集时间信息、处理时效信息以及重要度信息;
S501:基于所述采集时间信息、所述处理时效信息与所述重要度信息,生成各所述目标任务的处理顺序;
S502:将所有所述目标任务按照所述处理顺序存放至所述消息队列内;
S503:通过所述消息中间件按照所述处理顺序,将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器。
如上述步骤S500至S503所述,所述将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器的步骤,具体可包括:首先获取各所述目标任务的采集时间信息、处理时效信息以及重要度信息。其中,所述采集时间信息可指目标服务器采集得到各所述目标任务的时间信息。另外,通常可根据各业务部门的后续任务需求时间设置各任务的处理时效信息,所述后续任务需求时间越紧迫,对应的任务的处理时效设置越靠前,即处理时效信息的数值越小。此外,各目标任务进行处理获得的运行结果,通常需要用于各业务部门进行后续任务处理,所述后续任务越重要,则对应的目标任务重要度越高。通常可通过对历史数据进行分析,通过获取大量的样本任务及样本重要度信息对卷积神经网络模型进行训练,获得任务重要度识别模型,通过将各目标任务输入所述任务重要度识别模型,获得各目标任务的重要度信息。然后基于所述采集时间信息、所述处理时效信息与所述重要度信息,生成各所述目标任务的处理顺序。其中,对于所述基于所述采集时间信息、所述处理时效信息与所述重要度信息,生成各所述目标任务的处理顺序的具体实现过程,本申请将在后续的具体实施例中对此作进一步的描述,在此不予赘述。之后将所有所述目标任务按照所述处理顺序存放至所述消息队列内。最后通过所述消息中间件按照所述处理顺序,将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器。其中,在将所有所述目标任务按照所述处理顺序存放至所述消息队列内后,将所有目标任务分配给服务器集群中的各正常服务器的过程可包括:首先根据各正常服务器的处理性能为每一个正常服务器编号,处理性能越小则编号的数值越小,如处理性能最高的正常服务器的编号为1,处理性能第二高的正常服务器的编号为2。然后依据正常服务器的编号来确定每个正常服务器接收目标任务的接收顺序,编号越小则接收顺序越靠前,如编号为1的正常服务器用于接收并处理消息队列中排序第一的第一个目标任务,如编号为2的正常服务器用于接收并处理消息队列中排序第二的第二个目标任务。另外,可规定每个正常服务器每次只能接收一个任务,当目标任务的数量大于正常服务器的数量时,在为每一个正常服务器分配完第一轮目标任务后,后续则会重新按照正常服务器的编号来进行剩余目标任务的分配,直至完成将所有目标任务分配给到服务器集群中的正常服务器。举例地,假如消息队列中的目标任务有6个,而正常服务器有5个(分别为服务器1,服务器2,服务器3,服务器4,服务器5,服务器1后面的数字1代表该服务器的编号),则会优先将消息队列中排序第一的目标任务分配给服务器1,再将排序第二的目标任务分配给服务器2,将排序第三的目标任务分配给服务器3,将排序第四的目标任务分配给服务器4,将排序第五的目标任务分配给服务器5。在完成目标任务的第一轮分配后,此时还剩余一个排序第六的目标任务,则后续会按照正常服务器的编号与任务接收顺序的对应关系,将该排序第六的目标任务分配给服务器1,进而最终完成对于消息队列中所有目标任务的分配。本实施例中,在经过去重处理筛选出目标任务后,还会进一步基于每一个目标任务的采集时间信息、处理时效信息与重要度信息生成各所述目标任务的处理顺序,再将所有所述目标任务按照所述处理顺序存放至所述消息队列内,以通过消息中间件按照所述处理顺序将所述消息队列内的所述目标任务分配给服务器集群中的各正常服务器,使得采集时间较早、时间紧迫、重要度较高的目标任务会优先进行处理,有效地提高了对于目标任务的处理智能性,且有利于各业务部门的后续任务处理能够顺利对接。
进一步地,本申请一实施例中,上述步骤S501,包括:
S5010:获取与所述采集时间信息对应的第一预设权重,与所述处理时效信息对应的第二预设权重,以及与所述重要度信息对应的第三预设权重;
S5011:基于所述采集时间信息、处理时效信息、重要度信息、所述第一预设权重、所述第二预设权重以及所述第三预设权重,通过预设计算公式计算各所述目标任务的优先级数值;
S5012:将所有所述目标任务按照所述优先级数值从大到小的顺序进行排序,得到与所有所述目标任务对应的目标排序信息;
S5013:基于所有所述目标排序信息生成各所述目标任务的处理顺序。
如上述步骤S5010至S5013所述,所述基于所述采集时间信息、所述处理时效信息与所述重要度信息,生成各所述目标任务的处理顺序的步骤,具体可包括:首先获取与所述采集时间信息对应的第一预设权重,与所述处理时效信息对应的第二预设权重,以及与所述重要度信息对应的第三预设权重。其中,对于所述第一预设权重、第二预设权重以及第三预设权重的取值不作具体限定,可根据实际的使用需求进行设置,优选地,第二预设权重大于第三预设权重,第三预设权重大于第一预设权重,且第一预设权重、第二预设权重以及第三预设权重的和值为1。然后基于所述采集时间信息、处理时效信息、重要度信息、所述第一预设权重、所述第二预设权重以及所述第三预设权重,通过预设计算公式计算各所述目标任务的优先级数值。具体的,所述预设计算公式为:S=M/a+N*b+O*c,其中,S为目标任务的优先级数值,M为所述采集时间信息,a为所述第一预设权重,N为所述处理时效信息,b为所述第二预设权重,O为所述重要度信息,c为所述第三预设权重。通过该预设计算公式计算得到的优先级数值S越大,说明对应的目标任务的需求越紧迫、重要程度越高,则可根据所述优先级数值S从大到小的顺序进行排序,获得各目标任务的处理顺序,所述优先级数值S越大,则对应的目标任务的处理顺序越靠前。之后将所有所述目标任务按照所述优先级数值从大到小的顺序进行排序,得到与所有所述目标任务对应的目标排序信息。最后基于所有所述目标排序信息生成各所述目标任务的处理顺序。本实施例中,在经过对所有待处理任务进行去重处理筛选出目标任务后,还会进一步基于每一个目标任务的采集时间信息、处理时效信息与重要度信息生成各所述目标任务的处理顺序,再将所有目标任务按照所述处理顺序存放至消息队列内,以通过消息中间件按照所述处理顺序将所述消息队列内的目标任务分配给所述服务器集群中的各所述正常服务器,使得采集时间较早、时间紧迫、重要度较高的目标任务会优先进行处理,有效地提高了对于目标任务的处理智能性,且有利于各业务部门的后续任务处理能够顺利对接。
进一步地,本申请一实施例中,上述步骤S50之后,包括:
S510:通过所述消息中间件接收第二指定服务器发送的对接收到的指定任务进行处理后得到的任务处理结果;其中,所述第二指定服务器为所有所述正常服务器中的任意一个服务器,所述指定任务为所述指定服务器接收到的所有目标任务中的任意一个任务;
S511:若所述任务处理结果为处理正常,在所述缓存工具内获取与所述指定任务对应的指定拼接字段,并对与所述指定拼接字段对应的指定超时时间进行调整,以使调整后的指定超时时间大于所述指定超时时间;
S512:若所述任务处理结果为处理异常,从所述缓存工具中删除与所述指定任务对应的指定拼接字段;
S513:将所述指定任务放置于预设的异常任务列表内。
如上述步骤S510至S513所述,所述将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器的步骤之后,包括:首先通过所述消息中间件接收第二指定服务器发送的对接收到的指定任务进行处理后得到的任务处理结果。其中,所述第二指定服务器为所有所述正常服务器中的任意一个服务器,所述指定任务为所述指定服务器接收到的所有目标任务中的任意一个任务。另外,所述任务处理结果可包括处理正常或处理异常。若所述任务处理结果为处理正常,在所述缓存工具内获取与所述指定任务对应的指定拼接字段,并对与所述指定拼接字段对应的指定超时时间进行调整,以使调整后的指定超时时间大于所述指定超时时间。而若所述任务处理结果为处理异常,从所述缓存工具中删除与所述指定任务对应的指定拼接字段。并将所述指定任务放置于预设的异常任务列表内。其中,通过将所述指定任务放置于预设的异常任务列表内,使得可以快速地从该异常任务列表内查询到当前出现的异常任务,进而可以及时安排对于该异常任务的后续处理。本实施例中,当指定任务的任务处理结果为处理正常时,会智能地通过对与所述指定拼接字段对应的指定超时时间进行调整,从而可以延长处理正常的指定任务的超时时间,使得可以更好的避免出现与该处理正常的指定任务的重复处理情况。另外,当指定任务的任务处理结果为处理异常时,会智能地通过从缓存工具中删除与指定任务对应的指定拼接字段,使得之后可以在该缓存工具中重新存储与该指定任务对应的指定拼接字段,以便后续可以顺利进行对于该处理异常的指定任务的重新执行。
本申请实施例中的任务处理方法还可以应用于区块链领域,如将上述目标任务等数据存储于区块链上。通过使用区块链来对上述目标任务进行存储和管理,能够有效地保证上述目标任务的安全性与不可篡改性。
上述区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参照图2,本申请一实施例中还提供了一种任务处理装置,包括:
第一确定模块1,用于对预设的服务器集群中包含的所有服务器进行异常分析以确定出所述服务器集群中的异常服务器,并将所述服务器集群中除所述异常服务器外的服务器标记为正常服务器;其中,所述服务器的数量包括多个;
第二确定模块2,用于从所有所述正常服务器中确定出一台目标服务器;
获取模块3,用于通过所述目标服务器从预设的数据源中获取待处理任务;其中,所述待处理任务的数量包括多个;
第一处理模块4,用于基于预设的缓存工具对所有所述待处理任务进行去重处理,得到处理后的目标任务;
第二处理模块5,用于将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器,以通过各所述正常服务器对接收到的目标任务进行处理。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的任务处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述第一确定模块1,包括:
第一获取单元,用于获取各所述服务器的运行参数,以及获取预设参数阈值;其中,所述预设参数阈值为对应所有所述服务器的一个综合阈值;
第一筛选单元,用于将每一个所述服务器的运行参数分别与所述预设参数阈值进行数值比较处理,从所有所述服务器中筛选出运行参数满足所述预设参数阈值的第一服务器,并将所有所述服务器中除所述第一服务器外的服务器标记为第二服务器;
第一生成单元,用于获取各所述第二服务器的运行参数,基于各所述第二服务器的运行参数与预设的异常识别模型生成各所述第二服务器的运行异常概率值;
第二获取单元,用于获取预设概率阈值;其中,所述预设概率阈值为对应所有所述服务器的一个综合阈值;
第二筛选单元,用于将每一个所述第二服务器的运行异常概率值分别与所述预设概率阈值进行数值比较处理,从所有所述第二服务器中筛选出运行异常概率值小于所述预设概率阈值的第三服务器;
确定单元,用于将所述第一服务器与所述第三服务器作为所述异常服务器。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的任务处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述第一生成单元,包括:
第一计算子单元,用于计算所有所述第二服务器的运行参数的平均值;以及,
第二计算子单元,用于计算所有所述第二服务器的运行参数的方差;
第一获取子单元,用于获取第一指定服务器的指定运行参数;其中,所述第一指定服务器为所有所述第二服务器中的任意一个服务器;
第一生成子单元,用于将所述平均值、所述方差以及所述指定运行参数输入至所述异常识别模型内,通过所述异常识别模型生成与所述第一指定服务器对应的运行异常概率值。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的任务处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述第一处理模块4,包括:
排序单元,用于按照各所述待处理任务的采集时间从前到后的顺序对所有所述待处理任务进行排序,得到对应的排序结果;
提取单元,用于获取所述排序结果中排序第1位的第一任务,并提取所述第一任务包含的第一任务字段;
第一处理单元,用于对所有所述第一任务字段进行拼接处理得到对应的第一拼接字段,将所述第一拼接字段存储至所述缓存工具内,并为所述第一拼接字段设置第一超时时间;
判断单元,用于获取所述排序结果中排序第i位的第二任务,对所述第二任务包含的所有第二任务字段进行拼接处理得到对应的第二拼接字段,并判断所述缓存工具中是否存在与所述第二拼接字段相同的第一指定字段;其中,所述i为整数且所述i的初始值为2;
第二处理单元,用于若不存在所述第一指定字段,则将所述第二拼接字段存储至所述缓存工具内,并为所述第二拼接字段设置第二超时时间,否则不对所述第二拼接字段进行存储处理;
第三获取单元,用于令i=i+1,重复执行第一判断单元至第二处理单元直至i=n,以完成对于所述排序结果中包含的所有任务的处理,并获取所述缓存工具内存储的所有目标拼接字段;其中,所述n为所有所述待处理任务的数量;
第三筛选单元,用于从所有所述待处理任务中筛选出与所述目标拼接字段对应的任务,得到所述目标任务。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的任务处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述第二处理模块5,包括:
第四获取单元,用于获取各所述目标任务的采集时间信息、处理时效信息以及重要度信息;
第二生成单元,用于基于所述采集时间信息、所述处理时效信息与所述重要度信息,生成各所述目标任务的处理顺序;
存放单元,用于将所有所述目标任务按照所述处理顺序存放至所述消息队列内;
分配单元,用于通过所述消息中间件按照所述处理顺序,将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的任务处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述第二生成单元,包括:
第二获取子单元,用于获取与所述采集时间信息对应的第一预设权重,与所述处理时效信息对应的第二预设权重,以及与所述重要度信息对应的第三预设权重;
第三计算子单元,用于基于所述采集时间信息、处理时效信息、重要度信息、所述第一预设权重、所述第二预设权重以及所述第三预设权重,通过预设计算公式计算各所述目标任务的优先级数值;
排序子单元,用于将所有所述目标任务按照所述优先级数值从大到小的顺序进行排序,得到与所有所述目标任务对应的目标排序信息;
第二生成子单元,用于基于所有所述目标排序信息生成各所述目标任务的处理顺序。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的任务处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述任务处理装置,包括:
接收模块,用于通过所述消息中间件接收第二指定服务器发送的对接收到的指定任务进行处理后得到的任务处理结果;其中,所述第二指定服务器为所有所述正常服务器中的任意一个服务器,所述指定任务为所述指定服务器接收到的所有目标任务中的任意一个任务;
调整模块,用于若所述任务处理结果为处理正常,在所述缓存工具内获取与所述指定任务对应的指定拼接字段,并对与所述指定拼接字段对应的指定超时时间进行调整,以使调整后的指定超时时间大于所述指定超时时间;
删除模块,用于若所述任务处理结果为处理异常,从所述缓存工具中删除与所述指定任务对应的指定拼接字段;
放置模块,用于将所述指定任务放置于预设的异常任务列表内。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的任务处理方法的步骤一一对应,在此不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏、输入装置和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作***、计算机程序和数据库。该内存储器为存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储待处理任务以及目标任务。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏是计算机中必不可少的一种图文输出设备,用于将数字信号转换为光信号,使文字与图形在显示屏的屏幕上显示出来。该计算机设备的输入装置是计算机与用户或其他设备之间进行信息交换的主要装置,用于把数据、指令及某些标志信息等输送到计算机中去。该计算机程序被处理器执行时以实现一种任务处理方法。
上述处理器执行上述任务处理方法的步骤:
对预设的服务器集群中包含的所有服务器进行异常分析以确定出所述服务器集群中的异常服务器,并将所述服务器集群中除所述异常服务器外的服务器标记为正常服务器;其中,所述服务器的数量包括多个;
从所有所述正常服务器中确定出一台目标服务器;
通过所述目标服务器从预设的数据源中获取待处理任务;其中,所述待处理任务的数量包括多个;
基于预设的缓存工具对所有所述待处理任务进行去重处理,得到处理后的目标任务;
将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器,以通过各所述正常服务器对接收到的目标任务进行处理。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的装置、计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种任务处理方法,具体为:
对预设的服务器集群中包含的所有服务器进行异常分析以确定出所述服务器集群中的异常服务器,并将所述服务器集群中除所述异常服务器外的服务器标记为正常服务器;其中,所述服务器的数量包括多个;
从所有所述正常服务器中确定出一台目标服务器;
通过所述目标服务器从预设的数据源中获取待处理任务;其中,所述待处理任务的数量包括多个;
基于预设的缓存工具对所有所述待处理任务进行去重处理,得到处理后的目标任务;
将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器,以通过各所述正常服务器对接收到的目标任务进行处理。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种任务处理方法,其特征在于,包括:
对预设的服务器集群中包含的所有服务器进行异常分析以确定出所述服务器集群中的异常服务器,并将所述服务器集群中除所述异常服务器外的服务器标记为正常服务器;其中,所述服务器的数量包括多个;
从所有所述正常服务器中确定出一台目标服务器;
通过所述目标服务器从预设的数据源中获取待处理任务;其中,所述待处理任务的数量包括多个;
基于预设的缓存工具对所有所述待处理任务进行去重处理,得到处理后的目标任务;
将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器,以通过各所述正常服务器对接收到的目标任务进行处理。
2.根据权利要求1所述的任务处理方法,其特征在于,所述对预设的服务器集群中包含的所有服务器进行异常分析以确定出所述服务器集群中的异常服务器的步骤,包括:
获取各所述服务器的运行参数,以及获取预设参数阈值;其中,所述预设参数阈值为对应所有所述服务器的一个综合阈值;
将每一个所述服务器的运行参数分别与所述预设参数阈值进行数值比较处理,从所有所述服务器中筛选出运行参数满足所述预设参数阈值的第一服务器,并将所有所述服务器中除所述第一服务器外的服务器标记为第二服务器;
获取各所述第二服务器的运行参数,基于各所述第二服务器的运行参数与预设的异常识别模型生成各所述第二服务器的运行异常概率值;
获取预设概率阈值;其中,所述预设概率阈值为对应所有所述服务器的一个综合阈值;
将每一个所述第二服务器的运行异常概率值分别与所述预设概率阈值进行数值比较处理,从所有所述第二服务器中筛选出运行异常概率值小于所述预设概率阈值的第三服务器;
将所述第一服务器与所述第三服务器作为所述异常服务器。
3.根据权利要求2所述的任务处理方法,其特征在于,所述获取各所述第二服务器的运行参数,基于各所述第二服务器的运行参数与预设的异常识别模型生成各所述第二服务器的运行异常概率值的步骤,包括:
计算所有所述第二服务器的运行参数的平均值;以及,
计算所有所述第二服务器的运行参数的方差;
获取第一指定服务器的指定运行参数;其中,所述第一指定服务器为所有所述第二服务器中的任意一个服务器;
将所述平均值、所述方差以及所述指定运行参数输入至所述异常识别模型内,通过所述异常识别模型生成与所述第一指定服务器对应的运行异常概率值。
4.根据权利要求1所述的任务处理方法,其特征在于,所述基于预设的缓存工具对所有所述待处理任务进行去重处理,得到处理后的目标任务的步骤,包括:
步骤A:按照各所述待处理任务的采集时间从前到后的顺序对所有所述待处理任务进行排序,得到对应的排序结果;
步骤B:获取所述排序结果中排序第1位的第一任务,并提取所述第一任务包含的第一任务字段;
步骤C:对所有所述第一任务字段进行拼接处理得到对应的第一拼接字段,将所述第一拼接字段存储至所述缓存工具内,并为所述第一拼接字段设置第一超时时间;
步骤D:获取所述排序结果中排序第i位的第二任务,对所述第二任务包含的所有第二任务字段进行拼接处理得到对应的第二拼接字段,并判断所述缓存工具中是否存在与所述第二拼接字段相同的第一指定字段;其中,所述i为整数且所述i的初始值为2;
步骤E:若不存在所述第一指定字段,则将所述第二拼接字段存储至所述缓存工具内,并为所述第二拼接字段设置第二超时时间,否则不对所述第二拼接字段进行存储处理;
步骤F:令i=i+1,重复执行步骤D-步骤E直至i=n,以完成对于所述排序结果中包含的所有任务的处理,并获取所述缓存工具内存储的所有目标拼接字段;其中,所述n为所有所述待处理任务的数量;
步骤G:从所有所述待处理任务中筛选出与所述目标拼接字段对应的任务,得到所述目标任务。
5.根据权利要求1所述的任务处理方法,其特征在于,所述将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器的步骤,包括:
获取各所述目标任务的采集时间信息、处理时效信息以及重要度信息;
基于所述采集时间信息、所述处理时效信息与所述重要度信息,生成各所述目标任务的处理顺序;
将所有所述目标任务按照所述处理顺序存放至所述消息队列内;
通过所述消息中间件按照所述处理顺序,将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器。
6.根据权利要求5所述的任务处理方法,其特征在于,所述基于所述采集时间信息、所述处理时效信息与所述重要度信息,生成各所述目标任务的处理顺序的步骤,包括:
获取与所述采集时间信息对应的第一预设权重,与所述处理时效信息对应的第二预设权重,以及与所述重要度信息对应的第三预设权重;
基于所述采集时间信息、处理时效信息、重要度信息、所述第一预设权重、所述第二预设权重以及所述第三预设权重,通过预设计算公式计算各所述目标任务的优先级数值;
将所有所述目标任务按照所述优先级数值从大到小的顺序进行排序,得到与所有所述目标任务对应的目标排序信息;
基于所有所述目标排序信息生成各所述目标任务的处理顺序。
7.根据权利要求1所述的任务处理方法,其特征在于,所述将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器的步骤之后,包括:
通过所述消息中间件接收第二指定服务器发送的对接收到的指定任务进行处理后得到的任务处理结果;其中,所述第二指定服务器为所有所述正常服务器中的任意一个服务器,所述指定任务为所述指定服务器接收到的所有目标任务中的任意一个任务;
若所述任务处理结果为处理正常,在所述缓存工具内获取与所述指定任务对应的指定拼接字段,并对与所述指定拼接字段对应的指定超时时间进行调整,以使调整后的指定超时时间大于所述指定超时时间;
若所述任务处理结果为处理异常,从所述缓存工具中删除与所述指定任务对应的指定拼接字段;
将所述指定任务放置于预设的异常任务列表内。
8.一种任务处理装置,其特征在于,包括:
第一确定模块,用于对预设的服务器集群中包含的所有服务器进行异常分析以确定出所述服务器集群中的异常服务器,并将所述服务器集群中除所述异常服务器外的服务器标记为正常服务器;其中,所述服务器的数量包括多个;
第二确定模块,用于从所有所述正常服务器中确定出一台目标服务器;
获取模块,用于通过所述目标服务器从预设的数据源中获取待处理任务;其中,所述待处理任务的数量包括多个;
第一处理模块,用于基于预设的缓存工具对所有所述待处理任务进行去重处理,得到处理后的目标任务;
第二处理模块,用于将所述目标任务存放至预设的消息队列内,通过消息中间件将所述消息队列内的所有所述目标任务分配给所述服务器集群中的各所述正常服务器,以通过各所述正常服务器对接收到的目标任务进行处理。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111535039.XA CN114237886A (zh) | 2021-12-15 | 2021-12-15 | 任务处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111535039.XA CN114237886A (zh) | 2021-12-15 | 2021-12-15 | 任务处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114237886A true CN114237886A (zh) | 2022-03-25 |
Family
ID=80756383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111535039.XA Pending CN114237886A (zh) | 2021-12-15 | 2021-12-15 | 任务处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114237886A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827157A (zh) * | 2022-04-12 | 2022-07-29 | 北京云思智学科技有限公司 | 集群任务处理方法、装置、***、电子设备及可读介质 |
CN115225636A (zh) * | 2022-07-12 | 2022-10-21 | 深圳壹账通智能科技有限公司 | 请求处理方法、装置、计算机设备和存储介质 |
-
2021
- 2021-12-15 CN CN202111535039.XA patent/CN114237886A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827157A (zh) * | 2022-04-12 | 2022-07-29 | 北京云思智学科技有限公司 | 集群任务处理方法、装置、***、电子设备及可读介质 |
CN115225636A (zh) * | 2022-07-12 | 2022-10-21 | 深圳壹账通智能科技有限公司 | 请求处理方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103745107B (zh) | 基于故障模式的装备基层级维修保障仿真***构建方法 | |
CN113516297A (zh) | 基于决策树模型的预测方法、装置和计算机设备 | |
CN114237886A (zh) | 任务处理方法、装置、计算机设备和存储介质 | |
CN111897673A (zh) | 运维故障根因识别方法、装置、计算机设备和存储介质 | |
CN112540811B (zh) | 缓存数据的检测方法、装置、计算机设备和存储介质 | |
CN111737963B (zh) | 基于配置文件的表单填写方法、装置和计算机设备 | |
CN112036648A (zh) | 基于模型的任务分配方法、装置、计算机设备和存储介质 | |
CN112700131B (zh) | 基于人工智能的ab测试方法、装置、计算机设备及介质 | |
CN113177396B (zh) | 报表生成方法、装置、计算机设备和存储介质 | |
CN111880921A (zh) | 基于规则引擎的作业处理方法、装置和计算机设备 | |
CN112597158A (zh) | 数据匹配方法、装置、计算机设备和存储介质 | |
CN113327037A (zh) | 基于模型的风险识别方法、装置、计算机设备和存储介质 | |
CN113642039A (zh) | 单证模板的配置方法、装置、计算机设备和存储介质 | |
CN113434310A (zh) | 多线程任务分配方法、装置、设备及存储介质 | |
CN114978968A (zh) | 微服务的异常检测方法、装置、计算机设备和存储介质 | |
CN112965981B (zh) | 数据核对方法、装置、计算机设备和存储介质 | |
CN114461439A (zh) | 一种故障诊断方法、装置、设备及存储介质 | |
CN113626285A (zh) | 基于模型的作业监控方法、装置、计算机设备和存储介质 | |
CN112650659B (zh) | 埋点设置方法、装置、计算机设备和存储介质 | |
CN113435517A (zh) | 异常数据点输出方法、装置、计算机设备和存储介质 | |
CN113656588A (zh) | 基于知识图谱的数据对码方法、装置、设备和存储介质 | |
CN116823026B (zh) | 一种基于区块链的工程数据处理***及方法 | |
CN114547053A (zh) | 基于***的数据处理方法、装置、计算机设备和存储介质 | |
CN113077185B (zh) | 工作量评估方法、装置、计算机设备和存储介质 | |
CN113191146B (zh) | 诉求数据的分配方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |