CN111371684B - 路由处理方法及装置、双活数据中心*** - Google Patents
路由处理方法及装置、双活数据中心*** Download PDFInfo
- Publication number
- CN111371684B CN111371684B CN202010135655.5A CN202010135655A CN111371684B CN 111371684 B CN111371684 B CN 111371684B CN 202010135655 A CN202010135655 A CN 202010135655A CN 111371684 B CN111371684 B CN 111371684B
- Authority
- CN
- China
- Prior art keywords
- request
- service
- service instance
- identifier
- data center
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及路由处理方法及装置、双活数据中心***、计算机可存储介质,涉及计算机技术领域。路由处理方法包括:接收服务请求,所述服务请求包括请求机构标识和请求应用标识;解析所述服务请求,得到所述请求机构标识和所述请求应用标识;根据所述请求机构标识和所述请求应用标识,确定与所述服务请求对应的目标服务实例;根据所述目标服务实例,对所述服务请求进行路由处理。根据本公开,在为服务请求者提供了差异化服务的同时,提高了服务请求者的用户体验。
Description
技术领域
本公开涉及计算机技术领域,特别涉及路由处理方法及装置、双活数据中心***、计算机可存储介质。
背景技术
服务需求者在发起服务请求时,由于请求时间不同、服务需求不同,服务提供者向用户提供的服务实例也会不同,从而涉及到多版本服务和差异化服务的问题。
相关技术中,服务需求者在发起服务请求时,在服务请求中增加服务名和版本号,以便服务提供者根据服务名和版本号将服务请求路由到相应的服务实例。
发明内容
在相关技术中,服务需求者在服务请求中增加服务名和版本号,用户体验差。
针对上述技术问题,本公开提出了一种解决方案,在为服务请求者提供了差异化服务的同时,提高了服务请求者的用户体验。
根据本公开的第一方面,提供了一种路由处理方法,包括:接收服务请求,所述服务请求包括请求机构标识和请求应用标识;解析所述服务请求,得到所述请求机构标识和所述请求应用标识;根据所述请求机构标识和所述请求应用标识,确定与所述服务请求对应的目标服务实例;根据所述目标服务实例,对所述服务请求进行路由处理。
在一些实施例中,根据所述请求机构标识和所述请求应用标识,确定与所述服务请求对应的目标服务实例包括:根据请求机构标识与通用属性的对应关系,确定与所述请求机构标识对应的通用属性,所述通用属性包括通用和非通用;将与所述请求机构标识对应的通用属性,确定为与所述请求机构标识对应的目标服务实例的通用属性;根据所述与所述请求机构标识对应的目标服务实例的通用属性、所述请求机构标识和所述请求应用标识,确定与所述服务请求对应的目标服务实例。
在一些实施例中,所述服务请求还包括交易码,根据所述请求机构标识和所述请求应用标识,确定与所述服务请求对应的目标服务实例包括:根据所述请求机构标识、所述请求应用标识和所述交易码,确定与所述服务请求对应的目标服务实例。
在一些实施例中,根据所述请求机构标识、所述请求应用标识和所述交易码,确定与所述服务请求对应的目标服务实例包括:根据所述请求机构标识和所述交易码,确定与所述服务请求对应的目标服务实例的通用属性,所述通用属性包括通用和非通用;根据所述与所述服务请求对应的目标服务实例的通用属性、所述请求机构标识和所述请求应用标识,确定与所述服务请求对应的目标服务实例。
在一些实施例中,根据所述请求机构标识和所述交易码,确定与所述服务请求对应的目标服务实例的通用属性包括:根据所述请求机构标识和所述交易码,确定与所述服务请求对应的流程定义文件标识;根据流程定义文件标识与通用属性的对应关系,确定与所述流程定义文件标识对应的通用属性;将与所述流程定义文件标识对应的通用属性,确定为与所述服务请求对应的目标服务实例的通用属性。
在一些实施例中,根据所述与所述服务请求对应的目标服务实例的通用属性、所述请求机构标识和所述请求应用标识,确定与所述服务请求对应的目标服务实例包括:根据服务实例和通用属性的对应关系,确定所述与所述服务请求对应的目标服务实例的通用属性相对应的至少一个候选服务实例;根据请求机构标识、请求应用标识和服务实例的对应关系,从所述至少一个候选服务实例中,确定与所述服务请求对应的目标服务实例。
在一些实施例中,根据请求机构标识、请求应用标识和服务实例的对应关系,从所述至少一个候选服务实例中,确定与所述服务请求对应的目标服务实例:根据请求机构标识、请求应用标识和服务实例的对应关系,确定与所述请求机构标识和所述请求应用标识对应的候选服务实例;从与所述请求机构标识和所述请求应用标识对应的候选服务实例中,确定处于可用状态的候选服务实例,作为所述目标服务实例。
在一些实施例中,从与所述请求机构标识和所述请求应用标识对应的候选服务实例中,确定处于可用状态的候选服务实例,作为所述目标服务实例包括:根据注册中心内已注册的服务实例的状态信息,确定与所述请求机构标识和所述请求应用标识对应的候选服务实例中处于可用状态的候选服务实例,作为所述目标服务实例,所述状态信息包括可用状态和不可用状态。
在一些实施例中,在双活数据中心场景下,根据所述目标服务实例,对所述服务请求进行路由处理包括:根据请求机构标识和数据中心标识的对应关系,确定与所述请求机构标识对应的数据中心标识;将所述服务请求路由到与所述数据中心标识对应的数据中心内的目标服务实例。
在一些实施例中,所述请求机构标识与通用属性的对应关系、所述流程定义文件标识与通用属性的对应关系、所述服务实例和通用属性的对应关系、所述请求机构标识、所述请求应用标识和服务实例的对应关系以及所述请求机构标识和数据中心标识的对应关系都存储在远程字典服务Redis中。
在一些实施例中,路由处理方法还包括:在解析所述服务请求之前,根据存储在远程字典服务Redis中的服务请求和服务器端域名的对应关系,判断是否存在与所述服务请求对应的服务器端域名;在Redis中存在与所述服务请求对应的服务器端域名的情况下,解析所述服务请求。
在一些实施例中,路由处理方法还包括:在Redis中不存在与所述服务请求对应的服务器端域名的情况下,根据存储在关系型数据库中的服务请求和服务器端域名的对应关系,判断是否存在与所述服务请求对应的服务器端域名;在关系型数据库中存在与所述服务请求对应的服务器端域名的情况下,解析所述服务请求。
在一些实施例中,根据所述目标服务实例,对所述服务请求进行路由处理包括:在所述目标服务实例为多个的情况下,采用轮询策略,将所述服务请求路由到其中一个目标服务实例。
在一些实施例中,在双活数据中心场景下,所述路由处理方法由距离所述服务请求的发起位置最近的数据中心的网关执行。
根据本公开第二方面,提供了一种路由处理装置,包括:接收模块,被配置为接收服务请求,所述服务请求包括请求机构标识和请求应用标识;解析模块,被配置为解析所述服务请求,得到所述请求机构标识和所述请求应用标识;确定模块,被配置为根据所述请求机构标识和所述请求应用标识,确定与所述服务请求对应的目标服务实例;和路由处理模块,被配置为根据所述目标服务实例,对所述服务请求进行路由处理。
根据本公开第三方面,提供了一种路由处理装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行上述任一实施例所述的路由处理方法。
根据本公开的第四方面,提供了一种双活数据中心***,包括:第一数据中心和第二数据中心,所述第一数据中心和所述第二数据中心分别包括上述任一实施例所述的路由处理装置。
在一些实施例中,所述第一数据中心和所述第二数据中心还分别包括至少一个注册中心,任意一个注册中心被配置为根据接收到的所述注册请求将服务实例的服务名和标识的对应关系存储到所述任意一个注册中心,并将所述服务实例的服务名和标识的对应关系同步存储到所述第一数据中心和所述第二数据中心内除所述任意一个注册中心以外的其他注册中心。
根据本公开的第五方面,提供了一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任一实施例所述的路由处理方法。
在上述实施例中,在为服务请求者提供了差异化服务的同时,提高了服务请求者的用户体验。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出根据本公开一些实施例的路由处理方法的流程图;
图2示出根据本公开一些实施例的路由处理装置、服务请求***、目标服务实例之间的逻辑框图;
图3示出根据本公开另一些实施例的路由处理方法的流程图;
图4示出根据本公开一些实施例的路由处理装置的框图;
图5示出根据本公开另一些实施例的路由处理装置的框图;
图6示出根据本公开一些实施例的双活数据中心***的框图;
图7示出根据本公开一些实施例的双活数据中心***的架构示意图;
图8示出用于实现本公开一些实施例的计算机***的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面将结合图1、图2详细描述本公开一些实施例的路由处理方法。
图1示出根据本公开一些实施例的路由处理方法的流程图。
图2示出根据本公开一些实施例的路由处理装置、服务请求***、目标服务实例之间的逻辑框图。
如图1所示,路由处理方法包括步骤S110-步骤S140。例如,路由处理方法由网关执行。具体地,在双活数据中心场景下,路由处理方法由距离服务请求的发起位置最近的数据中心的网关执行。双活数据中心为两个同时处于运行状态的数据中心。例如,两个数据中心部署于不同城市,构成同城异地双活数据中心。
在步骤S110中,接收服务请求。服务请求包括请求机构标识和请求应用标识。例如,请求机构标识为发起服务请求的机构的标识。请求应用标识为发起服务请求的应用的标识。具体地,请求应用标识可以采用***号表示。
具体地,由图2所示的路由处理装置21中的前置***211接收来自服务请求***22的服务请求。
在步骤S120中,解析服务请求,得到请求机构标识和请求应用标识。具体地,由图2所述的前置***211对来自服务请求***22的服务请求进行解析。例如,图2所示的前置***211还被配置为在进行解析前,对服务请求进行准入认证、MAC(Media AccessControl Address,媒体存取控制位址)验证和限流控制。
对服务请求进行准入认证为判断服务请求是否为合法服务请求。在服务请求为合法服务请求的情况下,对服务请求进行解析。在服务请求为非法服务请求的情况下,向服务请求***22返回请求错误等消息。
对服务请求进行MAC验证为以MAC地址作为用户名和密码对服务请求***22进行认证。在认证通过的情况下,对服务请求进行解析。在认证未通过的情况下,向服务请求***22返回请求错误等消息。
对服务请求进行限流控制为对于来自多个服务请求***22的多个服务请求,采用多网关节点的方式进行处理,根据各个网关节点的流量控制机制,每个网关节点处理相应的服务请求。
在步骤S130中,根据请求机构标识和请求应用标识,确定与服务请求对应的目标服务实例。
例如,通过如下方式实现根据请求机构标识和请求应用标识,确定与服务请求对应的目标服务实例。
首先,根据请求机构标识与通用属性的对应关系,确定与请求机构标识对应的通用属性。通用属性包括通用和非通用。例如,请求机构标识与通用属性的对应关系存储在Redis(Remote Dictionary Server,远程字典服务)中。
然后,将与请求机构标识对应的通用属性,确定为与请求机构标识对应的目标服务实例的通用属性。在与请求机构标识对应的通用属性为通用的情况下,将与服务请求对应的目标服务实例的通用属性确定为通用。在与请求机构标识对应的通用属性为非通用的情况下,将与服务请求对应的目标服务实例的通用属性确定为非通用。例如,通用的服务实例为具有基础功能的服务实例。非通用的服务实例为除了具有基础功能以外,还具有特殊功能的服务实例。具体地,通用的服务实例为提供车贷服务的基础功能的服务实例。非通用的服务实例为提供车贷服务的基础功能且提供高并发等特殊功能的服务实例。例如,可以将通用的服务实例命名为非灰度服务实例,将非通用的服务实例命名为灰度服务实例。
最后,根据与请求机构标识对应的目标服务实例的通用属性、请求机构标识和请求应用标识,确定与服务请求对应的目标服务实例。
例如,服务请求还包括交易码。在服务请求还包括交易码的情况下,可以通过如下方式实现根据请求机构标识和请求应用标识,确定与服务请求对应的目标服务实例。根据请求机构标识、请求应用标识和交易码,确定与服务请求对应的目标服务实例。
具体地,通过如下方式实现根据请求机构标识、请求应用标识和交易码,确定与服务请求对应的目标服务实例。
首先,根据请求机构标识和交易码,确定与服务请求对应的目标服务实例的通用属性。通用属性包括通用和非通用。例如,根据请求机构标识和交易码,确定与服务请求对应的目标服务实例的通用属性包括如下步骤。根据请求机构标识和交易码,确定与服务请求对应的流程定义文件标识。从而根据流程定义文件标识与通用属性的对应关系,确定与流程定义文件标识对应的通用属性。进而将与流程定义文件标识对应的通用属性,确定为与服务请求对应的目标服务实例的通用属性。流程定义文件为定义流程的具体步骤的文件。例如,流程定义文件标识与通用属性的对应关系存储在Redis中。
然后,根据与服务请求对应的目标服务实例的通用属性、请求机构标识和请求应用标识,确定与服务请求对应的目标服务实例。
具体地,无论服务请求是否包括交易码。可以通过如下方式实现根据与服务请求对应的目标服务实例的通用属性、请求机构标识和请求应用标识,确定与服务请求对应的目标服务实例。
首先,根据服务实例和通用属性的对应关系,确定与所述服务请求对应的目标服务实例的通用属性相对应的至少一个候选服务实例。例如,服务实例和通用属性的对应关系存储在Redis中。
然后,根据请求机构标识、请求应用标识和服务实例的对应关系,从至少一个候选服务实例中,确定与服务请求对应的目标服务实例。例如,请求机构标识、请求应用标识和服务实例的对应关系存储在Redis中。
例如,通过如下方式实现根据请求机构标识、请求应用标识和服务实例的对应关系,从至少一个候选服务实例中,确定与服务请求对应的目标服务实例。根据请求机构标识、请求应用标识和服务实例的对应关系,确定与请求机构标识和所述请求应用标识对应的候选服务实例。进而从与请求机构标识和请求应用标识对应的候选服务实例中,确定处于可用状态的候选服务实例,作为目标服务实例。
具体地,通过如下方式实现从与请求机构标识和请求应用标识对应的候选服务实例中,确定处于可用状态的候选服务实例,作为目标服务实例。根据注册中心内已注册的服务实例的状态信息,确定与请求机构标识和请求应用标识对应的候选服务实例中处于可用状态的候选服务实例,作为目标服务实例。状态信息包括可用状态和不可用状态。
具体地,由图2中的路由处理装置21中的路由***212执行图1中的步骤S130。
返回图1,在步骤S140中,根据目标服务实例,对服务请求进行路由处理。
在双活数据中心场景下,例如可以通过如下方式实现根据目标服务实例,对服务请求进行路由处理。
首先,根据请求机构标识和数据中心标识的对应关系,确定与请求机构标识对应的数据中心标识。例如,请求机构标识和数据中心标识的对应关系存储在Redis中。
然后,将服务请求路由到与数据中心标识对应的数据中心内的目标服务实例。
具体地,在目标服务实例为多个的情况下,采用轮询策略,将服务请求路由到其中一个目标服务实例。
具体地,由图2中的路由处理装置21中的服务路由器213执行图1中的步骤S140。即,服务路由器213将服务请求转发至相应的目标服务实例23上,由目标服务实例23处理来自服务请求***22的服务请求,并将处理结果发送给路由处理装置21中的后置***214。后置***214被配置为将处理结果进行报文打包后,生成响应报文并发送给服务请求***22。
下面将结合图3详细描述本公开另一些实施例的路由处理方法的流程图。
图3示出根据本公开另一些实施例的路由处理方法的流程图。
如图3所示,路由处理方法除包括图1所示的步骤S110-步骤S140以外,还包括步骤S111-步骤S113。下面将仅描述图3与图1的不同之处,相同之处不再赘述。
在步骤S111中,根据存储在远程字典服务Redis中的服务请求和服务器端域名的对应关系,判断是否存在与服务请求对应的服务器端域名。例如,可以通过图2中路由处理装置21中的路由***215定时将关系型数据库内的配置文件中的服务请求和服务器端域名的对应关系存储到Redis 216中。具体地,服务请求为网关域名,网关接收到网关域名后需要根据网关域名确定与网关域名对应的服务器端域名。相对于利用配置文件存储对应关系的方式,本公开通过将服务请求和服务器端域名的对应关系存储在Redis中,提高了路由处理的效率。
在Redis中存在与服务请求对应的服务器端域名的情况下,执行步骤S120,解析服务请求。
在Redis中不存在与服务请求对应的服务器端域名的情况下,执行步骤S112。在步骤S112中,根据存储在关系型数据库中的服务请求和服务器端域名的对应关系,判断是否存在与服务请求对应的服务器端域名。本公开通过将Redis与关系型数据库相结合的方式,在提高路由处理效率的同时,保证了路由处理的准确性,避免了由于Redis缓存时差导致的Redis中存储的对应关系没有及时更新的问题。
在关系型数据库中存在与所述服务请求对应的服务器端域名的情况下,执行步骤S120,解析所述服务请求。
例如,路由处理方法还包括步骤S113。在关系型数据库中不存在与服务请求对应的服务器端域名的情况下,执行步骤S113。在步骤S113中,返回请求错误等消息。
本公开的路由处理方法,根据服务请求中的请求机构标识和请求应用标识等已有参数,确定与服务请求对应的目标服务实例。无需在服务请求中额外增加服务名和版本号等信息,即可实现差异化服务。在为服务请求者提供了差异化服务的同时,提高了服务请求者的用户体验。
图4示出根据本公开一些实施例的路由处理装置的框图。
如图4所示,路由处理装置41包括接收模块411、解析模块412、确定模块413和路由处理模块414。
接收模块411被配置为接收服务请求,例如执行如图1所示的步骤S110。服务请求包括请求机构标识和请求应用标识。
解析模块412被配置为解析服务请求,得到请求机构标识和请求应用标识,例如执行如图1所示的步骤S120。
确定模块413被配置为根据请求机构标识和请求应用标识,确定与服务请求对应的目标服务实例,例如执行如图1所示的步骤S130。
路由处理模块414被配置为根据目标服务实例,对服务请求进行路由处理,例如执行如图1所示的步骤S140。
图5示出根据本公开另一些实施例的路由处理装置的框图。
如图5所示,路由处理装置51包括存储器511;以及耦接至该存储器511的处理器512,存储器511用于存储执行路由处理方法对应实施例的指令。处理器512被配置为基于存储在存储器511中的指令,执行本公开中任意一些实施例中的路由处理方法。
图6示出根据本公开一些实施例的双活数据中心***的框图。
如图6所示,双活数据中心***6包括第一数据中心6A和第二数据中心6B。第一数据中心6A和第二数据中心6B分别包括本公开任意一些实施例中的路由处理装置61A和路由处理装置61B。例如,第一数据中心6A部署在北京市,第二数据中心6B部署在合肥市。
进一步地,第一数据中心6A还包括至少一个注册中心62A,第二数据中心6B还包括至少一个注册中心62B。任意一个注册中心被配置为根据接收到的注册请求将服务实例的服务名和标识的对应关系存储到该任意一个注册中心,并将服务实例的服务名和标识的对应关系同步存储到第一数据中心61A和第二数据中心61B内除该任意一个注册中心以外的其他注册中心。例如,服务实例的标识采用IP地址和端口号表示。通过同步注册的方式,提高了注册效率。
图7示出根据本公开一些实施例的双活数据中心***的架构示意图。
图7与图6所示的双活数据中心***的不同之处在于,图7示出了更详细的双活数据中心***6的***架构。下面将描述图7与图6的不同之处,相同之处不再赘述。
例如,如图7所示,双活数据中心***6中的第一数据中心6A包括多个路由处理装置61A,第二数据中心6B包括多个路由处理装置61B。具体地,路由处理装置61A或路由处理装置61B命名为流程总线。在一些实施例中,流程总线还可以实现接入流量控制、通讯适配、负载均衡和流水记录中的至少一项功能。多个路由处理装置可以实现负载均衡,提高双活数据中心***的处理效率。例如,路由处理装置基于微服务架构Spring Cloud中的微服务网关Zuul实现。
具体地,第一数据中心6A的服务器和第二数据中心6B的服务器上分别部署有多个服务实例。具体地,多个服务实例包括服务实例A1至服务实例AN。两个数据中心的多个服务实例相同。服务实例用于处理服务请求。
进一步地,第一数据中心6A包括第一数据库63A。具体地,第一数据库63A包括主数据库631A、第一从数据库632A和第二从数据库633A。第二数据中心6B包括第一数据库63B。具体地,第一数据库63B包括主数据库631B、第一从数据库632B和第二从数据库633B。例如,主数据库、第一从数据库和第二从数据库均为PostGreSQL。主数据库、第一从数据库和第二从数据库用于实现同步流复制。同步流复制即为在主数据库提交事务时,需要等待WAL(Write-Ahead Logging,预写日志***)日志传递到第一从数据库或第二从数据库后即可返回复制成功,从而实现主数据库和第一从数据库或第二从数据库的同步流复制。
进一步地,第一数据中心6A包括第二数据库64A。第二数据中心6B包括第二数据库64B。第二数据库64A和第二数据库64B为备用数据库,用于实现异步流复制。异步流复制即为主数据库631A或主数据库631B提交事务后,无需等待WAL日志传递到第一从数据库632A或第一从数据库632B、第二从数据库633A或第二从数据库633B,就可以返回复制成功,从而实现主数据库和第二数据库之间的异步流复制。第二数据库64A用于存储第二数据中心6B中各个服务实例的处理数据。第二数据库64B用于存储第一数据中心6A中各个服务实例的处理数据。
例如,在主数据库631A、第一从数据库632A和第二从数据库633A均无法使用的情况下,从第二数据中心6B的第二数据库64B中获取相应事务的处理数据,从而继续处理未完成的事务。同理,在主数据库631B、第一从数据库632B和第二从数据库633B均无法使用时,从第一数据中心6A的第二数据库64A中获取相应事务的处理数据,从而继续处理未完成的事务。具体地,第一数据中心6A发生灾难会导致主数据库631A、第一从数据库632A和第二从数据库633A均无法使用。
进一步地,第一数据中心6A还包括F5/ESB(F5/Enterprise Service Bus,F5/企业服务总线)60A。第二数据中心6B还包括F5/ESB 60B。服务请求可以通过第一数据中心6A的F5/ESB 60A或第二数据中心6B的F5/ESB 60B转发到路由处理装置61A或路由处理装置61B。F5/ESB用于实现负载均衡,决策具体将服务请求转发至多个路由处理装置中的哪一个。其中,F5是负载均衡产品的一个品牌。
图8示出用于实现本公开一些实施例的计算机***的框图。
如图8所示,计算机***80可以通用计算设备的形式表现。计算机***80包括存储器810、处理器820和连接不同***组件的总线800。
存储器810例如可以包括***存储器、非易失性存储介质等。***存储器例如存储有操作***、应用程序、引导装载程序(Boot Loader)以及其他程序等。***存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行路由处理方法中的至少一种的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
处理器820可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如判断模块和确定模块的每个模块,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
总线800可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、***组件互连(PCI)总线。
计算机***80还可以包括输入输出接口830、网络接口840、存储接口850等。这些接口830、840、850以及存储器810和处理器820之间可以通过总线800连接。输入输出接口830可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口840为各种联网设备提供连接接口。存储接口850为软盘、U盘、SD卡等外部存储设备提供连接接口。
这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
通过上述实施例中的路由处理方法及装置、双活数据中心***、计算机可存储介质,在为服务请求者提供了差异化服务的同时,提高了服务请求者的用户体验。
至此,已经详细描述了根据本公开的路由处理方法及装置、双活数据中心***、计算机可存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
Claims (16)
1.一种路由处理方法,包括:
接收服务请求,所述服务请求包括请求机构标识、请求应用标识和交易码;
解析所述服务请求,得到所述请求机构标识和所述请求应用标识;
根据所述请求机构标识和所述交易码,利用请求机构、交易码与通用属性之间的对应关系,确定与所述服务请求对应的目标服务实例的通用属性,所述通用属性包括通用和非通用,通用的服务实例为具有基础功能的服务实例,非通用的服务实例为除了具有基础功能以外,还具有特殊功能的服务实例;
根据服务实例和通用属性的对应关系,确定所述与所述服务请求对应的目标服务实例的通用属性相对应的至少一个候选服务实例;
根据请求机构标识、请求应用标识和服务实例的对应关系,从所述至少一个候选服务实例中,确定与所述服务请求中的请求机构标识和请求应用标识对应且处于可用状态的候选服务实例,作为目标服务实例;
根据所述目标服务实例,对所述服务请求进行路由处理。
2.根据权利要求1所述的路由处理方法,其中,根据所述请求机构标识和所述交易码,确定与所述服务请求对应的目标服务实例的通用属性包括:
根据所述请求机构标识和所述交易码,确定与所述服务请求对应的流程定义文件标识;
根据流程定义文件标识与通用属性的对应关系,确定与所述流程定义文件标识对应的通用属性;
将与所述流程定义文件标识对应的通用属性,确定为与所述服务请求对应的目标服务实例的通用属性。
3.根据权利要求1所述的路由处理方法,其中,根据请求机构标识、请求应用标识和服务实例的对应关系,从所述至少一个候选服务实例中,确定与所述服务请求对应的目标服务实例:
根据请求机构标识、请求应用标识和服务实例的对应关系,确定与所述请求机构标识和所述请求应用标识对应的候选服务实例;
从与所述请求机构标识和所述请求应用标识对应的候选服务实例中,确定处于可用状态的候选服务实例,作为所述目标服务实例。
4.根据权利要求3所述的路由处理方法,其中,从与所述请求机构标识和所述请求应用标识对应的候选服务实例中,确定处于可用状态的候选服务实例,作为所述目标服务实例包括:
根据注册中心内已注册的服务实例的状态信息,确定与所述请求机构标识和所述请求应用标识对应的候选服务实例中处于可用状态的候选服务实例,作为所述目标服务实例,所述状态信息包括可用状态和不可用状态。
5.根据权利要求4所述的路由处理方法,其中,在双活数据中心场景下,根据所述目标服务实例,对所述服务请求进行路由处理包括:
根据请求机构标识和数据中心标识的对应关系,确定与所述请求机构标识对应的数据中心标识;
将所述服务请求路由到与所述数据中心标识对应的数据中心内的目标服务实例。
6.根据权利要求5所述的路由处理方法,其中,所述服务实例和通用属性的对应关系、所述请求机构标识、所述请求应用标识和服务实例的对应关系以及所述请求机构标识和数据中心标识的对应关系都存储在远程字典服务Redis中。
7.根据权利要求2所述的路由处理方法,其中,所述流程定义文件标识与通用属性的对应关系存储在远程字典服务Redis中。
8.根据权利要求1所述的路由处理方法,还包括:
在解析所述服务请求之前,根据存储在远程字典服务Redis中的服务请求和服务器端域名的对应关系,判断是否存在与所述服务请求对应的服务器端域名;
在Redis中存在与所述服务请求对应的服务器端域名的情况下,解析所述服务请求。
9.根据权利要求8所述的路由处理方法,还包括:
在Redis中不存在与所述服务请求对应的服务器端域名的情况下,根据存储在关系型数据库中的服务请求和服务器端域名的对应关系,判断是否存在与所述服务请求对应的服务器端域名;
在关系型数据库中存在与所述服务请求对应的服务器端域名的情况下,解析所述服务请求。
10.根据权利要求1所述的路由处理方法,其中,根据所述目标服务实例,对所述服务请求进行路由处理包括:
在所述目标服务实例为多个的情况下,采用轮询策略,将所述服务请求路由到其中一个目标服务实例。
11.根据权利要求1所述的路由处理方法,其中,在双活数据中心场景下,所述路由处理方法由距离所述服务请求的发起位置最近的数据中心的网关执行。
12.一种路由处理装置,包括:
接收模块,被配置为接收服务请求,所述服务请求包括请求机构标识、请求应用标识和交易码;
解析模块,被配置为解析所述服务请求,得到所述请求机构标识和所述请求应用标识;
确定模块,被配置为根据所述请求机构标识和所述交易码,利用请求机构、交易码与通用属性之间的对应关系,确定与所述服务请求对应的目标服务实例的通用属性,所述通用属性包括通用和非通用,通用的服务实例为具有基础功能的服务实例,非通用的服务实例为除了具有基础功能以外,还具有特殊功能的服务实例;根据服务实例和通用属性的对应关系,确定所述与所述服务请求对应的目标服务实例的通用属性相对应的至少一个候选服务实例;根据请求机构标识、请求应用标识和服务实例的对应关系,从所述至少一个候选服务实例中,确定与所述服务请求中的请求机构标识和请求应用标识对应且处于可用状态的候选服务实例,作为目标服务实例;和
路由处理模块,被配置为根据所述目标服务实例,对所述服务请求进行路由处理。
13.一种路由处理装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行如权利要求1至11任一项所述的路由处理方法。
14.一种双活数据中心***,包括:
第一数据中心和第二数据中心,所述第一数据中心和所述第二数据中心分别包括如权利要求12或13所述的路由处理装置。
15.根据权利要求14所述的双活数据中心***,其中,所述第一数据中心和所述第二数据中心还分别包括至少一个注册中心,任意一个注册中心被配置为根据接收到的注册请求将服务实例的服务名和标识的对应关系存储到所述任意一个注册中心,并将所述服务实例的服务名和标识的对应关系同步存储到所述第一数据中心和所述第二数据中心内除所述任意一个注册中心以外的其他注册中心。
16.一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1至11任一项所述的路由处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010135655.5A CN111371684B (zh) | 2020-03-02 | 2020-03-02 | 路由处理方法及装置、双活数据中心*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010135655.5A CN111371684B (zh) | 2020-03-02 | 2020-03-02 | 路由处理方法及装置、双活数据中心*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111371684A CN111371684A (zh) | 2020-07-03 |
CN111371684B true CN111371684B (zh) | 2022-08-09 |
Family
ID=71210173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010135655.5A Active CN111371684B (zh) | 2020-03-02 | 2020-03-02 | 路由处理方法及装置、双活数据中心*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111371684B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531492B (zh) * | 2020-11-05 | 2024-05-10 | 网联清算有限公司 | 服务调用方法、装置、存储介质及计算机设备 |
CN112346871A (zh) * | 2020-11-24 | 2021-02-09 | 深圳前海微众银行股份有限公司 | 一种请求处理方法及微服务*** |
CN114584629B (zh) * | 2022-05-07 | 2022-09-30 | 中国光大银行股份有限公司 | 一种交易报文处理方法及装置 |
CN115037789B (zh) * | 2022-06-09 | 2024-03-26 | 中国工商银行股份有限公司 | 限流方法、装置、设备、存储介质和程序产品 |
TWI809956B (zh) * | 2022-06-29 | 2023-07-21 | 英業達股份有限公司 | 具灰度發佈的業務流程控制系統及其方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101268450A (zh) * | 2004-06-10 | 2008-09-17 | 思科技术公司 | 用于部署供给服务的ems的通用框架 |
CN108134828A (zh) * | 2017-12-20 | 2018-06-08 | 金蝶软件(中国)有限公司 | 服务请求的路由方法、装置、计算机设备和存储介质 |
CN110336874A (zh) * | 2019-07-03 | 2019-10-15 | 北京蜜莱坞网络科技有限公司 | 一种访问服务的方法、装置、服务器及存储介质 |
CN110753031A (zh) * | 2019-09-18 | 2020-02-04 | 平安科技(深圳)有限公司 | 基于微服务框架的一起灰度方法、装置和计算机设备 |
CN110781013A (zh) * | 2019-10-25 | 2020-02-11 | 湖南御家科技有限公司 | 一种灰度发布方法、装置、设备及介质 |
CN110837424A (zh) * | 2019-10-15 | 2020-02-25 | 东软集团股份有限公司 | 服务实例确定方法、装置、存储介质及电子设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013101765A1 (en) * | 2011-12-27 | 2013-07-04 | Cisco Technology, Inc. | System and method for management of network-based services |
CN106612188A (zh) * | 2015-10-21 | 2017-05-03 | 中兴通讯股份有限公司 | 一种基于微服务架构扩展软件功能的方法及装置 |
CN107948231B (zh) * | 2016-10-13 | 2021-08-31 | 斑马智行网络(香港)有限公司 | 基于场景的服务提供方法、***和操作*** |
CN108206852B (zh) * | 2016-12-20 | 2020-12-22 | 华为技术有限公司 | 一种微服务框架下的基于会话的服务实例管理方法及设备 |
US11051183B2 (en) * | 2017-05-10 | 2021-06-29 | Huawei Technologies Co., Ltd. | Service provision steps using slices and associated definitions |
CN109002362B (zh) * | 2017-06-06 | 2021-12-24 | 创新先进技术有限公司 | 一种服务方法、装置、***以及电子设备 |
CN107529207A (zh) * | 2017-09-30 | 2017-12-29 | 北京领通科技有限公司 | 网络通信方法及装置 |
US10986479B2 (en) * | 2018-01-17 | 2021-04-20 | Micro Focus Llc | Service management and provisioning for tenant service instances |
CN108282527B (zh) * | 2018-01-22 | 2019-07-09 | 北京百度网讯科技有限公司 | 生成服务实例的分布式***和方法 |
CN109862075B (zh) * | 2018-12-29 | 2022-05-03 | 北京奥鹏远程教育中心有限公司 | 一种Redis服务实例的路由方法 |
CN110311983B (zh) * | 2019-07-09 | 2021-04-06 | 北京字节跳动网络技术有限公司 | 服务请求的处理方法、装置、***、电子设备及存储介质 |
CN110457382A (zh) * | 2019-08-12 | 2019-11-15 | 中国联合网络通信集团有限公司 | 业务处理方法及设备 |
-
2020
- 2020-03-02 CN CN202010135655.5A patent/CN111371684B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101268450A (zh) * | 2004-06-10 | 2008-09-17 | 思科技术公司 | 用于部署供给服务的ems的通用框架 |
CN108134828A (zh) * | 2017-12-20 | 2018-06-08 | 金蝶软件(中国)有限公司 | 服务请求的路由方法、装置、计算机设备和存储介质 |
CN110336874A (zh) * | 2019-07-03 | 2019-10-15 | 北京蜜莱坞网络科技有限公司 | 一种访问服务的方法、装置、服务器及存储介质 |
CN110753031A (zh) * | 2019-09-18 | 2020-02-04 | 平安科技(深圳)有限公司 | 基于微服务框架的一起灰度方法、装置和计算机设备 |
CN110837424A (zh) * | 2019-10-15 | 2020-02-25 | 东软集团股份有限公司 | 服务实例确定方法、装置、存储介质及电子设备 |
CN110781013A (zh) * | 2019-10-25 | 2020-02-11 | 湖南御家科技有限公司 | 一种灰度发布方法、装置、设备及介质 |
Non-Patent Citations (2)
Title |
---|
"Azure App Service - Routing request to specific instance in multi instance pool";Kathiravan Thangavelu;《https://www.linkedin.com/pulse/azure-app-service-routing-request-specific-instance-thangavelu》;20180410;全文 * |
"一种网络化软件的按需服务发现方法";曹步清等;《计算机科学》;20120427;第39卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111371684A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111371684B (zh) | 路由处理方法及装置、双活数据中心*** | |
Gorenflo et al. | FastFabric: Scaling hyperledger fabric to 20 000 transactions per second | |
US11588651B2 (en) | Blockchain timestamp agreement | |
CN107633016B (zh) | 数据处理方法及装置和电子设备 | |
US10831530B2 (en) | Secure consensus-based endorsement for self-monitoring blockchain | |
US11924360B2 (en) | Blockchain timestamp agreement | |
US7490272B2 (en) | Method for validating the proper operation of a transactional management system | |
US10536456B2 (en) | Method and system for identifying user information in social network | |
US7937436B2 (en) | Validating routing of client requests to appropriate servers hosting specific stateful web service instances | |
US20100076939A1 (en) | Information processing system, data update method and data update program | |
US20110302277A1 (en) | Methods and apparatus for web-based migration of data in a multi-tenant database system | |
CN102254031A (zh) | 基于批处理请求的Microsoft SQL Server数据库集群 | |
CN110647559A (zh) | 数据处理方法、相关节点及*** | |
US10757015B2 (en) | Multi-tenant routing management | |
WO2021098139A1 (zh) | 跨链交易的状态数据的存储方法、装置及存储介质 | |
CN105635218B (zh) | 软件中心*** | |
US11539617B2 (en) | Peer-to-peer application layer distributed mesh routing | |
US20190173844A1 (en) | Firewall device | |
CN112738294A (zh) | 基于区块链的域名解析方法、装置、电子设备和存储介质 | |
CN108829495B (zh) | 多数据库修改事务的验证方法、装置、设备及存储介质 | |
Chervinski et al. | Analyzing the performance of the inter-blockchain communication protocol | |
US11881996B2 (en) | Input and output for target device communication | |
CN111506834A (zh) | 权益资源信息的推送方法及装置、存储介质、终端 | |
US20220337571A1 (en) | Verification of unique alias values across network regions | |
US11526514B2 (en) | Request orchestration |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |