一种分布式服务的实现方法、服务代理装置及分布式系统制造方法及图纸

技术编号:11439176 阅读:53 留言:0更新日期:2015-05-13 08:37
本申请公开了分布式服务的实现方法、服务代理装置及分布式系统,所述方法包括:接收用户端的服务请求信息;根据所述用户端标识码,获取与所述服务请求信息对应的逻辑服务节点的信息;根据与所述逻辑服务节点对应的物理服务节点的物理地址,查询得到一物理服务节点,将所述服务请求信息,以及所述逻辑服务节点对应的物理服务节点的通用唯一识别码发送至查询得到的物理服务节点,使得查询得到的物理服务节点在确定其自身的通用唯一识别码,以及与所述逻辑服务节点对应的物理服务节点的通用唯一识别码二者一致后,执行与所述服务请求信息对应的服务。本发明专利技术物理服务节点可以灵活变更同时可以保证写的串行化。

【技术实现步骤摘要】
一种分布式服务的实现方法、服务代理装置及分布式系统
本申请涉及计算机
,具体涉及一种分布式服务的实现方法、服务代理装置及分布式系统。
技术介绍
随着计算机技术的发展,可以将很多计算机组合成为一个分布式系统,通过分布式系统为用户提供更好的服务。目前,分布式系统对外提供的服务有二类,一类是服务节点物理上有状态的,即某类服务请求会被分配到固定的物理计算机进行处理,另一类是服务节点物理上无状态,即某类服务请求会被随机分配到不同的物理机器进行处理。然而,服务节点物理上有状态这类服务,一旦为某类服务请求服务的固定的物理计算机出现故障,进行物理上的更换或修复耗时较长,会影响某类服务请求的实现。服务节点物理上无状态这类服务,会因系统抖动等原因导致某类服务请求被多台计算机重复处理,当该某类服务请求有写数据操作时,可能会造成数据不一致或写坏数据。
技术实现思路
本申请所要解决的技术问题在于提供一种分布式服务的实现方法、服务代理装置及分布式系统,通过根据服务请求信息中携带的用户端标识码,获取与该服务请求信息对应的逻辑服务节点的信息,根据与逻辑服务节点对应的物理服务节点的物理地址,查询得到物理服务节点,通过逻辑服务节点实现了物理服务节点与服务请求的解耦,使服务请求与逻辑服务节点之间是有状态的,服务请求会被分发到固定的逻辑服务节点,逻辑服务节点与物理服务节点之间是无状态的,物理服务节点可以灵活快速变更,当某服务请求的物理服务节点出现故障时,可以灵活快速地变更为其他物理服务节点,不会影响某服务请求的实现;同时查询得到的物理服务节点在确定其自身的通用唯一识别码,以及与逻辑服务节点对应的物理服务节点的通用唯一识别码二者一致后,才执行与该服务请求对应的服务,通过通用唯一识别码有效性的验证,避免某服务请求被多个物理服务节点重复处理,保证写的串行化。为了解决上述问题,本申请公开了一种分布式服务的实现方法,包括:接收用户端的服务请求信息,其中,所述服务请求信息中携带有用户端标识码;根据所述用户端标识码获取与所述服务请求信息对应的逻辑服务节点,并进一步获取所述逻辑服务节点的信息;其中,所述逻辑服务节点的信息包括与所述逻辑服务节点对应的物理服务节点的物理地址以及与所述逻辑服务节点对应的物理服务节点的通用唯一识别码;根据所述物理地址查询得到一物理服务节点,将所述服务请求信息以及所述通用唯一识别码发送至查询得到的物理服务节点;在确定所述查询得到的物理服务节点自身的通用唯一识别码与所述逻辑服务节点对应的物理服务节点的通用唯一识别码二者一致后,执行与所述服务请求信息对应的服务。进一步地,接收用户端的服务请求信息之前,所述方法还包括:根据预设的总的逻辑服务节点的个数和预设的每个逻辑服务节点的名称,从总的物理服务节点中获取与每个逻辑服务节点对应的物理服务节点;其中,总的物理服务节点的个数大于总的逻辑服务节点的个数;根据每个逻辑服务节点及其对应的物理服务节点,建立节点信息列表,其中,所述节点信息列表中包括每个逻辑服务节点的信息;将所述节点信息列表中每个逻辑服务节点的信息,分别发送至与每个逻辑服务节点对应的物理服务节点。进一步地,建立节点信息列表之后,所述方法还包括:获取所述节点信息列表;根据所述节点信息列表中包括的每个逻辑服务节点的信息,建立与每个逻辑服务节点对应的槽;其中,每个槽的名称与其对应的逻辑服务节点的名称相同,总的槽的个数与总的逻辑服务节点的个数相同;将每个逻辑服务节点的信息分别存储到与每个逻辑服务节点对应的槽中。进一步地,将每个逻辑服务节点的信息分别存储到与每个逻辑服务节点对应的槽中之后,所述方法还包括:当所述节点信息列表变更后,更新槽和/或槽中存储的逻辑服务节点的信息。进一步地,当逻辑服务节点的名称为顺序号,槽的名称为顺序号时,根据所述用户端标识码获取与所述服务请求信息对应的逻辑服务节点,并进一步获取所述逻辑服务节点的信息,包括:利用预设的哈希函数对所述用户端标识码进行哈希运算,得到哈希值;将所述哈希值对总的槽的个数的取模运算结果,作为槽的顺序号,所述槽的顺序号对应的槽中存储的逻辑服务节点的信息为与所述服务请求信息对应的逻辑服务节点的信息;从所述槽的顺序号对应的槽中,读取得到与所述服务请求信息对应的逻辑服务节点的信息。进一步地,根据预设的总的逻辑服务节点的个数和预设的每个逻辑服务节点的名称,从总的物理服务节点中获取与每个逻辑服务节点对应的物理服务节点,包括:根据预设的总的逻辑服务节点的个数,从总的物理服务节点中选取物理服务节点进行启动;其中,选取并启动的物理服务节点的个数与预设的总的逻辑服务节点的个数相同;将预设的每个逻辑服务节点的名称,一一对应分配给选取并启动的物理服务节点中的每个物理服务节点,得到与每个逻辑服务节点对应的物理服务节点;或,根据预设的总的逻辑服务节点的个数和预设的每个逻辑服务节点的名称,从总的物理服务节点中获取与每个逻辑服务节点对应的物理服务节点,包括:根据预设的总的逻辑服务节点的个数,从总的物理服务节点中选取物理服务节点进行启动,使得选取并启动的物理服务节点向本地发送节点名称获取信息;其中,选取并启动的物理服务节点的个数与预设的总的逻辑服务节点的个数相同;接收所述节点名称获取信息,并根据所述节点名称获取信息,将预设的每个逻辑服务节点的名称,一一对应分配给选取并启动的物理服务节点中的每个物理服务节点,得到与每个逻辑服务节点对应的物理服务节点。进一步地,从总的物理服务节点中获取与每个逻辑服务节点对应的物理服务节点之后还包括:监测与每个逻辑服务节点对应的物理服务节点的状态;根据与某个逻辑服务节点对应的物理服务节点的状态,确定是否更换与所述某个逻辑服务节点对应的物理服务节点;如果确定更换与所述某个逻辑服务节点对应的物理服务节点,则从剩余的没有对应逻辑服务节点的物理服务节点中选取一物理服务节点,用选取的物理服务节点替换与所述某个逻辑服务节点对应的物理服务节点。进一步地,从剩余的没有对应逻辑服务节点的物理服务节点中选取一物理服务节点,用选取的物理服务节点替换与所述某个逻辑服务节点对应的物理服务节点之后,还包括:对所述节点信息列表中所述某个逻辑服务节点的信息进行更新。进一步地,对所述节点信息列表中所述某个逻辑服务节点的信息进行更新之后,还包括:将更新后的所述某个逻辑服务节点的信息发送至与所述某个逻辑服务节点对应的物理服务节点中。为了解决上述问题,本申请还公开了一种服务代理装置,包括:接收单元,用于接收用户端的服务请求信息,其中,所述服务请求信息中携带有用户端标识码;第一获取单元,用于根据所述用户端标识码获取与所述服务请求信息对应的逻辑服务节点,并进一步获取所述逻辑服务节点的信息;其中,所述逻辑服务节点的信息包括与所述逻辑服务节点对应的物理服务节点的物理地址以及与所述逻辑服务节点对应的物理服务节点的通用唯一识别码;处理单元,用于根据所述物理地址查询得到一物理服务节点,将所述服务请求信息以及所述通用唯一识别码发送至查询得到的物理服务节点,以使所述查询得到的物理服务节点在确定其自身的通用唯一识别码与所述逻辑服务节点对应的物理服务节点的通用唯一识别码二者一致后,执行与所述服务请求信息对应的服务。进一步地,还包括:第三获取单元,用于本文档来自技高网...
一种分布式服务的实现方法、服务代理装置及分布式系统

【技术保护点】
一种分布式服务的实现方法,其特征在于,包括:接收用户端的服务请求信息,其中,所述服务请求信息中携带有用户端标识码;根据所述用户端标识码获取与所述服务请求信息对应的逻辑服务节点,并进一步获取所述逻辑服务节点的信息;其中,所述逻辑服务节点的信息包括与所述逻辑服务节点对应的物理服务节点的物理地址以及与所述逻辑服务节点对应的物理服务节点的通用唯一识别码;根据所述物理地址查询得到一物理服务节点,将所述服务请求信息以及所述通用唯一识别码发送至查询得到的物理服务节点;在确定所述查询得到的物理服务节点自身的通用唯一识别码与所述逻辑服务节点对应的物理服务节点的通用唯一识别码二者一致后,执行与所述服务请求信息对应的服务。

【技术特征摘要】
1.一种分布式服务的实现方法,其特征在于,包括:接收用户端的服务请求信息,其中,所述服务请求信息中携带有用户端标识码;根据所述用户端标识码获取与所述服务请求信息对应的逻辑服务节点,并进一步获取所述逻辑服务节点的信息;其中,所述逻辑服务节点的信息包括与所述逻辑服务节点对应的物理服务节点的物理地址以及与所述逻辑服务节点对应的物理服务节点的通用唯一识别码;根据所述物理地址查询得到一物理服务节点,将所述服务请求信息以及所述通用唯一识别码发送至查询得到的物理服务节点;在确定所述查询得到的物理服务节点自身的通用唯一识别码与所述逻辑服务节点对应的物理服务节点的通用唯一识别码二者一致后,执行与所述服务请求信息对应的服务。2.如权利要求1所述的方法,其特征在于,接收用户端的服务请求信息之前,所述方法还包括:根据预设的总的逻辑服务节点的个数和预设的每个逻辑服务节点的名称,从总的物理服务节点中获取与每个逻辑服务节点对应的物理服务节点;其中,总的物理服务节点的个数大于总的逻辑服务节点的个数;根据每个逻辑服务节点及其对应的物理服务节点,建立节点信息列表,其中,所述节点信息列表中包括每个逻辑服务节点的信息;将所述节点信息列表中每个逻辑服务节点的信息,分别发送至与每个逻辑服务节点对应的物理服务节点。3.如权利要求2所述的方法,其特征在于,建立节点信息列表之后,所述方法还包括:获取所述节点信息列表;根据所述节点信息列表中包括的每个逻辑服务节点的信息,建立与每个逻辑服务节点对应的槽;其中,每个槽的名称与其对应的逻辑服务节点的名称相同,总的槽的个数与总的逻辑服务节点的个数相同;将每个逻辑服务节点的信息分别存储到与每个逻辑服务节点对应的槽中。4.如权利要求3所述的方法,其特征在于,将每个逻辑服务节点的信息分别存储到与每个逻辑服务节点对应的槽中之后,所述方法还包括:当所述节点信息列表变更后,更新槽和/或槽中存储的逻辑服务节点的信息。5.如权利要求3所述的方法,其特征在于,当逻辑服务节点的名称为顺序号,槽的名称为顺序号时,根据所述用户端标识码获取与所述服务请求信息对应的逻辑服务节点,并进一步获取所述逻辑服务节点的信息,包括:利用预设的哈希函数对所述用户端标识码进行哈希运算,得到哈希值;将所述哈希值对总的槽的个数的取模运算结果,作为槽的顺序号,所述槽的顺序号对应的槽中存储的逻辑服务节点的信息为与所述服务请求信息对应的逻辑服务节点的信息;从所述槽的顺序号对应的槽中,读取得到与所述服务请求信息对应的逻辑服务节点的信息。6.如权利要求2所述的方法,其特征在于,根据预设的总的逻辑服务节点的个数和预设的每个逻辑服务节点的名称,从总的物理服务节点中获取与每个逻辑服务节点对应的物理服务节点,包括:根据预设的总的逻辑服务节点的个数,从总的物理服务节点中选取物理服务节点进行启动;其中,选取并启动的物理服务节点的个数与预设的总的逻辑服务节点的个数相同;将预设的每个逻辑服务节点的名称,一一对应分配给选取并启动的物理服务节点中的每个物理服务节点,得到与每个逻辑服务节点对应的物理服务节点;或,根据预设的总的逻辑服务节点的个数和预设的每个逻辑服务节点的名称,从总的物理服务节点中获取与每个逻辑服务节点对应的物理服务节点,包括:根据预设的总的逻辑服务节点的个数,从总的物理服务节点中选取物理服务节点进行启动,使得选取并启动的物理服务节点向本地发送节点名称获取信息;其中,选取并启动的物理服务节点的个数与预设的总的逻辑服务节点的个数相同;接收所述节点名称获取信息,并根据所述节点名称获取信息,将预设的每个逻辑服务节点的名称,一一对应分配给选取并启动的物理服务节点中的每个物理服务节点,得到与每个逻辑服务节点对应的物理服务节点。7.如权利要求2-6任一权利要求所述的方法,其特征在于,从总的物理服务节点中获取与每个逻辑服务节点对应的物理服务节点之后还包括:监测与每个逻辑服务节点对应的物理服务节点的状态;根据与某个逻辑服务节点对应的物理服务节点的状态,确定是否更换与所述某个逻辑服务节点对应的物理服务节点;如果确定更换与所述某个逻辑服务节点对应的物理服务节点,则从剩余的没有对应逻辑服务节点的物理服务节点中选取一物理服务节点,用选取的物理服务节点替换与所述某个逻辑服务节点对应的物理服务节点。8.如权利要求7所述的方法,其特征在于,从剩余的没有对应逻辑服务节点的物理服务节点中选取一物理服务节点,用选取的物理服务节点替换与所述某个逻辑服务节点对应的物理服务节点之后,还包括:对所述节点信息列表中所述某个逻辑服务节点的信息进行更新。9.如权利要求8所述的方法,其特征在于,对所述节点信息列表中所述某个逻辑服务节点的信息进行更新之后,还包括:将更新后的所述某个逻辑服务节点的信息发送至与所述某个逻辑服务节点对应的物理服务节点中。10.一种服务代理装置,其特征在于,包括:接收单元,用于接收用户端的服务请求信息,其中,所述服务请求信息中携带有用户端标识码;第一获取单元,用于根据所述用户端标识码获取与所述服务请求信息对应的逻辑服务节点,并进一步获取所述逻辑服务节点的信息;其中,所述逻辑服务节点的信息包括与所述逻辑服务节点对应的...

【专利技术属性】
技术研发人员:陆小亮胡凌云谢东凯
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1