[发明专利]链路消息处理方法、装置、存储介质及计算机设备有效
申请号: | 201910282236.1 | 申请日: | 2019-04-09 |
公开(公告)号: | CN110187979B | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 黄振华;张钧 | 申请(专利权)人: | 口口相传(北京)网络技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 黄耀威 |
地址: | 100102 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息 处理 方法 装置 存储 介质 计算机 设备 | ||
本发明公开了一种链路消息处理方法、装置、存储介质及计算机设备,涉及浏览器技术领域,主要目的在于能够节省计算机线程数,使得线程能够最大限度留给计算型算子使用,避免线程资源浪费,从而能够提升计算机的吞吐量。所述方法包括:获取待处理的多个链路消息;判断针对所述多个链路消息所需要调度执行的算子是否为网络型算子;若为网络型算子,则调度执行需要启动一个线程的网络型算子层,将所述多个链路消息发送给网络层进行处理。本发明适用于链路消息的处理。
技术领域
本发明涉及信息技术领域,特别是涉及一种链路消息处理方法、装置、存储介质及计算机设备。
背景技术
近年来,为了处理各种各样的消息信息,执行引擎随之出现,尤其是针对链路消息的执行引擎,如spring reactor,dexecutor,akka actor等。目前,在对链路消息处理时,通常针对多个链路消息调度执行需要启动多个线程的多个算子。即每调度执行一个算子需要启动一个线程,具体地,针对需要同一种算子的多个链路消息需要启动多个线程进行并发执行,对于不同层的算子的多个链路消息需要进行解构异步执行。然而,网络型算子的延迟较长,如有些网络型算子的延迟达上百毫秒,造成在处理结果反馈前,网络型算子所启用的线程会一直处于等待状态,会造成线程资源浪费,占用较多计算机线程数,导致计算机的吞吐量较低。
发明内容
有鉴于此,本发明提供一种链路消息处理方法、装置、存储介质及计算机设备,主要目的在于能够节省计算机线程数,避免线程资源浪费,从而能够提升计算机的吞吐量。
依据本发明第一方面,提供了一种链路消息处理方法,包括:
获取待处理的多个链路消息;
判断针对所述待处理的多个链路消息所需要调度执行的算子是否为网络型算子;
若为网络型算子,则调度执行需要启动一个线程的网络型算子层,将所述待处理的多个链路消息发送给网络层进行处理。
进一步地,所述获取待处理的多个链路消息之前,所述方法还包括:
对多个链路消息对应链路的多个算子进行类别划分;
对所述多个算子中的多个网络型算子进行网络层封装处理,得到所述网络型算子层。
可选地,所述判断针对所述待处理的多个链路消息所需要调度执行的算子是否为网络型算子,包括:
对所述待处理的多个链路消息的数据结构解析,得到所述待处理的多个链路消息对应的处理请求类型;
根据所述处理请求类型判断针对所述待处理的多个链路消息所需要调度执行的算子是否为网络型算子;
若所述处理请求类型为网络处理请求,则确定针对所述待处理的多个链路消息所需要调度执行的算子为网络型算子。
可选地,所述对所述多个算子中的多个网络型算子进行网络层封装处理,得到所述网络型算子层,包括:
基于预设的网络层封装函数,对所述多个网络型算子进行网络层封装处理,得到所述网络型算子层。
进一步地,所述判断针对所述待处理的多个链路消息所需要调度执行的算子是否为网络型算子之后,所述方法还包括:
若为计算型算子,则调度执行计算型算子对所述待处理的多个链路消息进行处理。
进一步地,所述调度执行需要启动一个线程的网络型算子层,将所述待处理的多个链路消息发送给网络层进行处理之后,所述方法还包括:
接收所述网络层反馈的处理结果,调用预设回调函数将所述处理结果封装成下游链路消息并发送到消息处理队列中。
依据本发明第二方面,提供了一种链路消息处理装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于口口相传(北京)网络技术有限公司,未经口口相传(北京)网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910282236.1/2.html,转载请声明来源钻瓜专利网。