CN116668393A - 基于转发协议的消息拦截方法、装置、电子设备及介质 - Google Patents

基于转发协议的消息拦截方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN116668393A
CN116668393A CN202310833788.3A CN202310833788A CN116668393A CN 116668393 A CN116668393 A CN 116668393A CN 202310833788 A CN202310833788 A CN 202310833788A CN 116668393 A CN116668393 A CN 116668393A
Authority
CN
China
Prior art keywords
target
forwarding
protocol
information
structure body
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310833788.3A
Other languages
English (en)
Inventor
郭文超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202310833788.3A priority Critical patent/CN116668393A/zh
Publication of CN116668393A publication Critical patent/CN116668393A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请实施例提供了一种基于转发协议的消息拦截方法、装置、电子设备及介质,属于金融科技技术领域。该方法包括:当检测到首个参会者加入线上会议室,基于预设的钩子函数钩取参会者输入的请求消息;对请求消息进行预处理,得到请求消息对应的原始结构体,其中,原始结构体表征用于执行请求消息的功能集合;将原始结构体与预设的转发标识进行方法交换,得到目标结构体;对转发协议中的系统方法名称进行替换,得到调用协议;基于调用协议对目标结构体进行信息拦截,得到目标转发信息,并将目标转发信息发送给后续其他参会者。本申请实施例能够对指定消息进行拦截,提高服务效率和质量。

Description

基于转发协议的消息拦截方法、装置、电子设备及介质
技术领域
本申请涉及金融科技技术领域,尤其涉及一种基于转发协议的消息拦截方法、装置、电子设备及介质。
背景技术
随着信息技术的发展,居民的很多生活需求都可以通过安装在终端上的软件来解决,小到游戏娱乐大到金融理财,均可通过软件实现。就保险销售的场景来说,传统保险销售都是需要人工去拜访客户、推销产品,耗费大量的人力成本和时间成本,如今,可以通过智能拜访的手段实现代理人和客户的线上沟通,智能拜访通过构建线上会客厅的方法进行沟通。在智能拜访过程中,代理人需要运用丰富的业务知识解答客户咨询。当出现信息咨询量过大的情况,例如,几十个或者几百个客户同时咨询相关的金融产品,常用的方法是对每个会客室场景均配置拦截代码进行信息筛选,增加了智能拜访的复杂度,降低程序的可扩展性,从而降低服务效率和质量。
发明内容
本申请实施例的主要目的在于提出一种基于转发协议的消息拦截方法、装置、电子设备及介质,能够对指定消息进行拦截,提高服务效率和质量。
为实现上述目的,本申请实施例的第一方面提出了一种基于转发协议的消息拦截方法,所述方法包括:
当检测到首个参会者加入线上会议室,基于预设的钩子函数钩取参会者输入的请求消息;
对所述请求消息进行预处理,得到所述请求消息对应的原始结构体,其中,所述原始结构体表征用于执行所述请求消息的功能集合;
将所述原始结构体与预设的转发标识进行方法交换,得到目标结构体;
对所述转发协议中的系统方法名称进行替换,得到调用协议;
基于所述调用协议对所述目标结构体进行信息拦截,得到目标转发信息,并将所述目标转发信息发送给后续其他参会者。
在一些实施例,所述对所述请求消息进行预处理,得到所述请求消息对应的原始结构体,包括:
对所述请求消息进行类别解码,得到所述请求消息的协议类别;
根据所述协议类别确定所述请求消息中的协议列表和方法列表;
对所述协议列表和所述方法列表取交集,得到所述请求消息的原始结构体,从而确定需要转发的对象,实现对特定信息的转发。
在一些实施例,所述将所述原始结构体与预设的转发标识进行方法交换,得到目标结构体,包括:
获取所述原始结构体的原始方法名称以及原始方法地址;
将所述转发标识与所述原始方法名称进行动态拼接,得到目标方法名称;
对所述原始方法地址进行赋值,得到目标标识;
根据所述目标标识以及所述目标方法名称对所述原始方法名称进行方法替换,得到所述目标结构体,通过对原始结构体进行方法交换,确定需要拦截的信息,实现对特定信息的拦截。
在一些实施例,所述对所述转发协议进行替换,得到调用协议,包括:
获取所述转发协议中的系统方法名称;
基于预设的拦截类名对所述系统方法名称进行替换,得到所述调用协议,实现对需要拦截信息的筛选,便于后续进行信息的转发。
在一些实施例,所述基于所述调用协议对所述目标结构体进行信息拦截,得到目标转发信息,包括:
基于所述调用协议对所述目标结构体进行类别识别,得到标识信息;
根据所述标识信息对所述目标结构体进行信息拦截,得到所述目标转发信息,实现对需要拦截的信息的精准识别。
在一些实施例,所述根据所述标识信息对所述目标结构体进行信息拦截,得到所述目标转发信息,包括:
当所述标识信息携带所述目标标识,确定与所述目标标识对应的目标方法名称,根据所述目标方法名称确定所述目标转发信息;
当所述标识信息未携带所述目标标识,确定与所述转发标识对应的原始方法名称,对与所述原始方法名称对应的信息进行消息拦截,实现对信息的拦截。
在一些实施例,还包括:
对所述转发协议的替换次数进行计数管理,得到钩取次数;
在所述将所述目标转发信息发送给后续其他参会者之后,还包括:
当确定目标参会者通过所述目标转发信息加入线上会议室,对所述钩取次数加一;
当确定目标参会者将所述目标转发信息发送至后续其他参会者,对所述钩取次数减一;
当确定所述钩取次数为零,对所述调用协议中的拦截类名进行类名恢复,得到所述转发协议,便于后续对目标转发信息的转发,对方法交换次数进行记录,避免出现线上会议室其他场景调用失败的情况。
为实现上述目的,本申请实施例的第二方面提出了一种基于转发协议的消息拦截装置,所述装置包括:
消息钩取模块,用于当检测到参会者加入线上会议室,基于预设的钩子函数钩取参会者输入的请求消息;
消息处理模块,用于对所述请求消息进行预处理,得到所述请求消息对应的原始结构体,其中,所述原始结构体表征用于执行所述请求消息的功能集合;
方法交换模块,用于将所述原始结构体与预设的转发标识进行方法交换,得到目标结构体;
协议替换模块,用于对所述转发协议进行替换,得到调用协议;
信息拦截模块,用于基于所述调用协议对所述目标结构体进行信息拦截,得到目标转发信息,并将所述目标转发信息发送给后续其他参会者。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的基于转发协议的消息拦截方法。
为实现上述目的,本申请实施例的第四方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的基于转发协议的消息拦截方法。
本申请提出的基于转发协议的消息拦截方法、装置、电子设备及存储介质,首先,当检测到首个参会者加入线上会议室后,基于预设的钩子函数沟渠参会者输入的请求消息,并对请求消息进行预处理,以得到用于执行请求消息的原始结构体,便于后续进行信息的拦截,从而能够确定需要处理的原始结构体中的方法,之后,将原始结构体与预设的转发标识进行方法交换,得到目标结构体,实现对要拦截的结构体的确定,再将转发协议中的系统方法名称进行替换,得到调用协议,便于后续进行信息拦截,最后,基于调用协议对目标结构体进行信息拦截,得到目标转发信息,从而能够对指定消息进行拦截,提高服务效率和质量,并将目标转发信息发送给后续其他参会者,完成线上会议室消息的转发。
附图说明
图1是本申请实施例提供的基于转发协议的消息拦截方法的流程图;
图2是图1中的步骤S102的流程图;
图3是图1中的步骤S103的流程图;
图4是图1中的步骤S104的流程图;
图5是图1中的步骤S105的流程图;
图6是图5中的步骤S502的流程图;
图7是本申请另一实施例提供的基于转发协议的消息拦截方法的流程图;
图8是本申请实施例提供的基于转发协议的消息拦截装置的结构示意图;
图9是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请中涉及的若干名词进行解析:
自然语言处理(natural language processing,NLP):NLP用计算机来处理、理解以及运用人类语言(如中文、英文等),NLP属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。自然语言处理包括语法分析、语义分析、篇章理解等。自然语言处理常用于机器翻译、手写体和印刷体字符识别、语音识别及文语转换、信息意图识别、信息抽取与过滤、文本分类与聚类、舆情分析和观点挖掘等技术领域,它涉及与语言处理相关的数据挖掘、机器学习、知识获取、知识工程、人工智能研究和与语言计算相关的语言学研究等。
钩子函数(Hook Function):钩子函数是Windows消息处理机制的一部分,通过设置“钩子”,应用程序可以在系统级对所有消息、事件进行过滤,访问在正常情况下无法访问的消息。钩子的本质是一段用以处理系统消息的程序,通过系统调用,把它挂入系统。
解码(Decoding):解码是一种用特定方法,把数码还原成它所代表的内容或将电脉冲信号、光信号、无线电波等转换成它所代表的信息、数据等的过程。解码是受传者将接受到的符号或代码还原为信息的过程,与编码过程相对应。
父类(Super Class):在软件术语中,被继承的类一般称为“超类”,也有叫做父类。是继承中非常重要的概念,它和子类一起形象地描述了继承的层次关系。面向对象方法开发出的软件具有较强的可重用性,重用依存于超类设计,没有超类的对象系统不能物尽其用。超类设计的好与不好,首先看其内部重用率的高低,内部重用率高,必然外部重用率也高。
基于此,本申请实施例提供了一种基于转发协议的消息拦截方法和装置、电子设备及存储介质,能够对指定消息进行拦截,提高服务效率和质量。
本申请实施例提供的基于转发协议的消息拦截方法和装置、电子设备及存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的基于转发协议的消息拦截方法。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、基于转发协议的消息拦截技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的基于转发协议的消息拦截方法,涉及数据处理技术领域。本申请实施例提供的基于转发协议的消息拦截方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现基于转发协议的消息拦截方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关国家和地区的相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的用户相关数据。
随着信息技术的发展,居民的很多生活需求都可以通过安装在终端上的软件来解决,小到游戏娱乐大到金融理财,均可通过软件实现。就保险销售的场景来说,传统保险销售都是需要人工去拜访客户、推销产品,耗费大量的人力成本和时间成本,如今,可以通过智能拜访的手段实现代理人和客户的线上沟通,智能拜访通过构建线上会客厅的方法进行沟通。在智能拜访过程中,代理人需要运用丰富的业务知识解答客户咨询。当出现信息咨询量过大的情况,例如,几十个或者几百个客户同时咨询相关的金融产品,常用的方法是对每个会客室场景均配置拦截代码进行信息筛选,增加了智能拜访的复杂度,降低程序的可扩展性,从而降低服务效率和质量。
针对上述问题,本实施例提供了一种基于转发协议的消息拦截方法,具体包括如下步骤:
图1是本申请实施例提供的基于转发协议的消息拦截方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S101至步骤S105。
步骤S101,当检测到首个参会者加入线上会议室,基于预设的钩子函数钩取参会者输入的请求消息;
需要说明的是,线上会议室为代理人预构建的会议室,代理人可以在线上会议室中进行保险展业、医疗展业、或者产品说明等,例如,保险产品介绍、保险产品推销等,再构建好线上会议室后,将线上会议室发送至客户,使得客户通过线上会议室参会,本实施例不做具体限制。
在一些实施例的步骤S101中,当检测到首个参会者加入线上会议室,基于预设的钩子函数钩取参会者输入的请求消息,从而便于后续调用与请求消息对应的原始结构体。
需要说明的是,钩子函数为预设的HOOK函数,钩子函数还可以实时对参会者输入的请求消息进行监听。
步骤S102,对请求消息进行预处理,得到请求消息对应的原始结构体;
需要说明的是,原始结构体表征用于执行请求消息的功能集合。
在一些实施例的步骤S102中,对请求消息进行预处理,从而能够确定请求消息的具体类别,能够准确得到与请求消息对应的原始结构体,实现对原始结构体的调用。
可以理解的是,原始结构体包括用于调用请求消息的方法和类名。
步骤S103,将原始结构体与预设的转发标识进行方法交换,得到目标结构体;
在一些实施例的步骤S103中,将原始结构体与预设的转发标识进行方法交换,得到目标结构体,从而实现对特定消息的转发,让请求信息中所有未实现的方法被拦截,确保在调用目标结构体的过程中,转发特定的信息并且拦截未实现的信息。
需要说明的是,未实现的信息为在原始结构体中没有被赋值为空的信息。
步骤S104,对转发协议中的系统方法名称进行替换,得到调用协议;
需要说明的是,转发协议中包括多个用于转发的父类方法以及系统方法。
在一些实施例的步骤S104中,对转发协议中的系统方法名称进行替换,得到调用协议,从而能够通过调用协议实现对特定信息的拦截,无需针对不同请求信息配置多个调用协议,降低线上会议室配置的复杂度。
可以理解的是,父类方法为保险展业场景下通用的措施,适用于各种类型的系统和应用,例如,访问控制、加密技术、安全审计等等;系统方法是针对特定的金融系统或应用,根据其具体业务特点和安全需求而制定的应对措施,例如,交易风控、实名认证、代码审计等等。
步骤S105,基于调用协议对目标结构体进行信息拦截,得到目标转发信息,并将目标转发信息发送给后续其他参会者。
需要说明的是,目标结构体中包括需要进行转发的信息以及需要进行拦截的信息,其中,需要进行转发的信息为已经实现的方法,需要进行拦截的信息为未实现的方法。
在一些实施例的步骤S105中,基于调用协议对目标结构体中未实现的方法进行信息拦截,从而得到目标转发信息,并将目标转发信息发送给后续其他参会者,从而实现对拦截后的信息的转发。
需要说明的是,后续其他参会者为代理人意向邀请参会的其他客户。
本申请实施例所示意的步骤S101至步骤S105,首先,当检测到首个参会者加入线上会议室后,基于预设的钩子函数沟渠参会者输入的请求消息,并对请求消息进行预处理,以得到用于执行请求消息的原始结构体,便于后续进行信息的拦截,从而能够确定需要处理的原始结构体中的方法,之后,将原始结构体与预设的转发标识进行方法交换,得到目标结构体,实现对要拦截的结构体的确定,再将转发协议中的系统方法名称进行替换,得到调用协议,便于后续进行信息拦截,最后,基于调用协议对目标结构体进行信息拦截,得到目标转发信息,从而能够对指定消息进行拦截,提高服务效率和质量,并将目标转发信息发送给后续其他参会者,完成线上会议室消息的转发。
请参阅图2,在一些实施例中,步骤S102可以包括但不限于包括步骤S201至步骤S203:
步骤S201,对请求消息进行类别解码,得到请求消息的协议类别;
在一些实施例的步骤S201中,对请求消息进行类别解码,从而能够判断请求消息的类别,并根据请求消息的类别确定请求消息的协议类别,便于后续对请求消息中部分信息的拦截,能够根据请求消息的协议类别判断需要调用的类别。
步骤S202,根据协议类别确定请求消息中的协议列表和方法列表;
在一些实施例的步骤S202中,根据协议类别对请求消息进行读取,得到请求消息中的协议列表和方法列表,便于后续确定原始结构体。
步骤S203,对协议列表和方法列表取交集,得到请求消息的原始结构体。
在一些实施例的步骤S203中,对协议列表和方法列表取交集,得到请求消息的原始结构体,从而能够根据原始结构体确定需要处理的方法,作为后面流程的原始方法,实现对信息的拦截。
需要说明的是,在进行信息拦截之前,需要先确定原始结构体,首先对请求消息进行类别解码,得到请求消息的协议类别,记为Protocol,之后再读取请求消息中的协议列表,记为[self getMethodList:self.hookClass],以及方法列表,记为[selfgetMethodListInProtocols:self.protocols],最后对协议列表和方法列表求交集,得到请求消息的原始结构体,记为[methodSet intersectSet:methodSetInProtocols],便于后续能够对指定的消息进行拦截。
请参阅图3,在一些实施例中,步骤S103可以包括但不限于包括步骤S301至步骤S304:
步骤S301,获取原始结构体的原始方法名称以及原始方法地址;
需要说明的是,原始结构体中包括原始方法,其中原始方法包括原始方法类名、原始方法名称以及原始方法地址等,本实施例不做具体限制。
在一些实施例的步骤S301中,获取原始结构体的原始方法名称以及原始方法地址,便于后续得到目标结构体。
步骤S302,将转发标识与原始方法名称进行动态拼接,得到目标方法名称;
在一些实施例的步骤S302中,将转发标识与原始方法名称进行动态拼接,即,将转发标识动态拼接到原始方法名称前面,从而得到目标方法名称,避免与线上会议室的其他程序或者方法名称冲突。
可以理解的是,例如,线上会议室进行两个保险会议,一个为“如何选取养老保险”、另一个为“车险的理赔方式”,在将相关的保险会议发送至参与者之前,需要将两个保险会议的转发标识与原始方法名称进行动态拼接,从而进行区分,避免出现转发错误等情况。
步骤S303,对原始方法地址进行赋值,得到目标标识;
在一些实施例的步骤S303中,对原始方法地址进行赋值操作,得到目标标识,本实施例中为对原始方法地址进行赋空值操作,即将原始方法地址赋值为NULL,从而能够将方法的实现设置为空,从而能够将请求信息转发给其他更多的参会者,并且让未被实现的方法被拦截,便于后续进行信息的拦截操作。
步骤S304,根据目标标识以及目标方法名称对原始方法名称进行方法替换,得到目标结构体。
在一些实施例的步骤S304中,将目标标识存储至原始结构体中,并根据目标方法名称对原始结构体中的原始方法名称进行方法替换,从而得到携带目标标识的目标结构体,便于后续进行信息拦截,避免出现方法名称冲突的现象。
在本申请实施例所示意的步骤S301至步骤S304中,在将原始结构体与预设的转发标识进行方法交换,得到目标结构体的过程中,需要先获取原始结构体的原始方法名称以及原始方法地址,其中,原始结构体中的原始方法名称可以根据代理人的需求自行配置,之后将预设的转发标识与原始方法名称进行动态拼接,得到目标方法名称,避免与线上会议室的其他进程冲突,再对原始方法地址进行赋值,得到目标标识,实现对请求消息的转发,从而让所有未实现的方法都可以被拦截,最后将目标标识存储至原始结构体中,并根据目标方法名称对原始结构体中的原始方法名称进行方法替换,从而得到携带目标标识的目标结构体,实现对原始结构体的替换,确保在调用目标结构体时,实现对请求信息的转发。
请参阅图4,在一些实施例中,步骤S104可以包括但不限于包括步骤S401至步骤S402:
步骤S401,获取转发协议中的系统方法名称;
步骤S402,基于预设的拦截类名对系统方法名称进行替换,得到调用协议。
在本申请实施例所示意的步骤S401至步骤S402中,在对转发协议中的系统方法名称进行名称替换的过程中,由于转发协议的结构体中存储的父类方法不能直接被交换,所以需要获取转发协议中的系统方法名称,其中,系统方法名称可以根据代理人的需求自行设置,例如,系统方法名称设定为forwardInvocation、abforwardInvocation、xyforwardInvocation等等,使用预设的拦截类名对系统方法名称进行名称替换,从而得到调用协议,实现对转发协议中方法名称的交换,能够针对特定的消息进行拦截。
需要说明的是,拦截类名可以根据代理人的需求自行设定,例如,设定为protocol_hook_forwardInvocation、xy_protocol_hook_forwardInvocation等等,本实施例不做具体限制。
值得注意的是,设置ForwardInvocation为转发协议中的父类方法,并且设置forwardInvocation为转发协议中的系统方法名称,表示为methodName:forwardInvocation,设置protocol_hook_forwardInvocation为预设的拦截类名,表示为methodImplementation:protocol_hook_forwardInvocation,则进行名称替换的过程中,需要用预设的拦截类名对系统方法名称进行替换,并且在替换过程中需要获取拦截类名的签名,便于替换过程中的识别,表示为methodTypeEncoding:protocol_hook_forwardInvocation,从而实现转发协议的重写,便于后续对拦截对象的识别。
请参阅图5,在一些实施例中,步骤S105还可以包括但不限于包括步骤S501至步骤S502:
步骤S501,基于调用协议对目标结构体进行类别识别,得到标识信息;
在一些实施例的步骤S501中,基于调用协议对目标结构体进行类别识别,从而确定目标结构体中信息的信息类别,并根据信息类别确定目标结构体的标识信息,便于确定是否对目标结构体中的信息进行拦截。
步骤S502,根据标识信息对目标结构体进行信息拦截,得到目标转发信息。
需要说明的是,目标结构体中包括已经实现的方法,即,需要进行转发的信息,以及未实现的方法,即,需要进行拦截的信息。
在一些实施例的步骤S502中,根据标识信息确定目标结构体中需要拦截的信息,并对该信息进行信息拦截,从而得到目标转发信息,再将目标转发信息发送给后续其他参会人,从而实现对指定信息的拦截和转发。
请参阅图6,在一些实施例,步骤S502包括但不限于包括步骤S601至步骤S602:
步骤S601,当标识信息携带目标标识,确定与目标标识对应的目标方法名称,根据目标方法名称确定目标转发信息;
在一些实施例的步骤S601中,当标识信息携带步骤S303中的目标标识,则可以确定与目标标识对应的目标方法名称,再直接根据目标方法名称确定目标转发信息,其中,目标转发信息为请求信息中需要进行转发的信息,从而实现对特定信息的转发。
步骤S602,当标识信息未携带目标标识,确定与转发标识对应的原始方法名称,对与原始方法名称对应的信息进行消息拦截。
在一些实施例的步骤S602中,当标识信息未携带目标标识,则需要对与标识信息对应的信息进行拦截,此时需要确定与步骤S302中转发标识对应的原始方法名称,对与原始方法名称对应的信息进行消息拦截,从而实现采用同一调用协议对特定信息的拦截。
需要说明的是,在对与原始方法名称对应的信息进行消息拦截之后,需要对目标结构体中的方法对象进行释放,便于后续对目标结构体的调用。
图7是本申请另一实施例提供的基于转发协议的消息拦截方法的流程图,图7中的方法可以包括但不限于包括步骤S701至步骤S703。
需要说明的是,本实施例中还需要对转发协议的替换次数进行计数管理,得到钩取次数;
在一些实施例中,对转发协议的替换次数进行计数管理,得到钩取次数,从而能够通过钩取次数判断消息拦截是否成功,以及进行了多少次方法交换等情况,实现对消息拦截方法的实时监控。
值得注意的是,在检测到首个参会者加入线上会议室后,需要对参会者的请求信息进行钩取,并进行后续的方法交换操作,此时钩取次数记为1,在进行信息拦截,并且发送给后续其他参会者之后,对目标结构体中的方法类进行释放,此时钩取次数减一。
需要说明的是,步骤S701至步骤S703发生在将目标转发信息发送给后续其他参会者之后。
步骤S701,当确定目标参会者通过目标转发信息加入线上会议室,对钩取次数加一;
在一些实施例的步骤S701中,当确定目标参会者通过目标转发信息加入线上会议室,则需要对目标参会者的请求信息进行钩取,之后再进行新一轮的方法交换操作,此时需要对钩取次数加一,从而实现对发生方法交换操作的记录。
步骤S702,当确定目标参会者将目标转发信息发送至后续其他参会者,对钩取次数减一;
在一些实施例的步骤S702中,当确定目标参会者将目标转发信息发送至后续其他参会者,则说明已经完成信息拦截操作,结构体中的对象被释放,此时需要对钩取次数减一。
步骤S703,当确定钩取次数为零,对调用协议中的拦截类名进行类名恢复,得到转发协议。
在一些实施例的步骤S703中,当确定钩取次数为零,则需要对调用协议中的拦截类名进行类名恢复,恢复类的方法,从而得到转发协议,确保在每次进行信息拦截的过程中,都可以进行方法交换,并且在信息拦截之后,保证类的方法的恢复。
需要说明的是,在对调用协议中的拦截类名进行类名恢复的过程中,需要在原始结构体中再次进行方法交换,并在目标结构体中进行拦截类名和系统方法名称的交换,避免在线上会议室的其他场景中可能会导致方法调用失败,从而导致异常。
请参阅图8,本申请实施例还提供一种基于转发协议的消息拦截装置,可以实现上述基于转发协议的消息拦截方法,该装置包括:
消息钩取模块801,用于当检测到参会者加入线上会议室,基于预设的钩子函数钩取参会者输入的请求消息;
消息处理模块802,用于对请求消息进行预处理,得到请求消息对应的原始结构体,其中,原始结构体表征用于执行所述请求消息的功能集合;
方法交换模块803,用于将原始结构体与预设的转发标识进行方法交换,得到目标结构体;
协议替换模块804,用于对转发协议进行替换,得到调用协议;
信息拦截模块805,用于基于调用协议对目标结构体进行信息拦截,得到目标转发信息,并将目标转发信息发送给后续其他参会者。
该基于转发协议的消息拦截装置的具体实施方式与上述基于转发协议的消息拦截方法的具体实施例基本相同,在此不再赘述。
本申请实施例还提供了一种电子设备,电子设备包括:存储器、处理器、存储在存储器上并可在处理器上运行的程序以及用于实现处理器和存储器之间的连接通信的数据总线,程序被处理器执行时实现上述基于转发协议的消息拦截方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
请参阅图9,图9示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器901,可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application SpecificIntegrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器902,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行本申请实施例的基于转发协议的消息拦截方法;
输入/输出接口903,用于实现信息输入及输出;
通信接口904,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线905,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息;
其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述基于转发协议的消息拦截方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的基于转发协议的消息拦截方法、装置、电子设备及存储介质,首先,当检测到首个参会者加入线上会议室后,基于预设的钩子函数沟渠参会者输入的请求消息,并对请求消息进行预处理,以得到用于执行请求消息的原始结构体,便于后续进行信息的拦截,从而能够确定需要处理的原始结构体中的方法,之后,将原始结构体与预设的转发标识进行方法交换,得到目标结构体,实现对要拦截的结构体的确定,再将转发协议中的系统方法名称进行替换,得到调用协议,便于后续进行信息拦截,最后,基于调用协议对目标结构体进行信息拦截,得到目标转发信息,从而能够对指定消息进行拦截,提高服务效率和质量,并将目标转发信息发送给后续其他参会者,完成线上会议室消息的转发。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1-7中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。

Claims (10)

1.一种基于转发协议的消息拦截方法,其特征在于,所述方法包括:
当检测到首个参会者加入线上会议室,基于预设的钩子函数钩取参会者输入的请求消息;
对所述请求消息进行预处理,得到所述请求消息对应的原始结构体,其中,所述原始结构体表征用于执行所述请求消息的功能集合;
将所述原始结构体与预设的转发标识进行方法交换,得到目标结构体;
对转发协议中的系统方法名称进行替换,得到调用协议;
基于所述调用协议对所述目标结构体进行信息拦截,得到目标转发信息,并将所述目标转发信息发送给后续其他参会者。
2.根据权利要求1所述的基于转发协议的消息拦截方法,其特征在于,所述对所述请求消息进行预处理,得到所述请求消息对应的原始结构体,包括:
对所述请求消息进行类别解码,得到所述请求消息的协议类别;
根据所述协议类别确定所述请求消息中的协议列表和方法列表;
对所述协议列表和所述方法列表取交集,得到所述请求消息的原始结构体。
3.根据权利要求1所述的基于转发协议的消息拦截方法,其特征在于,所述将所述原始结构体与预设的转发标识进行方法交换,得到目标结构体,包括:
获取所述原始结构体的原始方法名称以及原始方法地址;
将所述转发标识与所述原始方法名称进行动态拼接,得到目标方法名称;
对所述原始方法地址进行赋值,得到目标标识;
根据所述目标标识以及所述目标方法名称对所述原始方法名称进行方法替换,得到所述目标结构体。
4.根据权利要求1所述的基于转发协议的消息拦截方法,其特征在于,所述对所述转发协议进行替换,得到调用协议,包括:
获取所述转发协议中的系统方法名称;
基于预设的拦截类名对所述系统方法名称进行替换,得到所述调用协议。
5.根据权利要求3所述的基于转发协议的消息拦截方法,其特征在于,所述基于所述调用协议对所述目标结构体进行信息拦截,得到目标转发信息,包括:
基于所述调用协议对所述目标结构体进行类别识别,得到标识信息;
根据所述标识信息对所述目标结构体进行信息拦截,得到所述目标转发信息。
6.根据权利要求5所述的基于转发协议的消息拦截方法,其特征在于,所述根据所述标识信息对所述目标结构体进行信息拦截,得到所述目标转发信息,包括:
当所述标识信息携带所述目标标识,确定与所述目标标识对应的目标方法名称,根据所述目标方法名称确定所述目标转发信息;
当所述标识信息未携带所述目标标识,确定与所述转发标识对应的原始方法名称,对与所述原始方法名称对应的信息进行消息拦截。
7.根据权利要求4所述的基于转发协议的消息拦截方法,其特征在于,还包括:
对所述转发协议的替换次数进行计数管理,得到钩取次数;
在所述将所述目标转发信息发送给后续其他参会者之后,还包括:
当确定目标参会者通过所述目标转发信息加入线上会议室,对所述钩取次数加一;
当确定目标参会者将所述目标转发信息发送至后续其他参会者,对所述钩取次数减一;
当确定所述钩取次数为零,对所述调用协议中的拦截类名进行类名恢复,得到所述转发协议。
8.一种基于转发协议的消息拦截装置,其特征在于,所述装置包括:
消息钩取模块,用于当检测到首个参会者加入线上会议室,基于预设的钩子函数钩取参会者输入的请求消息;
消息处理模块,用于对所述请求消息进行预处理,得到所述请求消息对应的原始结构体,其中,所述原始结构体表征用于执行所述请求消息的功能集合;
方法交换模块,用于将所述原始结构体与预设的转发标识进行方法交换,得到目标结构体;
协议替换模块,用于对所述转发协议进行替换,得到调用协议;
信息拦截模块,用于基于所述调用协议对所述目标结构体进行信息拦截,得到目标转发信息,并将所述目标转发信息发送给后续其他参会者。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的基于转发协议的消息拦截方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的基于转发协议的消息拦截方法。
CN202310833788.3A 2023-07-07 2023-07-07 基于转发协议的消息拦截方法、装置、电子设备及介质 Pending CN116668393A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310833788.3A CN116668393A (zh) 2023-07-07 2023-07-07 基于转发协议的消息拦截方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310833788.3A CN116668393A (zh) 2023-07-07 2023-07-07 基于转发协议的消息拦截方法、装置、电子设备及介质

Publications (1)

Publication Number Publication Date
CN116668393A true CN116668393A (zh) 2023-08-29

Family

ID=87722504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310833788.3A Pending CN116668393A (zh) 2023-07-07 2023-07-07 基于转发协议的消息拦截方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN116668393A (zh)

Similar Documents

Publication Publication Date Title
CN110048879B (zh) 微服务注册方法、装置、电子设备和计算机可读存储介质
CN114528044B (zh) 一种接口调用方法、装置、设备及介质
CN111240940B (zh) 实时业务监控方法、装置、电子设备、存储介质
CN109753419A (zh) 一种非侵入式监控android系统的所有应用的异常日志信息的方法及装置
CN111126071B (zh) 提问文本数据的确定方法、装置和客服群的数据处理方法
CN110969417A (zh) 政务事项同步方法、装置、系统、计算机设备和存储介质
CN115563600A (zh) 数据审核方法和装置、电子设备及存储介质
CN112313627A (zh) 事件到无服务器函数工作流实例的映射机制
CN116069838A (zh) 一种数据处理方法、装置、计算机设备及存储介质
CN116700907B (zh) 服务调用需求文档存储方法、装置、电子设备和可读介质
CN117951341A (zh) 基于区块链的业务处理方法、装置、设备、介质及产品
CN116346660A (zh) 基于依赖替换服务的数据处理方法、装置、设备及介质
CN115052003B (zh) 数据同步方法、相关装置和介质
CN103326892B (zh) Web接口的操作方法及装置
CN114298699B (zh) 非同质化通证的生成方法、获取方法及装置
CN116668393A (zh) 基于转发协议的消息拦截方法、装置、电子设备及介质
CN112100187A (zh) 一种基于VueJS的学生学习数据存储方法及装置
CN111552907A (zh) 消息处理方法、装置、设备和存储介质
CN116862679B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN112433821B (zh) 业务模型的搭建方法、装置、电子设备及介质
CN115604000B (zh) 一种越权检测方法、装置、设备及存储介质
CN107609008A (zh) 一种基于Apache Sqoop的从关系型数据库到Kafka的数据导入装置及方法
US20230198924A1 (en) Message capture in a multi channel communication environment
CN117614705A (zh) 攻击链路的展示方法和装置、计算机设备及存储介质
CN116760828A (zh) 多服务器的通信连接方法、系统、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination