1.本发明涉及互联网通信技术领域,尤其是涉及一种通信方法、通信装置、电子设备及介质。
背景技术:
2.随着微服务的快速发展,针对微服务通信的方式和
协议也有很多成熟的方案,同时也在不断的更新迭代。一般来说,一套微服务集中只使用一套通信协议进行通信,但是由于技术升级迭代、不同业务整合,导致需要打通使用不同协议的不同集之间的通信,这样就会出现新的集中的服务需要支持多套通信协议的问题。目前,常规的微服务支持多协议通信的方法包括:(1)在原有的服务上进行硬编码修改,添加新的协议的支撑,但是,不同通信协议兼容,复杂度高,学习成本高,同时原有的服务都需要进行改造,改造成本高,工作量大。(2)添加一个代理服务,代理服务支持新的服务协议,并将请求转发原有服务进行处理,但是,这种方法使通信链路增长,增加了通信时延和维护成本,同时,代理服务需要同时支持多个协议,不同通信协议兼容,复杂度高。综上,现有的微服务支持多协议通信的方法开发成本高、效率低,且会导致微服务系统的复杂度高。
技术实现要素:
3.有鉴于此,本发明的目的在于提供一种通信方法、通信装置、电子设备及介质,以降低了开发成本,提高了开发效率,同时降低了微服务系统的复杂度。
4.为了实现上述目的,本发明实施例采用的技术方案如下:
5.第一方面,本发明实施例提供了一种通信方法,该方法应用于服务提供端,服务提供端设置有javaagent组件,javaagent组件用于动态修改服务提供端支持的多种协议
类型;该方法包括:接收服务消费端发送的请求
数据包;基于请求数据包的包头确定目标协议类型,并基于目标协议类型对请求数据包进行反序列化操作,得到请求参数;将请求参数进行处理得到处理结果,并将处理结果进行序列化操作后返回至服务消费端。
6.在一种实施方式中,基于目标协议类型对请求数据包进行反序列化操作,得到请求参数之后,该方法还包括:对请求参数添加目标协议类型对应的协议类型标记。
7.在一种实施方式中,处理结果中包括协议类型标记;将处理结果进行序列化操作后返回至服务消费端,包括:读取处理结果中的协议类型标记;基于协议类型标记确定封包方式,并基于封包方式对处理结果进行序列化操作,得到处理结果数据包;将处理结果数据包返回至服务消费端。
8.在一种实施方式中,接收服务消费端发送的请求数据包之前,该方法还包括:读取服务提供端的配置信息;其中,配置信息包括:多种协议类型和注册中心的配置信息;基于配置信息确定javaagent组件的代理数据包,并将代理数据包存储至服务器的预设目录下。
9.在一种实施方式中,接收服务消费端发送的请求数据包之前,该方法还包括:向注册中心发送服务提供端提供的服务元数据,以向服务消费端提供服务信息。
10.第二方面,本发明实施例提供了一种通信装置,装置应用于服务提供端,服务提供端设置有javaagent组件,javaagent组件用于动态修改服务提供端支持的多种协议类型;该装置包括:数据获取模块,用于接收服务消费端发送的请求数据包;拆包模块,用于基于请求数据包的包头确定目标协议类型,并基于目标协议类型对请求数据包进行反序列化操作,得到请求参数;封包模块,用于将请求参数进行处理得到处理结果,并将处理结果进行序列化操作后返回至服务消费端。
11.在一种实施方式中,该装置还包括:标记模块,用于对请求参数添加目标协议类型对应的协议类型标记。
12.在一种实施方式中,处理结果中包括协议类型标记;封包模块还用于:读取处理结果中的协议类型标记;基于协议类型标记确定封包方式,并基于封包方式对处理结果进行序列化操作,得到处理结果数据包;将处理结果数据包返回至服务消费端。
13.第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面提供的任一项的方法的步骤。
14.第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述第一方面提供的任一项的方法的步骤。
15.本发明实施例带来了以下有益效果:
16.本发明实施例提供的上述通信方法、通信装置、电子设备及介质,该方法应用于服务提供端,服务提供端设置有javaagent组件,javaagent组件用于动态修改服务提供端支持的多种协议类型;服务提供端接收服务消费端发送的请求数据包;然后,基于请求数据包的包头确定目标协议类型,并基于目标协议类型对请求数据包进行反序列化操作,得到请求参数;最后,将请求参数进行处理得到处理结果,并将处理结果进行序列化操作后返回至服务消费端。上述方法通过javaagent组件,能够零入侵原微服务工程代码,动态修改服务提供端支持的协议类型,从而能够降低对原微服务的改造,降低了开放成本,提高了开发效率;在通信过程中,服务提供端可以根据服务消费端发送的请求数据包的包头确定目标协议类型,并基于目标协议类型实现与服务消费端的通信,从而能够实现不同协议的不同集之间的通信;同时,上述方法无需增加新的代理服务,降低了微服务系统的复杂度。
17.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
18.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
19.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1为本发明实施例提供的一种通信方法的流程图;
21.图2为本发明实施例提供的一种基于javaagent进行多协议自适应通信的示意图;
22.图3为本发明实施例提供的一种通信装置的结构示意图;
23.图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
24.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.常规的微服务支持多协议通信的方法包括:(1)在原有的服务上进行硬编码修改,添加新的协议的支撑,但是,不同通信协议兼容,复杂度高,学习成本高,同时原有的服务都需要进行改造,改造成本高,工作量大。(2)添加一个代理服务,代理服务支持新的服务协议,并将请求转发原有服务进行处理,但是,这种方法使通信链路增长,增加了通信时延和维护成本,同时,代理服务需要同时支持多个协议,不同通信协议兼容,复杂度高。综上,现有的微服务支持多协议通信的方法开发成本高、效率低,且会导致微服务系统的复杂度高。
26.基于此,本发明实施例提供的一种通信方法、通信装置、电子设备及介质,可以降低开发成本,提高开发效率,同时降低微服务系统的复杂度。
27.为便于对本实施例进行理解,首先对本发明实施例所公开的一种通信方法进行详细介绍,该方法可以由电子设备执行,诸如智能手机、电脑、平板电脑等。该方法应用于服务提供端,服务提供端设置有javaagent组件,javaagent组件用于动态修改服务提供端支持的多种协议类型。具体的,javaagent是在jdk1.5引入的一种可以动态修改java字节码的技术。java类编译之后形成字节码被java虚拟机(javavirtualmachine,jvm)执行,在jvm执行这些字节码之前获取字节码信息,并且通过字节码转换器对这些字节码进行修改,来完成一些额外的功能。基于此,本发明实施例中可以在服务提供端创建javaagent项目,来实现自动适配新微服务通信协议的功能。
28.参见图1所示的一种通信方法的流程图,示意出该方法主要包括以下步骤s101至步骤s103:
29.步骤s101:接收服务消费端发送的请求数据包。
30.在一种实施方式中,服务提供端可以向注册中心注册,并将服务提供端提供的服务元数据提供给注册中心,以向服务消费端提供服务信息;服务消费端可以向注册中心订阅需要的服务信息,注册中心会在服务提供端变更服务元数据的时候通知服务消费端更新服务元数据。服务消费端解析服务元数据并使用相关的通信协议与服务提供端进行通信,具体的,服务消费端先组装请求参数,并根据通信协议要求对请求参数进行序列化编码操作(也即封包操作),得到请求数据包,然后,根据服务元数据中的ip地址、端口等信息,将请求数据包按照传输控制协议(transmission control protocol,tcp)发送到服务消费端。
31.步骤s102:基于请求数据包的包头确定目标协议类型,并基于目标协议类型对请求数据包进行反序列化操作,得到请求参数。
32.在一种实施方式中,服务消费端接收到请求数据包之后,可以通过请求数据包的
包头判断协议类型,确定服务消费端使用的通信协议,即确定目标协议类型;然后,根据不同的目标协议类型,采用不同的拆包方法,对请求数据包进行反序列化操作,得到服务消费端的请求参数。
33.步骤s103:将请求参数进行处理得到处理结果,并将处理结果进行序列化操作后返回至服务消费端。
34.在一种实施方式中,服务消费端可以将反序列化操作得到的请求参数发送给对应接口方法进行处理,并获得处理结果;然后,根据目标协议类型对应的封包方法,对处理结果进行序列化操作后,将处理结果返回至服务消费端。
35.本发明实施例提供的上述通信方法,通过javaagent组件,能够零入侵原微服务工程代码,动态修改服务提供端支持的协议类型,从而能够降低对原微服务的改造,降低了开放成本,提高了开发效率;在通信过程中,服务提供端可以根据服务消费端发送的请求数据包的包头确定目标协议类型,并基于目标协议类型实现与服务消费端的通信,从而能够实现不同协议的不同集之间的通信;同时,上述方法无需增加新的代理服务,降低了微服务系统的复杂度。
36.为了区分不同协议类型对应的请求参数,避免通信错误,本发明实施例提供的上述方法中,在基于目标协议类型对请求数据包进行反序列化操作,得到请求参数之后,还包括:对请求参数添加目标协议类型对应的协议类型标记。在具体实施时,服务消费端根据目标协议类型对应的拆包方法,对请求数据包进行反序列化操作,得到服务消费端的请求参数,并对请求参数添加目标协议类型的对应的协议类型标记。
37.进一步,服务消费端将反序列化操作得到的请求参数进行处理得到的处理结果中包括对应的协议类型标记,在将处理结果进行序列化操作后返回至服务消费端时,可以采用包括但不限于以下方式:首先,读取处理结果中的协议类型标记;然后,基于协议类型标记确定封包方式,并基于封包方式对处理结果进行序列化操作,得到处理结果数据包;最后,将处理结果数据包返回至服务消费端。
38.在具体实施时,服务消费端可以读取返回结果中的协议类型标记,根据协议类型标记到对应的不同封包方式,然后根据封包方式对返回结果进行序列化操作,得到处理结果数据包返回给服务消费端的消费者。
39.在一种实施方式中,为了实现使用不同协议的不同集之间的通信,本发明实施例中需要预先创建javaagent组件,即创建javaagent项目,具体包括:
40.(1)读取服务提供端的配置信息;其中,配置信息包括:多种协议类型和注册中心的配置信息。
41.在具体实施时,可以读取服务提供端的配置信息,配置信息包括:多种协议类型,具体包括原服务支持的协议类型、需要添加的新的协议类型,以及对应的注册中心的相关配置信息。
42.(2)基于配置信息确定javaagent组件的代理数据包,并将代理数据包存储至服务器的预设目录下。
43.在具体实施时,可以根据配置信息,通过java spi机制,重新确定原服务registry过程,添加向新的协议类型对应的注册中心注册的过程,以及通过java spi机制,重新确定服务提供端的拆包过程、封包过程,具体的拆包过程、封包过程包括:
44.(a)接收到请求数据包后,通过包头判断协议类型;
45.(b)根据不同的协议类型,使用不同的拆包方法,对请求数据包进行反序列化操作,得到请求参数,并对请求参数添加协议类型标记;
46.(c)将反序列化操作得到的请求参数传给对应接口进行处理,并获得处理结果,其中处理结果中包含协议类型标记;
47.(d)读取返回结果中的协议类型标记,根据协议类型标记到对应的不同封包方法,对处理结果进行序列化操作,并将处理结果返回给消费者。
48.进一步,可以将上述服务打包成对应的auto-protocols-agent-1.0.0.jar包(即代理数据包),并将auto-protocols-agent-1.0.0.jar包放到服务器的指定目录(即预设目录)/data/agent/下。在该目录下有auto-protocols-config.properties文件,该文件中包含:原服务支持的协议类型,需要添加的新的协议类型,以及对应的注册中心的相关配置信息。
49.基于上述配置,在启动服务提供端的时候,添加相关的agent配置:-javaagent:/data/agent/auto-protocols-agent-1.0.0.jar,即可在原微服务实现零侵入多协议自适应功能,从而实现使用不同协议的不同集之间的通信。
50.为了便于理解,本发明实施例提供了一种基于javaagent进行多协议自适应通信的示意图,参见图2所示,服务提供端设置有agent,服务消费端1、注册中心1和服务提供端可以组成基于协议1的微服务集,服务消费端2、注册中心2和服务提供端可以组成基于协议2的微服务集。
51.服务提供端分别向注册中心1和注册中心2进行注册,将服务元数据分别发送至注册中心1和注册中心2;服务消费端1向注册中心1订阅需要的服务信息,同时,注册中心1会在服务提供端变更服务元数据的时候通知服务消费端1更新服务元数据;服务消费端2向注册中心2订阅需要的服务信息,同时,注册中心2会在服务提供端变更服务元数据的时候通知服务消费端2更新服务元数据。
52.当服务消费端1向服务提供端调用相关服务信息时,服务消费端1可以根据协议1的要求对请求参数进行序列化编码操作,得到请求数据包1,并将请求数据包1发送到服务提供端;服务提供端可以通过agent根据请求数据包1的包头确定采用的协议类型为协议1,然后根据协议1对应的拆包方法对请求数据包1进行反序列化操作得到服务消费端1的请求参数,并添加协议1的协议类型标记;接着将请求参数进行处理后得到处理结果(处理结果中包括协议1的协议类型标记);最后,读取处理结果中的协议类型标记,并根据协议类型标记确定封包方式为协议1对应的封包方式,采用协议1对应的封包方式对处理结果进行序列化操作后,将处理结果返回至服务消费端1,实现服务消费端1与服务提供端之间的通信。
53.当服务消费端2向服务提供端调用相关服务信息时,服务消费端2可以根据协议2的要求对请求参数进行序列化编码操作,得到请求数据包2,并将请求数据包2发送到服务提供端;服务提供端可以通过agent根据请求数据包2的包头确定采用的协议类型为协议2,然后根据协议2对应的拆包方法对请求数据包2进行反序列化操作得到服务消费端2的请求参数,并添加协议2的协议类型标记;接着将请求参数进行处理后得到处理结果(处理结果中包括协议2的协议类型标记);最后,读取处理结果中的协议类型标记,并根据协议类型标记确定封包方式为协议2对应的封包方式,采用协议2对应的封包方式对处理结果进行序列
化操作后,将处理结果返回至服务消费端2,实现服务消费端2与服务提供端之间的通信。
54.本发明实施例提供的上述方法,通过只是编写协议适配javaagent,实现零侵入原微服务工程代码并自动适配新微服务协议的功能,提升了一个微服务工程快速支持多微服务通信的能力,降低了对原有服务的改造和开发工作量,提高开发效率,同时降低了微服务系统的复杂度,提高了可维护性;此外,在协议适配javaagent足够全的情况,只需要在启动参数上添加javaagent的引用,就可以实现微服务工程动态添加新协议的能力,目前,javaagent支持springcloud、dubbo、dubbox、sofarpc,以及kkrpc协议自适应,使用范围广泛。
55.对于前述通信方法,本发明实施例还提供了一种通信装置,该装置应用于服务提供端,服务提供端设置有javaagent组件,javaagent组件用于动态修改服务提供端支持的多种协议类型;参见图3所示的一种通信装置的结构示意图,示意出该装置主要包括以下部分:
56.数据获取模块301,用于接收服务消费端发送的请求数据包;
57.拆包模块302,用于基于请求数据包的包头确定目标协议类型,并基于目标协议类型对请求数据包进行反序列化操作,得到请求参数;
58.封包模块303,用于将请求参数进行处理得到处理结果,并将处理结果进行序列化操作后返回至服务消费端。
59.本发明实施例提供的上述通信装置,通过javaagent组件,能够零入侵原微服务工程代码,动态修改服务提供端支持的协议类型,从而能够降低对原微服务的改造,降低了开放成本,提高了开发效率;在通信过程中,服务提供端可以根据服务消费端发送的请求数据包的包头确定目标协议类型,并基于目标协议类型实现与服务消费端的通信,从而能够实现不同协议的不同集之间的通信;同时,上述装置无需增加新的代理服务,降低了微服务系统的复杂度。
60.在一种实施方式中,上述装置还包括:标记模块,用于对请求参数添加目标协议类型对应的协议类型标记。
61.在一种实施方式中,处理结果中包括协议类型标记;上述封包模块303具体还用于:读取处理结果中的协议类型标记;基于协议类型标记确定封包方式,并基于封包方式对处理结果进行序列化操作,得到处理结果数据包;将处理结果数据包返回至服务消费端。
62.在一种实施方式中,上述装置还包括配置模块,用于:读取服务提供端的配置信息;其中,配置信息包括:多种协议类型和注册中心的配置信息;基于配置信息确定javaagent组件的代理数据包,并将代理数据包存储至服务器的预设目录下。
63.在一种实施方式中,上述装置还包括注册模块,用于:向注册中心发送服务提供端提供的服务元数据,以向服务消费端提供服务信息。
64.需要说明的是,本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
65.本发明实施例还提供了一种电子设备,具体的,该电子设备包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如上实施方式的任一项
所述的方法。
66.图4为本发明实施例提供的一种电子设备的结构示意图,该电子设备100包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。
67.其中,存储器41可能包含高速随机存取存储器(ram,random acc ess memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
68.总线42可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
69.其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。
70.处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。
71.本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。
72.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only me mory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
73.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员
在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
技术特征:
1.一种通信方法,其特征在于,所述方法应用于服务提供端,所述服务提供端设置有javaagent组件,所述javaagent组件用于动态修改所述服务提供端支持的多种协议类型;所述方法包括:接收服务消费端发送的请求数据包;基于所述请求数据包的包头确定目标协议类型,并基于所述目标协议类型对所述请求数据包进行反序列化操作,得到请求参数;将所述请求参数进行处理得到处理结果,并将所述处理结果进行序列化操作后返回至所述服务消费端。2.根据权利要求1所述的通信方法,其特征在于,基于所述目标协议类型对所述请求数据包进行反序列化操作,得到请求参数之后,所述方法还包括:对所述请求参数添加所述目标协议类型对应的协议类型标记。3.根据权利要求2所述的通信方法,其特征在于,所述处理结果中包括所述协议类型标记;将所述处理结果进行序列化操作后返回至所述服务消费端,包括:读取所述处理结果中的协议类型标记;基于所述协议类型标记确定封包方式,并基于所述封包方式对所述处理结果进行序列化操作,得到处理结果数据包;将所述处理结果数据包返回至所述服务消费端。4.根据权利要求1所述的通信方法,其特征在于,接收服务消费端发送的请求数据包之前,所述方法还包括:读取所述服务提供端的配置信息;其中,所述配置信息包括:多种协议类型和注册中心的配置信息;基于所述配置信息确定所述javaagent组件的代理数据包,并将所述代理数据包存储至服务器的预设目录下。5.根据权利要求1所述的通信方法,其特征在于,接收服务消费端发送的请求数据包之前,所述方法还包括:向注册中心发送所述服务提供端提供的服务元数据,以向所述服务消费端提供服务信息。6.一种通信装置,其特征在于,所述装置应用于服务提供端,所述服务提供端设置有javaagent组件,所述javaagent组件用于动态修改所述服务提供端支持的多种协议类型;所述装置包括:数据获取模块,用于接收服务消费端发送的请求数据包;拆包模块,用于基于所述请求数据包的包头确定目标协议类型,并基于所述目标协议类型对所述请求数据包进行反序列化操作,得到请求参数;封包模块,用于将所述请求参数进行处理得到处理结果,并将所述处理结果进行序列化操作后返回至所述服务消费端。7.根据权利要求6所述的通信装置,其特征在于,所述装置还包括:标记模块,用于对所述请求参数添加所述目标协议类型对应的协议类型标记。8.根据权利要求7所述的通信装置,其特征在于,所述处理结果中包括所述协议类型标记;所述封包模块还用于:
读取所述处理结果中的协议类型标记;基于所述协议类型标记确定封包方式,并基于所述封包方式对所述处理结果进行序列化操作,得到处理结果数据包;将所述处理结果数据包返回至所述服务消费端。9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至5任一项所述的方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至5任一项所述的方法的步骤。
技术总结
本发明提供了一种通信方法、通信装置、电子设备及介质,该方法应用于服务提供端,服务提供端设置有JavaAgent组件,JavaAgent组件用于动态修改服务提供端支持的多种协议类型;该方法包括:接收服务消费端发送的请求数据包;基于请求数据包的包头确定目标协议类型,并基于目标协议类型对请求数据包进行反序列化操作,得到请求参数;将请求参数进行处理得到处理结果,并将处理结果进行序列化操作后返回至服务消费端。本发明降低了开发成本,提高了开发效率,同时降低了微服务系统的复杂度。同时降低了微服务系统的复杂度。同时降低了微服务系统的复杂度。
技术研发人员:
宋建明 魏安稳 柴敏
受保护的技术使用者:
杭州米络星科技(集团)有限公司
技术研发日:
2022.12.12
技术公布日:
2023/3/21