一种区块链协议栈架构方法、系统、设备及存储介质技术方案

技术编号:28987599 阅读:12 留言:0更新日期:2021-06-23 09:39
本申请提出一种区块链协议栈架构方法、系统、设备及存储介质,该方法包括:协议栈启动时,网络微服务、数据处理微服务及存储微服务均发送各自的实例信息给注册微服务;注册微服务将接收的实例信息存储在服务列表中,将服务列表发送给网络微服务和数据处理微服务;网络微服务接收用户发送的交易信息,根据服务列表将交易信息转发给数据处理微服务;数据处理微服务接收并处理交易信息,根据服务列表将交易信息及处理结果转发给存储微服务存储。本申请将区块链的协议栈中各功能开发成微服务架构中的服务组件。各服务组件间相互不影响,可有针对性地单独升级扩展处理压力大的服务组件,灵活调整提升协议栈性能,避免协议栈出现性能瓶颈。

【技术实现步骤摘要】
一种区块链协议栈架构方法、系统、设备及存储介质
本申请属于区块链
,具体涉及一种区块链协议栈架构方法、系统、设备及存储介质。
技术介绍
区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,具有信息不可伪造和篡改的优点。目前,现有技术中区块链的协议栈都是单体应用的,网络、数据处理、存储等功能都是在一个程序里运行,性能很容易达到上限。且单体应用的程序比较庞大,若想通过程序扩展来提升区块链协议栈的性能,难度很高。
技术实现思路
本申请提出一种区块链协议栈架构方法、系统、设备及存储介质,将区块链的协议栈中各功能开发成微服务架构中的服务组件。各服务组件间相互不影响,可有针对性地单独升级扩展处理压力大的服务组件,灵活调整提升协议栈性能,避免协议栈出现性能瓶颈。本申请第一方面实施例提出了一种区块链协议栈架构方法,区块链的协议栈包括网络微服务、数据处理微服务、存储微服务及注册微服务,所述方法包括:所述协议栈启动时,所述网络微服务、所述数据处理微服务及所述存储微服务均发送各自的实例信息给所述注册微服务;所述注册微服务接收所述网络微服务、所述数据处理微服务及所述存储微服务发送的实例信息,将接收的所述实例信息存储在服务列表中;所述注册微服务将所述服务列表发送给所述网络微服务和所述数据处理微服务;所述网络微服务接收用户发送的交易信息,根据所述服务列表将所述交易信息转发给所述数据处理微服务;所述数据处理微服务接收所述交易信息,对所述交易信息进行处理,根据所述服务列表将所述交易信息及处理结果转发给所述存储微服务进行存储。在本申请的一些实施例中,所述网络微服务接收用户发送的交易信息,根据所述服务列表将所述交易信息转发给所述数据处理微服务,包括:所述网络微服务从本地缓存中存储的所述服务列表中选择一个数据处理微服务的实例信息;所述网络微服务根据选择的所述实例信息,将所述交易信息转发给所述实例信息对应的数据处理微服务。在本申请的一些实施例中,所述网络微服务从本地缓存中存储的所述服务列表中选择一个数据处理微服务的实例信息,包括:所述网络微服务根据数据处理微服务对应的微服务标识,查询本地缓存的所述服务列表中包含的数据处理微服务的实例信息是否为多个;若查询出服务列表中仅包括一个数据处理微服务的实例信息,则选择所述服务列表包括的所述实例信息;若查询出本地缓存的服务列表中包括多个数据处理微服务的实例信息,则按照预设负载均衡策略,从所述多个数据处理微服务的实例信息中选择一个实例信息。在本申请的一些实施例中,所述按照预设负载均衡策略,从所述多个数据处理微服务的实例信息中选择一个实例信息,包括:所述网络微服务按照预设负载均衡策略规定的每个数据处理微服务对应的数据发送次序,从所述多个数据处理微服务的实例信息中选择一个实例信息;或者,所述网络微服务获取预设负载均衡策略中当前记录的响应时间最短的数据处理微服务的实例信息,所述响应时间为数据处理微服务在预设时间段内处理所有任务所需时长的平均值。在本申请的一些实施例中,所述方法还包括:每隔所述预设时间段所述协议栈系统中的每个数据处理微服务都将自己的响应时间发送给每个网络微服务;每个网络微服务接收每个数据处理微服务发送的响应时间,确定出响应时间最短的数据处理微服务,将所述响应时间最短的数据处理微服务的实例信息记录在预设负载均衡策略中。在本申请的一些实施例中,所述网络微服务根据选择的所述实例信息,将所述交易信息转发给所述实例信息对应的数据处理微服务,包括:所述网络微服务从所述实例信息中提取所述数据处理微服务的IP地址;所述网络微服务根据所述IP地址将所述交易信息转发给所述数据处理微服务。在本申请的一些实施例中,所述数据处理微服务接收所述交易信息,对所述交易信息进行处理,根据所述服务列表将所述交易信息及处理结果转发给所述存储微服务进行存储,包括:所述数据处理微服务根据存储微服务对应的微服务标识,查询本地缓存的所述服务列表中包含的存储微服务的实例信息是否为多个;若查询出服务列表中仅包括一个存储微服务的实例信息,则从所述实例信息中提取出所述存储微服务的IP地址,根据所述IP地址将所述交易信息及处理结果转发给所述存储微服务;若查询出本地缓存的服务列表中包括多个存储微服务的实例信息,则按照预设存储均衡策略,从所述多个存储微服务的实例信息中选择一个实例信息,从选择的所述实例信息中提取IP地址,根据提取的所述IP地址将所述交易信息及处理结果转发给所述存储微服务。本申请第二方面的实施例提供了一种区块链协议栈架构系统,包括网络微服务模块、数据处理微服务模块、存储微服务模块及注册微服务模块;所述网络微服务模块,用于在所述协议栈启动时,发送自己的实例信息给所述注册微服务模块;接收所述注册微服务模块发送的服务列表;接收用户发送的交易信息,根据所述服务列表将所述交易信息转发给所述数据处理微服务模块;所述数据处理微服务模块,用于所述协议栈启动时,发送自己的实例信息给所述注册微服务模块;接收所述注册微服务模块发送的服务列表;接收所述交易信息,对所述交易信息进行处理,根据所述服务列表将所述交易信息及处理结果转发给所述存储微服务模块进行存储;所述注册微服务模块,用于接收所述网络微服务模块、所述数据处理微服务模块及所述存储微服务模块发送的实例信息,将接收的所述实例信息存储在服务列表中;将所述服务列表发送给所述网络微服务模块和所述数据处理微服务模块;所述存储微服务模块,用于接收并存储所述数据处理微服务模块发送的所述交易信息及处理结果。本申请第三方面的实施例提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述第一方面所述的方法的步骤。本申请第四方面的实施例提供了一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述第一方面所述的方法的步骤。本申请实施例将区块链的协议栈按功能进行划分,并将各个功能开发成微服务架构中相互独立的服务组件。如此各服务组件之间相互不影响,针对处理压力大的服务组件,可以有针对性地单独对压力大的服务组件进行升级扩展,能够灵活地调整提升协议栈的性能,避免协议栈出现性能瓶颈。而且协议栈的微服务架构中的网络微服务、数据处理微服务和存储微服务均在注册微服务中注册自己的实例信息,并可以依据注册微服务中的服务列表实现网络分发以及数据处理的负载均衡。本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附本文档来自技高网...

【技术保护点】
1.一种区块链协议栈架构方法,其特征在于,所述区块链的协议栈包括网络微服务、数据处理微服务、存储微服务及注册微服务,所述方法包括:/n所述协议栈启动时,所述网络微服务、所述数据处理微服务及所述存储微服务均发送各自的实例信息给所述注册微服务;/n所述注册微服务接收所述网络微服务、所述数据处理微服务及所述存储微服务发送的实例信息,将接收的所述实例信息存储在服务列表中;/n所述注册微服务将所述服务列表发送给所述网络微服务和所述数据处理微服务;/n所述网络微服务接收用户发送的交易信息,根据所述服务列表将所述交易信息转发给所述数据处理微服务;/n所述数据处理微服务接收所述交易信息,对所述交易信息进行处理,根据所述服务列表将所述交易信息及处理结果转发给所述存储微服务进行存储。/n

【技术特征摘要】
1.一种区块链协议栈架构方法,其特征在于,所述区块链的协议栈包括网络微服务、数据处理微服务、存储微服务及注册微服务,所述方法包括:
所述协议栈启动时,所述网络微服务、所述数据处理微服务及所述存储微服务均发送各自的实例信息给所述注册微服务;
所述注册微服务接收所述网络微服务、所述数据处理微服务及所述存储微服务发送的实例信息,将接收的所述实例信息存储在服务列表中;
所述注册微服务将所述服务列表发送给所述网络微服务和所述数据处理微服务;
所述网络微服务接收用户发送的交易信息,根据所述服务列表将所述交易信息转发给所述数据处理微服务;
所述数据处理微服务接收所述交易信息,对所述交易信息进行处理,根据所述服务列表将所述交易信息及处理结果转发给所述存储微服务进行存储。


2.根据权利要求1所述的方法,其特征在于,所述网络微服务接收用户发送的交易信息,根据所述服务列表将所述交易信息转发给所述数据处理微服务,包括:
所述网络微服务从本地缓存中存储的所述服务列表中选择一个数据处理微服务的实例信息;
所述网络微服务根据选择的所述实例信息,将所述交易信息转发给所述实例信息对应的数据处理微服务。


3.根据权利要求2所述的方法,其特征在于,所述网络微服务从本地缓存中存储的所述服务列表中选择一个数据处理微服务的实例信息,包括:
所述网络微服务根据数据处理微服务对应的微服务标识,查询本地缓存的所述服务列表中包含的数据处理微服务的实例信息是否为多个;
若查询出服务列表中仅包括一个数据处理微服务的实例信息,则选择所述服务列表包括的所述实例信息;
若查询出本地缓存的服务列表中包括多个数据处理微服务的实例信息,则按照预设负载均衡策略,从所述多个数据处理微服务的实例信息中选择一个实例信息。


4.根据权利要求3所述的方法,其特征在于,所述按照预设负载均衡策略,从所述多个数据处理微服务的实例信息中选择一个实例信息,包括:
所述网络微服务按照预设负载均衡策略规定的每个数据处理微服务对应的数据发送次序,从所述多个数据处理微服务的实例信息中选择一个实例信息;或者,
所述网络微服务获取预设负载均衡策略中当前记录的响应时间最短的数据处理微服务的实例信息,所述响应时间为数据处理微服务在预设时间段内处理所有任务所需时长的平均值。


5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
每隔所述预设时间段所述协议栈系统中的每个数据处理微服务都将自己的响应时间发送给每个网络微服务;
每个网络微服务接收每个数据处理微服务发送的响应时间,确定出响应时间最短的数据处理微服务,将所述响应时间最短的数据处理微服务的实例信息记录在预...

【专利技术属性】
技术研发人员:薄辰龙李宁
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东;44

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

1