[发明专利]一种支持高并发的区块链请求处理系统与方法在审
申请号: | 202211065485.3 | 申请日: | 2022-09-01 |
公开(公告)号: | CN115720238A | 公开(公告)日: | 2023-02-28 |
发明(设计)人: | 覃伯君;习宁;曾辉祥;李雅洁;刘瑾;程珂;穆旭彤;沈玉龙 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L67/60 | 分类号: | H04L67/60;H04L67/51;H04L67/02;H04L69/22 |
代理公司: | 西安智大知识产权代理事务所 61215 | 代理人: | 王晶 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 并发 区块 请求 处理 系统 方法 | ||
本发明公开了一种支持高并发的区块链请求处理系统与方法,包括缓冲模块、提交模块、区块链模块;所述缓冲模块负责接收、初步处理、缓存任务请求;提交模块负责进一步处理数据,并将部分任务提交到区块链模块当中,区块链模块负责保障数据安全,并能够一次性接收处理大量任务。本发明能够并发处理大量的请求,根据请求者的身份信息、请求的服务类型、服务对象名称以及操作类型,进行不同的操作。
技术领域
本发明属于区块链技术领域,具体涉及一种支持高并发的区块链请求处理系统与方法。
背景技术
对于应用了区块链的计算机系统,为了保证交易事务性,交易是串行进行的。区块链节点会先对交易排序,然后以单线程的方式执行智能合约,以避免乱序执行导致的事务混乱、数据冲突等。并且为了达到区块链节点间的共识,在区块链中所有的交易数据,都会通过共识机制框架驱动,在网络上广播出去,由所有的节点运行多步复杂的验算和表决,大多数节点认可的数据,才会落地确认。
以上这些特点是由区块链的特性决定的,虽然这些特点保障了区块链系统的一致性与可靠性,但是无论是单线程执行智能合约还是节点达成一致的过程都极大的限制了区块链的吞吐量与响应速度。这使区块链无法应用到一些要求及时响应的环境当中。因此如何针对区块链的特点,提高区块链并发响应量,是区块链研究的重点之一。
CN113986961B通过消息队列排列与多机协同的方式有效提高了系统的并发量。但是区块链采用单线程的方式运行已经排序好的交易,因此在区块链环境下采用此方法不能达到其所述多机协同的效果。此外由于区块链节点间达成共识需要消耗一定的时间,过多的节点反而会导致系统响应速度下降。因此,此方法并不适用于基于区块链的系统环境。
CN113726828A需要建立区块链网关并用到其提出的MBFT共识算法。而对于已经部署共识算法的区块链系统,若想要采用该方法,需要重新部署共识算法并建立区块链网关。这个过程将会非常困难,对于一些系统来说是无法接受的。因此该方法适用性较低。
发明内容
为了克服上述现有技术存在的不足,本发明的目的在于提供一种支持高并发的区块链请求处理系统与方法,能够并发处理大量的请求,根据请求者的身份信息(Pid)、请求的服务类型(SvcType)、服务对象名称(SvcName)以及操作类型(Operate),进行不同的操作。
为了实现上述目的,本发明采用的技术方案是:
一种支持高并发的区块链请求处理系统,包括缓冲模块、提交模块和区块链模块;
所述缓冲模块负责接收、初步处理、缓存任务请求;提交模块负责进一步处理数据,并将部分任务提交到区块链模块当中,区块链模块负责保障数据安全,并能够一次性接收处理大量任务;
任务请求是系统对外提供微服务的接口,外部根据接口要求发送http请求以获取服务,一条http请求称为一个任务;
进一步处理数据是提交模块以多协程的方式调度任务,并根据不同的任务内容提供不同的服务;
部分任务指需要调度区块链智能合约的任务,不需要调度区块链智能合约,在提交模块处理完毕。
所述缓冲模块用于接收系统外部的请求,对请求进行初步的解析与处理,并且将请求放入缓冲池等待进一步的处理;缓冲模块由接收与处理子模块、工作池子模块,具体功能如下:
1)接收与处理子模块:
当系统中的服务器接收到外部传来的http请求时,首先由接收与处理子模块对请求进行初步处理,处理的结果被保存为一个特定的结构体(Job),之后再将此结构体放入到工作池中等待进一步的处理;
2)工作池子模块:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211065485.3/2.html,转载请声明来源钻瓜专利网。