一种服务通信方法、系统、电子设备及存储介质与流程
未命名
08-02
阅读:73
评论:0

1.本技术涉及网络通信技术领域,具体涉及一种服务通信方法、系统、电子设备及存储介质。
背景技术:
2.微服务架构是将单个应用程序的后台服务分割为多个小型独立的服务,这些服务不需要部署在同一虚拟机、同一系统或同一物理机器上,但各个服务之间通过一定通信机制可以进行通信。
3.随着通信技术的发展,由于ipv4(internet protocol version 4,ip协议的第四个版本)地址数量有限,越来越多的机器都实现了ipv4到ipv6(internet protocol version 6,ip协议的第六个版本)的转换,但是一些早期开发的微服务并不具有解析ipv6的能力,这样对于只支持ipv4解析能力的微服务就无法在ipv6的网络环境中通信。
技术实现要素:
4.本技术的目的是针对上述现有技术的不足提出的一种服务通信方法、系统、电子设备及存储介质,该目的是通过以下技术方案实现的。
5.本技术的第一方面提出了一种服务通信方法,所述方法涉及第一服务与第二服务的通信,所述第一服务与所述第二服务中的至少之一支持第一通信协议,所述第一服务与所述第二服务处于第二通信协议的网络环境,包括:
6.所述第一服务的第一代理服务从注册服务器获取所述第二服务的注册地址,根据所述注册地址和所述第一服务支持的通信协议向所述第一服务发送所述第一服务支持的通信协议地址;
7.所述第一服务将包含所述通信协议地址的通信请求发送至所述第一代理服务;
8.所述第一代理服务根据所述注册地址和所述网络环境支持的第二通信协议,向所述第二服务发送所述通信请求。
9.基于上述第一方面所述的服务通信方法,具有如下有益效果或优点:
10.在确保服务代码无修改前提下,通过为第一服务设置代理服务,并通过代理服务向注册服务器获取被访问服务即第二服务的注册地址,并根据注册地址和第一服务支持的通信协议向第一服务发送能够解析识别的通信协议地址,以及在收到第一服务使用通信协议地址发起的通信请求后,再根据注册地址发出能够在支持第二通信协议的网络环境中传输的通信请求。这样,即使第一服务只支持第一通信协议,也可以在支持第二通信协议的网络环境中通信,并且对于服务自身无侵入、无修改。
11.本技术的第二方面提出了一种服务通信方法,所述方法涉及第一服务与第二服务的通信,所述第一服务与所述第二服务中的至少之一支持第一通信协议,所述第一服务与所述第二服务处于第二通信协议的网络环境,包括:
12.所述第二服务的第二代理服务接收第一服务发送的通信请求,所述通信请求包括
所述第二服务的第二通信协议地址;
13.所述第二代理服务根据所述第二服务支持的通信协议,向所述第二服务发送所述通信请求。
14.基于上述第二方面所述的服务通信方法,具有如下有益效果或优点:
15.在确保服务代码无修改前提下,通过为第二服务设置代理服务,并通过代理服务接收其他服务发送的包含第二通信协议地址的通信请求,并根据第二服务支持的通信协议,向第二服务发送能够解析识别的通信请求,从而实现其他服务与第二服务的通信。这样,即使第二服务只支持第一通信协议,也可以在支持第二通信协议的网络环境中与其他服务通信,并且对于服务自身无侵入、无修改。
16.本技术的第三方面提出了一种服务通信系统,所述系统包括第一服务、第二服务、第一服务的第一代理服务、以及第二服务的第二代理服务;所述第一服务与所述第二服务中的至少之一支持第一通信协议,所述第一服务与所述第二服务处于第二通信协议的网络环境;
17.所述注册服务器,用于管理所述第一服务的注册地址和所述第二服务的注册地址;
18.所述第一代理服务,用于从注册服务器获取所述第二服务的注册地址,根据所述注册地址和所述第一服务支持的通信协议向所述第一服务发送所述第一服务支持的通信协议地址;
19.所述第一服务,用于将包含所述通信协议地址的通信请求发送至所述第一代理服务;
20.所述第一代理服务,还用于根据所述注册地址和所述网络环境支持的第二通信协议,向所述第二代理服务发送所述通信请求;
21.所述第二代理服务,用于根据所述第二服务支持的通信协议,向所述第二服务发送所述通信请求。
22.本技术的第四方面提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序以实现如上述第一方面或第二方面所述方法的步骤。
23.本技术的第五方面提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行以实现如上述第一方面或第二方面所述方法的步骤。
附图说明
24.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
25.图1为根据一示例性实施例示出的一种服务通信方法的实施例流程图;
26.图2为根据一示例性实施例示出的另一种服务通信方法的实施例流程图;
27.图3为根据一示例性实施例示出的一种服务通信系统的结构示意图;
28.图4至图6为根据一示例性实施例示出的三种不同应用场景示意图;
29.图7为本技术根据一示例性实施例示出的一种电子设备的硬件结构示意图;
30.图8为本技术根据一示例性实施例示出的一种存储介质的结构示意图。
具体实施方式
31.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的系统和方法的例子。
32.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
33.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
34.实施例一:
35.图1为根据一示例性实施例示出的一种服务通信方法的实施例流程图,所述方法涉及的是两个服务之间实现通信的过程,下面以第一服务与第二服务通信进行方案描述,第一服务和第二服务可以部署在不同的物理机器上,也可以部署在相同的物理机器上,本技术对此不进行具体限定。在本实施例中,第一服务与第二服务中的至少之一支持第一通信协议,以及第一服务与第二服务均处于第二通信协议的网络环境。
36.在一示例性场景中,第一通信协议与第二通信协议属于同类型但不同版本的通信协议,且第二通信协议版本要高于第一通信协议版本,例如,第二通信协议是ipv6,ipv6是ip协议的第六个版本,第一通信协议是ipv4,ipv4是ip协议的第四个版本,ipv6的版本要高于ipv4的版本。那么本技术要解决的是第一服务和第二服务之中至少有一个支持低版本通信协议情况下,需要在高版本通信协议的网络环境中实现互相通信的问题。
37.在另一示例性场景中,第一通信协议与第二通信协议为两种不同类型的通信协议,例如第一通信协议是tcp(transmission control protocol,传输控制协议)协议,第二通信协议是udp(user datagram protocol,用户数据报协议)协议。那么本技术要解决的是第一服务和第二服务之中至少有一个支持第一通信协议情况下,需要在第二通信协议的网络环境中实现互相通信的问题。
38.如图1所示,以第一服务这一侧为执行主体进行方案阐述,并且第一服务这一侧对应部署有第一代理服务,由第一代理服务实现第一通信协议地址与第二通信协议地址的转换,所述服务通信方法包括如下步骤:
39.步骤101:第一代理服务从注册服务器获取第二服务的注册地址。
40.在本实施例中,注册服务器是用来管理各个服务注册地址的机器,每一服务在上线时,都会将一个能够被其他服务访问的地址注册到注册服务器,以便于其他服务需要访问该服务时从注册服务器获取到该服务注册的地址。
41.需要说明的是,由于第二服务处于第二通信协议的网络环境中,因此第二服务的注册地址至少包含一个第二通信协议地址。
42.在一可选实施方式中,第一代理服务可以基于第一服务发送的指令从注册服务器获取第二服务的注册地址,即:第一代理服务接收第一服务发送的用于指示第二服务的服务标识,该服务标识指示的第二服务即为第一服务需要调用的服务,然后第一代理服务向注册服务器发送包含该服务标识的地址获取请求,并接收注册服务器返回的第二服务的注册地址。
43.在一具体场景中,假设第一服务为订单服务,第二服务为交易服务,当第一服务中的某一订单发生支付时,第一服务便会触发调用第二服务的需求,进而将第二服务的服务标识发给第一代理服务,由第一代理服务向注册服务器获取第二服务的注册地址。
44.在执行步骤101之前,需要预先将第一服务上线,也即将一个能够被其他服务访问的地址注册到注册服务器,以完成上线。第一服务上线过程为:第一代理服务接收到来自第一服务的注册请求时,根据第一服务支持的通信协议和网络环境支持的第二通信协议,向注册服务器发送注册请求。
45.其中,网络环境是第一服务所在物理机器的网络环境。
46.在本实施例中,第二通信协议的网络环境可以分两种情况,一种情况是单纯支持第二通信协议的网络环境;另一种情况是第一通信协议和第二通信协议共存的网络环境,且在该网络环境中通常是第二通信协议优先,即优先使用第二通信协议地址通信。并且对于第一种情况的网络环境,注册到注册服务器的地址只有第二通信协议地址,对于第二种情况的网络环境,注册到注册服务器的地址包含第一通信协议地址和第二通信协议地址。
47.基于此,针对向注册服务器发送注册请求的实现过程,在第一服务支持第一通信协议前提下,第一代理服务为第一服务申请一个第二通信协议地址,并将该第二通信协议地址与第一服务具有的第一通信协议地址的对应关系存储下来,然后根据网络环境支持的第二通信协议向注册服务器发送包含申请的第二通信协议地址的注册请求。具体地,如果第一服务处于单纯支持第二通信协议的网络环境,则第一代理服务需要将注册请求中的第一通信协议地址替换为申请的第二通信协议地址后,再向注册服务器发送替换后的注册请求;如果第一服务处于第一通信协议和第二通信协议共存且第二通信协议优先的网络环境,则第一代理服务需要将申请的第二通信协议地址添加到注册请求中,向注册服务器发送添加后的注册请求。
48.进一步地,在第一服务支持第二通信协议前提下,第一代理服务根据网络环境支持的第二通信协议向注册服务器发送注册请求。具体地,如果第一服务处于单纯支持第二通信协议的网络环境,则第一代理服务直接向注册服务器发送注册请求;如果第一服务处于第一通信协议和第二通信协议共存且第二通信协议优先的网络环境,则第一代理服务需要为第一服务申请一个第一通信协议地址,并将申请的第一通信协议地址添加到注册请求后发送到注册服务器。
49.由此可见,第一服务向注册服务器注册的同样也是至少包含一个第二通信协议地址。
50.步骤102:第一代理服务根据第二服务的注册地址和第一服务支持的通信协议向第一服务发送第一服务支持的通信协议地址。
51.其中,如果第一服务支持第一通信协议,那么第一代理服务向第一服务发送的通信协议地址为第一通信协议地址,如果第一服务支持第二通信协议,那么第一代理服务向
第一服务发送的通信协议地址是第二通信协议地址。
52.在一具体实施方式中,下面分三种情况详细说明第一代理服务向第一服务发送第一服务支持的通信协议地址:
53.第一种情况:第二服务的注册地址不包含第一通信协议地址但第一服务支持第一通信协议,第一代理服务是将本地预存储的第一通信协议地址发送给第一服务。其中,本地预存储的第一通信协议地址可以是在部署第一服务的第一代理服务时,预置的一个本地代理地址。值得注意的是,此时需要建立本地预存储的第一通信协议地址与第二服务的注册地址的对应关系,便于后续使用。
54.第二种情况:第二服务的注册地址包含第一通信协议地址和第二通信协议地址且第一服务支持第一通信协议,第一代理服务是将注册地址包含的第一通信协议地址发送至第一服务即可。
55.第三种情况:第二服务的注册地址包含第一通信协议地址和第二通信协议地址且第一服务支持第二通信协议,第一代理服务是将注册地址包含的第二通信协议地址发送至第一服务。
56.步骤103:第一服务将包含该通信协议地址的通信请求发送至第一代理服务。
57.其中,基于上述步骤102的描述,第一服务发出的通信请求中的通信协议地址有三种可能,一种是第一代理服务本地预存储的第一通信协议地址,一种是第二服务的注册地址中的第一通信协议地址,再一种是第二服务的注册地址中的第二通信协议地址。
58.步骤104:第一代理服务根据第二服务的注册地址和网络环境支持的第二通信协议,向第二服务发送该通信请求。
59.在一具体实施方式中,如果第一服务支持第一通信协议,说明第一服务发送的通信请求携带的是第一版通信协议地址,此时第一代理服务则将通信请求中的第一通信协议地址替换为注册地址包含的第二通信协议地址,再向第二服务发送能够在支持第二通信协议的网络环境中传输的通信请求;而如果第一服务支持第二通信协议,说明第一服务发送的通信请求携带的已经是第二版通信协议地址,并且网络环境支持的也是第二通信协议,此时第一代理服务则直接向第二服务发送通信请求即可。
60.至此,完成上述图1所示的服务通信流程,在确保服务代码无修改前提下,通过为第一服务设置代理服务,并通过代理服务向注册服务器获取被访问服务即第二服务的注册地址,并根据注册地址和第一服务支持的通信协议向第一服务发送能够解析识别的通信协议地址,以及在收到第一服务使用通信协议地址发起的通信请求后,再根据注册地址发出能够在支持第二通信协议的网络环境中传输的通信请求。这样,即使第一服务只支持第一通信协议,也可以在支持第二通信协议的网络环境中通信,并且对于服务自身无侵入、无修改。
61.实施例二:
62.基于上述实施例一以第一服务为执行主体描述的服务通信方案基础上,图2为根据一示例性实施例示出的另一种服务通信方法的实施例流程图,该服务通信方法以第二服务这一侧为执行主体进行阐述,并且第二服务这一侧同样对应部署有第二代理服务,由第二代理服务实现第一通信协议地址与第二通信协议地址的转换。在本实施例中,第二服务作为第一服务的被访问服务,对第一服务的通信请求进行处理。可以理解的是,第一服务和
第二服务只是为了区分两个不同服务,并不形成对本技术方案的限制。
63.如图2所示,所述服务通信方法包括如下步骤:
64.步骤201:第二代理服务接收第一服务发送的通信请求,所述通信请求包含第二服务的第二通信协议地址。
65.在执行步骤201之前,需要预先将第二服务上线,也即将一个能够被其他服务访问到的地址注册到注册服务器,以完成上线。第二服务上线过程为:第二代理服务接收到来自第二服务的注册请求时,根据第二服务支持的通信协议和支持第二通信协议的网络环境,向注册服务器发送注册请求。
66.其中,基于上述步骤101中对第一服务的注册过程描述,第二代理服务向注册服务器发送注册请求过程,在第二服务支持第一通信协议前提下,第二代理服务为第二服务申请一个第二通信协议地址,并存储申请的第二通信协议地址与第二服务具有的第一通信协议地址的对应关系,然后根据申请的第二通信协议地址和网络环境支持的第二通信协议向注册服务器发送包含申请的第二通信协议地址的注册请求。具体地,如果第二服务处于单纯支持第二通信协议的网络环境,则第二代理服务需要将注册请求中的第一通信协议地址替换为申请的第二通信协议地址后,再向注册服务器发送替换后的注册请求;如果第二服务处于第一通信协议和第二通信协议共存且第二通信协议优先的网络环境,则第二代理服务需要将申请的第二通信协议地址添加到注册请求中,向注册服务器发送添加后的注册请求。
67.进一步地,第二服务支持第二通信协议前提下,第二代理服务根据网络环境支持的第二通信协议向注册服务器发送注册请求。具体地,如果第二服务处于单纯支持第二通信协议的网络环境,则第二代理服务直接向注册服务器发送注册请求;如果第二服务处于第一通信协议和第二通信协议共存且第二通信协议优先的网络环境,则第二代理服务需要为第二服务申请一个第一通信协议地址,并将申请的第一通信协议地址添加到注册请求后发送到注册服务器。
68.由此可见,第二服务向注册服务器注册的地址至少包含一个第二通信协议地址。
69.步骤202:第二代理服务根据第二服务支持的通信协议,向第二服务发送该通信请求。
70.可选地,如果第二服务支持第一通信协议,由于第二服务处于支持第二通信协议的网络环境,因此通过该网络环境传输的通信请求使用的是第二通信协议地址,第二代理服务利用第二服务具有的第一通信协议地址替换通信请求中的第二通信协议地址后,再将替换后的通信请求发送至第二服务,从而第二服务能够解析识别发给自己的通信请求;而如果第二服务支持第二通信协议,第二代理服务无需进行地址的替换,将通信请求直接发送至第二服务即可。
71.在具体实施时,针对利用第二服务具有的第一通信协议地址替换通信请求中的第二通信协议地址的过程,第二代理服务获取预存储的与第二通信协议地址对应的第一通信协议地址,并利用获取的第一通信协议地址替换通信请求中的第二通信协议地址。
72.其中,第二代理服务预存储的第二通信协议地址与第一通信协议地址的对应关系,是第二服务在上线注册过程中存储下来的。
73.至此,完成上述图2所示的服务通信流程,在确保服务代码无修改前提下,通过为
第二服务设置代理服务,并通过代理服务接收其他服务发送的包含第二通信协议地址的通信请求,并根据第二服务支持的通信协议,向第二服务发送能够解析识别的通信请求,从而实现其他服务与第二服务的通信。这样,即使第二服务只支持第一通信协议,也可以在支持第二通信协议的网络环境中与其他服务通信,并且对于服务自身无侵入、无修改。
74.与前述服务通信方法的实施例相对应,本技术还提供了服务通信系统的实施例。
75.基于上述图1和图2所示实施例基础上,图3为根据一示例性实施例示出的一种服务通信系统的结构示意图,如图3所示,该服务通信系统包括:第一服务10、第二服务20、第一服务10的第一代理服务30、以及第二服务20的第二代理服务40、注册服务器50。
76.其中,第一服务10与第二服务20中的至少之一支持第一通信协议,第一服务10与第二服务20处于第二通信协议的网络环境。注册服务器50用于管理第一服务10的注册地址和第二服务20的注册地址;
77.第一服务10与第二服务20实现通信的过程包括:
78.首先,第一代理服务30从注册服务器50获取第二服务20的注册地址,并根据该注册地址和第一服务10支持的通信协议向第一服务10发送第一服务10支持的通信协议地址;
79.接着,第一服务10将包含该通信协议地址的通信请求发送至第一代理服务30,第一代理服务30根据该注册地址和网络环境支持的第二通信协议,向第二代理服务40发送通信请求;
80.然后,第二代理服务40根据第二服务20支持的通信协议,向第二服务20发送通信请求,从而实现第一服务与第二服务之间的通信。
81.上述系统中各个处理过程具体详见上述图1和图2所示实施例方法中对应步骤的实现过程,在此不再赘述。
82.基于上述图1至图3所示实施例的描述,下面以第一通信协议和第二通信协议属于同类型但不同版本的协议为例,示出几个不同应用场景分别进行说明,具体地,假设第一通信协议为ipv4,第二通信协议为ipv6。
83.在一个场景中,如图4所示,服务a与服务b均具有ipv4解析能力,但服务a与服务b均处于ipv6的网络环境,当服务a访问服务b时,服务a的代理服务a’从注册服务器获取服务b的注册地址,由于服务b具有ipv4解析能力且处于ipv6的网络环境,因此代理服务a’获取的服务b的注册地址只包含服务b的ipv6代理地址,此时代理服务a’建立该ipv6代理地址与本地预存储的ipv4地址的对应关系,并将该ipv4地址作为通信协议地址发送给服务a,服务a将包含该ipv4地址的通信请求发送给代理服务a’,代理服务a’再利用先前建立的对应关系中的ipv6代理地址替换通信请求中的ipv4地址,然后将替换后的通信请求发送到支持ipv6的网络环境中,代理服务b’通过网络环境收到通信请求后,利用服务b注册过程中存储下来的与ipv6代理地址对应的服务b本身具有的ipv4’地址替换通信请求中的ipv6代理地址,并将替换后的通信请求发给服务b,从而实现服务a与服务b之间通信。
84.在另一个场景中,如图5所示,服务a与服务b均具有ipv4解析能力,但服务a与服务b均处于ipv4、ipv6共存且ipv6优先的网络环境,当服务a访问服务b时,服务a的代理服务a’从注册服务器获取服务b的注册地址,由于服务b具有ipv4解析能力且处于ipv4、ipv6共存且ipv6优先的网络环境,因此代理服务a’获取的服务b的注册地址包含服务b的ipv6代理地址和服务b本身具有的ipv4地址,此时代理服务a’将获取的服务b的ipv4地址作为通信协议
地址发送给服务a,服务a将包含该ipv4地址的通信请求发送给代理服务a’,代理服务a’再利用先前获取的注册地址中的ipv6代理地址替换通信请求中的ipv4地址,然后将替换后的通信请求发送到网络环境中,代理服务b’通过网络环境收到通信请求后,利用服务b注册过程中存储下来的与ipv6代理地址对应的服务b本身具有的ipv4地址替换通信请求中的ipv6代理地址,并将替换后的通信请求发给服务b,从而实现服务a与服务b之间通信。
85.在又一个场景中,如图6所示,服务a与服务b中有一个服务具有ipv4解析能力,假设服务a具有ipv4解析能力,服务b具有ipv6解析能力,服务a与服务b均处于ipv6的网络环境,当服务a访问服务b时,服务a的代理服务a’从注册服务器获取服务b的注册地址,由于服务b具有ipv6解析能力且处于ipv6的网络环境,因此代理服务a’获取的服务b的注册地址包含服务b本身具有的ipv6地址,此时代理服务a’建立该ipv6地址与本地预存储的ipv4地址的对应关系,并将本地预存储的ipv4地址作为通信协议地址发送给服务a,服务a将包含该ipv4地址的通信请求发送给代理服务a’,代理服务a’再利用先前获取的注册地址中的ipv6地址替换通信请求中的ipv4地址,然后将替换后的通信请求发送到网络环境中,代理服务b’通过网络环境收到通信请求后,由于服务b具有ipv6解析能力,因此代理服务b’直接将通信请求发送给服务b,从而实现服务a与服务b之间通信。
86.此外,本技术实施方式还提供一种与前述实施方式所提供的服务通信方法对应的电子设备,以执行上述服务通信方法。
87.图7为本技术根据一示例性实施例示出的一种电子设备的硬件结构图,该电子设备包括:通信接口601、处理器602、存储器603和总线604;其中,通信接口601、处理器602和存储器603通过总线604完成相互间的通信。处理器602通过读取并执行存储器603中与服务通信方法的控制逻辑对应的机器可执行指令,可执行上文描述的服务通信方法,该方法的具体内容参见上述实施例,此处不再累述。
88.本技术中提到的存储器603可以是任何电子、磁性、光学或其它物理存储系统,可以包含存储信息,如可执行指令、数据等等。具体地,存储器603可以是ram(random access memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。通过至少一个通信接口601(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
89.总线604可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器603用于存储程序,所述处理器602在接收到执行指令后,执行所述程序。
90.处理器602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器602可以是通用处理器,包括网络处理器(network processor,简称np)、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。
91.本技术实施例提供的电子设备与本技术实施例提供的服务通信方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
92.本技术实施方式还提供一种与前述实施方式所提供的服务通信方法对应的计算机可读存储介质,请参考图8所示,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的服务通信方法。
93.需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
94.本技术的上述实施例提供的计算机可读存储介质与本技术实施例提供的服务通信方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
95.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
96.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
97.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
技术特征:
1.一种服务通信方法,其特征在于,所述方法涉及第一服务与第二服务的通信,所述第一服务与所述第二服务中的至少之一支持第一通信协议,所述第一服务与所述第二服务处于第二通信协议的网络环境,包括:所述第一服务的第一代理服务从注册服务器获取所述第二服务的注册地址,根据所述注册地址和所述第一服务支持的通信协议向所述第一服务发送所述第一服务支持的通信协议地址;所述第一服务将包含所述通信协议地址的通信请求发送至所述第一代理服务;所述第一代理服务根据所述注册地址和所述网络环境支持的第二通信协议,向所述第二服务发送所述通信请求。2.根据权利要求1所述的方法,其特征在于,所述从注册服务器获取所述第二服务的注册地址,包括:所述第一代理服务接收所述第一服务发送的用于指示第二服务的服务标识;所述第一代理服务向注册服务器发送包含所述服务标识的地址获取请求;所述第一代理服务接收注册服务器返回的所述第二服务的注册地址。3.根据权利要求1所述的方法,其特征在于,所述根据所述注册地址和所述第一服务支持的通信协议向所述第一服务发送所述第一服务支持的通信协议地址,包括:所述第一代理服务根据所述注册地址不包含第一通信协议地址且所述第一服务支持第一通信协议,将本地预存储的第一通信协议地址发送至所述第一服务;所述第一代理服务根据所述注册地址包含第一通信协议地址和第二通信协议地址且所述第一服务支持第一通信协议,将所述注册地址包含的第一通信协议地址发送至所述第一服务;所述第一代理服务根据所述注册地址包含第一通信协议地址和第二通信协议地址且所述第一服务支持第二通信协议,将所述注册地址包含的第二通信协议地址发送至所述第一服务。4.根据权利要求3所述的方法,其特征在于,所述第一代理服务根据所述注册地址和所述网络环境支持的第二通信协议,向所述第二服务发送所述通信请求,包括:所述第一代理服务根据所述第一服务支持第一通信协议但所述网络环境支持第二通信协议,将所述通信请求中的第一通信协议地址替换为所述注册地址包含的第二通信协议地址,向所述第二服务发送替换后的通信请求;所述第一代理服务根据所述第一服务支持第二通信协议且所述网络环境支持第二通信协议,向所述第二服务发送所述通信请求。5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:所述第一代理服务接收第一服务发送的注册请求;所述第一代理服务根据第一服务支持的通信协议和所述网络环境支持的第二通信协议,向注册服务器发送注册请求。6.根据权利要求5所述的方法,其特征在于,所述第一代理服务根据第一服务支持的通信协议和所述网络环境支持的第二通信协议,向注册服务器发送注册请求,包括:在所述第一服务支持第一通信协议情况下,所述第一代理服务为所述第一服务申请一个第二通信协议地址,存储申请的第二通信协议地址与所述第一服务具有的第一通信协议
地址的对应关系,根据所述网络环境支持的第二通信协议向注册服务器发送包含申请的所述第二通信协议地址的注册请求;在所述第一服务支持第二通信协议情况下,所述第一代理服务根据所述网络环境支持的第二通信协议向注册服务器发送注册请求。7.一种服务通信方法,其特征在于,所述方法涉及第一服务与第二服务的通信,所述第一服务与所述第二服务中的至少之一支持第一通信协议,所述第一服务与所述第二服务处于第二通信协议的网络环境,包括:所述第二服务的第二代理服务接收第一服务发送的通信请求,所述通信请求包括所述第二服务的第二通信协议地址;所述第二代理服务根据所述第二服务支持的通信协议,向所述第二服务发送所述通信请求。8.根据权利要求7所述的方法,其特征在于,所述第二代理服务根据所述第二服务支持的通信协议,向所述第二服务发送所述通信请求,包括:所述第二代理服务根据所述第二服务支持第一通信协议,利用所述第二服务具有的第一通信协议地址替换所述通信请求中的第二通信协议地址,将替换后的通信请求发送至所述第二服务;所述第二代理服务根据所述第二服务支持第二通信协议,将所述通信请求发送至所述第二服务。9.根据权利要求7-8任一项所述的方法,其特征在于,所述方法还包括:所述第二代理服务接收第二服务发送的注册请求;所述第二代理服务根据所述第二服务支持的通信协议和所述网络环境支持的第二通信协议,向注册服务器发送注册请求。10.根据权利要求9所述的方法,其特征在于,所述第二代理服务根据所述第二服务支持的通信协议和所述网络环境支持的第二通信协议,向注册服务器发送注册请求,包括:在所述第二服务支持第一通信协议情况下,所述第二代理服务为所述第二服务申请一个第二通信协议地址,存储申请的第二通信协议地址与所述第二服务具有的第一通信协议地址的对应关系,根据所述网络环境支持的第二通信协议向注册服务器发送包含申请的所述第二通信协议地址的注册请求;在所述第二服务支持第二通信协议情况下,所述第二代理服务根据所述网络环境支持的第二通信协议向注册服务器发送注册请求。11.一种服务通信系统,其特征在于,所述系统包括第一服务、第二服务、第一服务的第一代理服务、第二服务的第二代理服务、以及注册服务器;所述第一服务与所述第二服务中的至少之一支持第一通信协议,所述第一服务与所述第二服务处于第二通信协议的网络环境;所述注册服务器,用于管理所述第一服务的注册地址和所述第二服务的注册地址;所述第一代理服务,用于从注册服务器获取所述第二服务的注册地址,根据所述注册地址和所述第一服务支持的通信协议向所述第一服务发送所述第一服务支持的通信协议地址;所述第一服务,用于将包含所述通信协议地址的通信请求发送至所述第一代理服务;
所述第一代理服务,还用于根据所述注册地址和所述网络环境支持的第二通信协议,向所述第二代理服务发送所述通信请求;所述第二代理服务,用于根据所述第二服务支持的通信协议,向所述第二服务发送所述通信请求。12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序以实现如权利要求1-10任一项所述方法的步骤。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行以实现如权利要求1-10任一项所述方法的步骤。
技术总结
本申请公开了一种服务通信方法,第一服务与第二服务中的至少之一支持第一通信协议,第一服务与第二服务处于第二通信协议的网络环境,包括:第一服务的第一代理服务从注册服务器获取第二服务的注册地址,根据注册地址和第一服务支持的通信协议向第一服务发送第一服务支持的通信协议地址;第一服务将包含通信协议地址的通信请求发送至第一代理服务;第一代理服务根据注册地址和网络环境支持的第二通信协议,向第二服务发送通信请求。在确保服务代码无修改前提下,通过为服务设置代理服务实现两服务通信,即使服务只支持第一通信协议,也能在第二通信协议网络环境中通信。也能在第二通信协议网络环境中通信。也能在第二通信协议网络环境中通信。
技术研发人员:张海彬 张乎兴
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2023.03.27
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/