基于事件队列的跨线程信号处理方法和系统技术方案

技术编号:39045769 阅读:11 留言:0更新日期:2023-10-10 11:58
本发明专利技术涉及计算机界面的技术领域,提供了基于事件队列的跨线程信号处理方法和系统,监听不同客户端得到事件任务,基于事件任务的事件属性,生成关于所有客户端的事件任务队列,实现对所有客户端的事件任务的有序管理,便于充分利用服务端对所有事件任务匹配合理的运算处理;对事件任务队列进行线程监测,得到相应事件任务的线程信号,确定事件任务下属线程的处理结果,为判断事件任务是否已整体完成处理提供可靠依据;获取已整体完成处理的事件任务的所有线程处理结果,生成线程处理数据包,实现对事件任务处理结果的整合,保证客户端及时完整获得自身对应事件任务的处理结果,调整事件任务队列,确保对事件任务队列中其他事件任务的高效处理。任务的高效处理。任务的高效处理。

【技术实现步骤摘要】
基于事件队列的跨线程信号处理方法和系统


[0001]本专利技术涉及计算机界面的
,特别涉及基于事件队列的跨线程信号处理方法和系统。

技术介绍

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

技术实现思路

[0003]针对现有技术存在的缺陷,本专利技术提供了基于事件队列的跨线程信号处理方法和系统,其监听不同客户端得到事件任务,并基于事件任务的事件属性,生成关于所有客户端的事件任务队列,实现对所有客户端的事件任务的有序管理,便于充分利用服务端对所有事件任务匹配合理的运算处理;对事件任务队列进行线程监测,得到相应事件任务的线程信号,以此确定事件任务下属线程的处理结果,从而为判断事件任务是否已经整体完成处理提供可靠的依据;还获取已经整体完成处理的事件任务的所有线程处理结果,并生成线程处理数据包,实现对事件任务处理结果的整合,保证客户端及时完整获得自身对应事件任务的处理结果,并调整事件任务队列,确保服务端对事件任务队列中其他事件任务的及时高效处理,充分利用服务端的运算能力和有效减小不同客户端的数据处理压力。
[0004]本专利技术提供基于事件队列的跨线程信号处理方法,包括如下步骤:步骤S1,对不同客户端进行监听,得到来自不同客户端的事件任务;基于所述事件任务的事件属性,生成关于所有客户端的事件任务队列,并将所述事件任务队列上传至服务端的后台端;步骤S2,对所述事件任务队列进行线程监测,得到所述事件任务队列中相应的事件任务的线程信号,并提取满足预设线程状态条件的线程信号;对提取的线程信号进行分析,得到相应的线程处理结果,并对所述线程处理结果进行标识;步骤S3,基于所述线程处理结果,判断其对应的事件任务是否已经整体完成处理;基于已经整体完成处理的事件任务的线程处理日志,获取其下属所有线程处理结果;步骤S4,对获取的所有线程处理结果进行预处理后,生成线程处理数据包,并将所述线程处理数据包返回至相应的客户端;基于所述线程处理数据包向所述客户端的返回状
态,对所述事件任务队列进行调整。
[0005]在本申请公开的一个实施例中,在所述步骤S1中,对不同客户端进行监听,得到来自不同客户端的事件任务;基于所述事件任务的事件属性,生成关于所有客户端的事件任务队列,并将所述事件任务队列上传至服务端的后台端,包括:获取不同客户端各自与服务端的历史数据交互日志,基于所述历史数据交互日志,确定每个客户端与所述服务端在历史数据交互过程中的数据传输带宽;基于所述数据传输带宽,向每个客户端分配相应的监听通道,对每个客户端进行监听,从而得到来自每个客户端的事件任务;其中,所述事件任务包括所述客户端内部的应用程序发起的待处理事件任务;基于所有事件任务各自的任务处理限制时间,将所有事件任务排列形成事件任务队列;其中,所述任务处理限制时间是指所述事件任务整体完成处理的最晚截止时间;再将所述事件任务队列上传至服务端对应的后台端。
[0006]在本申请公开的一个实施例中,在所述步骤S2中,对所述事件任务队列进行线程监测,得到所述事件任务队列中相应的事件任务的线程信号,并提取满足预设线程状态条件的线程信号;对提取的线程信号进行分析,得到相应的线程处理结果,并对所述线程处理结果进行标识,包括:对所述事件任务队列中当前处于活跃状态的事件任务进行线程监测,得到处于活跃状态的事件任务下属所有执行线程的线程信号;其中,所述线程信号是指线程执行过程中生成的执行进度提示信号;判断所述线程信号是否属于预设类型线程信号,若是,则判断所述线程信号满足预设线程状态条件并提取所述线程信号;若否,则判断所述线程信号不满足预设线程状态条件并不提取所述线程信号;基于提取的线程信号的生成时间信息,从提取的线程信号对应的事件任务的处理日志中提取所述事件任务的线程处理结果,并对所述线程处理结果进行关于所述对应的事件任务的任务名称的标识。
[0007]在本申请公开的一个实施例中,在所述步骤S3中,基于所述线程处理结果,判断其对应的事件任务是否已经整体完成处理;基于已经整体完成处理的事件任务的线程处理日志,获取其下属所有线程处理结果,包括:对所述线程处理结果进行数据内容分析处理,判断对应的事件任务是否已经整体完成处理;基于已经整体完成处理的事件任务包含的所有线程的线程名称,从已经整体完成处理的事件任务的线程处理日志中提取已经整体完成处理的事件任务下属所有线程各自的处理结果。
[0008]在本申请公开的一个实施例中,在所述步骤S4中,对获取的所有线程处理结果进行预处理后,生成线程处理数据包,并将所述线程处理数据包返回至相应的客户端;基于所述线程处理数据包向所述客户端的返回状态,对所述事件任务队列进行调整,包括:对获取的所有线程处理结果进行乱码数据剔除处理的数据压缩处理,生成线程处理数据包;基于所述线程处理数据包所属的客户端的终端地址,将所述线程处理数据包返回相应的客户端;判断所述线程数据包是否已经完全返回至所述客户端,若是,则从所述事件任务
队列删除所述线程数据包对应的事件任务;若否,则保持所述事件任务队列不变。
[0009]本专利技术还提供基于事件队列的跨线程信号处理系统,包括:客户端监听模块,用于对不同客户端进行监听,得到来自不同客户端的事件任务;事件任务队列生成模块,用于基于所述事件任务的事件属性,生成关于所有客户端的事件任务队列,并将所述事件任务队列上传至服务端的后台端;线程分析处理模块,用于对所述事件任务队列进行线程监测,得到所述事件任务队列中相应的事件任务的线程信号,并提取满足预设线程状态条件的线程信号;对提取的线程信号进行分析,得到相应的线程处理结果,并对所述线程处理结果进行标识;线程处理结果获取模块,用于基于所述线程处理结果,判断其对应的事件任务是否已经整体完成处理;基于已经整体完成处理的事件任务的线程处理日志,获取其下属所有线程处理结果;线程处理数据包生成与发送模块,用于对获取的所有线程处理结果进行预处理后,生成线程处理数据包,并将所述线程处理数据包返回至相应的客户端;事件任务队列调整模块,用于基于所述线程处理数据包向所述客户端的返回状态,对所述事件任务队列进行调整。
[0010]在本申请公开的一个实施例中,所述客户端监听模块用于对不同客户端进行监听,得到来自不同客户端的事件任务,包括:获取不同客户端各自与服本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于事件队列的跨线程信号处理方法,其特征在于,其包括如下步骤:步骤S1,对不同客户端进行监听,得到来自不同客户端的事件任务;基于所述事件任务的事件属性,生成关于所有客户端的事件任务队列,并将所述事件任务队列上传至服务端的后台端;步骤S2,对所述事件任务队列进行线程监测,得到所述事件任务队列中相应的事件任务的线程信号,并提取满足预设线程状态条件的线程信号;对提取的线程信号进行分析,得到相应的线程处理结果,并对所述线程处理结果进行标识;步骤S3,基于所述线程处理结果,判断其对应的事件任务是否已经整体完成处理;基于已经整体完成处理的事件任务的线程处理日志,获取其下属所有线程处理结果;步骤S4,对获取的所有线程处理结果进行预处理后,生成线程处理数据包,并将所述线程处理数据包返回至相应的客户端;基于所述线程处理数据包向所述客户端的返回状态,对所述事件任务队列进行调整。2.如权利要求1所述的基于事件队列的跨线程信号处理方法,其特征在于:在所述步骤S1中,对不同客户端进行监听,得到来自不同客户端的事件任务;基于所述事件任务的事件属性,生成关于所有客户端的事件任务队列,并将所述事件任务队列上传至服务端的后台端,包括:获取不同客户端各自与服务端的历史数据交互日志,基于所述历史数据交互日志,确定每个客户端与所述服务端在历史数据交互过程中的数据传输带宽;基于所述数据传输带宽,向每个客户端分配相应的监听通道,对每个客户端进行监听,从而得到来自每个客户端的事件任务;其中,所述事件任务包括所述客户端内部的应用程序发起的待处理事件任务;基于所有事件任务各自的任务处理限制时间,将所有事件任务排列形成事件任务队列;其中,所述任务处理限制时间是指所述事件任务整体完成处理的最晚截止时间;再将所述事件任务队列上传至服务端对应的后台端。3.如权利要求1所述的基于事件队列的跨线程信号处理方法,其特征在于:在所述步骤S2中,对所述事件任务队列进行线程监测,得到所述事件任务队列中相应的事件任务的线程信号,并提取满足预设线程状态条件的线程信号;对提取的线程信号进行分析,得到相应的线程处理结果,并对所述线程处理结果进行标识,包括:对所述事件任务队列中当前处于活跃状态的事件任务进行线程监测,得到处于活跃状态的事件任务下属所有执行线程的线程信号;其中,所述线程信号是指线程执行过程中生成的执行进度提示信号;判断所述线程信号是否属于预设类型线程信号,若是,则判断所述线程信号满足预设线程状态条件并提取所述线程信号;若否,则判断所述线程信号不满足预设线程状态条件并不提取所述线程信号;基于提取的线程信号的生成时间信息,从提取的线程信号对应的事件任务的处理日志中提取所述事件任务的线程处理结果,并对所述线程处理结果进行关于所述对应的事件任务的任务名称的标识。4.如权利要求1所述的基于事件队列的跨线程信号处理方法,其特征在于:在所述步骤S3中,基于所述线程处理结果,判断其对应的事件任务是否已经整体完成处理;基于已经整体完成处理的事件任务的线程处理日志,获取其下属所有线程处理结果,
包括:对所述线程处理结果进行数据内容分析处理,判断对应的事件任务是否已经整体完成处理;基于已经整体完成处理的事件任务包含的所有线程的线程名称,从已经整体完成处理的事件任务的线程处理日志中提取已经整体完成处理的事件任务下属所有线程各自的处理结果。5.如权利要求1所述的基于事件队列的跨线程信号处理方法,其特征在于:在所述步骤S4中,对获取的所有线程处理结果进行预处理后,生成线程处理数据包,并将所述线程处理数据包返回至相应的客户端;基于所述线程处理数据包向所述客户端的返回状态,对所述事件任务队列进行调整,包括:对获取的所有线程处理结果进行乱码数据剔除处理的数据压缩处理,生成线程处理数据包;基于所述线程处理数据包所属的客户端的终端地址,将所述线程处理数据包返回相应的客户端;判断所述线程数据包是否已经完全返回至所述客户端,若是,则从所述事件任务队列删除所述线程数据包对应的事件任务;若否,则保持所述事件任务队列不变。6.基于事件队列的跨线程信号处理系统,其特征在于,包括:客户端监听模块,用于对不同客户端进行监听,得到来自不同客...

【专利技术属性】
技术研发人员:樊骥韩洋钟采奕李牧朱谨颋易真
申请(专利权)人:成都中科合迅科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1