基于事件队列的跨线程信号处理方法和系统与流程

文档序号:35680943发布日期:2023-10-08 17:52阅读:23来源:国知局
基于事件队列的跨线程信号处理方法和系统与流程

本发明涉及计算机界面的,特别涉及基于事件队列的跨线程信号处理方法和系统。


背景技术:

1、智能手机或便携式计算机等客户端自身的运算能力有限,在执行复杂大型的数据处理事件任务时无法保证提供足够的运算服务,为了保证客户端数据处理事件任务的正确高效执行,通常会将客户端接入到具有较大运算能力的服务端,借助服务端来对来自客户端的数据处理事件任务进行运算处理。现有的服务端与客户端之间通常采用一对一的连接方式,即服务端在同一时间只能连接一个客户端,并且只能处理来自客户端的一个数据处理事件任务。上述方式能够保证为客户端提供充足的运算服务,最大限度提高对数据处理事件任务的运算效率和运算准确性,但是服务端在同一时间只能连接一个客户端,使得服务端的运算能力无法得到有效充分的利用,导致服务端的运算能力闲置,无法为多个客户端提供有效可靠的运算服务,不利于降低客户端的数据处理事件任务的处理压力。


技术实现思路

1、针对现有技术存在的缺陷,本发明提供了基于事件队列的跨线程信号处理方法和系统,其监听不同客户端得到事件任务,并基于事件任务的事件属性,生成关于所有客户端的事件任务队列,实现对所有客户端的事件任务的有序管理,便于充分利用服务端对所有事件任务匹配合理的运算处理;对事件任务队列进行线程监测,得到相应事件任务的线程信号,以此确定事件任务下属线程的处理结果,从而为判断事件任务是否已经整体完成处理提供可靠的依据;还获取已经整体完成处理的事件任务的所有线程处理结果,并生成线程处理数据包,实现对事件任务处理结果的整合,保证客户端及时完整获得自身对应事件任务的处理结果,并调整事件任务队列,确保服务端对事件任务队列中其他事件任务的及时高效处理,充分利用服务端的运算能力和有效减小不同客户端的数据处理压力。

2、本发明提供基于事件队列的跨线程信号处理方法,包括如下步骤:

3、步骤s1,对不同客户端进行监听,得到来自不同客户端的事件任务;基于所述事件任务的事件属性,生成关于所有客户端的事件任务队列,并将所述事件任务队列上传至服务端的后台端;

4、步骤s2,对所述事件任务队列进行线程监测,得到所述事件任务队列中相应的事件任务的线程信号,并提取满足预设线程状态条件的线程信号;对提取的线程信号进行分析,得到相应的线程处理结果,并对所述线程处理结果进行标识;

5、步骤s3,基于所述线程处理结果,判断其对应的事件任务是否已经整体完成处理;基于已经整体完成处理的事件任务的线程处理日志,获取其下属所有线程处理结果;

6、步骤s4,对获取的所有线程处理结果进行预处理后,生成线程处理数据包,并将所述线程处理数据包返回至相应的客户端;基于所述线程处理数据包向所述客户端的返回状态,对所述事件任务队列进行调整。

7、在本技术公开的一个实施例中,在所述步骤s1中,对不同客户端进行监听,得到来自不同客户端的事件任务;基于所述事件任务的事件属性,生成关于所有客户端的事件任务队列,并将所述事件任务队列上传至服务端的后台端,包括:

8、获取不同客户端各自与服务端的历史数据交互日志,基于所述历史数据交互日志,确定每个客户端与所述服务端在历史数据交互过程中的数据传输带宽;基于所述数据传输带宽,向每个客户端分配相应的监听通道,对每个客户端进行监听,从而得到来自每个客户端的事件任务;其中,所述事件任务包括所述客户端内部的应用程序发起的待处理事件任务;

9、基于所有事件任务各自的任务处理限制时间,将所有事件任务排列形成事件任务队列;其中,所述任务处理限制时间是指所述事件任务整体完成处理的最晚截止时间;再将所述事件任务队列上传至服务端对应的后台端。

10、在本技术公开的一个实施例中,在所述步骤s2中,对所述事件任务队列进行线程监测,得到所述事件任务队列中相应的事件任务的线程信号,并提取满足预设线程状态条件的线程信号;对提取的线程信号进行分析,得到相应的线程处理结果,并对所述线程处理结果进行标识,包括:

11、对所述事件任务队列中当前处于活跃状态的事件任务进行线程监测,得到处于活跃状态的事件任务下属所有执行线程的线程信号;其中,所述线程信号是指线程执行过程中生成的执行进度提示信号;

12、判断所述线程信号是否属于预设类型线程信号,若是,则判断所述线程信号满足预设线程状态条件并提取所述线程信号;若否,则判断所述线程信号不满足预设线程状态条件并不提取所述线程信号;

13、基于提取的线程信号的生成时间信息,从提取的线程信号对应的事件任务的处理日志中提取所述事件任务的线程处理结果,并对所述线程处理结果进行关于所述对应的事件任务的任务名称的标识。

14、在本技术公开的一个实施例中,在所述步骤s3中,基于所述线程处理结果,判断其对应的事件任务是否已经整体完成处理;基于已经整体完成处理的事件任务的线程处理日志,获取其下属所有线程处理结果,包括:

15、对所述线程处理结果进行数据内容分析处理,判断对应的事件任务是否已经整体完成处理;基于已经整体完成处理的事件任务包含的所有线程的线程名称,从已经整体完成处理的事件任务的线程处理日志中提取已经整体完成处理的事件任务下属所有线程各自的处理结果。

16、在本技术公开的一个实施例中,在所述步骤s4中,对获取的所有线程处理结果进行预处理后,生成线程处理数据包,并将所述线程处理数据包返回至相应的客户端;基于所述线程处理数据包向所述客户端的返回状态,对所述事件任务队列进行调整,包括:

17、对获取的所有线程处理结果进行乱码数据剔除处理的数据压缩处理,生成线程处理数据包;基于所述线程处理数据包所属的客户端的终端地址,将所述线程处理数据包返回相应的客户端;

18、判断所述线程数据包是否已经完全返回至所述客户端,若是,则从所述事件任务队列删除所述线程数据包对应的事件任务;若否,则保持所述事件任务队列不变。

19、本发明还提供基于事件队列的跨线程信号处理系统,包括:

20、客户端监听模块,用于对不同客户端进行监听,得到来自不同客户端的事件任务;

21、事件任务队列生成模块,用于基于所述事件任务的事件属性,生成关于所有客户端的事件任务队列,并将所述事件任务队列上传至服务端的后台端;

22、线程分析处理模块,用于对所述事件任务队列进行线程监测,得到所述事件任务队列中相应的事件任务的线程信号,并提取满足预设线程状态条件的线程信号;对提取的线程信号进行分析,得到相应的线程处理结果,并对所述线程处理结果进行标识;

23、线程处理结果获取模块,用于基于所述线程处理结果,判断其对应的事件任务是否已经整体完成处理;基于已经整体完成处理的事件任务的线程处理日志,获取其下属所有线程处理结果;

24、线程处理数据包生成与发送模块,用于对获取的所有线程处理结果进行预处理后,生成线程处理数据包,并将所述线程处理数据包返回至相应的客户端;

25、事件任务队列调整模块,用于基于所述线程处理数据包向所述客户端的返回状态,对所述事件任务队列进行调整。

26、在本技术公开的一个实施例中,所述客户端监听模块用于对不同客户端进行监听,得到来自不同客户端的事件任务,包括:

27、获取不同客户端各自与服务端的历史数据交互日志,基于所述历史数据交互日志,确定每个客户端与所述服务端在历史数据交互过程中的数据传输带宽;基于所述数据传输带宽,向每个客户端分配相应的监听通道,对每个客户端进行监听,从而得到来自每个客户端的事件任务;其中,所述事件任务包括所述客户端内部的应用程序发起的待处理事件任务;

28、所述事件任务队列生成模块用于基于所述事件任务的事件属性,生成关于所有客户端的事件任务队列,并将所述事件任务队列上传至服务端的后台端,包括:

29、基于所有事件任务各自的任务处理限制时间,将所有事件任务排列形成事件任务队列;其中,所述任务处理限制时间是指所述事件任务整体完成处理的最晚截止时间;再将所述事件任务队列上传至服务端对应的后台端。

30、在本技术公开的一个实施例中,所述线程分析处理模块用于对所述事件任务队列进行线程监测,得到所述事件任务队列中相应的事件任务的线程信号,并提取满足预设线程状态条件的线程信号;对提取的线程信号进行分析,得到相应的线程处理结果,并对所述线程处理结果进行标识,包括:

31、对所述事件任务队列中当前处于活跃状态的事件任务进行线程监测,得到处于活跃状态的事件任务下属所有执行线程的线程信号;其中,所述线程信号是指线程执行过程中生成的执行进度提示信号;

32、判断所述线程信号是否属于预设类型线程信号,若是,则判断所述线程信号满足预设线程状态条件并提取所述线程信号;若否,则判断所述线程信号不满足预设线程状态条件并不提取所述线程信号;

33、基于提取的线程信号的生成时间信息,从提取的线程信号对应的事件任务的处理日志中提取所述事件任务的线程处理结果,并对所述线程处理结果进行关于所述对应的事件任务的任务名称的标识。

34、在本技术公开的一个实施例中,所述线程处理结果获取模块用于基于所述线程处理结果,判断其对应的事件任务是否已经整体完成处理;基于已经整体完成处理的事件任务的线程处理日志,获取其下属所有线程处理结果,包括:

35、对所述线程处理结果进行数据内容分析处理,判断对应的事件任务是否已经整体完成处理;基于已经整体完成处理的事件任务包含的所有线程的线程名称,从已经整体完成处理的事件任务的线程处理日志中提取已经整体完成处理的事件任务下属所有线程各自的处理结果。

36、在本技术公开的一个实施例中,所述线程处理数据包生成与发送模块用于对获取的所有线程处理结果进行预处理后,生成线程处理数据包,并将所述线程处理数据包返回至相应的客户端,包括:

37、对获取的所有线程处理结果进行乱码数据剔除处理的数据压缩处理,生成线程处理数据包;基于所述线程处理数据包所属的客户端的终端地址,将所述线程处理数据包返回相应的客户端;

38、所述事件任务队列调整模块用于基于所述线程处理数据包向所述客户端的返回状态,对所述事件任务队列进行调整,包括:

39、判断所述线程数据包是否已经完全返回至所述客户端,若是,则从所述事件任务队列删除所述线程数据包对应的事件任务;若否,则保持所述事件任务队列不变。

40、相比于现有技术,该基于事件队列的跨线程信号处理方法和系统监听不同客户端得到事件任务,并基于事件任务的事件属性,生成关于所有客户端的事件任务队列,实现对所有客户端的事件任务的有序管理,便于充分利用服务端对所有事件任务匹配合理的运算处理;对事件任务队列进行线程监测,得到相应事件任务的线程信号,以此确定事件任务下属线程的处理结果,从而为判断事件任务是否已经整体完成处理提供可靠的依据;还获取已经整体完成处理的事件任务的所有线程处理结果,并生成线程处理数据包,实现对事件任务处理结果的整合,保证客户端及时完整获得自身对应事件任务的处理结果,并调整事件任务队列,确保服务端对事件任务队列中其他事件任务的及时高效处理,充分利用服务端的运算能力和有效减小不同客户端的数据处理压力。

41、本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

42、下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1