本申请涉及计算机,尤其涉及一种监听方法、装置、介质、产品及设备。
背景技术:
1、在现有技术中,随着操作系统功能的不断增长,系统的复杂度也持续增加,从而在可靠性、安全性等方面也导致了更多的问题。其中,操作系统中通常包括用于为客户端程序提供服务的服务端程序,使得客户端程序在有需要时可以向服务端程序发出请求,服务端程序在处理接收到的请求后对客户端程序进行监听,以使客户端程序能够调用服务端程序中的功能和/或信息。
2、目前,服务端程序对于客户端程序所发送的请求的处理策略可以是让多个客户端程序共享服务端程序上的一个服务线程,这种策略中,该服务线程通过监听多个文件描述符(一个文件描述符代表一个监听目标,所有文件描述符则构成监听集合)的方式来查看和判断其中任何一个是否需要进行i/o操作,但此时,该服务线程就无法同时兼顾感知对应的监听集合其本身的变化(如集合中的数量变化),通常需要先中断对于该i/o操作的感知(例如通过设置定时器来中断),再感知监听集合是否发生变化,从而实现对于监听集合的刷新,但这就导致监听集合刷新的不及时,无法实时调整所需监听的监听目标。
技术实现思路
1、为了解决上述技术问题,本申请实施例提出了一种监听方法、装置、介质、产品及设备。
2、本申请实施例提供了一种监听方法,包括:
3、响应于第一客户端程序发起的针对服务端程序的连接请求,将所述连接请求转换为对应的等效i/o事件,其中,所述等效i/o事件指示与所述连接请求对应的第一监听目标,所述服务端程序与监听集合相关联,所述监听集合用于指示所述服务端程序需要监听的监听目标,所述监听集合至少包括与第二客户端程序对应的第二监听目标;
4、通过所述服务端程序与所述第二客户端程序之间至少基于所述第二监听目标预先建立的通信连接,传输所述等效i/o事件至所述服务端程序;
5、其中,所述服务端程序被配置为响应于所述等效i/o事件,将所述第一监听目标添加到所述监听集合中以刷新所述监听集合。
6、进一步的,所述第一客户端程序、所述第二客户端程序及所述服务端程序均运行于微内核操作系统中。
7、进一步的,所述第一客户端程序及所述第二客户端程序为相同的客户端程序,所述第一监听目标及所述第二监听目标分别对应于所述相同的客户端程序针对所述服务端程序的不同访问需求。
8、进一步的,所述监听集合为所述服务端程序基于分时多路复用服务构建得到的。
9、进一步的,所述等效i/o事件为与所述第二客户端程序经由所述通信连接对所述服务端程序所执行的i/o操作相关的事件。
10、进一步的,所述连接请求用于表征第一参数分析事件及第一参数处理事件,所述等效i/o事件基于多个底层事件构建得到,其中,所述多个底层事件包括:
11、唤醒事件,用于指示与唤醒所述分时多路复用服务的i/o操作相关的事件;
12、由所述第一参数分析事件转换得到的第二参数分析事件;以及,
13、由所述第一参数处理事件转换得到的第二参数处理事件。
14、进一步的,所述唤醒事件基于特殊信号实现,所述特殊信号用于输出至所述服务端程序以直接唤醒所述分时多路复用服务。
15、进一步的,所述第二监听目标为虚拟监听目标,所述虚拟监听目标用于指示所述服务端程序维持自身与所述第二客户端程序之间的所述通信连接,所述第二参数分析事件及所述第二参数处理事件均为与利用所述虚拟监听目标实现的i/o操作相关的事件。
16、本申请实施例还提供了一种监听装置,包括:
17、等效转换模块,用于响应于第一客户端程序发起的针对服务端程序的连接请求,将所述连接请求转换为对应的等效i/o事件,其中,所述等效i/o事件指示与所述连接请求对应的第一监听目标,所述服务端程序与监听集合相关联,所述监听集合用于指示所述服务端程序需要监听的监听目标,所述监听集合至少包括与第二客户端程序对应的第二监听目标;
18、传输模块,用于通过所述服务端程序与所述第二客户端程序之间至少基于所述第二监听目标预先建立的通信连接,传输所述等效i/o事件至所述服务端程序;
19、其中,所述服务端程序被配置为响应于所述等效i/o事件,将所述第一监听目标添加到所述监听集合中以刷新所述监听集合。
20、本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的监听方法的步骤。
21、本申请实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现上述任一项所述的监听方法的步骤。
22、本申请实施例还提供了一种计算机设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的监听方法的步骤。
23、综上,本申请实施例至少具有以下有益效果:
24、采用本申请实施例,通过响应于第一客户端程序发起的针对服务端程序的连接请求,将所述连接请求转换为对应的等效i/o事件,其中,所述等效i/o事件指示与所述连接请求对应的第一监听目标,所述服务端程序与监听集合相关联,所述监听集合用于指示所述服务端程序需要监听的监听目标,所述监听集合至少包括与第二客户端程序对应的第二监听目标;通过所述服务端程序与所述第二客户端程序之间至少基于所述第二监听目标预先建立的通信连接,传输所述等效i/o事件至所述服务端程序;其中,所述服务端程序被配置为响应于所述等效i/o事件,将所述第一监听目标添加到所述监听集合中以刷新所述监听集合,从而可以在第一客户端程序发起连接请求后,将该连接请求转换成能够经由服务端程序与第二客户端程序之间的通信连接传输至服务端程序的等效i/o事件,使得服务端程序能够无需中断对于监听目标的i/o操作的感知也能感知到监听集合的变化,从而可以完成监听集合的实时刷新。
1.一种监听方法,其特征在于,包括:
2.如权利要求1所述的监听方法,其特征在于,所述第一客户端程序、所述第二客户端程序及所述服务端程序均运行于微内核操作系统中。
3.如权利要求1所述的监听方法,其特征在于,所述第一客户端程序及所述第二客户端程序为相同的客户端程序,所述第一监听目标及所述第二监听目标分别对应于所述相同的客户端程序针对所述服务端程序的不同访问需求。
4.如权利要求1-3任一项所述的监听方法,其特征在于,所述监听集合为所述服务端程序基于分时多路复用服务构建得到的。
5.如权利要求4所述的监听方法,其特征在于,所述等效i/o事件为与所述第二客户端程序经由所述通信连接对所述服务端程序所执行的i/o操作相关的事件。
6.如权利要求5所述的监听方法,其特征在于,所述连接请求用于表征第一参数分析事件及第一参数处理事件,所述等效i/o事件基于多个底层事件构建得到,其中,所述多个底层事件包括:
7.如权利要求6所述的监听方法,其特征在于,所述唤醒事件基于特殊信号实现,所述特殊信号用于输出至所述服务端程序以直接唤醒所述分时多路复用服务。
8.如权利要求6所述的监听方法,其特征在于,所述第二监听目标为虚拟监听目标,所述虚拟监听目标用于指示所述服务端程序维持自身与所述第二客户端程序之间的所述通信连接,所述第二参数分析事件及所述第二参数处理事件均为与利用所述虚拟监听目标实现的i/o操作相关的事件。
9.一种监听装置,其特征在于,包括:
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的监听方法。
11.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行时实现权利要求1-8任一项所述的监听方法。
12.一种计算机设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-8任一项所述的监听方法。