1.本技术属于通信领域,尤其涉及一种双向通信的管控方法、计算机可读存储介质及计算机设备。
背景技术:2.在主机安全系统,需要在业务服务器中部署安全探针agent,通讯框架不涉及安全能力,是客户端的核心基础能力,决定整个系统的稳定。然而,并行通过多条流式通道管理探针agent连接,在高并发连接下容易引起服务端句柄过多,不易管理探针agent连接。
技术实现要素:3.本技术的目的在于提供一种双向通信的管控方法、计算机可读存储介质及计算机设备,旨在解决通过多条流式通道管理探针连接,在高并发连接下容易引起服务端句柄过多,不易管理探针连接的问题。
4.第一方面,本技术提供了一种双向通信的管控方法,包括:
5.配置探针;
6.利用探针根据服务端的域名连接服务端,与服务端建立grpc双向流式长连接;
7.通过grpc双向流式连接接收服务端发送的指令;
8.收集数据并将数据通过grpc双向流式连接发送到服务端。
9.进一步地,所述通过grpc双向流式连接接收服务器发送的指令之前,还包括:
10.利用注册的消息处理函数,根据接收到的指令执行操作;
11.启动消息接收协程、消息处理协程和消息发送协程,并建立数据读队列和写队列。
12.进一步地,所述消息处理函数包括数据通道函数和控制通道函数。
13.进一步地,所述通过grpc双向流式连接接收服务端发送的指令具体为:消息接收协程等待接收由grpc双向流式连接的服务端发送的升级、或重启、或回滚的指令,将接收的指令发送到读队列,由信息处理协程对指令进行解包,将head数据进行拆分,利用控制通道处理body数据。
14.进一步地,所述收集数据并将数据通过grpc双向流式连接发送到服务端具体为:探针收集客户端数据,利用数据通道将客户端数据封装成msg-data写入写队列,再由grpc双向流式连接发送给服务端。
15.进一步地,所述息接收协程、所述消息处理协程和所述消息发送协程的数据是head数据和body数据。
16.进一步地,所述body数据是protobuf格式。
17.第二方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的双向通信的管控方法的步骤。
18.第三方面,本技术提供了一种计算机设备,包括:一个或多个处理器、存储器以及
一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述处理器执行所述计算机程序时实现第一方面所述的双向通信的管控方法的步骤。
19.第四方面,本技术提供了一种双向通信的管控方法,包括:
20.连接客户端配置的探针,建立与探针的grpc双向流式长连接;
21.通过grpc双向流式连接将指令发送到探针;
22.通过grpc双向流式连接获取探针发送的采集数据。
23.第五方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第四方面所述的双向通信的管控方法的步骤。
24.第六方面,本技术提供了一种计算机设备,包括:一个或多个处理器、存储器以及一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述处理器执行所述计算机程序时实现第四方面所述的双向通信的管控方法的步骤。
25.在本技术中,配置的探针,建立与服务端的grpc双向流式长连接,探针会自动连接服务端,保持与服务端的长连接通信,不会引起服务端句柄过多,方便管理探针连接,服务端只需下发指令消息,并等待探针的数据采集。
附图说明
26.图1是本技术一实施例提供的双向通信的管控方法的流程图。
27.图2是本技术一实施例提供的计算机设备的具体结构框图。
28.图3是本技术另一实施例提供的双向通信的管控方法的流程图。
29.图4是本技术另一实施例提供的计算机设备的具体结构框图。
具体实施方式
30.为了使本技术的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
31.为了说明本技术所述的技术方案,下面通过具体实施例来进行说明。
32.请参阅图1,本技术一实施例提供的双向通信的管控方法包括以下步骤:需注意的是,若有实质上相同的结果,本技术的双向通信的管控方法并不以图1所示的流程顺序为限。
33.s101、配置探针;
34.s102、利用探针根据服务端的域名连接服务端,与服务端建立grpc双向流式长连接;
35.s103、通过grpc双向流式连接接收服务端发送的指令;
36.s104、收集数据并将数据通过grpc双向流式连接发送到服务端。
37.在本技术一实施例中,所述通过grpc双向流式连接接收服务器发送的指令之前,还包括:
38.利用注册的消息处理函数,根据接收到的指令执行操作;
39.启动消息接收协程、消息处理协程和消息发送协程,并建立数据读队列和写队列。
40.在本技术一实施例中,所述消息处理函数包括数据通道函数和控制通道函数。
41.在本技术一实施例中,所述通过grpc双向流式连接接收服务端发送的指令具体为:消息接收协程等待接收由grpc双向流式连接的服务端发送的升级、或重启、或回滚的指令,将接收的指令发送到读队列,由信息处理协程对指令进行解包,将head数据进行拆分,利用控制通道处理body数据。
42.在本技术一实施例中,所述收集数据并将数据通过grpc双向流式连接发送到服务端具体为:探针收集客户端数据,利用数据通道将客户端数据封装成msg-data写入写队列,再由grpc双向流式连接发送给服务端。
43.在本技术一实施例中,所述息接收协程、所述消息处理协程和所述消息发送协程的数据是head数据和body数据。
44.head数据是自定义格式,包括通道、消息组、消息内容和消息版本等。
45.在本技术一实施例中,所述body数据是protobuf格式。
46.本技术一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本技术一实施例提供的双向通信的管控方法的步骤。
47.图2示出了本技术一实施例提供的计算机设备的具体结构框图,一种计算机设备100包括:一个或多个处理器101、存储器102、以及一个或多个计算机程序,其中所述处理器101和所述存储器102通过总线连接,所述一个或多个计算机程序被存储在所述存储器102中,并且被配置成由所述一个或多个处理器101执行,所述处理器101执行所述计算机程序时实现如本技术一实施例提供的双向通信的管控方法的步骤。
48.计算机设备包括服务器和终端等。该计算机设备可以是台式计算机、移动终端或车载设备,移动终端包括手机、平板电脑、个人数字助理或可穿戴设备等中的至少一种。
49.在本发明实施例中,配置的探针,建立与服务端的grpc双向流式长连接,探针会自动连接服务端,保持与服务端的长连接通信,不会引起服务端句柄过多,方便管理探针连接,服务端只需下发指令消息,并等待探针的数据采集。
50.请参阅图3,本技术另一实施例提供了一种双向通信的管控方法,包括:
51.s201、连接客户端配置的探针,建立与探针的grpc双向流式长连接;
52.s202、通过grpc双向流式连接将指令发送到探针;
53.s203、通过grpc双向流式连接获取探针发送的采集数据。
54.本技术另一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本技术一实施例提供的双向通信的管控方法的步骤。
55.图4示出了本技术另一实施例提供的计算机设备的具体结构框图,一种计算机设备200包括:一个或多个处理器201、存储器202、以及一个或多个计算机程序,其中所述处理器201和所述存储器202通过总线连接,所述一个或多个计算机程序被存储在所述存储器202中,并且被配置成由所述一个或多个处理器201执行,所述处理器201执行所述计算机程序时实现如本技术一实施例提供的双向通信的管控方法的步骤。
56.计算机设备包括服务器和终端等。该计算机设备可以是台式计算机、移动终端或车载设备,移动终端包括手机、平板电脑、个人数字助理或可穿戴设备等中的至少一种。
57.在本发明实施例中,建立与探针的grpc双向流式长连接,服务端只需下发指令消息,并等待探针的数据采集。
58.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
59.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本技术的保护范围之内。
技术特征:1.一种双向通信的管控方法,其特征在于,包括:配置探针;利用探针根据服务端的域名连接服务端,与服务端建立grpc双向流式长连接;通过grpc双向流式连接接收服务端发送的指令;收集数据并将数据通过grpc双向流式连接发送到服务端。2.如权利要求1所述的管控方法,其特征在于,所述通过grpc双向流式连接接收服务器发送的指令之前,还包括:利用注册的消息处理函数,根据接收到的指令执行操作;启动消息接收协程、消息处理协程和消息发送协程,并建立数据读队列和写队列。3.如权利要求2所述的管控方法,其特征在于,所述消息处理函数包括数据通道和控制通道。4.如权利要求1所述的管控方法,其特征在于,所述通过grpc双向流式连接接收服务端发送的指令具体为:消息接收协程等待接收由grpc双向流式连接的服务端发送的升级、或重启、或回滚的指令,将接收的指令发送到读队列,由信息处理协程对指令进行解包,将head数据进行拆分,利用控制通道处理body数据。5.如权利要求1所述的管控方法,其特征在于,所述收集数据并将数据通过grpc双向流式连接发送到服务端具体为:探针收集客户端数据,利用数据通道将客户端数据封装成msg-data写入写队列,再由grpc双向流式连接发送给服务端。6.如权利要求1所述的管控方法,其特征在于,所述息接收协程、所述消息处理协程和所述消息发送协程的数据是head数据和body数据。7.如权利要求6所述的管控方法,其特征在于,所述body数据是protobuf格式。8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的双向通信的管控方法的步骤。9.一种计算机设备,包括:一个或多个处理器、存储器以及一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的双向通信的管控方法的步骤。10.一种双向通信的管控方法,其特征在于,包括:连接客户端配置的探针,建立与探针的grpc双向流式长连接;通过grpc双向流式连接将指令发送到探针;通过grpc双向流式连接获取探针发送的采集数据。11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求10所述的双向通信的管控方法的步骤。12.一种计算机设备,包括:一个或多个处理器、存储器以及一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,其特征在于,所述处理器执行所述计算机程序时实现如权利要求10所述的双向通信的管控方法的步骤。
技术总结本申请适用于通信领域,提供了一种双向通信的管控方法、计算机可读存储介质及计算机设备,包括:配置探针;利用探针根据服务端的域名连接服务端,与服务端建立grpc双向流式长连接;通过grpc双向流式连接接收服务端发送的指令;收集数据并将数据通过grpc双向流式连接发送到服务端。方便探针的通信和管理。方便探针的通信和管理。方便探针的通信和管理。
技术研发人员:周峤
受保护的技术使用者:深圳依时货拉拉科技有限公司
技术研发日:2022.04.06
技术公布日:2022/7/4