CN110798358A - 分布式服务标识方法、装置、计算机可读介质及电子设备 - Google Patents
分布式服务标识方法、装置、计算机可读介质及电子设备 Download PDFInfo
- Publication number
- CN110798358A CN110798358A CN201911071678.8A CN201911071678A CN110798358A CN 110798358 A CN110798358 A CN 110798358A CN 201911071678 A CN201911071678 A CN 201911071678A CN 110798358 A CN110798358 A CN 110798358A
- Authority
- CN
- China
- Prior art keywords
- service
- distributed
- distributed service
- physical identifier
- identification
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0826—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种分布式服务标识方法、分布式服务标识装置、计算机可读介质及电子设备,涉及分布式技术领域。该分布式服务标识方法包括:接收第一分布式服务发送的物理标识,并通过编号顺序增加生成所述物理标识对应的服务编号;记录所述物理标识与所述服务编号的映射关系,以根据所述映射关系将所述服务编号发送给对应的所述第一分布式服务;如果所述第一分布式服务的物理标识失效,则确定所述第一分布式服务对应的映射关系为失效映射关系,以在分布式系统中通过所述映射关系标识所述第一分布式服务。本发明实施例的技术方案通过分布式服务的物理标识自动为分布式服务生成对应的服务编号,简单高效,能够降低运维难度和复杂度。
Description
技术领域
本发明涉及分布式技术领域,具体而言,涉及一种分布式服务标识方法、分布式服务标识装置、计算机可读介质及电子设备。
背景技术
互联网应用为了应对大规模用户的并发接入,往往将业务系统采取分布式的模式进行部署。
在分布式应用系统中,有很多应用场景下,每一个参与集群的节点都需要配置一个ID,用来标识其身份。只有知道每个服务的身份,集群才能正确的运行。通常,在启动应用时,会在配置文件里面写入一个ID,每个应用服务均需要配置该ID属性,并且互相不能重复。对于集群较大的分布式应用来说,通过配置文件配置ID,会造成较高的人工成本,尤其是在版本更新时,会带来非常大的运维难度。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明人发现,由于分布式系统中,各节点的ID通过配置文件配置,例如Zookeeper集群,每一个参与集群的节点都需要给自己配置一个id,用来唯一标识集群中的每一个节点。而在集群中节点较多或者版本更新时,通过配置文件配置ID会带来非常大的运维难度。
基于此,本发明实施例的目的在于提供一种分布式服务标识方法、分布式服务标识装置、计算机可读介质及电子设备,进而至少在一定程度上克服上述问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的第一方面,提供了一种分布式服务标识方法,包括:
接收第一分布式服务发送的物理标识,并通过编号顺序增加生成所述物理标识对应的服务编号;
记录所述物理标识与所述服务编号的映射关系,以根据所述映射关系将所述服务编号发送给所述第一分布式服务;
如果所述第一分布式服务的物理标识失效,则确定所述第一分布式服务对应的映射关系为失效映射关系,以在分布式系统中通过所述映射关系标识所述第一分布式服务。
在一种示例性实施方式中,所述记录所述物理标识与所述服务编号的映射关系,包括:
通过标识映射表记录所述物理标识与所述服务编号的映射关系。
在一种示例性实施方式中,如果所述第一分布式服务的物理标识失效,则确定所述分布式服务对应的映射关系失效之后,还包括:
生成记录文件,记录所述失效映射关系。
在一种示例性实施方式中,所述确定所述第一分布式服务对应的映射关系为失效映射关系之后,,还包括:
从所述标识映射表中删除所述失效的物理标识,确定所述失效的物理标识对应的服务编号为可用服务编号。
在一种示例性实施方式中,确定所述第一分布式服务对应的映射关系为失效映射关系之后,还包括:
如果接收到第二分布式服务发送的目标物理标识,查询所述记录文件中是否包含所述目标物理标识,若包含,则根据所述失效映射关系确定所述目标物理标识对应的服务编号。
在一种示例性实施方式中,确定所述第一分布式服务对应的映射关系为失效映射关系之后,还包括:
如果接收到第二分布式服务发送的目标物理标识,查询所述标识映射表中是否存在可用服务编号,若存在,则将所述可用服务编号确定为所述目标物理标识对应的服务编号。
在一种示例性实施方式中,所述接收第一分布式服务发送的物理标识之后,还包括:
确定接收到所述第一分布式服务发送的物理标识的第一时刻,将所述第一时刻记录在所述标识映射表中。
在一种示例性实施方式中,将所述服务编号发送给所述第一分布式服务之后,还包括:
如果再次接收到所述第一分布式服务发送的所述物理标识,则更新所述第一时刻。
根据本发明实施例的第二方面,提供了一种分布式服务标识装置,包括:
标识获取单元,用于接收第一分布式服务发送的物理标识,并通过编号顺序增加生成所述物理标识对应的服务编号;
编号确定单元,用于记录所述物理标识与所述服务编号的映射关系,以根据所述映射关系将所述服务编号发送给对应的所述第一分布式;
编号发送单元,用于如果所述第一分布式服务的物理标识失效,则确定所述第一分布式服务对应的映射关系为失效映射关系,以在分布式系统中通过所述映射关系标识所述第一分布式服务。
在一种示例性实施方式中,编号确定单元可以具体用于:通过标识映射表记录所述物理标识与所述服务编号的映射关系。
在一种示例性实施方式中,所述装置还可以包括失效记录单元。该失效记录单元可以用于生成记录文件,记录所述失效映射关系。
在一种示例性实施方式中,所述装置还包括可用编号确定单元,可以具体用于:从所述标识映射表中删除所述失效的物理标识,确定所述失效的物理标识对应的服务编号为可用服务编号。
在一种示例性实施方式中,所述装置还包括:编号分配第一单元,用于如果接收到第二分布式服务发送的目标物理标识,查询所述记录文件中是否包含所述目标物理标识,若包含,则根据所述失效的映射关系确定所述目标物理标识对应的服务编号。
在一种示例性实施方式中,所述装置还包括:编号分配第二单元,如果接收到第二分布式服务发送的目标物理标识,查询所述标识映射表中是否存在可用服务编号,若存在,则将所述可用服务编号确定为所述目标物理标识对应的服务编号。
在一种示例性实施方式中,所述分布式服务标识装置还包括时间记录单元,用于确定接收到所述第一分布式服务发送的物理标识的第一时刻,将所述第一时刻记录在所述标识映射表中。
在一种示例性实施方式中,所述分布式服务标识装置还包括时间更新单元,用于如果再次接收到所述第一分布式服务发送的所述物理标识,则更新所述第一时刻。
根据本发明实施例的第三方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的分布式服务标识方法。
根据本发明实施例的第四方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的分布式服务标识方法。
本发明实施例提供的技术方案可以包括以下有益效果:
在本发明的一些实施例所提供的技术方案中,一方面,通过服务编号能够在分布式系统中标识各个分布式服务,从而实现分布式集群的正确运行。另一方面,利用分布式服务的物理标识能够确定对应的服务编号,简单高效;并且,无需人力为分布式服务配置服务编号,能够降低成本。再一方面,通过维护标识映射表可以灵活地管理服务编号,从而能够降低维护难度;并且,在分布式服务之间互相调用时能够进行跟踪,便于发现问题、回溯问题,从而提高系统的健壮性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本发明的实施例的分布式服务标识方法的流程图;
图2示意性示出了用于实现本发明的实施例的分布式服务标识方法的系统架构图;
图3示意性示出了根据本发明的实施例的分布式服务标识方法的数据结构图;
图4示意性示出了根据本发明的另一实施例的分布式服务标识方法的流程图;
图5示意性示出了根据本发明的实施例的标识映射表的示意图;
图6示意性示出了根据本发明的实施例的分布式服务标识装置的框图;
图7示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
首先,本公开的示例性实施方式提供一种分布式服务标识方法。如图1所示,该分布式服务标识方法可以具体包括以下步骤:
S110.接收分布式服务发送的物理标识,并通过编号顺序增加生成所述物理标识对应的服务编号;
S120.记录所述物理标识与所述服务编号的映射关系,以根据所述映射关系将所述服务编号发送给对应的所述分布式服务;
S130.如果所述分布式服务的物理标识失效,则确定所述分布式服务对应的映射关系为失效映射关系,以在分布式系统中通过所述映射关系标识所述分布式服务。
根据本示例性实施方式的分布式服务标识方法,一方面,通过服务编号能够在分布式系统中标识各个分布式服务,从而实现分布式集群的正确运行。另一方面,利用分布式服务的物理标识能够确定对应的服务编号,简单高效;并且,无需人力为分布式服务配置服务编号,能够降低成本。再一方面,通过维护映射关系可以灵活地管理服务编号,从而能够降低维护难度;并且,在分布式服务之间互相调用时能够进行跟踪,便于发现问题、回溯问题,从而提高系统的健壮性。
图2示意性示出了一种用于实现分布式服务标识方法的系统架构。如图2所示,该系统架构200可以包括应用节点201、202、203,网络204用以在应用节点201、202、203之间提供通信链路的介质。应用节点201、202、203之间可以相互调用,共同为终端设备上安装的客户端应用提供服务。网络204可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应用节点201、202、203可以是提供各种服务的服务器,例如对终端设备205、206所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
终端设备205、206通过网络204与分布式系统进行交互,以接收数据或发送指令等。终端设备205、206上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备205、206可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
中心服务节点207可以与分布式系统中的应用节点201、202、203通过网络204进行交互,换言之,中心服务节点可以是分布式系统中的一节点,并且通过中心服务节点可以查询到集群中所有的应用节点。
需要说明的是,本公开实施方式所提供的分布式服务标识方法一般由中心服务节点207执行,相应地,分布式服务标识装置一般设置于中心节点207中。
下面,结合上述系统架构对本示例性实施方式中的各个步骤进行详细阐述。
参考图1,在步骤S110中,接收第一分布式服务发送的物理标识,并通过编号顺序增加生成所述物理标识对应的服务编号。
分布式服务可以是部署于应用节点201、202、203上的应用程序,节点201、202、203上可以部署多个应该程序,即多个分布式服务。在分布式服务启动后可以将自身的物理标识通过接口发送给中心服务节点。不同的分布式服务其物理标识不同,物理标识可以包括服务器IP和端口号。分布式系统可以部署在Web容器中,各服务所在的容器有一服务端口,通过接口可以确定相应分布式服务自身当前所在容器的端口号以及所在服务器的ip地址,从而在启动服务时,能自动向中心服务节点上报IP地址以及端口号。
示例性实施方式中,如果接收到第一分布式服务的物理标识时,可以通过编号顺序增加的方式生成服务编号。服务编号可以从一预设值开始顺序递增,例如每次增加1,则按照接收的分布式服务的顺序,后一个分布式服务的服务编号与前一个分布式服务的服务编号之间相差1。示例性地,服务编号可以从1开始,每次增加1,从而在接收到分布式服务的物理标识时,生成对应的服务编号。然而,服务编号也可以以其他方式顺序增加,例如从1000开始,每次增加5。在步骤S120中,记录物理标识与服务编号的映射关系,以根据所述映射关系将所述服务编号发送给对应的所述第一分布式服务。
中心服务节点根据接收到的第一分布式服务的物理标识可以确定一服务编号,并将该服务编号与第一分布式服务的物理标识进行绑定,使得该服务编号与物理标识一一映射。其中,服务编号可以在中心服务节点实时生成。每当中心服务节点接收到一分布式服务的物理标识,则生成一服务编号与该物理标识对应。并且,服务编号生成后不会随着分布式服务的启停变化而改变,如果分布式服务的物理标识发生变化,则该分布式服务的映射关系可以随之发送变化。举例而言,如果中心服务节点接收到分布式服务的物理标识a,则生成1,与该物理标识对应;当该分布式服务重新部署后其物理标识变为b,则可以为变化后的物理标识b重新生成一服务编号2,而变化前已经生成的服务编号1不改变。也就是说,已经生成的服务编号不会随分布式服务的变化而变化,但与该服务编号绑定的映射关系可以发生变化。
生成的服务编号需要与对应的物理标识进行绑定,通过标识映射表可以建立服务编号与物理标识的映射关系。并且,还可以记录接收到物理标识的时间,使得每一映射关系都具有一时间戳。因此,标识映射表中的元数据可以包括服务编号、物理标识以及时间戳,如图3所示。通过时间戳(Timestamp)可以更加方便地对分布式服务的启用和更新进行跟踪。
在中心服务节点确定了服务编号与物理标识的映射关系后,中心服务节点可以将服务编号发送给对应的第一分布式服务。在第一分布式服务接收到服务编号后,可以在分布式系统内部使用该服务编号实现相关业务。在分布式系统中,各个服务可以使用自身的服务编号进行互相调用,无需再从中心服务节点查询,从而降低中心节点的压力,提高分布式系统的效率。
在步骤S130中,如果所述第一分布式服务的物理标识失效,则确定所述第一分布式服务对应的映射关系为失效映射关系,以在分布式系统中通过服务编号标识分布式服务。
在分布式系统中,集群服务器发生变更或者服务器减少、停用等情况发生时,可能导致分布式服务的物理标识发生变化,例如,当分布式服务所在的容器环境发生变化,则分布式服务的端口号随之变化。如果分布式的物理标识发生变化,则该分布式服务的物理标识更新的时,原始的物理标识失效,则可以确定与原始物理标识绑定的映射关系失效。在第一分布式服务的物理标识失效时,中心服务节点的标识映射表中已经失效的物理标识仍然与一服务编号绑定,而后续上报的第二、第三等分布式服务绑定的服务编号只能越来越大,较小的、优质的服务编号会被失效的物理标识占据。因此,在第一分布式服务的物理标识发生变化时,可以从标识映射表中删除该失效的物理标识,以解除失效的映射关系,从而释放出由该失效的物理标识占据的服务编号,便于有效的物理标识获取。
从标识映射表中删除失效的物理标识,则该物理标识所属的数据记录中,物理标识的值为空,服务编号为可用服务编号。通过定期或者实时检测标识映射表,从而将失效的物理标识删除,有利于减少冗余数据,并能够提高服务编号的利用率和可用率。
并且,在删除物理标识时,还可以通过文件记录失效的映射关系。记录文件可以是日志文件,也可以其他格式的文件,例如doc文件、txt文件等,本实施方式对此不做限定。记录文件中可以记录失效的物理标识以及其对应的服务编号,并且还可以记录映射关系成立的时间戳。此外,记录文件中还可以记录其他信息,例如物理标识失效时的时间戳等。
因此,中心服务节点接收到第二分布式服务的物理标识后,还可以通过生成的记录文件来确定分布式服务对应的服务编号。具体地,接收到第二分布式服务上报的物理标识后,可以先查询记录文件中是否存在该物理标识,如果记录文件中存在该物理标识,则可以确定该第二分布式服务与第一分布式服务为同一服务,也就是说,该物理标识存在一失效的映射关系,那么可以根据该物理标识的失效的映射关系,将原先绑定的原始服务编号重新与该物理标识进行绑定。为了防止原始服务编号被释放后被其他分布式服务占用,在绑定之前可以先校验原始服务编号对应的物理标识是否为空,即,原始服务编号上不存在映射关系。通过本示例性实施方式可以实现固定映射关系,从而使得相同的物理标识始终对应一固定的服务编号。
此外,如果没有固定服务编号的需求,在接收到分布式服务的物理标识时,可以从在标识映射表中获取物理标识被删除,即,物理标识字段的值为空的数据记录,该数据记录中的服务编号为可用的服务编号。将可用的服务编号重新分配给第二分布式服务,将该服务编号与该物理标识进行绑定,从而生成该第二分布式服务的映射关系。
通过本示例性实施方式,分布式系统中的对等服务能够简单高效地获取服务编号,应用节点与中心服务节点之间可以进行接口通信,实现自动化配置服务编号,从而可以解决运维人员手工配置的问题,降低运维成本和难度。
在可选的实施方式中,在中心服务节点接收到分布式服务发送的物理标识时,可以接收到物理标识的时间,将该时间确定为第一时刻,在生成该物理标识的服务编号后,在标识映射表中记录该第一时刻。如图3所示,标识映射表中的每一条数据记录中均可以包含接收到对应的物理标识的时间。并且,在分布式的物理标识变化时,相应的映射关系需要更新,如果映射关系被更新,则可以更新第一时刻。具体地,如果分布式服务的物理标识发生变化时,原始的物理标识上绑定的映射关系可以被删除,则需要将更新后的物理标识重新上报给中心服务节点,那么在中心服务节点接收到更新后的物理标识时,重新为该物理标识生成映射关系,并重新记录第一时刻。或者,当分布式服务被停用后,重新启动时,可以更新标识映射表中记录的第一时刻。
此外,可以通过记录接收到物理标识的时间,基于该时间生成服务编号。具体的,在中心服务节点每接收到一物理标识时,记录接收时的时间戳,并随机为该物理标识分配一服务编号。该服务编号可以包括整数,或者由数字、符号等元素组合。并且,该服务编号需要保证唯一性。
图4示出了一示例性实施方式的一种流程。如图4所示,示例性实施方式可以包括以下步骤:
S401.获取应用的IP:PORT,记录Timestamp;
S402.判断标识映射表中是否已存在IP:PORT;
S403.更新标识映射表中元数据;
S404.判断是否追加元数据;
S405.判断标识映射表中是否存在空档区;
S406.将获取的数据写入空挡区;
S407.将获取的数据追加在标识映射表的最末端。
在本示例性实施方式中,中心服务节点程序启动后,分布式系统中的应用节点将自身的物理标识上报给中心服务节点。中心服务节点接收到物理标识IP:PORT时,记录接收时间,得到(IP:PORT,Timestamp)。然后从标识映射表或者记录文件中查询该IP:PORT,如果能够查询到,则该IP:PORT已绑定过映射关系,如果没有查询到,则标识映射表中不存在该IP:PORT。进而,在IP:PORT已绑定过映射关系时,将该映射关系重新更新到标识映射表中,并更新时间戳。
在标识映射表中不存在IP:PORT时,判断是否追加元数据,如果分布式应用节点需要追加元数据,则确定当前标识映射表中最后一条元数据S的ID,在该ID的基础上自增得到新的ID,则构建新的元数据(ID,IP:PORT,Timestamp)追加在S的后面。如果分布式应用节点不需要追加元数据,则判断标识映射表中是否存在空档区,如果存在,则将IP:PORT,Timestamp写入空挡区,与该空挡区原包含的ID共同组成一条完整的元数据。如果标识映射表中不存在空挡区,将IP:PORT,Timestamp追加在标识映射表的最末端。其中,空挡区可以指标识映射表中物理标识以及时间戳被删除,而只留下服务编号的数据记录,如图6所示,表(b)中空挡区服务编号为5的行。
通过本实施方式,服务编号的生成可以有多种方式,根据分布式应用节点的需求能够灵活选择服务编号的生成方式。追加可以指新的物理标识写入标识映射表中的最末端。插空可以指将物理标识写入空挡区。
下面,参考图5,举例说明在一种示例性实施方式中,中心服务节点对标识映射表的维护过程。
假设集群中起始状态为6个节点提供服务,在每个节点启动服务时,其自身的物理标识会上报至中心服务节点。在中心服务节点接收到物理标识时,按照先到先分配以及编号顺序增加的规则,为每个服务生成一ID,则标识映射表中保存了该6个节点对应的6条元数据,如图5中(a)表所示。
运行一段时间后,两台服务停用,分别为服务编号2和5的服务。并且,这两台服务中服务编号为5的服务失效,则从表中删除该服务的物理标识以及时间戳。如图5中(b)所示,删除之后的数据记录中仍然保留着服务编号“5”,服务编号为“2”的分布式服务停用。
重新启动IP:PORT为10.95.197.11:8081的服务。在启动IP:PORT为10.95.197.11:8081的服务之后,该10.95.197.11:8081会上报至中心服务节点,中心服务节点接收到后查询标识映射表中存在该IP:PORT,则将对应的元数据进行更新,即,更新编号为2的服务的时间戳(Timestamp)。
新添加两个服务,其物理标识分别为其对应的物理标识10.95.197.21:8080和10.95.197.21:8081。如果这两个服务通过接口传递的接口参数为插空写入模式,则中心服务节点会优先在表中查找空闲记录,然后将IP:PORT和Timestamp写入,如图5中(c)所示的服务编号为5的数据记录。由于表中只有一个空闲位置,则另一10.95.197.21:8081的服务会采用追加的方式写入表中,如(c)中的最后一条记录,其服务编号为7。
并且,在分布式服务需要自身的服务编号时,可以向中心服务节点发起接口调用,请求查询标识映射表,基于自身的物理标识可以查询到对应的服务编号,例如,物理标识为10.95.197.12:8080的服务编号是3。在获取到服务编号后,分布式服务可以在分布式系统中使用该服务编号实现各种功能,避免频繁接口调用,对中心服务节点造成压力,同时还能够提升分布式服务的运行性能。
通过本公开的实施方式,可以对分布式服务进行自动化编号,简单高效地为服务分配集群范围内的唯一编号,解决了集群中需要绑定服务ID的分布式应用架构问题,在降低运维难度和成本的同时,保证了系统服务的高效性;除了能够确定服务的服务编号,还可以方便各应用节点发现集群中的其他服务节点,为集群内部的点对点通信提供方便。
进一步地,本公开还提供一种分布式服务标识装置,可以用于执行本公开上述的分布式服务标识方法。
如图6所示,该分布式服务标识装置600可以包括标识获取单元610、编号确定单元620和编号发送单元630。
其中,标识获取单元610,接收第一分布式服务发送的物理标识,并通过编号顺序增加生成所述物理标识对应的服务编号;编号确定单元620,用于记录所述物理标识与所述服务编号的映射关系,以根据所述映射关系将所述服务编号发送给对应的所述第一分布式服务;编号发送单元630,用于如果所述第一分布式服务的物理标识失效,则确定所述第一分布式服务对应的映射关系为失效映射关系,以在分布式系统中通过所述映射关系标识所述第一分布式服务。
在一种示例性实施方式中,编号确定单元620可以具体用于:通过标识映射表记录所述物理标识与所述服务编号的映射关系。
在一种示例性实施方式中,所述装置还可以包括失效记录单元。该失效记录单元可以用于生成记录文件,记录所述失效映射关系。
在一种示例性实施方式中,所述装置还包括可用编号确定单元,可以具体用于:从所述标识映射表中删除所述失效的物理标识,确定所述失效的物理标识对应的服务编号为可用服务编号。
在一种示例性实施方式中,所述装置还包括:编号分配第一单元,用于如果接收到第二分布式服务发送的目标物理标识,查询所述记录文件中是否包含所述目标物理标识,若包含,则根据所述失效的映射关系确定所述目标物理标识对应的服务编号。
在一种示例性实施方式中,所述装置还包括:编号分配第二单元,如果接收到第二分布式服务发送的目标物理标识,查询所述标识映射表中是否存在可用服务编号,若存在,则将所述可用服务编号确定为所述目标物理标识对应的服务编号。
在一种示例性实施方式中,所述分布式服务标识装置还包括时间记录单元,用于确定接收到所述第一分布式服务发送的物理标识的第一时刻,将所述第一时刻记录在所述标识映射表中。
在一种示例性实施方式中,所述分布式服务标识装置还包括时间更新单元,用于如果再次接收到所述第一分布式服务发送的所述物理标识,则更新所述第一时刻。
由于本发明的示例实施例的分布式服务标识装置的各个功能模块与上述分布式服务标识方法的示例实施例的步骤对应,因此对于本发明装置实施例中未披露的细节,请参照本发明上述的分布式服务标识方法的实施例。
在本发明的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
下面参考图7,其示出了适于用来实现本发明实施例的电子设备的计算机系统700的结构示意图。图7示出的电子设备的计算机系统700仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分808加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统操作所需的各种程序和数据。CPU701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的分布式服务标识方法。
例如,所述的电子设备可以实现如图1中所示的:步骤S110,接收第一分布式服务发送的物理标识,并通过编号顺序增加生成所述物理标识对应的服务编号;步骤S120,记录所述物理标识与所述服务编号的映射关系,以根据所述映射关系将所述服务编号发送给所述第一分布式服务;步骤S130,如果所述第一分布式服务的物理标识失效,则确定所述第一分布式服务对应的映射关系为失效映射关系,以在分布式系统中通过所述映射关系标识所述第一分布式服务。
又如,所述的电子设备可以实现如图4所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (11)
1.一种分布式服务标识方法,其特征在于,包括:
接收第一分布式服务发送的物理标识,并通过编号顺序增加生成所述物理标识对应的服务编号;
记录所述物理标识与所述服务编号的映射关系,以根据所述映射关系将所述服务编号发送给所述第一分布式服务;
如果所述第一分布式服务的物理标识失效,则确定所述第一分布式服务对应的映射关系为失效映射关系,以在分布式系统中通过所述映射关系标识所述第一分布式服务。
2.根据权利要求1所述的方法,其特征在于,所述记录所述物理标识与所述服务编号的映射关系,包括:
通过标识映射表记录所述物理标识与所述服务编号的映射关系。
3.根据权利要求1所述的方法,其特征在于,如果所述第一分布式服务的物理标识失效,则确定所述分布式服务对应的映射关系失效之后,还包括:
生成记录文件,记录所述失效映射关系。
4.根据权利要求2所述的方法,其特征在于,所述确定所述第一分布式服务对应的映射关系为失效映射关系之后,,还包括:
从所述标识映射表中删除所述失效的物理标识,确定所述失效的物理标识对应的服务编号为可用服务编号。
5.根据权利要求3所述的方法,其特征在于,确定所述第一分布式服务对应的映射关系为失效映射关系之后,还包括:
如果接收到第二分布式服务发送的目标物理标识,查询所述记录文件中是否包含所述目标物理标识,若包含,则根据所述失效映射关系确定所述目标物理标识对应的服务编号。
6.根据权利要求4所述的方法,其特征在于,确定所述第一分布式服务对应的映射关系为失效映射关系之后,还包括:
如果接收到第二分布式服务发送的目标物理标识,查询所述标识映射表中是否存在可用服务编号,若存在,则将所述可用服务编号确定为所述目标物理标识对应的服务编号。
7.根据权利要求2所述的方法,其特征在于,所述接收第一分布式服务发送的物理标识之后,还包括:
确定接收到所述第一分布式服务发送的物理标识的第一时刻,将所述第一时刻记录在所述标识映射表中。
8.根据权利要求7所述的方法,其特征在于,将所述服务编号发送给所述第一分布式服务之后,还包括:
如果再次接收到所述第一分布式服务发送的所述物理标识,则更新所述第一时刻。
9.一种分布式服务标识装置,其特征在于,包括:
标识获取单元,用于接收第一分布式服务发送的物理标识,并通过编号顺序增加生成所述物理标识对应的服务编号;
编号确定单元,用于记录所述物理标识与所述服务编号的映射关系,以根据所述映射关系将所述服务编号发送给对应的所述第一分布式服务;
编号发送单元,用于如果所述第一分布式服务的物理标识失效,则确定所述第一分布式服务对应的映射关系为失效映射关系,以在分布式系统中通过所述映射关系标识所述第一分布式服务。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至8中任一项所述的分布式服务标识方法。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至8中任一项所述的分布式服务标识方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911071678.8A CN110798358B (zh) | 2019-11-05 | 2019-11-05 | 分布式服务标识方法、装置、计算机可读介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911071678.8A CN110798358B (zh) | 2019-11-05 | 2019-11-05 | 分布式服务标识方法、装置、计算机可读介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110798358A true CN110798358A (zh) | 2020-02-14 |
CN110798358B CN110798358B (zh) | 2022-12-30 |
Family
ID=69442776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911071678.8A Active CN110798358B (zh) | 2019-11-05 | 2019-11-05 | 分布式服务标识方法、装置、计算机可读介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110798358B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113329047A (zh) * | 2020-02-29 | 2021-08-31 | 华为技术有限公司 | 一种分布式服务调度方法及相关装置 |
CN113452536A (zh) * | 2020-03-24 | 2021-09-28 | 华为技术有限公司 | 一种原子对象的管理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170344947A1 (en) * | 2002-12-30 | 2017-11-30 | Thomson Reuters Global Resources | Systems and methods for managing documents for law firms |
CN107666525A (zh) * | 2017-09-08 | 2018-02-06 | 北京京东尚科信息技术有限公司 | 集群容器ip分配的方法和装置 |
CN108512914A (zh) * | 2018-03-20 | 2018-09-07 | 北京奇艺世纪科技有限公司 | 一种业务id生成方法及装置 |
CN109344162A (zh) * | 2018-09-14 | 2019-02-15 | 北京京东金融科技控股有限公司 | 业务数据处理方法和装置 |
CN109697133A (zh) * | 2018-12-28 | 2019-04-30 | 广州华多网络科技有限公司 | Id生成方法、装置及系统 |
CN109948012A (zh) * | 2019-03-14 | 2019-06-28 | 北京达佳互联信息技术有限公司 | 序列号的生成方法、装置及存储介质 |
-
2019
- 2019-11-05 CN CN201911071678.8A patent/CN110798358B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170344947A1 (en) * | 2002-12-30 | 2017-11-30 | Thomson Reuters Global Resources | Systems and methods for managing documents for law firms |
CN107666525A (zh) * | 2017-09-08 | 2018-02-06 | 北京京东尚科信息技术有限公司 | 集群容器ip分配的方法和装置 |
CN108512914A (zh) * | 2018-03-20 | 2018-09-07 | 北京奇艺世纪科技有限公司 | 一种业务id生成方法及装置 |
CN109344162A (zh) * | 2018-09-14 | 2019-02-15 | 北京京东金融科技控股有限公司 | 业务数据处理方法和装置 |
CN109697133A (zh) * | 2018-12-28 | 2019-04-30 | 广州华多网络科技有限公司 | Id生成方法、装置及系统 |
CN109948012A (zh) * | 2019-03-14 | 2019-06-28 | 北京达佳互联信息技术有限公司 | 序列号的生成方法、装置及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113329047A (zh) * | 2020-02-29 | 2021-08-31 | 华为技术有限公司 | 一种分布式服务调度方法及相关装置 |
CN113329047B (zh) * | 2020-02-29 | 2023-04-18 | 华为技术有限公司 | 一种分布式服务调度方法及相关装置 |
US11831713B2 (en) | 2020-02-29 | 2023-11-28 | Huawei Technologies Co., Ltd. | Distributed service scheduling method and related apparatus |
CN113452536A (zh) * | 2020-03-24 | 2021-09-28 | 华为技术有限公司 | 一种原子对象的管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110798358B (zh) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107666525B (zh) | 集群容器ip分配的方法和装置 | |
US8069224B2 (en) | Method, equipment and system for resource acquisition | |
CN103685590B (zh) | 获取ip地址的方法及系统 | |
CN110837409B (zh) | 一种定时执行任务的方法和系统 | |
CN111400777B (zh) | 一种网络存储系统、用户认证方法、装置及设备 | |
US10282120B2 (en) | Method, apparatus and system for inserting disk | |
CN111491037B (zh) | 通过sftp数据流与对象存储服务器的通信方法 | |
CN109522043B (zh) | 一种配置数据的管理方法、装置及存储介质 | |
CN112948498A (zh) | 一种分布式系统全局标识的生成方法和装置 | |
CN111460129A (zh) | 标识生成的方法、装置、电子设备和存储介质 | |
CN108667660B (zh) | 路由管理和业务路由的方法和装置及路由系统 | |
CN110798358B (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 | |
CN111124589A (zh) | 一种服务发现系统、方法、装置及设备 | |
CN112783842B (zh) | 一种日志收集方法和装置 | |
CN107623705B (zh) | 基于视频云存储系统的存储模式升级方法、装置和系统 | |
CN113742376A (zh) | 一种同步数据的方法、第一服务器以及同步数据的系统 | |
CN105653566B (zh) | 一种实现数据库写访问的方法及装置 | |
CN108418857B (zh) | 一种Zookeeper集群系统及其连接方法和装置 | |
US11290318B2 (en) | Disaster recovery of cloud resources | |
CN114205354A (zh) | 事件管理系统、事件管理方法、服务器及存储介质 | |
CN107332679B (zh) | 一种无中心信息同步方法及装置 | |
CN114500485B (zh) | 一种数据处理方法和装置 | |
US12056450B1 (en) | Message content reduction using message templates | |
CN111797062B (zh) | 数据处理方法、装置和分布式数据库系统 | |
CN115167769A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |