CN113129002A - 一种数据处理方法以及设备 - Google Patents
一种数据处理方法以及设备 Download PDFInfo
- Publication number
- CN113129002A CN113129002A CN202110527924.7A CN202110527924A CN113129002A CN 113129002 A CN113129002 A CN 113129002A CN 202110527924 A CN202110527924 A CN 202110527924A CN 113129002 A CN113129002 A CN 113129002A
- Authority
- CN
- China
- Prior art keywords
- block chain
- request data
- detected
- target
- comparison
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请实施例公开一种数据处理方法以及设备,其中方法包括如下步骤:获取目标区块链的请求数据;从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据;将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,生成所述待检测区块链和所述对照区块链的输出结果;所述对照区块链为具有兼容性和稳定性的区块链;获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性。采用本申请,可以快速测试区块链的兼容性,提高区块链开发的效率,节省开发的成本。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据处理方法以及设备。
背景技术
当前市面上存在着各种类型的自研区块链,以及其对应的自研的智能合约虚拟机。智能合约虚拟机作为运行智能合约的服务,其承载着区块链的重要功能。但是自研区块链不同于公有区块链,其智能合约与公有区块链存在一定的区别,因此,无法确定自研区块链与公有区块链的兼容性,同时,开发者学习新的智能合约语言也需要时间成本,在自研区块链的使用和拓展上,无法高效地将自研的区块链虚拟机与市面上主流的智能合约虚拟机进行兼容,限制了区块链平台的能力。
发明内容
本申请实施例提供一种数据处理方法以及设备,可以快速测试区块链的兼容性,提高区块链开发的效率,节省开发的成本。
本申请实施例一方面提供了一种数据处理方法,可包括:
获取目标区块链的请求数据;所述目标区块链为具有兼容性和稳定性的区块链;
从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据;所述业务请求数据是所述区块链中与智能合约有关的请求数据;
将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,生成所述待检测区块链和所述对照区块链的输出结果;所述对照区块链为具有兼容性和稳定性的区块链;
获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性。
在一种可行的实施方式中,所述获取目标区块链的请求数据,包括:
当目标区块链为公有链时,监听所述目标区块链,采用网络封包抓取技术,获取所述目标区块链的请求数据;
当目标区块链为非公有链时,获取所述非公有链的历史版本区块链,从所述历史版本区块链对应的数据库中获取所述目标区块链的请求数据。
在一种可行的实施方式中,所述从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据,包括:
确定所述目标区块链的智能合约的关键字,根据所述关键字从请求数据中提取业务请求数据;
根据预设的地址信息和对照区块链,对所述业务请求数据进行预处理;
将预处理后的业务请求数据确定为目标请求数据。
在一种可行的实施方式中,所述根据预设的地址信息和对照区块链,对所述业务请求数据进行预处理,包括:
获取预设的发起地址和目的地址,将所述发起地址和所述目的地址添加至所述业务请求数据中;
获取所述发起地址对应的发起方的预设签名信息,根据所述预设签名信息调整所述业务请求数据的签名信息;
获取对照区块链中业务请求数据的数据结构,根据所述数据结构调整所述业务请求数据。
在一种可行的实施方式中,所述将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,包括:
检测所述目标请求数据的区块高度信息和时间戳;
根据所述区块高度信息和所述时间戳,将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,生成所述待检测区块链和所述对照区块链的输出结果。
在一种可行的实施方式中,所述获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性,包括:
获取所述待检测区块链的第一输出结果和所述对照区块链的第二输出结果;
若所述第一输出结果与所述第二输出结果相同,则所述待检测区块链针对所述对照区块链具有兼容性;
若所述第一输出结果与所述第二输出结果不相同,则所述待检测区块链针对所述对照区块链不具有兼容性。
在一种可行的实施方式中,还包括:
当所述待检测区块链针对所述对照区块链具有兼容性时,检测所述待检测区块链的日志信息;
当所述待检测区块链的日志信息正常,则所述待检测区块链的状态正常。
本申请实施例一方面提供了一种数据处理设备,可包括:
请求获取单元,用于获取目标区块链的请求数据;所述目标区块链为具有兼容性和稳定性的区块链;
数据处理单元,用于从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据;所述业务请求数据是所述区块链中与智能合约有关的请求数据;
数据发送单元,用于将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,生成所述待检测区块链和所述对照区块链的输出结果;所述对照区块链为具有兼容性和稳定性的区块链;
兼容性确定单元,用于获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性。
在一种可行的实施方式中,所述请求获取单元具体用于:
当目标区块链为公有链时,监听所述目标区块链,采用网络封包抓取技术,获取所述目标区块链的请求数据;
当目标区块链为非公有链时,获取所述非公有链的历史版本区块链,从所述历史版本区块链对应的数据库中获取所述目标区块链的请求数据。
在一种可行的实施方式中,所述数据处理单元,包括:
数据提取子单元,用于确定所述目标区块链的智能合约的关键字,根据所述关键字从请求数据中提取业务请求数据;
数据处理子单元,用于根据预设的地址信息和对照区块链,对所述业务请求数据进行预处理;
数据确定子单元,用于将预处理后的业务请求数据确定为目标请求数据。
在一种可行的实施方式中,所述数据处理子单元具体用于:
获取预设的发起地址和目的地址,将所述发起地址和所述目的地址添加至所述业务请求数据中;
获取所述发起地址对应的发起方的预设签名信息,根据所述预设签名信息调整所述业务请求数据的签名信息;
获取对照区块链中业务请求数据的数据结构,根据所述数据结构调整所述业务请求数据。
在一种可行的实施方式中,所述数据发送单元具体用于:
检测所述目标请求数据的区块高度信息和时间戳;
根据所述区块高度信息和所述时间戳,将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,生成所述待检测区块链和所述对照区块链的输出结果。
在一种可行的实施方式中,所述兼容性确定单元具体用于:
获取所述待检测区块链的第一输出结果和所述对照区块链的第二输出结果;
若所述第一输出结果与所述第二输出结果相同,则所述待检测区块链针对所述对照区块链具有兼容性;
若所述第一输出结果与所述第二输出结果不相同,则所述待检测区块链针对所述对照区块链不具有兼容性。
在一种可行的实施方式中,还包括:
状态检测单元,用于当所述待检测区块链针对所述对照区块链具有兼容性时,检测所述待检测区块链的日志信息;
当所述待检测区块链的日志信息正常,则所述待检测区块链的状态正常。
本申请实施例一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行上述的方法步骤。
本申请实施例一方面提供了一种计算机设备,包括处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的方法步骤。
在本申请实施例中,通过获取目标区块链的请求数据,从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据,所述业务请求数据是所述区块链中与智能合约有关的请求数据,进一步将所述目标请求数据分别发送至待检测区块链和对照区块链,所述待检测区块链和所述对照区块链分别调用所述目标请求数据,所述对照区块链为具有兼容性和稳定性的区块链,最后获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性。通过对待检测区块链的兼容性进行检测,减少了智能合约开发者学习新的智能合约语言的困难和成本,提高了区块链开发的效率,节省了开发的成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种数据处理的系统架构图;
图1b是本申请实施例提供的一种分布式系统的场景示意图;
图1c是本申请实施例提供的一种区块结构的结构示意图;
图2是本申请实施例提供的一种数据处理方法的流程示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种数据处理方法的举例示意图;
图5是本申请实施例提供的一种数据处理设备的结构示意图;
图6是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1a,是本发明实施例提供的一种数据处理的系统架构图。服务器10d通过通信总线与目标区块链建立连接,目标区块链为具有兼容性和稳定性的区块链,例如可以是主流的公有链,服务器10d获取目标区块链的请求数据,从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据,所述业务请求数据是所述区块链中与智能合约有关的请求数据,服务器10d进一步将所述目标请求数据分别发送至待检测区块链10b和对照区块链10c,对照区块链10c为具有兼容性和稳定性的区块链,对照区块链可以是上述主流的公有链,所述待检测区块链10b和所述对照区块链10c分别调用所述目标请求数据,获取所述待检测区块链10b和所述对照区块链10c的输出结果,根据所述输出结果确定所述待检测区块链10b针对所述对照区块链10c的兼容性。
本申请实施例涉及的服务器10d可以包括具有数据传输和存储的用户终端,具体包括:平板电脑、智能手机、个人电脑(PC)、笔记本电脑、掌上电脑等终端设备。
本申请实施例中涉及到的区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
下面将结合图1b和图1c,为本申请实施例提供的具体实施场景进行说明。本发明实施例涉及的区块链网络可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。
以分布式系统为区块链系统为例,参见图1b,图1b是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(P2P,PeerTo Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission ControlProtocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图1b示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块,新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图1c,图1c是本发明实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
请参见图2,为本申请实施例提供了一种数据处理方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤S101-步骤S104。
S101,获取目标区块链的请求数据;
具体的,数据处理设备获取目标区块链的请求数据,可以理解的是,所述目标区块链为具有兼容性和稳定性的区块链,可以是主流公有链或者是自研区块链的稳定版本,所述请求数据是目标区块链中的交易请求。具体的,若目标区块链为公有链,由于在公有链上所有的交易请求是全网广播的,可以监听获取到所有的区块链交易请求,若目标区块链为自研的区块链,可以通过研发者的权限从数据库拉取自研区块链的交易请求。
具体获取交易请求的方法可以通过IP端口过滤网络请求监听网络流量,获取请求数据,或者改造业务,当有交易请求时,将请求数据存储至数据库中,进而可以直接从数据库获取对应的请求数据,或者采用wireshark、tcpdump等网络封包的抓取技术,进行流量抓取,获取请求数据。
S102,从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据;
具体的,所述请求数据中包括业务请求数据和非业务请求数据,业务请求数据是所述区块链中与智能合约有关的请求数据,具体可以是交易上链时的请求信息和返回信息等,非业务请求数据包括请求数据中的心跳包、握手信息等,数据处理设备从所述请求数据中提取业务请求数据,进一步对所述业务请求数据进行预处理,生成目标请求数据,业务请求数据的预处理是对业务数据进行完善和修改,使其符合后续的调用要求。具体的预处理包括补全对照区块链与待处理区块链间的调用字段差异,添加发起地址和接收地址,调整请求数据中的签名信息,保证区块链交易可控以及合法性。
S103,将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,生成所述待检测区块链和所述对照区块链的输出结果;
具体的,数据处理设备将所述目标请求数据分别发送至待检测区块链和对照区块链,可以理解的是,待检测区块链是用于兼容性检测的区块链,所述对照区块链为具有兼容性和稳定性的区块链,对照区块链可以是主流公有链或者是自研区块链的稳定版本,例如,对于新研发的待检测区块链,需要检测其与主流公有链的兼容性,可以将主流公有链作为对照区块链;或者是自研区块链的要发布新版本,需要检测新版本与之前版本的兼容性,可以将自研区块链之前的稳定版本作为新版本的对照区块链。
目标请求数据可以是多个请求数据,待检测区块链和所述对照区块链调用多个请求数据时,按照相同的顺序进行调用,具体的,可以按照请求数据在区块链中的高度作为先后顺序,低高度的请求数据为先发起的请求,先进行调用,同高度的请求数据,可以根据交易发起的时间戳作为先后顺序,时间戳靠前的作为先发起的请求,目标请求数据调用完成后,生成所述待检测区块链和所述对照区块链的输出结果。
S104,获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性。
具体的,待检测区块链和对照区块链分别调用所述目标请求数据之后,数据处理设备获取所述待检测区块链和所述对照区块链的输出结果,可以理解的是,输出结果包括待检测区块链和对照区块链分别对每个请求数据的输出结果,并根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性,若所述待检测区块链的输出结果与所述对照区块链的输出结果相同,则所述待检测区块链针对所述对照区块链具有兼容性,若目标请求数据中包括多个请求数据,则所有请求数据的数据结果均相同,则待检测区块链针对所述对照区块链具有兼容性;若所述待检测区块链的输出结果与所述对照区块链的输出结果存在不一致的情况,则所述待检测区块链针对所述对照区块链不具有兼容性。
在本申请实施例中,通过获取目标区块链的请求数据,从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据,所述业务请求数据是所述区块链中与智能合约有关的请求数据,进一步将所述目标请求数据分别发送至待检测区块链和对照区块链,所述待检测区块链和所述对照区块链分别调用所述目标请求数据,所述对照区块链为具有兼容性和稳定性的区块链,最后获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性。通过对待检测区块链的兼容性进行检测,减少了智能合约开发者学习新的智能合约语言的困难和成本,提高了区块链开发的效率,节省了开发的成本。
请参见图3,为本申请实施例提供了一种数据处理方法的流程示意图。如图3所示,本申请实施例的所述方法可以包括以下步骤S201-步骤S206。
S201,当目标区块链为公有链时,监听所述目标区块链,采用网络封包抓取技术,获取所述目标区块链的请求数据;当目标区块链为非公有链时,获取所述非公有链的历史版本区块链,从所述历史版本区块链对应的数据库中获取所述目标区块链的请求数据。
具体的,所述目标区块链是主流公有链或者是自研区块链的稳定版本,当目标区块链为公有链时,数据处理设备监听所述目标区块链,由于在公有链上所有的交易请求是通过全网广播的,可以采用wireshark或tcpdump等网络封包抓取技术,获取所述目标区块链的请求数据。
当目标区块链为非公有链时,例如,对于自研区块链发布的新版本进行兼容性测试,目标区块链可以是自研区块链之前的历史版本,数据处理设备获取历史版本区块链,从所述历史版本区块链对应的数据库中获取所述目标区块链的请求数据。
S202,确定所述目标区块链的智能合约的关键字,根据所述关键字从请求数据中提取业务请求数据;
具体的,数据处理设备确定所述目标区块链的智能合约的关键字,根据所述关键字从请求数据中提取业务请求数据,可以理解的是,业务请求数据是所述区块链中与智能合约有关的请求数据,业务请求数据中一般包含特殊的字符,例如,自研区块链的业务请求数据中包含“call_contract”等内容,应当在请求中获取这样的请求作为数据源;公有链的目的地址若为合约地址,则目的地址中的code不为“0x”,例如可以为,“code=web3.eth.getCode("address")”,因此,可以先确定目标区块链的智能合约的关键字,例如“call_contract”,根据关键字从请求数据中提取业务请求数据。
S203,根据预设的地址信息和对照区块链,对所述业务请求数据进行预处理;将预处理后的业务请求数据确定为目标请求数据。
具体的,数据处理设备获取预设的发起地址和目的地址,将所述发起地址和所述目的地址添加至所述业务请求数据中,发起地址和目的地址是固定的,可以预先设置,发起地址和目的地址也可自行生成,添加发起地址和目的地址可以保证区块链交易可控。进一步数据处理设备获取所述发起地址对应的发起方的预设签名信息,根据所述预设签名信息调整所述业务请求数据原有的签名信息,签名信息的调整可以保证业务请求的合法性。进一步数据处理设备获取对照区块链中业务请求数据的数据结构,根据所述数据结构调整所述业务请求数据,即根据待处理区块链与对照区块链间的调用字段差异,补充业务请求数据中缺少的字段内容,并去除业务请求数据中多于的字段内容。
S204,检测所述目标请求数据的区块高度信息和时间戳;根据所述区块高度信息和所述时间戳,将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,生成所述待检测区块链和所述对照区块链的输出结果。
具体的,目标请求数据是至少一个请求数据,数据处理设备检测所述目标请求数据中每个请求数据的区块高度信息和时间戳,按照请求数据在区块链中的高度信息的先后顺序,将所述目标请求数据分别发送至待检测区块链和对照区块链,高度信息低的请求为先发起的请求,若请求数据具有相同的高度信息,则根据请求数据的时间戳,发送至待检测区块链和对照区块链,时间戳靠前的作为先发起的请求。所述待检测区块链和所述对照区块链按照高度信息和所述时间戳的先后顺序分别调用所述目标请求数据,目标请求数据调用完成后,生成所述待检测区块链和所述对照区块链的输出结果。
S205,获取所述待检测区块链的第一输出结果和所述对照区块链的第二输出结果;若所述第一输出结果与所述第二输出结果相同,则所述待检测区块链针对所述对照区块链具有兼容性;若所述第一输出结果与所述第二输出结果不相同,则所述待检测区块链针对所述对照区块链不具有兼容性。
具体的,数据处理设备获取所述待检测区块链的第一输出结果和所述对照区块链的第二输出结果,若所述第一输出结果与所述第二输出结果相同,则所述待检测区块链针对所述对照区块链具有兼容性;若目标请求数据中包括多个请求数据,则所述第一输出结果与所述第二输出结果均相同,所述待检测区块链针对所述对照区块链具有兼容性;
若所述第一输出结果与所述第二输出结果不相同,则所述待检测区块链针对所述对照区块链不具有兼容性,即,若目标请求数据中包括多个请求数据,当存在一个请求数据的输出结果不相同,则所述待检测区块链针对所述对照区块链不具有兼容性。
请参见图4,为本申请实施例提供了一种数据处理方法的举例示意图。如图4所示,检测待处理区块链针对对照区块链的兼容性,对照区块链为具有兼容性和稳定性的区块链,对照区块链可以是主流公有链或者是自研区块链的稳定版本,首先获取目标区块链的请求数据,目标区块链可以是主流公有链或者是自研区块链的稳定版本,进而从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据,进一步将所述目标请求数据分别发送至待检测区块链和对照区块链,所述待检测区块链和所述对照区块链分别调用所述目标请求数据,最后获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性。
S206,当所述待检测区块链针对所述对照区块链具有兼容性时,检测所述待检测区块链的日志信息;当所述待检测区块链的日志信息正常,则所述待检测区块链的状态正常。
具体的,当所述待检测区块链针对所述对照区块链具有兼容性时,进一步检测区块链的状态信息,以保证区块链能正常工作,具体的,检测所述待检测区块链的日志信息,当所述待检测区块链的日志信息正常,即未发生错误日志,则所述待检测区块链的状态正常。当所述待检测区块链为区块链集群时,区块链集群中区块链运行结果均相同,则所述待检测区块链的状态正常。
在本申请实施例中,通过获取目标区块链的请求数据,从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据,所述业务请求数据是所述区块链中与智能合约有关的请求数据,进一步将所述目标请求数据分别发送至待检测区块链和对照区块链,所述待检测区块链和所述对照区块链分别调用所述目标请求数据,所述对照区块链为具有兼容性和稳定性的区块链,最后获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性。通过对待检测区块链的兼容性进行检测,减少了智能合约开发者学习新的智能合约语言的困难和成本,提高了区块链开发的效率,节省了开发的成本。
请参见图5,为本申请实施例提供了一种数据处理设备的结构示意图。所述数据处理设备可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理设备为一个应用软件;该设备可以用于执行本申请实施例提供的方法中的相应步骤。如图5所示,本申请实施例的所述数据处理设备1可以包括:请求获取单元11、数据处理单元12、数据发送单元13、兼容性确定单元14。
请求获取单元11,用于获取目标区块链的请求数据;所述目标区块链为具有兼容性和稳定性的区块链;
数据处理单元12,用于从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据;所述业务请求数据是所述区块链中与智能合约有关的请求数据;
数据发送单元13,用于将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,生成所述待检测区块链和所述对照区块链的输出结果;所述对照区块链为具有兼容性和稳定性的区块链;
兼容性确定单元14,用于获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性。
在一种可行的实施方式中,所述请求获取单元11具体用于:
当目标区块链为公有链时,监听所述目标区块链,采用网络封包抓取技术,获取所述目标区块链的请求数据;
当目标区块链为非公有链时,获取所述非公有链的历史版本区块链,从所述历史版本区块链对应的数据库中获取所述目标区块链的请求数据。
请参见图5,本申请实施例的所述数据处理单元12可以包括:数据提取子单元121、数据处理子单元122、数据确定子单元123。
数据提取子单元121,用于确定所述目标区块链的智能合约的关键字,根据所述关键字从请求数据中提取业务请求数据;
数据处理子单元122,用于根据预设的地址信息和对照区块链,对所述业务请求数据进行预处理;
数据确定子单元123,用于将预处理后的业务请求数据确定为目标请求数据。
在一种可行的实施方式中,所述数据处理子单元122具体用于:
获取预设的发起地址和目的地址,将所述发起地址和所述目的地址添加至所述业务请求数据中;
获取所述发起地址对应的发起方的预设签名信息,根据所述预设签名信息调整所述业务请求数据的签名信息;
获取对照区块链中业务请求数据的数据结构,根据所述数据结构调整所述业务请求数据。
在一种可行的实施方式中,所述数据发送单元13具体用于:
检测所述目标请求数据的区块高度信息和时间戳;
根据所述区块高度信息和所述时间戳,将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,生成所述待检测区块链和所述对照区块链的输出结果。
在一种可行的实施方式中,所述兼容性确定单元14具体用于:
获取所述待检测区块链的第一输出结果和所述对照区块链的第二输出结果;
若所述第一输出结果与所述第二输出结果相同,则所述待检测区块链针对所述对照区块链具有兼容性;
若所述第一输出结果与所述第二输出结果不相同,则所述待检测区块链针对所述对照区块链不具有兼容性。
请参见图5,本申请实施例的所述数据处理设备1可以还包括:状态检测单元15。
状态检测单元15,用于当所述待检测区块链针对所述对照区块链具有兼容性时,检测所述待检测区块链的日志信息;
当所述待检测区块链的日志信息正常,则所述待检测区块链的状态正常。
在本申请实施例中,通过获取目标区块链的请求数据,从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据,所述业务请求数据是所述区块链中与智能合约有关的请求数据,进一步将所述目标请求数据分别发送至待检测区块链和对照区块链,所述待检测区块链和所述对照区块链分别调用所述目标请求数据,所述对照区块链为具有兼容性和稳定性的区块链,最后获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性。通过对待检测区块链的兼容性进行检测,减少了智能合约开发者学习新的智能合约语言的困难和成本,提高了区块链开发的效率,节省了开发的成本。
请参见图6,为本申请实施例提供了一种计算机设备的结构示意图。如图6所示,所述计算机设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是随机存取存储器(Random Access Memory,RAM),也可以是非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理应用程序。
在图6所示的计算机设备1000中,网络接口1004可提供网络通讯功能,用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的数据处理应用程序,以实现上述图2-图4任一个所对应实施例中对所述数据处理方法的描述,在此不再赘述。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图2-图4任一个所对应实施例中对所述数据处理方法的描述,也可执行前文图5所对应实施例中对所述数据处理设备的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的数据处理设备所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图2-图4任一个所对应实施例中对所述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、NVM或RAM等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取目标区块链的请求数据;所述目标区块链为具有兼容性和稳定性的区块链;
从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据;所述业务请求数据是所述区块链中与智能合约有关的请求数据;
将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,生成所述待检测区块链和所述对照区块链的输出结果;所述对照区块链为具有兼容性和稳定性的区块链;
获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性。
2.根据权利要求1所述的方法,其特征在于,所述获取目标区块链的请求数据,包括:
当目标区块链为公有链时,监听所述目标区块链,采用网络封包抓取技术,获取所述目标区块链的请求数据;
当目标区块链为非公有链时,获取所述非公有链的历史版本区块链,从所述历史版本区块链对应的数据库中获取所述目标区块链的请求数据。
3.根据权利要求1所述的方法,其特征在于,所述从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据,包括:
确定所述目标区块链的智能合约的关键字,根据所述关键字从请求数据中提取业务请求数据;
根据预设的地址信息和对照区块链,对所述业务请求数据进行预处理;
将预处理后的业务请求数据确定为目标请求数据。
4.根据权利要求3所述的方法,其特征在于,所述根据预设的地址信息和对照区块链,对所述业务请求数据进行预处理,包括:
获取预设的发起地址和目的地址,将所述发起地址和所述目的地址添加至所述业务请求数据中;
获取所述发起地址对应的发起方的预设签名信息,根据所述预设签名信息调整所述业务请求数据的签名信息;
获取对照区块链中业务请求数据的数据结构,根据所述数据结构调整所述业务请求数据。
5.根据权利要求1所述的方法,其特征在于,所述将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,生成所述待检测区块链和所述对照区块链的输出结果,包括:
检测所述目标请求数据的区块高度信息和时间戳;
根据所述区块高度信息和所述时间戳,将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,生成所述待检测区块链和所述对照区块链的输出结果。
6.根据权利要求1所述的方法,其特征在于,所述获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性,包括:
获取所述待检测区块链的第一输出结果和所述对照区块链的第二输出结果;
若所述第一输出结果与所述第二输出结果相同,则所述待检测区块链针对所述对照区块链具有兼容性;
若所述第一输出结果与所述第二输出结果不相同,则所述待检测区块链针对所述对照区块链不具有兼容性。
7.根据权利要求1所述的方法,其特征在于,还包括:
当所述待检测区块链针对所述对照区块链具有兼容性时,检测所述待检测区块链的日志信息;
当所述待检测区块链的日志信息正常,则所述待检测区块链的状态正常。
8.一种数据处理方法,其特征在于,包括:
请求获取单元,用于获取目标区块链的请求数据;所述目标区块链为具有兼容性和稳定性的区块链;
数据处理单元,用于从所述请求数据中提取业务请求数据,并对所述业务请求数据进行预处理,生成目标请求数据;所述业务请求数据是所述区块链中与智能合约有关的请求数据;
数据发送单元,用于将所述目标请求数据分别发送至待检测区块链和对照区块链,以使所述待检测区块链和所述对照区块链分别调用所述目标请求数据,生成所述待检测区块链和所述对照区块链的输出结果;所述对照区块链为具有兼容性和稳定性的区块链;
兼容性确定单元,用于获取所述待检测区块链和所述对照区块链的输出结果,根据所述输出结果确定所述待检测区块链针对所述对照区块链的兼容性。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行权利要求1-7任意一项所述的方法。
10.一种计算机设备,其特征在于,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110527924.7A CN113129002A (zh) | 2021-05-14 | 2021-05-14 | 一种数据处理方法以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110527924.7A CN113129002A (zh) | 2021-05-14 | 2021-05-14 | 一种数据处理方法以及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113129002A true CN113129002A (zh) | 2021-07-16 |
Family
ID=76781803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110527924.7A Pending CN113129002A (zh) | 2021-05-14 | 2021-05-14 | 一种数据处理方法以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113129002A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113973064A (zh) * | 2021-12-24 | 2022-01-25 | 南京金宁汇科技有限公司 | 一种基于区块链的稳定性测试方法及系统 |
CN114610544A (zh) * | 2022-03-07 | 2022-06-10 | 广州聚高信息科技有限公司 | 一种基于区块链的人工智能大数据分析处理系统及方法 |
-
2021
- 2021-05-14 CN CN202110527924.7A patent/CN113129002A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113973064A (zh) * | 2021-12-24 | 2022-01-25 | 南京金宁汇科技有限公司 | 一种基于区块链的稳定性测试方法及系统 |
CN113973064B (zh) * | 2021-12-24 | 2022-02-25 | 南京金宁汇科技有限公司 | 一种基于区块链的稳定性测试方法及系统 |
CN114610544A (zh) * | 2022-03-07 | 2022-06-10 | 广州聚高信息科技有限公司 | 一种基于区块链的人工智能大数据分析处理系统及方法 |
CN114610544B (zh) * | 2022-03-07 | 2023-03-28 | 丁跃辉 | 一种基于区块链的人工智能大数据分析处理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598446A (zh) | 基于区块链的测试方法、装置、存储介质和计算机设备 | |
CN110601896B (zh) | 一种基于区块链节点的数据处理方法以及设备 | |
CN110602125B (zh) | 数据处理方法、装置、终端及存储介质 | |
CN112527912B (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN111698315B (zh) | 针对区块的数据处理方法、数据处理装置及计算机设备 | |
CN111064755B (zh) | 一种数据保护方法、装置、计算机设备和存储介质 | |
CN111949531B (zh) | 区块链网络的测试方法、装置、介质及电子设备 | |
CN111639309B (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
CN112613877B (zh) | 应用于区块链网络的智能合约触发方法、装置及相关设备 | |
CN116155771A (zh) | 网络异常测试方法、装置、设备、存储介质和程序 | |
CN110519127B (zh) | 网络延时的探测方法、装置和存储介质 | |
CN113129002A (zh) | 一种数据处理方法以及设备 | |
CN110866265A (zh) | 一种基于区块链的数据存储方法、设备及存储介质 | |
CN111984295B (zh) | 一种区块链软件全网更新方法、存储介质及电子设备 | |
CN111597537B (zh) | 基于区块链网络的证书签发方法、相关设备及介质 | |
CN111461720A (zh) | 基于区块链的身份验证方法、装置、存储介质及电子设备 | |
CN115701078B (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
CN113986835B (zh) | FastDFS分布式文件的管理方法、装置、设备及存储介质 | |
CN111447068A (zh) | 一种基于区块链的授时存证方法 | |
CN112200680B (zh) | 区块链节点管理方法、装置、计算机以及可读存储介质 | |
CN105184559A (zh) | 一种支付系统及方法 | |
CN111327680B (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN111008251A (zh) | 一种数据处理方法以及设备 | |
CN114785526B (zh) | 基于区块链的多用户多批次权重分配计算及存储处理系统 | |
CN111385293A (zh) | 一种网络风险检测方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40048721 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |