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

文档序号:8301708阅读:来源:国知局
数对用户端标识码进行哈希运算,得到哈希值;
[0126]将哈希值对总的槽的个数的取模运算结果,作为槽的顺序号,该槽的顺序号对应的槽中存储的逻辑服务节点的信息为与该服务请求信息对应的逻辑服务节点的信息;
[0127]从该槽的顺序号对应的槽中,读取得到与该服务请求信息对应的逻辑服务节点的信息。
[0128]需要说明的是,并不限于通过槽的形式存储每个逻辑服务节点的信息,还可以通过其他形式进行存储,如可以根据用户端标识码,建立用户端标识码与逻辑服务节点的信息之间的对应关系表,将每类用户端标识码与每个逻辑服务节点的信息以列表的形式进行保存,当执行S204,可以根据用户端标识码,查询用户端标识码与逻辑服务节点的信息之间的对应关系表,获取与该服务请求信息对应的逻辑服务节点的信息。还可以通过其他任何可行的实现方式,对此不做具体限定。
[0129]S205:根据所述物理地址查询得到一物理服务节点,将所述服务请求信息以及所述通用唯一识别码发送至查询得到的物理服务节点。
[0130]S206:查询得到的物理服务节点在确定所述查询得到的物理服务节点自身的通用唯一识别码与所述逻辑服务节点对应的物理服务节点的通用唯一识别码二者一致后,执行与所述服务请求信息对应的服务。
[0131]具体地,查询得到的物理服务节点在确定其自身的通用唯一识别码,以及与逻辑服务节点对应的物理服务节点的通用唯一识别码二者一致后,执行与该服务请求信息对应的服务。查询得到的物理服务节点在确定其自身的通用唯一识别码,以及与逻辑服务节点对应的物理服务节点的通用唯一识别码二者不一致后,向本地返回请求失败的通知,使得本地可以重新发送服务请求信息;当然,本地是否重新发送服务请求信息这个由本地客户端根据一定规则或者自身的业务性质来决定。
[0132]本实施例所述的分布式服务的实现方法,通过根据服务请求信息中携带的用户端标识码,获取与该服务请求信息对应的逻辑服务节点的信息,根据与逻辑服务节点对应的物理服务节点的物理地址,查询得到物理服务节点,通过逻辑服务节点实现了物理服务节点与服务请求的解耦,使服务请求与逻辑服务节点之间是有状态的,服务请求会被分发到固定的逻辑服务节点,逻辑服务节点与物理服务节点之间是无状态的,物理服务节点可以灵活快速变更,当某服务请求的物理服务节点出现故障时,可以灵活快速地变更为其他物理服务节点,不会影响某服务请求的实现;同时查询得到的物理服务节点在确定其自身的通用唯一识别码,以及与逻辑服务节点对应的物理服务节点的通用唯一识别码二者一致后,才执行与该服务请求对应的服务,通过通用唯一识别码有效性的验证,避免某服务请求被多个物理服务节点重复处理,保证写的串行化,解决了某服务请求有写数据操作时,造成数据不一致或是写坏数据的问题。
[0133]下面以又一实施例对本申请的实现作进一步说明。如图3所示,为本申请实施例的一种服务代理装置以及分布式系统结构示意图,该分布式系统包括:服务代理装置301和物理服务节点集群501 ;
[0134]服务代理装置301包括:
[0135]接收单元301a,用于接收用户端的服务请求信息,其中,服务请求信息中携带有用户端标识码;
[0136]第一获取单元301b,用于根据用户端标识码,获取与服务请求信息对应的逻辑服务节点的信息;其中,逻辑服务节点的信息包括逻辑服务节点的名称、与逻辑服务节点对应的物理服务节点的物理地址,以及与逻辑服务节点对应的物理服务节点的通用唯一识别码;
[0137]处理单元301c,用于根据与逻辑服务节点对应的物理服务节点的物理地址,查询得到一物理服务节点501a,将服务请求信息,以及与逻辑服务节点对应的物理服务节点的通用唯一识别码发送至查询得到的物理服务节点501a ;
[0138]其中,物理服务节点集群501中包括多个物理服务节点501a,每个物理服务节点501a中部署有与服务请求信息对应的服务;
[0139]多个物理服务节点501a中包括:
[0140]查询得到的物理服务节点501a,用于接收处理单元301c发送的与逻辑服务节点对应的物理服务节点的通用唯一识别码,确定其自身的通用唯一识别码,以及与逻辑服务节点对应的物理服务节点的通用唯一识别码二者是否一致,当确定二者一致后,执行与服务请求信息对应的服务。
[0141]优选地,参见图4,为本申请实施例的一种服务代理装置以及分布式系统结构示意图,该分布式系统包括:服务代理装置301、集群管理服务器401和物理服务节点集群501 ;服务代理装置301和物理服务节点集群501的结构和功能与图3所示实施例相同,不再赘述。
[0142]集群管理服务器401还包括:
[0143]第二获取单元401a,用于根据预设的总的逻辑服务节点的个数和预设的每个逻辑服务节点的名称,从总的物理服务节点501a中获取与每个逻辑服务节点对应的物理服务节点501a ;其中,总的物理服务节点501a的个数大于总的逻辑服务节点的个数;
[0144]第一建立单元401b,用于根据每个逻辑服务节点及其对应的物理服务节点501a,建立节点信息列表,其中,节点信息列表中包括每个逻辑服务节点的信息;
[0145]第一发送单元401c,用于将节点信息列表中每个逻辑服务节点的信息,分别发送至与每个逻辑服务节点对应的物理服务节点501a。
[0146]优选地,参见图5,基于图4所示的实施例,服务代理装置301还包括:
[0147]第三获取单元301d,用于获取节点信息列表;
[0148]第二建立单元301e,用于根据节点信息列表中包括的每个逻辑服务节点的信息,建立与每个逻辑服务节点对应的槽;其中,每个槽的名称与其对应的逻辑服务节点的名称相同,总的槽的个数与总的逻辑服务节点的个数相同;
[0149]存储单元301f,用于将每个逻辑服务节点的信息分别存储到与每个逻辑服务节点对应的槽中。
[0150]优选地,参见图6,基于图5所示的实施例,服务代理装置301还包括:
[0151]第一更新单元301g,用于当节点信息列表变更后,更新槽和/或槽中存储的逻辑服务节点的信息。
[0152]优选地,当逻辑服务节点的名称为顺序号,槽的名称为顺序号时,第一获取单元301b包括:
[0153]哈希运算子单元,用于利用预设的哈希函数对用户端标识码进行哈希运算,得到哈希值;
[0154]顺序号获取子单元,用于将哈希值对总的槽的个数的取模运算结果,作为槽的顺序号,该槽的顺序号对应的槽中存储的逻辑服务节点的信息为与服务请求信息对应的逻辑服务节点的信息;
[0155]读取子单元,用于从该槽的顺序号对应的槽中,读取得到与服务请求信息对应的逻辑服务节点的信息。
[0156]优选地,第二获取单元302a包括:
[0157]第一启动子单元,用于根据预设的总的逻辑服务节点的个数,从总的物理服务节点501a中选取物理服务节点501a进行启动;其中,选取并启动的物理服务节点501a的个数与预设的总的逻辑服务节点的个数相同;
[0158]第一分配子单元,用于将预设的每个逻辑服务节点的名称,一一对应分配给选取并启动的物理服务节点501a中的每个物理服务节点501a,得到与每个逻辑服务节点对应的物理服务节点501a ;
[0159]或,第二获取单元302a包括:
[0160]第二启动子单元,用于根据预设的总的逻辑服务节点的个数,从总的物理服务节点501a中选取物理服务节点501a进行启动,使得选取并启动的物理服务节点501a向本地发送节点名称获取信息;其中,选取并启动的物理服务节点501a的个数与预设的总的逻辑服务节点的个数相同;
[0161]第二分配子单元,用于接收节点名称获取信息,并根据节点名称获取信息,将预设的每个逻辑服务节点的名称,一一对应分配给选取并启动的物理服务节点501a中的每个物理服务节点501a,得到与每个逻辑服务节点对应的物理服务节点501a。
[0162]优选地,参见图7,基于图6所示的实施例,集群管理服务器401还包括:
[0163]监测单元401d,用于监测与每个逻辑服务节点对应的物理服务节点501a的状态;
[0164]确定单元401e,用于根据与某个逻辑服务节点对应的物理服务节点501a的状态,确定是否更换与该某个逻辑服务节点对应的物理服务节点501a ;
[0165]替换单元401f,用于如果确定单元401e确定更换与该某个逻辑服务节点对应的物理服务节点501a,则从剩余的没有对应逻辑服务节点的物理服务节点501a中选取一物理服务节点501a,用选取的物理服务节点501a替换与该某个逻辑服务节点对应的物理服务节点501a。
[0166]优选地,参见图8,基于图7所示的实施例,集群管理服务器401还包括:
[0167]第二更新单元401g,用于在替换单元401f从剩余的没有对应逻辑服务节点的物理服务节点501a中选取一物理服务节点501a,用选取的物理服务节点501a替换与某个逻辑服务节点对应的物理服务节点501a之后,对节点信息列表中该某个逻辑服务节点的信息进行更新。
[0168]优选地,参见图9,基于图8所示的实施例,集群管理服务器401还包括:
[0169]第二发送单元401h,用于将更新后的该某个逻辑服务节点的信息发送至与该某个逻辑服务节点对应的物理服务节点501a中。
[0170]本实施例所述的分布式系统,通过根据服务请求信息中携带的用户端标识码,获取与该服务请求信息对应的逻辑服务节点的信息,根据与逻辑服务节点对应的物理服务节点的物理地址,查询得到物理服务节点,通过逻辑服务节点实现了物理服务节点与服务请求的解耦,使服务请求与逻辑服务节点之间是有状态的,服务请求会被分发到固定的逻辑服务节点,逻辑服务节点与物理服务节点之间是无状态的,物理服务节点可以灵活快速变更,当某服务请求的物理服务节点出现故障时,可以灵活快速地变更为其他物理服务节点,不会影响某服务请求的实现;同时查询得到的物理服务节
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1