分布式系统中分布式锁服务实现方法以及装置制造方法及图纸

技术编号:15186943 阅读:118 留言:0更新日期:2017-04-19 03:51
本申请公开了一种分布式系统中分布式锁服务的实现方法,包括:接收客户端发送的锁操作请求对应的RPC请求;封装接收到的所述RPC请求,生成对应的HTTP请求;通过预设的数据链路向网络服务器发送所述HTTP请求;接收所述网络服务器返回的所述HTTP请求的请求响应;解析所述HTTP请求的请求响应,生成所述RPC请求的请求响应;向所述客户端发送所述RPC请求的请求响应;所述RPC请求通过所述网络服务器发送至服务端;所述RPC请求的请求响应由所述服务端发出,通过所述网络客户端封装后生成所述HTTP请求的请求响应。所述分布式系统中分布式锁服务的实现方法,能够轻松穿透客户端和服务器之间的防火墙,此外,还基于HTTP协议层加了一层保护,安全性更高,可扩展性更强。

【技术实现步骤摘要】

本申请涉及分布式系统
,具体涉及一种分布式系统中分布式锁服务实现方法。本申请同时涉及一种分布式系统中分布式锁服务实现装置,一种基于网络服务器在分布式系统中实现分布式锁服务的方法和装置,一种基于客户端在分布式系统中实现分布式锁服务的方法和装置,以及一种基于服务端在分布式系统中实现分布式锁服务的方法和装置。
技术介绍
随着计算机技术和网络技术的不断发展,计算机系统的规模变得越来越大,传统的集中式系统已经越来越不能满足用户对计算机系统的需求,各种系统架构模型层出不穷,分布式系统架构应运而生,ZooKeeper作为一个分布式的、开放源码的分布式应用程序协调服务,得到了广泛的应用。ZooKeeper是由ApacheHadoop的子项目发展而来,ZooKeeper为分布式应用提供了高效且可靠的分布式协调服务,提供了诸如命名统一服务、配置管理和分布式锁等分布式基础服务。ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。分布式锁是控制分布式系统之间同步访问共享资源的一种方式,如果是不同的系统或者同一系统的不同主机之间共享了一个或一组资源,在访问这些资源的时候,往往需要一些互斥手段来防止彼此之间的干扰,以保证数据的一致性。目前,出于安全的考虑,大多数企业在内网和外网之间设置防火墙,但是防火墙的设置是把双刃剑,在保护内网数据的同时,也造成外部网络访问内网困难、复杂。ZooKeeper提供了强大的分布式锁服务,但ZooKeeper的重点在于分布式锁协议的实现,目前的分布式锁协议基本通过RPC(RemoteProcedureCall,远程过程调用)实现,在客户端和服务器分别位于外网和内网的时候,无法跨过中间网络防火墙,给开发者带来了较大的难题,易用性大大减少。
技术实现思路
本申请提供一种分布式系统中分布式锁服务的实现方法,以解决目前存在的分布式锁服务无法跨越防火墙的问题。本申请同时涉及一种分布式系统中分布式锁服务实现装置,一种基于网络服务器在分布式系统中实现分布式锁服务的方法和装置,一种基于客户端在分布式系统中实现分布式锁服务的方法和装置,以及一种基于服务端在分布式系统中实现分布式锁服务的方法和装置。本申请提供一种分布式系统中分布式锁服务的实现方法,包括:接收客户端发送的锁操作请求对应的RPC请求;封装接收到的所述RPC请求,生成对应的HTTP请求;通过预设的数据链路向网络服务器发送所述HTTP请求;接收所述网络服务器返回的所述HTTP请求的请求响应;解析所述HTTP请求的请求响应,生成所述RPC请求的请求响应;向所述客户端发送所述RPC请求的请求响应;其中,所述RPC请求通过所述网络服务器发送至服务端;所述RPC请求的请求响应由所述服务端发出,并通过所述网络客户端封装后生成所述HTTP请求的请求响应。可选的,所述封装接收到的所述RPC请求,生成对应的HTTP请求,具体包括:对所述RPC请求进行序列化,生成与所述RPC请求对应的HTTP请求。可选的,所述RPC请求被序列化的过程中,所述RPC请求中包含的请求参数被序列化为所述HTTP请求的头信息和body信息。可选的,所述HTTP请求的头信息包括下述至少一项信息:普通字段、权限信息、身份信息、数据链路信息。可选的,所述解析所述HTTP请求的请求响应,生成所述RPC请求的请求响应,具体包括:对接收到的所述HTTP请求的请求响应进行反序列化,生成所述RPC请求的请求响应。可选的,所述数据链路包括至少一条数据链路,所述HTTP请求根据响应时间进行分类,每一类HTTP请求分别对应一条数据链路,并通过对应的数据链路向所述网络服务器发送。可选的,所述数据链路包括第一数据链路和第二数据链路,所述第一数据链路对应长响应请求,所述第二数据链路对应短响应请求;其中,所述长响应请求,包括发送时间点与对应的请求响应接收时间点之间的时间间隔满足第一预设阈值的HTTP请求;所述短响应请求,包括发送时间点与对应的请求响应接收时间点之间的时间间隔满足第二预设阈值的HTTP请求。可选的,所述长响应请求包括watch请求。可选的,所述锁操作请求包括:获取锁操作请求和释放锁操作请求;其中,所述获取锁操作请求和所述释放锁操作请求通过定义原子操作实现。本申请还提供一种分布式系统中分布式锁服务的实现装置,包括:RPC请求接收单元,用于接收客户端发送的锁操作请求对应的RPC请求;RPC请求封装单元,用于封装接收到的所述RPC请求,生成对应的HTTP请求;HTTP请求发送单元,用于通过预设的数据链路向网络服务器发送所述HTTP请求;HTTP请求响应接收单元,用于接收所述网络服务器返回的所述HTTP请求的请求响应;HTTP请求响应解析单元,用于解析所述HTTP请求的请求响应,生成所述RPC请求的请求响应;RPC请求响应发送单元,用于向所述客户端发送所述RPC请求的请求响应;其中,所述RPC请求通过所述网络服务器发送至服务端;所述RPC请求的请求响应由所述服务端发出,并通过所述网络客户端封装后生成所述HTTP请求的请求响应。可选的,所述RPC请求封装单元,具体用于对所述RPC请求进行序列化,生成与所述RPC请求对应的HTTP请求。可选的,所述HTTP请求响应解析单元,具体用于对接收到的所述HTTP请求的请求响应进行反序列化,生成所述RPC请求的请求响应。本申请另外提供一种基于网络服务器在分布式系统中实现分布式锁服务的方法,包括:接收网络客户端发送的HTTP请求;解析接收到的所述HTTP请求的头信息,并对所述HTTP请求的头信息进行检查验证,若检查验证无误,则执行下述步骤:反序列化所述HTTP请求的body信息,生成对应的RPC请求;向服务端发送所述RPC请求;接收所述服务端返回的所述RPC请求的请求响应;封装所述RPC请求的请求响应,生成的所述HTTP请求的请求响应并向所述网络客户端发送。可选的,所述对所述HTTP请求的头信息进行检查验证步骤,若检查验证有误,则生成对应错误状态码。可选的,其特征在于,所述HTTP请求的头信息包括下述至少一项信息:普通字段、权限信息、身份信息、数据链路信息;相应的,所述对所述HTTP请求的头信息进行检查验证步骤,所述检查验证包括下述至少一项:对所述HTTP请求的头信息中包含的普通字段进行检查验证,对所述HTTP请求的头信息中包含的权限信息进行检查验证,对所述HTTP请求的头信息中包含的身份信息进行检查验证,对所述HTTP请求的头信息中包含的数据链路信息进行检查验证。本申请另外提供一种基于网络服务器在分布式系统中实现分布式锁服务的装置,包括:HTTP请求接收单元,用于接收网络客户端发送的HTTP请求;检查验证单元,用于解析接收到的所述HTTP请求的头信息,并对所述HTTP请求的头信息进行检查验证,若检查验证无误,则进入下述RPC请求生成单元、RPC请求发送单元、RPC请求响应接收单元和RPC请求响应封装发送单元;所述RPC请求生成单元,用于反序列化所述HTTP请求的body信息,生成对应的RPC请求;所述RPC请求发送单元,用于向服务端发送所述RPC请求本文档来自技高网
...
分布式系统中分布式锁服务实现方法以及装置

【技术保护点】
一种分布式系统中分布式锁服务的实现方法,其特征在于,包括:接收客户端发送的锁操作请求对应的RPC请求;封装接收到的所述RPC请求,生成对应的HTTP请求;通过预设的数据链路向网络服务器发送所述HTTP请求;接收所述网络服务器返回的所述HTTP请求的请求响应;解析所述HTTP请求的请求响应,生成所述RPC请求的请求响应;向所述客户端发送所述RPC请求的请求响应;其中,所述RPC请求通过所述网络服务器发送至服务端;所述RPC请求的请求响应由所述服务端发出,并通过所述网络客户端封装后生成所述HTTP请求的请求响应。

【技术特征摘要】
1.一种分布式系统中分布式锁服务的实现方法,其特征在于,包括:接收客户端发送的锁操作请求对应的RPC请求;封装接收到的所述RPC请求,生成对应的HTTP请求;通过预设的数据链路向网络服务器发送所述HTTP请求;接收所述网络服务器返回的所述HTTP请求的请求响应;解析所述HTTP请求的请求响应,生成所述RPC请求的请求响应;向所述客户端发送所述RPC请求的请求响应;其中,所述RPC请求通过所述网络服务器发送至服务端;所述RPC请求的请求响应由所述服务端发出,并通过所述网络客户端封装后生成所述HTTP请求的请求响应。2.根据权利要求1所述的分布式系统中分布式锁服务的实现方法,其特征在于,所述封装接收到的所述RPC请求,生成对应的HTTP请求,具体包括:对所述RPC请求进行序列化,生成与所述RPC请求对应的HTTP请求。3.根据权利要求2所述的分布式系统中分布式锁服务的实现方法,其特征在于,所述RPC请求被序列化的过程中,所述RPC请求中包含的请求参数被序列化为所述HTTP请求的头信息和body信息。4.根据权利要求3所述的分布式系统中分布式锁服务的实现方法,其特征在于,所述HTTP请求的头信息包括下述至少一项信息:普通字段、权限信息、身份信息、数据链路信息。5.根据权利要求1所述的分布式系统中分布式锁服务的实现方法,其特征在于,所述解析所述HTTP请求的请求响应,生成所述RPC请求的请求响应,具体包括:对接收到的所述HTTP请求的请求响应进行反序列化,生成所述RPC请求的请求响应。6.根据权利要求1所述的分布式系统中分布式锁服务的实现方法,其特征在于,所述数据链路包括至少一条数据链路,所述HTTP请求根据响应时间进行分类,每一类HTTP请求分别对应一条数据链路,并通过对应的数据链路向所述网络服务器发送。7.根据权利要求6所述的分布式系统中分布式锁服务的实现方法,其特征
\t在于,所述数据链路包括第一数据链路和第二数据链路,所述第一数据链路对应长响应请求,所述第二数据链路对应短响应请求;其中,所述长响应请求,包括发送时间点与对应的请求响应接收时间点之间的时间间隔满足第一预设阈值的HTTP请求;所述短响应请求,包括发送时间点与对应的请求响应接收时间点之间的时间间隔满足第二预设阈值的HTTP请求。8.根据权利要求7所述的分布式系统中分布式锁服务的实现方法,其特征在于,所述长响应请求包括watch请求。9.根据权利要求1所述的分布式系统中分布式锁服务实现方法,其特征在于,所述锁操作请求包括:获取锁操作请求和释放锁操作请求;其中,所述获取锁操作请求和所述释放锁操作请求通过定义原子操作实现。10.一种分布式系统中分布式锁服务的实现装置,其特征在于,包括:RPC请求接收单元,用于接收客户端发送的锁操作请求对应的RPC请求;RPC请求封装单元,用于封装接收到的所述RPC请求,生成对应的HTTP请求;HTTP请求发送单元,用于通过预设的数据链路向网络服务器发送所述HTTP请求;HTTP请求响应接收单元,用于接收所述网络服务器返回的所述HTTP请求的请求响应;HTTP请求响应解析单元,用于解析所述HTTP请求的请求响应,生成所述RPC请求的请求响应;RPC请求响应发送单元,用于向所述客户端发送所述RPC请求的请求响应;其中,所述RPC请求通过所述网络服务器发送至服务端;所述RPC请求的请求响应由所述服务端发出,并通过所述网络客户端封装后生成所述HTTP请求的请求响应。11.根据权利要求10所述的分布式系统中分布式锁服务的实现装置,其特征在于,所述RPC请求封装单元,具体用于对所述RPC请求进行序列化,生成与所述RPC请求对应的HTTP请求。12.根据权利要求10所述的分布式系统中分布式锁服务的实现装置,其特征在于,所述HTTP请求响应解析单元,具体用于对接收到的所述HTTP请求的请求响应进行反序列化,生成所述RPC请求的...

【专利技术属性】
技术研发人员:何彬彬陶云峰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1