一种数据处理方法和装置的制造方法_3

文档序号:9865308阅读:来源:国知局
一任务被设置为等待状态,出现上述长时间得不到所述第二任务的处理结果的情况时,如果让所述第一任务一直处于等待状态而不进行处理,会占用计算机系统的大量资源,并造成系统拥堵,反而降低了系统处理效率,导致不好的用户体验。为了解决这种情况,如图2所示,在执行S203时,所述方法还包括:
[0078]S209:所述计算机系统为所述第一任务设置预设等待时间。
[0079]举例说明,所述预设等待时间可以设置为任意时间,不过为了提高处理效率,所述预设等待时间可以设置为所述计算机系统处理具有与所述第一任务相同特征值的任务的平均处理时间或最大处理时间。例如计算机系统处理所述具有与所述第一任务相同特征值的任务一般需要或最大需要耗时三秒,则可以将所述预设等待时间设置为三秒。
[0080]本发明不限定所述S203和S209的执行顺序。当S203和S209同时执行时,可以为所述计算机系统带来更高的处理效率。
[0081]S210:当所述第一任务处于等待状态的时间超过所述预设等待时间时,所述计算机系统取消所述第一任务的等待状态,对所述第一任务进行处理。
[0082]举例说明,通过设置预设等待时间,可以在出现所述第二任务无法得到处理结果,或者所述第二任务的处理时间远大于正常处理时间的情况时,防止所述第一任务长时间处于等待状态,不会占用计算机系统大量资源。并在所述第一任务处于所述等待状态的时间超出所述预设等待时间时,对所述第一任务进行处理,使得即使所述计算机系统在正常处理时间内无法得到所述第二任务的处理结果,也可以通过对所述第一任务的处理得到处理结果,由此进一步的降低了计算机系统的出错率。
[0083]图3为本发明实施例提供的一种数据处理装置的装置结构图,应用于计算机系统,所述计算机系统处理具有相同特征值的任务获得相同的处理结果,所述装置包括:
[0084]接收单元301,用于接收到第一任务,所述第一任务具有对应的特征值。
[0085]举例说明,任务的特征值可以通过分析任务的所包含的特征数据获得,一个任务一般只有一个对应的特征值,多个任务的特征值可以相同。所述特征值的特点是,具有相同特征值的任务通过处理所得到的处理结果相同。也可以理解为,具有相同特征值的任务是同一类型的任务,同一类型的任务在通过计算机系统处理后的处理结果相同。
[0086]第一判断单元302,用于在根据所述特征值没有查找到所述特征值与处理结果的对应关系时,判断当前是否有第二任务正在被处理,所述第二任务对应的特征值与所述第一任务对应的特征值相同。
[0087]举例说明,所述根据所述特征值没有查找到所述特征值与处理结果的对应关系可以理解为,在缓存中没有存储所述第一任务的处理结果。这种缓存中没有存储所述第一任务的处理结果情况可以是由于缓存被重新刷新、缓存丢失或者所述接收单元301第一次接收到具有所述第一任务的特征值的任务所造成。
[0088]有现有技术处理上不同的是,在没有查找到所述特征值与处理结果的对应关系的情况下,并不会直接对所述第一任务进行处理,而是先判断当前正在被处理的任务中,是否有与所述第一任务的所述特征值相同的其他任务,也就是判断是否有正在被处理的所述第二任务。通过判断是否有正在被处理的所述第二任务,可以保证同一时间具有相同特征值的任务中最多只有一个处于被处理的状态,避免出现多个具有相同特征值的任务同时被处理的情况发生。
[0089]若所述第一判断单元302的判断结果为是,触发设置单元303,所述设置单元303不处理所述第一任务,将所述第一任务设置为等待状态。
[0090]举例说明,当判断结果为是时,可以理解为已经有所述第二任务正在被处理。由于所述第一任务和所述第二任务的处理结果相同,如果这时对所述第一任务进行处理,将会造成重复计算的情况。故所述设置单元303不处理所述第一任务,将所述第一任务设置为等待状态,以等待所述第二任务被处理完成后得到的处理结果作为所述第一任务的处理结果O
[0091]第一处理单元304,用于通过处理获得所述第二任务的处理结果,在缓存中保存所述特征值和所述处理结果的对应关系和所述处理结果。
[0092]举例说明,当所述第一处理单元304获得所述第二任务的处理结果,由于当前缓存中并没有存储所述第二任务对应的处理结果,故可以将所述处理结果以及所述处理结果和所述特征值之间的对应关系保存在缓存中。之后接收到具有与所述第二任务相同特征值的任务时,例如所述第一任务,可以不用处理,而通过从缓存中调用所述处理结果作为所述具有与所述第二任务相同特征值的任务的处理结果。
[0093]读取单元305,用于取消所述第一任务的等待状态,并返回从缓存中读取的所述处理结果作为所述第一任务的处理结果。
[0094]举例说明,由于具有与所述第一任务的相同特征值的所述第二任务已经被处理完成,得到处理结果。故所述读取单元305可以将把处于等待状态的所述第一任务唤醒,不对所述第一任务进行处理,而是读取所述第二任务的处理结果作为所述第一任务的处理结果O
[0095]需要注意的是,根据开始处理所述第二任务的时间与接收到所述第一任务的时间之差的不同,所述第一任务处于等待状态的时间也会有所不同。举例说明,例如处理所述第二任务的处理时间为3秒,当开始处理所述第二任务后的2.5秒接收到所述第一任务,正常情况下,所述第一任务只需处于等待状态3-2.5 = 0.5秒后即可通过所述读取单元305从缓存中读取所述第二任务的处理结果。
[0096]由上述实施例可以看出,当通过接收到的第一任务的特征值没有查找到所述特征值与处理结果的对应关系时,会在处理所述第一任务之前判断是否有具有相同特征值的第二任务正在被处理中,如果有,则不会对所述第一任务进行处理,将所述第一任务设置为等待状态等待所述第二任务的处理结果,这样使得计算机系统不会出现同时对多个具有相同特征值的任务进行处理的重复计算情况,提高了计算机系统的处理效率。
[0097]可选的,若所述第一判断单元302的所述判断结果为否,可以理解为当前没有处理具有与所述第一任务相同特征值的任务,例如所述第二任务。那么,为了之后在接收具有到与所述第一任务相同特征值的任务时可以直接从缓存中读取处理结果,在图3所对应实施例的基础上,如图4所示,图4为本发明实施例提供的一种数据处理装置的装置结构图,所述装置还可以进一步包括第二处理单元401。
[0098]若所述第一判断单元302的所述判断结果为否,触发所述第二处理单元401,所述第二处理单元401,用于通过处理获得所述第一任务的处理结果,在缓存中保存所述特征值和所述处理结果的对应关系和所述处理结果。
[0099]举例说明,当所述第二处理单元401获得所述第一任务的处理结果,由于当前缓存中并没有存储所述第一任务对应的处理结果,故可以将所述处理结果以及所述处理结果和所述特征值之间的对应关系保存在缓存中。之后接收到具有与所述第一任务相同特征值的任务时,可以不用处理,而通过从缓存中调用所述处理结果作为所述具有与所述第一任务相同特征值的任务的处理结果。
[0100]可选的,由于所述第二处理单元401在处理所述第一任务的过程中,可能会接收到具有与所述第一任务相同特征值的任务,由于正在处理所述第一任务,故会将所述接收到具有与所述第一任务相同特征值的任务设置为等待状态。在图3所对应实施例的基础上,如图5所示,图5为本发明实施例提供的一种数据处理装置的装置结构图,所述装置还可以进一步包括第二判断单元501。
[0101]在触发所述第二处理单元401后,所述第二判断单元501,用于判断是否有第三任务处于等待状态,所述第三任务的特征值与所述第一任务的特征值相同。
[0102]举例说明,所述第三任务可以理解为所述接收单元301在接收到所述第一任务并对其进行处理时所接收到的任务,由于接收到所述第三任务时正在处理所述第一任务,故可以通过所述第二判断单元501以将所述第一任务设置为等待状态的方式,将所述第三任务设置为所述等待状态。
[0103]若所述第二判断单元501的判断结果为是,触发所述读取单元305,所述读取单元305还用于取消所述第三任务的等待状态,并返回从缓存中读取的所述处理结果作为所述第三任务的处理结果。
[0104]举例说明,当所述第二判断单元501确定有处于等待状态的所述第三任务时,由于此时具有与所述第三任务的相同特征值的所述第一任务已经被处理完成,得到处理结果。故所述读取单元305可以将把处于等待状态的所述第三任务唤醒,不对所述第三任务进行
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1