CN110609679B - 数据处理方法、装置、计算机可读存储介质和计算机设备 - Google Patents

数据处理方法、装置、计算机可读存储介质和计算机设备 Download PDF

Info

Publication number
CN110609679B
CN110609679B CN201910875703.1A CN201910875703A CN110609679B CN 110609679 B CN110609679 B CN 110609679B CN 201910875703 A CN201910875703 A CN 201910875703A CN 110609679 B CN110609679 B CN 110609679B
Authority
CN
China
Prior art keywords
data
blockchain node
blockchain
serialized
file
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.)
Active
Application number
CN201910875703.1A
Other languages
English (en)
Other versions
CN110609679A (zh
Inventor
李茂材
周开班
王宗友
孔利
蓝虎
杨常青
时一防
刘区城
朱耿良
陈秋平
张劲松
刘攀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910875703.1A priority Critical patent/CN110609679B/zh
Publication of CN110609679A publication Critical patent/CN110609679A/zh
Application granted granted Critical
Publication of CN110609679B publication Critical patent/CN110609679B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请涉及一种数据处理方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取数据转换规范文件;所述数据转换规范文件用于定义数据的序列转换规则;对所述数据转换规范文件进行编译,生成与所述第一区块链节点所使用的开发语言对应的数据解析文件;获取待发送数据,并调用所述数据解析文件,将所述待发送数据进行序列化,生成所述待发送数据的序列化数据;通过区块链网络,发送所述序列化数据至第二区块链节点,以使所述第二区块链节点根据所述数据转换规范文件,对所述序列化数据进行反序列化,获得与所述第二区块链节点所使用的开发语言对应的待发送数据。本申请提供的方案可以提高区块链网络的开发效率。

Description

数据处理方法、装置、计算机可读存储介质和计算机设备
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于区块链的数据处理方法、装置、计算机可读存储介质和计算机设备。
背景技术
区块链网络是由众多区块链节点共同组成的一个端到端的去中心化网络,并由各个区块链节点来共同维护整个区块链网络。
如今,不同区块链节点往往会搭载基于不同开发语言的平台。而为了使搭载着不同平台的区块链节点之间可以顺利地进行数据交换和处理,往往需要开发人员针对区块链节点对应的开发语言和数据结构,对区块链节点的数据对象进行个性化地定义,无疑增加了区块链网络的调试难度和开发成本。
因此,目前的区块链网络存在开发效率低的问题。
发明内容
基于此,有必要针对区块链网络存在开发效率低的技术问题,提供一种基于区块链的数据处理方法、装置、计算机可读存储介质和计算机设备。
一种数据处理方法,应用于第一区块链节点,包括:
获取数据转换规范文件;所述数据转换规范文件用于定义数据的序列转换规则;其中,所述数据转换规范文件为基于接口描述语言编写得到的;
对所述数据转换规范文件进行编译,生成与所述第一区块链节点所使用的开发语言对应的数据解析文件;
获取待发送数据,并调用所述数据解析文件,将所述待发送数据进行序列化,生成所述待发送数据的序列化数据;
发送所述序列化数据至第二区块链节点,以使所述第二区块链节点根据所述数据转换规范文件,对所述序列化数据进行反序列化,获得与所述第二区块链节点所使用的开发语言对应的待发送数据;其中,所述第一区块链节点和所述第二区块链节点为区块链网络中的任意两个区块链节点。
一种数据处理装置,应用于第一区块链节点,所述装置包括:
获取模块,用于获取数据转换规范文件;所述数据转换规范文件用于定义数据的序列转换规则;其中,所述数据转换规范文件为基于接口描述语言编写得到的;
编译模块,用于对所述数据转换规范文件进行编译,生成与所述第一区块链节点所使用的开发语言对应的数据解析文件;
序列化模块,用于获取待发送数据,并调用所述数据解析文件,将所述待发送数据进行序列化,生成所述待发送数据的序列化数据;
发送模块,用于发送所述序列化数据至第二区块链节点,以使所述第二区块链节点根据所述数据转换规范文件,对所述序列化数据进行反序列化,获得与所述第二区块链节点所使用的开发语言对应的待发送数据;其中,所述第一区块链节点和所述第二区块链节点为区块链网络中的任意两个区块链节点。
一种计算机可读存储介质,应用于第一区块链节点,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取数据转换规范文件;所述数据转换规范文件用于定义数据的序列转换规则;其中,所述数据转换规范文件为基于接口描述语言编写得到的;
对所述数据转换规范文件进行编译,生成与所述第一区块链节点所使用的开发语言对应的数据解析文件;
获取待发送数据,并调用所述数据解析文件,将所述待发送数据进行序列化,生成所述待发送数据的序列化数据;
发送所述序列化数据至第二区块链节点,以使所述第二区块链节点根据所述数据转换规范文件,对所述序列化数据进行反序列化,获得与所述第二区块链节点所使用的开发语言对应的待发送数据;其中,所述第一区块链节点和所述第二区块链节点为区块链网络中的任意两个区块链节点。
一种计算机设备,应用于第一区块链节点,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取数据转换规范文件;所述数据转换规范文件用于定义数据的序列转换规则;其中,所述数据转换规范文件为基于接口描述语言编写得到的;
对所述数据转换规范文件进行编译,生成与所述第一区块链节点所使用的开发语言对应的数据解析文件;
获取待发送数据,并调用所述数据解析文件,将所述待发送数据进行序列化,生成所述待发送数据的序列化数据;
发送所述序列化数据至第二区块链节点,以使所述第二区块链节点根据所述数据转换规范文件,对所述序列化数据进行反序列化,获得与所述第二区块链节点所使用的开发语言对应的待发送数据;其中,所述第一区块链节点和所述第二区块链节点为区块链网络中的任意两个区块链节点。
上述数据处理方法、装置、计算机可读存储介质和计算机设备,第一区块链节点通过获取数据转换规范文件并对数据转换规范文件进行编译,生成与第一区块链节点所使用的开发语言对应的数据解析文件;然后,通过调用数据解析文件,将待发送数据进行序列化,生成待发送数据的序列化数据;最后,发送序列化数据至第二区块链节点,以使第二区块链节点根据数据转换规范文件,对序列化数据进行反序列化,获得与第二区块链节点所使用的开发语言对应的待发送数据;从而实现了对采用不同平台的区块链节点的数据序列转换规则的统一,实现了数据的跨平台传输交换;如此,开发人员无需针对区块链节点对应的开发语言和数据结构,对区块链节点的数据对象进行个性化地定义,提高了区块链网络的开发效率。
附图说明
图1为一个实施例中一种数据处理方法的应用环境图;
图2为一个实施例中一种数据处理方法的流程示意图;
图3为另一个实施例中一种数据处理方法的流程示意图;
图4为一个实施例中一种数据处理方法的数据储存读取步骤的流程示意图;
图5为一个实施例中一种数据处理方法的获取待发送数据步骤的流程示意图;
图6为一个实施例中一种数据处理方法的区块链网络的处理流程图;
图7为一个实施例中一种数据处理方法的区块链节点的处理流程图;
图8为一个实施例中一种数据处理装置的结构框图;
图9为一个实施例中一种数据处理方法的区块链示意图;
图10为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中数据处理方法的应用环境图。参照图1,该应用环境图系统包括区块链网络130,区块链网络130由至少两个的区块链节点通过网络连接组成,其中,第一区块链节点110和第二区块链节点120为区块链网络130中的任意两个区块链节点。其中,第一区块链节点110获取数据转换规范文件;该数据转换规范文件用于定义数据的序列转换规则;其中,数据转换规范文件为基于接口描述语言编写得到的;然后,第一区块链节点110对所述数据转换规范文件进行编译,生成与所述第一区块链节点110所使用的开发语言对应的数据解析文件;再然后,第一区块链节点110获取待发送数据,并调用所述数据解析文件,将所述待发送数据进行序列化,生成所述待发送数据的序列化数据;最后,第一区块链节点110通过区块链网络,发送所述序列化数据至第二区块链节点120,以使所述第二区块链节点120根据所述数据转换规范文件,对所述序列化数据进行反序列化,获得与所述第二区块链节点120所使用的开发语言对应的待发送数据。实际应用中,第一区块链节点110和第二区块链节点120具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。第一区块链节点110和第二区块链节点120具体也可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种数据处理方法。本实施例主要以该方法应用于上述图1中的第一区块链节点110来举例说明。参照图2,该基于区块链的数据处理方法具体包括如下步骤:
S210,获取数据转换规范文件。
其中,数据转换规范文件用于定义数据的序列转换规则。
其中,序列转换可以是指序列化和反序列化。
其中,序列转换规则可以是指经过统一约定的将数据进行序列化和反序列化的规则。
其中,数据转换规范文件为基于接口描述语言编写得到的。
其中,接口描述语言(Interface description language,IDL)可以是指用于描述数据对象序列化和反序列化约定规则的且与具体开发语言、平台无关的语言。
具体实现中,搭建区块链网络的过程中,需要在区块链网络130中的每个区块链节点预先写入数据转换规范文件,从而使区块链网络130中的每个区块链节点可以按照数据转换规范文件所定义数据的序列转换规则对数据进行序列化和反序列化,进而实现每个区块链节点对数据进行序列化和反序列化的数据转换规则进行统一约定。
然后,当第一区块链节点110需要与第二区块链节点120进行数据交互时,第一区块链节点110获取预写入的数据转换规范文件。
S220,对数据转换规范文件进行编译,生成与第一区块链节点所使用的开发语言对应的数据解析文件。
其中,数据解析文件可以用于供第一区块链节点110实现对数据的序列化和反序列化的程序代码文件。
具体实现中,当第一区块链节点110获取预写入的数据转换规范文件后,第一区块链节点110使用数据转换规范文件对应的编译器,对该数据转换规范文件解析编译,生成与第一区块链节点110所使用的开发语言对应的数据解析文件。实际应用中,数据转换规范文件可以为.proto文件。
其中,.proto文件为protobuf的数据结构定义文件。
其中,protobuf即protocol buffer是一种数据交换的格式,它独立于语言和平台。protocol buffer提供了多种语言的实现,针对每一种实现都包含了相应语言的编译器以及库文件。
例如,当数据转换规范文件为.proto文件时,第一区块链节点110使用预先安装的protobuf编译器,对预写入在第一区块链节点110本地的.proto文件进行编译,根据与第一区块链节点110所使用的开发语言对应的代码生成指令,生成与第一区块链节点110所使用的开发语言对应的数据解析文件。
需要说明的是,第一区块链节点110使用的开发语言可以但不限于是Java,C++,Python、Go、Ruby等多种开发语言。
更具体地,当第一区块链节点110使用Java作为开发语言时,第一区块链节点110所使用的代码生成指令为“--java_out”,然后,protobuf编译器对.proto文件进行编译,在目标目录DST_DIR中生成相应的Java代码,作为第一区块链节点110所使用的开发语言对应的数据解析文件,进而供第一区块链节点110实现对数据的序列化和反序列化。
S230,获取待发送数据,并调用数据解析文件,将待发送数据进行序列化,生成待发送数据的序列化数据。
其中,待发送数据可以是指第一区块链节点110需要进行发送的数据。
其中,序列化数据可以是指经过第一区块链节点110进行序列化后的待发送数据。实际应用中,序列化数据的数据进制可以为二进制。
具体实现中,当第一区块链节点110完成相应的业务处理并需要发送数据时,第一区块链节点110获取待发送数据;然后,第一区块链节点110通过调用上述的数据解析文件,按照数据转换规范文件所定义的数据的序列转换规则,将待发送数据进行序列化,进而得到数据进制为二进制的序列化数据。
S240,发送序列化数据至第二区块链节点,以使第二区块链节点根据数据转换规范文件,对序列化数据进行反序列化,获得与第二区块链节点所使用的开发语言对应的待发送数据;其中,第一区块链节点和第二区块链节点为区块链网络中的任意两个区块链节点。
具体实现中,在第一区块链节点110完成对待发送数据进行序列化后,第一区块链节点110通过区块链网络130将序列化数据以二进制数据串的数据形式发送至第二区块链节点120,以使第二区块链节点120获取上述的序列化数据。
当第二区块链节点120获取第一区块链节点110的序列化数据后,第二区块链节点120获取预写入的数据转换规范文件;然后,第二区块链节点120使用该数据转换规范文件对应的编译器,对该数据转换规范文件解析编译,生成与第二区块链节点120所使用的开发语言对应的数据解析文件。再然后,第一区块链节点110通过调用第二区块链节点120所使用的开发语言对应的数据解析文件,按照数据转换规范文件所定义的数据的序列转换规则,将序列化数据进行反序列化,进而获得与第二区块链节点120所使用的开发语言对应的待发送数据,并执行与待发送数据相应的处理操作。
需要说明的是,第二区块链节点120使用的开发语言可以但不限于是Java,C++,Python、Go、Ruby等多种开发语言。
例如,当第一区块链节点110使用Java作为开发语言时,第一区块链节点110所使用的代码生成指令为“--java_out”,然后,protobuf编译器对.proto文件进行编译,在目标目录DST_DIR中生成相应的Java代码,作为第一区块链节点110所使用的开发语言对应的数据解析文件,然后,第一区块链节点110通过调用Java语言对应的数据解析文件,将Java语言开发环境下的将待发送数据进行序列化,进而得到数据进制为二进制的序列化数据,并通过区块链网络130发送该序列化数据至第二区块链节点120。其中,第二区块链节点120可以使用Python作为开发语言。
当第二区块链节点120获取第一区块链节点110的序列化数据后,第二区块链节点120所使用的代码生成指令为“--python_out”,然后,protobuf编译器对.proto文件进行编译,在目标目录DST_DIR中生成相应的Python代码,作为第二区块链节点120所使用的开发语言对应的数据解析文件,然后,第二区块链节点120通过调用Python语言对应的数据解析文件,将第一区块链节点110的序列化数据进行反序列化,进而获得与第二区块链节点120所使用的开发语言对应的待发送数据即Python语言开发环境下的待发送数据,并执行与待发送数据相应的处理操作。
上述的一种数据处理方法,第一区块链节点通过获取数据转换规范文件并对数据转换规范文件进行编译,生成与第一区块链节点所使用的开发语言对应的数据解析文件;然后,通过调用数据解析文件,将待发送数据进行序列化,生成待发送数据的序列化数据;最后,发送序列化数据至第二区块链节点,以使第二区块链节点根据数据转换规范文件,对序列化数据进行反序列化,获得与第二区块链节点所使用的开发语言对应的待发送数据;从而实现了对采用不同平台的区块链节点的数据序列转换规则的统一,实现了数据的跨平台传输交换;如此,开发人员无需针对区块链节点对应的开发语言和数据结构,对区块链节点的数据对象进行个性化地定义,提高了区块链网络的开发效率。
如图3所示,在一个实施例中,该数据处理方法具体还包括如下步骤:
S310,接收序列化后的待处理数据。
其中,序列化后的待处理数据为客户端和/或区块链节点根据预写入的数据转换规范文件对待处理数据进行序列化而得到的数据。
具体现实中,客户端和/或区块链节点获取预写入的数据转换规范文件;然后,客户端和/或区块链节点使用该数据转换规范文件对应的编译器,对该数据转换规范文件解析编译,生成与客户端所使用的开发语言对应的数据解析文件。再然后,客户端和/或区块链节点通过调用客户端和/或区块链节点所使用的开发语言对应的数据解析文件,按照数据转换规范文件所定义的数据的序列转换规则,将待处理数据进行序列化,进而获得序列化后的待处理数据,并发送序列化后的待处理数据至第一区块链节点110。进而供第一区块链节点110接收序列化后的待处理数据
S320,调用数据解析文件,按照序列转换规则,将序列化后的待处理数据进行反序列化,获得与第一区块链节点所使用的开发语言对应的待处理数据。
具体实现中,当第一区块链节点110获取客户端的序列化后的待处理数据后,第一区块链节点110通过调用数据解析文件,按照数据转换规范文件所定义的数据的序列转换规则,将序列化后的待处理数据进行反序列化,从而获得与第一区块链节点110所使用的开发语言对应的待处理数据。
S330,根据待处理数据,执行相应的处理操作。
具体实现中,当第一区块链节点110第一区块链节点110所使用的开发语言对应的待处理数据,根据待处理数据,执行相应的处理操作。具体地,当待处理数据为交易信息数据时,第一区块链节点110根据交易信息数据进行账本校验,同时将账本校验返回该客户端。
本实施例的技术方案,通过接收序列化后的待处理数据,并调用数据解析文件,按照序列转换规则,将序列化后的待处理数据进行反序列化,获得与第一区块链节点所使用的开发语言对应的待处理数据;并执行相应的处理操作;从而实现了数据在客户端与区块链节点之间的跨平台传输交换,开发人员无需对各个区块链节点的数据对象进行个性化地定义,提高了区块链网络的开发效率。
在一个实施例中,该数据处理方法具体还包括:获取待储存数据;调用数据解析文件,按照序列转换规则,将待储存数据进行序列化,得到序列化后的待储存数据;将序列化后的待储存数据写入第一区块链节点的区块链账本。
其中,待储存数据可以是待储存至区块链节点的数据库的数据。
具体实现中,当第一区块链节点110需要将处理后的数据储存至区块链节点的数据库时,第一区块链节点110获取待储存数据;然后,第一区块链节点110通过调用数据解析文件,按照数据转换规范文件所定义的数据的序列转换规则,将待储存数据进行序列化,从而得到二进制的序列化后的待储存数据;最后,将序列化后的待储存数据写入第一区块链节点110的区块链账本。具体地,第一区块链节点110基于序列化后的待储存数据和区块链中第一区块的区块头特征值,在该区块链上生成第二区块,其中,第一区块为第二区块的上一个区块,第二区块用于记录待储存数据。
实际应用中,区块链网络中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图9,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中数据的安全性。
本实施例的技术方案,第一区块链节点通过调用数据解析文件,按照序列转换规则,将待储存数据进行序列化,得到序列化后的待储存数据;最后,将序列化后的待储存数据写入第一区块链节点的区块链账本,从而使区块链节点的数据库均以统一的数据格式存储数据,从而提高了区块链节点的数据库跨平台可移植性,减少开发人员的调试难度,进而提高了区块链网络的开发效率。
在一个实施例中,该数据处理方法具体还包括:查询区块链账本中的目标序列化数据;调用数据解析文件,按照序列转换规则,将目标序列化数据进行反序列化,获得与第一区块链节点所使用的开发语言对应的目标查询数据;根据目标查询数据,执行相应的处理操作。
具体实现中,当第一区块链节点110需要读取存储在第一区块链节点110数据进行相应的处理时,第一区块链节点110从区块链账本中,查询出目标序列化数据。然后,第一区块链节点110通过调用数据解析文件,按照数据转换规范文件所定义的数据的序列转换规则,将目标序列化数据进行反序列化,从而获得与第一区块链节点110所使用的开发语言对应的目标查询数据;最后,根据目标查询数据,执行相应的处理操作。具体地,当目标查询数据为交易信息数据时,第一区块链节点110根据交易信息数据进行账本校验。
本实施例的技术方案,第一区块链节点通过查询区块链账本中的目标序列化数据;然后,调用数据解析文件,将目标序列化数据进行反序列化,获得与第一区块链节点所使用的开发语言对应的目标查询数据;从而使第一区块链节点可以根据目标查询数据,执行相应的处理操作;实现了区块链节点从存储有统一的数据格式的数据的数据库中,读取第一区块链节点所使用的开发语言对应的目标查询数据,从而提高了区块链节点的数据库跨平台可移植性,减少开发人员的调试难度,进而提高了区块链网络的开发效率。
如图4所示,在一个实施例中,该数据处理方法具体还包括如下步骤:
S410,获取待储存数据。具体地,当第一区块链节点110需要将处理后的数据储存至区块链节点的数据库时,第一区块链节点110获取待储存数据。
S420,调用数据解析文件,按照序列转换规则,将待储存数据进行序列化,得到序列化后的待储存数据。具体地,第一区块链节点110通过调用数据解析文件,按照数据转换规范文件所定义的数据的序列转换规则,将待储存数据进行序列化,从而得到二进制的序列化后的待储存数据。
S430,将序列化后的待储存数据写入第一区块链节点的区块链账本。具体地,第一区块链节点110将序列化后的待储存数据写入第一区块链节点110的区块链账本。
S440,查询区块链账本中的目标序列化数据。具体地,当第一区块链节点110需要读取存储在第一区块链节点110数据进行相应的处理时,第一区块链节点110从区块链账本中,查询出目标序列化数据。
S450,调用数据解析文件,按照序列转换规则,将目标序列化数据进行反序列化,获得与第一区块链节点所使用的开发语言对应的目标查询数据。具体地,第一区块链节点110通过调用数据解析文件,按照数据转换规范文件所定义的数据的序列转换规则,将目标序列化数据进行反序列化,从而获得与第一区块链节点110所使用的开发语言对应的目标查询数据。
S460,根据目标查询数据,执行相应的处理操作。
本实施例的技术方案,通过对区块链节点的数据进行规范化的序列化和反序列化,使区块链节点的数据库均以统一的数据格式存储数据,并可以从存储有统一的数据格式的数据的数据库中,读取与区块链节点所使用的开发语言对应的目标查询数据,从而提高了区块链节点的数据库跨平台可移植性,减少开发人员的调试难度,进而提高了区块链网络的开发效率。
在一个实施例中,该数据处理方法中的步骤S230具体包括:获取原始数据;对原始数据进行数据加密,得到待发送数据。
其中,原始数据可以是指未经过加密处理的数据。
具体实现中,在第一区块链节点110获取待发送数据的过程中,第一区块链节点110获取原始数据;然后,第一区块链节点110对原始数据进行数据加密,得到待发送数据。具体地,第一区块链节点110对原始数据进行非对称加密和数字签名操作后,得到该原始数据对应的待发送数据。其中,数字签名用于供第一区块链节点110对接收到的待发送数据进行验证。
本实施例的技术方案,第一区块链节点在获取待发送数据的过程中,通过获取原始数据;对原始数据进行数据加密,得到待发送数据;最后,再发送待发送数据至第二区块链节点;从而提高了各个区块链节点之间的数据传输安全性,避免因遭到篡改而降低区块链网络的稳定性,减少了开发人员的调试工作量,进而提高了区块链网络的开发效率。
在一个实施例中,对原始数据进行数据加密,得到待发送数据,包括:获取第二区块链节点的公开密钥;使用第二区块链节点的公开密钥,对原始数据进行加密,得到加密数据;获取第一区块链节点的私有密钥,并使用第一区块链节点的私有密钥对原始数据进行签名,得到数字签名;数字签名用于供第二区块链节点验证原始数据;根据加密数据和数字签名,生成待发送数据。
其中,加密数据可以是指经过加密的原始数据。
具体实现中,第一区块链节点110在对原始数据进行数据加密,得到待发送数据的过程中具体包括:第一区块链节点110获取第二区块链节点120的公开密钥;然后,第一区块链节点110使用第二区块链节点的公开密钥,对原始数据进行加密,得到加密数据;再然后,第一区块链节点110获取第一区块链节点的私有密钥,并使用第一区块链节点的私有密钥按照预设的数字签名算法对原始数据进行签名,得到数字签名;其中,数字签名用于供第二区块链节点120验证原始数据是否经过篡改。最后,第一区块链节点110将加密数据和数字签名进行打包,生成待发送数据。
需要说明的是,当第二区块链节点120接收到第一区块链节点110的待发送数据后,第二区块链节点120使用第二区块链节点120的公开密钥对应的私有密钥对待发送数据中的加密数据进行解密,得到原始数据。同时,第二区块链节点120使用第一区块链节点110的公共密钥对待发送数据中的数字签名进行验证,判断原始数据在传输过程中是否经过篡改;若经过篡改则舍弃上述的待发送数据。
本实施例的技术方案,第一区块链节点通过获取第二区块链节点的公开密钥;使用第二区块链节点的公开密钥,对原始数据进行加密,得到加密数据;获取第一区块链节点的私有密钥,并使用第一区块链节点的私有密钥对原始数据进行签名,得到数字签名;最后,对加密数据和数字签名进行打包,生成待发送数据,提高了各个区块链节点之间的数据传输安全性,避免因遭到篡改而降低区块链网络的稳定性,减少了开发人员的调试工作量,进而提高了区块链网络的开发效率。
在一个实施例中,使用第一区块链节点的私有密钥对原始数据进行签名,得到数字签名,包括:按照预设的摘要算法,生成原始数据的信息摘要;使用第一区块链节点的私有密钥,对信息摘要进行加密,得到数字签名。
其中,摘要算法可以是指用于生成原始数据的信息摘要的算法。实际应用中,摘要算法可以是SHA256算法(一种哈希算法)。
具体实现中,第一区块链节点110在使用第一区块链节点的私有密钥对原始数据进行签名,得到数字签名的过程中,具体包括:第一区块链节点110按照预设的摘要算法,生成针对该原始数据的信息摘要。
例如,第一区块链节点110使用的摘要算法为SHA256算法时,第一区块链节点110按照SHA256算法,计算出原始数据对应的SHA256哈希值,作为待校验哈希值;然后,第一区块链节点110使用第一区块链节点的私有密钥,对待校验哈希值进行加密,得到数字签名。
当第二区块链节点120接收到第一区块链节点110的待发送数据后,第二区块链节点120使用第二区块链节点120的私有密钥对待发送数据中的加密数据进行解密,得到解密后的原始数据。同时,第二区块链节点120使用第一区块链节点110的公共密钥对数字签名进行解密,从而得到待校验哈希值;然后,第二区块链节点120对解密得到的原始数据按照SHA256算法,计算出解密得到的原始数据对应的SHA256哈希值,作为校验哈希值;最后,第二区块链节点120通过比较校验哈希值与待校验哈希值是否一致,进而判断原始数据在传输过程中是否经过篡改;若校验哈希值与待校验哈希值不一致,则判定原始数据在传输过程中经过篡改并舍弃上述的待发送数据。
本实施例的技术方案,第一区块链节点通过按照预设的摘要算法,生成原始数据的信息摘要;使用第一区块链节点的私有密钥,对信息摘要进行加密,得到数字签名;从而可以提高了各个区块链节点之间的数据传输安全性,避免因遭到篡改而降低区块链网络的稳定性,减少了开发人员的调试工作量,进而提高了区块链网络的开发效率。
如图5所示,在一个实施例中,该数据处理方法中的步骤S230具体包括如下步骤:
S510,获取原始数据。
S520,获取第二区块链节点的公开密钥,并使用第二区块链节点的公开密钥,对原始数据进行加密,得到加密数据。
S530,获取第一区块链节点的私有密钥,并按照预设的摘要算法,生成原始数据的信息摘要。
S540,使用第一区块链节点的私有密钥,对信息摘要进行加密,得到数字签名;数字签名用于供第二区块链节点验证原始数据。
S550,根据加密数据和数字签名,生成待发送数据。
由于上述各个步骤的详细实现过程,在上述实施例中已有详细说明,在此不再赘述。
上述的数据处理方法,通过获取原始数据并获取第二区块链节点的公开密钥,使用第二区块链节点的公开密钥,对原始数据进行加密,得到加密数据;然后,获取第一区块链节点的私有密钥,并按照预设的摘要算法,生成原始数据的信息摘要;再然后,使用第一区块链节点的私有密钥,对信息摘要进行加密,得到数字签名;最后,根据加密数据和数字签名,生成待发送数据,并发送待发送数据至第二区块链节点;如此,可以提高了各个区块链节点之间的数据传输安全性,避免因遭到篡改而降低区块链网络的稳定性,减少了开发人员的调试工作量,进而提高了区块链网络的开发效率。
为了便于本领域技术人员的理解,图6提供了一种数据处理方法的区块链网络的处理流程图;如图6所示,具体包括以下步骤;S602,节点1通过接口模块接收客户端提交的二进制格式的交易信息;其中,节点1通过调用数据解析文件,按照序列转换规则,将二进制格式的交易信息进行反序列化,获得与节点1所使用的开发语言对应的交易信息;S604,节点1针对交易信息进行共识认证;S606,节点1的虚拟机模块执行交易操作逻辑;S608,节点1针对当前的交易进行账本校验;S610,节点1再本地完成上述操作后,将生成并返回操作完成消息至客户端;S612,节点1调用数据解析文件,按照序列转换规则,将交易记录数据进行序列化,获得二进制格式的交易记录数据并广播至其他节点,例如,节点2;S614,节点2接收节点1生成二进制格式的交易记录数据,调用数据解析文件,按照序列转换规则,将二进制格式的交易记录数据进行反序列化,获得与节点2所使用的开发语言对应的交易记录数据;;S616,节点2对交易记录数据进行共识校验;S618,节点2的虚拟机模块执行交易操作逻辑;S620,节点2针对当前的交易进行账本校验;S622,节点2通过网络传输模块将共识结果返回至节点1;S624,节点1接收节点2共识结果;S626,区块链网络中的节点进行共识投票,判断是否达成共识;S628,区块链网络中的节点将交易信息保存至账本层。如此,实现了对采用不同平台的区块链节点的数据序列转换规则的统一,实现了数据的跨平台传输交换;如此,开发人员无需针对区块链节点对应的开发语言和数据结构,对区块链节点的数据对象进行个性化地定义,提高了区块链网络的开发效率。
为了便于本领域技术人员的理解,图7提供了一种数据处理方法的区块链节点的处理流程图;如图7所示,以Article对象结构为例,当区块链节点在进行智能合约的业务处理中,客户端将序列化的请求数据提交至区块链节点;然后,区块链节点对序列化的请求数据进行反序列化,进而得到区块链节点所使用的开发语言对应的请求数据,进而对该请求数据进行处理。
当区块链节点需要将处理后的数据发送至其他区块链节点时,区块链节点通过调用数据解析文件,按照序列转换规则,将处理后的数据进行序列化,进而获得与该处理后的数据对应的二进制数据串,最后将该二进制数据串发送至其他区块链节点。
当区块链节点需要将处理后的数据存储至本地时,区块链节点通过调用数据解析文件,按照序列转换规则,将处理后的数据进行序列化,进而获得与该处理后的数据对应的二进制数据串,最后将该二进制数据串存储至本地。
当区块链节点需要查询存储在本地的待处理数据时,首先读取待处理数据对应的二进制数据串,然后通过调用数据解析文件,按照序列转换规则,将待处理数据对应的二进制数据串进行反序列化,进而得到区块链节点所使用的开发语言对应的待处理数据,进而对该待处理数据进行处理。
如此,本实施例的技术方案实现了对采用不同平台的区块链节点的数据序列转换规则的统一,实现了数据的跨平台传输交换;如此,开发人员无需针对区块链节点对应的开发语言和数据结构,对区块链节点的数据对象进行个性化地定义,提高了区块链网络的开发效率。
应该理解的是,虽然图2、图3、图4、图5、图6和图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图3、图4、图5、图6和图7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图8所示,在一个实施例中,提供了一种数据处理装置,该装置包括:获取模块810,编译模块820,序列化模块830以及发送模块840,其中:
获取模块810,用于获取数据转换规范文件;所述数据转换规范文件用于定义数据的序列转换规则;其中,所述数据转换规范文件为基于接口描述语言编写得到的;
编译模块820,用于对所述数据转换规范文件进行编译,生成与所述第一区块链节点所使用的开发语言对应的数据解析文件;
序列化模块830,用于获取待发送数据,并调用所述数据解析文件,将所述待发送数据进行序列化,生成所述待发送数据的序列化数据;
发送模块840,用于发送所述序列化数据至第二区块链节点,以使所述第二区块链节点根据所述数据转换规范文件,对所述序列化数据进行反序列化,获得与所述第二区块链节点所使用的开发语言对应的待发送数据;其中,所述第一区块链节点和所述第二区块链节点为区块链网络中的任意两个区块链节点。
在本实施例中,第一区块链节点的获取模块通过获取数据转换规范文件并编译模块对数据转换规范文件进行编译,生成与第一区块链节点所使用的开发语言对应的数据解析文件;然后,序列化模块通过调用数据解析文件,将待发送数据进行序列化,生成待发送数据的序列化数据;最后,发送模块通过发送序列化数据至第二区块链节点,以使第二区块链节点根据数据转换规范文件,对序列化数据进行反序列化,获得与第二区块链节点所使用的开发语言对应的待发送数据;从而实现了对采用不同平台的区块链节点的数据序列转换规则的统一,实现了数据的跨平台传输交换;如此,开发人员无需针对区块链节点对应的开发语言和数据结构,对区块链节点的数据对象进行个性化地定义,提高了区块链网络的开发效率。
在其中一个实施例中,上述的一种数据处理装置,还包括:接收模块,用于接收序列化后的待处理数据。第一反序列化模块,用于调用所述数据解析文件,按照所述序列转换规则,将所述序列化后的待处理数据进行反序列化,获得与所述第一区块链节点所使用的开发语言对应的待处理数据。第一处理模块,用于根据所述待处理数据,执行相应的处理操作。
在其中一个实施例中,上述的一种数据处理装置,还包括:数据获取模块,用于获取待储存数据。调用模块,用于调用所述数据解析文件,按照所述序列转换规则,将所述待储存数据进行序列化,得到序列化后的待储存数据。写入模块,用于将所述序列化后的待储存数据写入所述第一区块链节点的区块链账本。
在其中一个实施例中,上述的一种数据处理装置,还包括:查询模块,用于查询所述区块链账本中的目标序列化数据。第二反序列化模块,用于调用所述数据解析文件,按照所述序列转换规则,将所述目标序列化数据进行反序列化,获得与所述第一区块链节点所使用的开发语言对应的目标查询数据。第二处理模块,用于根据所述目标查询数据,执行相应的处理操作。
在其中一个实施例中,上述的序列化模块830,包括:数据获取子模块,用于获取原始数据。加密子模块,用于对所述原始数据进行数据加密,得到所述待发送数据。
在其中一个实施例中,上述的加密子模块,具体还用于获取所述第二区块链节点的公开密钥;使用所述第二区块链节点的公开密钥,对所述原始数据进行加密,得到加密数据;获取所述第一区块链节点的私有密钥,并使用所述第一区块链节点的私有密钥对所述原始数据进行签名,得到数字签名;所述数字签名用于供所述第二区块链节点验证所述原始数据;根据所述加密数据和所述数字签名,生成所述待发送数据。
在其中一个实施例中,上述的加密子模块,具体还用于按照预设的摘要算法,生成所述原始数据的信息摘要;使用所述第一区块链节点的私有密钥,对所述信息摘要进行加密,得到所述数字签名。
图10示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的第一区块链节点110。如图10所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的数据处理装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行。计算机设备的存储器中可存储组成该数据处理装置的各个程序模块,比如,图8所示的获取模块810,编译模块820,序列化模块830以及发送模块840。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据处理方法中的步骤。
例如,图10所示的计算机设备可以通过如图8所示的数据处理装置中的获取模块810执行获取数据转换规范文件;所述数据转换规范文件用于定义数据的序列转换规则;其中,所述数据转换规范文件为基于接口描述语言编写得到的。计算机设备可通过编译模块820执行对所述数据转换规范文件进行编译,生成与所述第一区块链节点所使用的开发语言对应的数据解析文件。计算机设备可通过序列化模块830执行获取待发送数据,并调用所述数据解析文件,将所述待发送数据进行序列化,生成所述待发送数据的序列化数据。计算机设备可通过发送模块840执行发送所述序列化数据至第二区块链节点,以使所述第二区块链节点根据所述数据转换规范文件,对所述序列化数据进行反序列化,获得与所述第二区块链节点所使用的开发语言对应的待发送数据;其中,所述第一区块链节点和所述第二区块链节点为区块链网络中的任意两个区块链节点。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据处理方法的步骤。此处数据处理方法的步骤可以是上述各个实施例的数据处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据处理方法的步骤。此处数据处理方法的步骤可以是上述各个实施例的数据处理方法中的步骤。
需要说明的是,本发明实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (16)

1.一种数据处理方法,所述方法应用于第一区块链节点,包括:
获取数据转换规范文件;所述数据转换规范文件用于定义数据的序列转换规则;其中,所述数据转换规范文件为基于接口描述语言编写得到的;
对所述数据转换规范文件进行编译,根据与所述第一区块链节点所使用的开发语言对应的代码生成指令,在目标目录生成所述第一区块链节点所使用的开发语言相应的代码,得到所述第一区块链节点所使用的开发语言对应的数据解析文件;
获取待发送数据,并调用所述数据解析文件,将所述待发送数据进行序列化,生成所述待发送数据的序列化数据;
发送所述序列化数据至第二区块链节点,以使所述第二区块链节点根据所述数据转换规范文件,对所述序列化数据进行反序列化,获得与所述第二区块链节点所使用的开发语言对应的待发送数据;其中,所述第一区块链节点和所述第二区块链节点为区块链网络中的任意两个区块链节点。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收序列化后的待处理数据;
调用所述数据解析文件,按照所述序列转换规则,将所述序列化后的待处理数据进行反序列化,获得与所述第一区块链节点所使用的开发语言对应的待处理数据;
根据所述待处理数据,执行相应的处理操作。
3.根据权利要求1所述的方法,其特征在于,还包括:
获取待储存数据;
调用所述数据解析文件,按照所述序列转换规则,将所述待储存数据进行序列化,得到序列化后的待储存数据;
将所述序列化后的待储存数据写入所述第一区块链节点的区块链账本。
4.根据权利要求3所述的方法,其特征在于,还包括:
查询所述区块链账本中的目标序列化数据;
调用所述数据解析文件,按照所述序列转换规则,将所述目标序列化数据进行反序列化,获得与所述第一区块链节点所使用的开发语言对应的目标查询数据;
根据所述目标查询数据,执行相应的处理操作。
5.根据权利要求1所述的方法,其特征在于,所述获取待发送数据,包括:
获取原始数据;
对所述原始数据进行数据加密,得到所述待发送数据。
6.根据权利要求5所述的方法,其特征在于,所述对所述原始数据进行数据加密,得到所述待发送数据,包括:
获取所述第二区块链节点的公开密钥;
使用所述第二区块链节点的公开密钥,对所述原始数据进行加密,得到加密数据;
获取所述第一区块链节点的私有密钥,并使用所述第一区块链节点的私有密钥对所述原始数据进行签名,得到数字签名;所述数字签名用于供所述第二区块链节点验证所述原始数据;
根据所述加密数据和所述数字签名,生成所述待发送数据。
7.根据权利要求6所述的方法,其特征在于,所述使用所述第一区块链节点的私有密钥对所述原始数据进行签名,得到数字签名,包括:
按照预设的摘要算法,生成所述原始数据的信息摘要;
使用所述第一区块链节点的私有密钥,对所述信息摘要进行加密,得到所述数字签名。
8.一种数据处理装置,其特征在于,所述装置应用于第一区块链节点,所述装置包括:
获取模块,用于获取数据转换规范文件;所述数据转换规范文件用于定义数据的序列转换规则;其中,所述数据转换规范文件为基于接口描述语言编写得到的;
编译模块,用于对所述数据转换规范文件进行编译,根据与所述第一区块链节点所使用的开发语言对应的代码生成指令,在目标目录生成所述第一区块链节点所使用的开发语言相应的代码,得到所述第一区块链节点所使用的开发语言对应的数据解析文件;
序列化模块,用于获取待发送数据,并调用所述数据解析文件,将所述待发送数据进行序列化,生成所述待发送数据的序列化数据;
发送模块,用于发送所述序列化数据至第二区块链节点,以使所述第二区块链节点根据所述数据转换规范文件,对所述序列化数据进行反序列化,获得与所述第二区块链节点所使用的开发语言对应的待发送数据;其中,所述第一区块链节点和所述第二区块链节点为区块链网络中的任意两个区块链节点。
9.根据权利要求8所述的装置,其特征在于,所述数据处理装置,还包括:接收模块,用于接收序列化后的待处理数据;第一反序列化模块,用于调用所述数据解析文件,按照所述序列转换规则,将所述序列化后的待处理数据进行反序列化,获得与所述第一区块链节点所使用的开发语言对应的待处理数据;第一处理模块,用于根据所述待处理数据,执行相应的处理操作。
10.根据权利要求8所述的装置,其特征在于,所述数据处理装置,还包括:数据获取模块,用于获取待储存数据;调用模块,用于调用所述数据解析文件,按照所述序列转换规则,将所述待储存数据进行序列化,得到序列化后的待储存数据;写入模块,用于将所述序列化后的待储存数据写入所述第一区块链节点的区块链账本。
11.根据权利要求10所述的装置,其特征在于,所述数据处理装置,还包括:查询模块,用于查询所述区块链账本中的目标序列化数据;第二反序列化模块,用于调用所述数据解析文件,按照所述序列转换规则,将所述目标序列化数据进行反序列化,获得与所述第一区块链节点所使用的开发语言对应的目标查询数据;第二处理模块,用于根据所述目标查询数据,执行相应的处理操作。
12.根据权利要求8所述的装置,其特征在于,所述序列化模块,包括:数据获取子模块,用于获取原始数据;加密子模块,用于对所述原始数据进行数据加密,得到所述待发送数据。
13.根据权利要求12所述的装置,其特征在于,所述加密子模块,具体还用于获取所述第二区块链节点的公开密钥;使用所述第二区块链节点的公开密钥,对所述原始数据进行加密,得到加密数据;获取所述第一区块链节点的私有密钥,并使用所述第一区块链节点的私有密钥对所述原始数据进行签名,得到数字签名;所述数字签名用于供所述第二区块链节点验证所述原始数据;根据所述加密数据和所述数字签名,生成所述待发送数据。
14.根据权利要求13所述的装置,其特征在于,所述加密子模块,具体还用于按照预设的摘要算法,生成所述原始数据的信息摘要;使用所述第一区块链节点的私有密钥,对所述信息摘要进行加密,得到所述数字签名。
15.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
CN201910875703.1A 2019-09-17 2019-09-17 数据处理方法、装置、计算机可读存储介质和计算机设备 Active CN110609679B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910875703.1A CN110609679B (zh) 2019-09-17 2019-09-17 数据处理方法、装置、计算机可读存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910875703.1A CN110609679B (zh) 2019-09-17 2019-09-17 数据处理方法、装置、计算机可读存储介质和计算机设备

Publications (2)

Publication Number Publication Date
CN110609679A CN110609679A (zh) 2019-12-24
CN110609679B true CN110609679B (zh) 2024-04-02

Family

ID=68892805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910875703.1A Active CN110609679B (zh) 2019-09-17 2019-09-17 数据处理方法、装置、计算机可读存储介质和计算机设备

Country Status (1)

Country Link
CN (1) CN110609679B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113129144A (zh) * 2019-12-31 2021-07-16 航天信息股份有限公司 一种交易信息处理的方法、装置和系统
CN111338608B (zh) * 2020-02-28 2022-03-04 腾讯科技(深圳)有限公司 分布式应用开发方法、装置、节点设备及可读存储介质
CN111369237B (zh) * 2020-02-28 2023-07-14 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机存储介质
CN111416808B (zh) * 2020-03-13 2021-04-13 财付通支付科技有限公司 跨区块链的数据互存方法、装置、设备及存储介质
CN111724146A (zh) * 2020-05-21 2020-09-29 梁伟 一种基于区块链的数字资产流转的方法及装置
EP4057158A1 (en) * 2021-03-09 2022-09-14 Siemens Aktiengesellschaft Exchanging data with a decentralized distributed database
CN113094429B (zh) * 2021-03-19 2022-05-24 杭州复杂美科技有限公司 数据处理方法、数据查询方法、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107451175A (zh) * 2017-05-23 2017-12-08 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法及设备
CN110221837A (zh) * 2019-05-21 2019-09-10 深圳壹账通智能科技有限公司 智能合约调用方法、装置、设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184485A1 (en) * 1999-12-20 2002-12-05 Dray James F. Method for electronic communication providing self-encrypting and self-verification capabilities

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107451175A (zh) * 2017-05-23 2017-12-08 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法及设备
CN110221837A (zh) * 2019-05-21 2019-09-10 深圳壹账通智能科技有限公司 智能合约调用方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN110609679A (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
CN110609679B (zh) 数据处理方法、装置、计算机可读存储介质和计算机设备
US11734681B2 (en) Secure management of data files using a blockchain
RU2731417C1 (ru) Параллельное выполнение транзакций в сети цепочек блоков на основе белых списков смарт-контрактов
CN111460453B (zh) 机器学习训练方法、控制器、装置、服务器、终端和介质
CN107577427B (zh) 用于区块链系统的数据迁移方法、设备和存储介质
CN111475824B (zh) 数据访问方法、装置、设备和存储介质
CN109814854B (zh) 项目框架生成方法、装置、计算机设备和存储介质
CN111314172B (zh) 基于区块链的数据处理方法、装置、设备及存储介质
CN111597567B (zh) 数据处理方法、装置、节点设备及存储介质
CN111475376A (zh) 处理测试数据的方法、装置、计算机设备和存储介质
CN112070608B (zh) 信息处理方法、装置、介质及电子设备
CN114547558B (zh) 授权方法、授权控制方法及装置、设备和介质
CN110597814A (zh) 结构化数据的序列化、反序列化方法以及装置
CN115248919A (zh) 一种函数接口的调用方法、装置、电子设备及存储介质
CN112769706A (zh) 组件化路由方法及系统
CN111881209A (zh) 异构数据库的数据同步方法、装置、电子设备及介质
CN110662089A (zh) 弹幕接收处理方法、存储介质、电子设备及系统
US20220318415A1 (en) Integrity auditing for multi-copy storage
CN111400760A (zh) web应用访问数据库的方法、装置、服务器和存储介质
CN114281876A (zh) 一种数据处理方法、装置、设备及存储介质
US20220216999A1 (en) Blockchain system for supporting change of plain text data included in transaction
WO2023279698A1 (zh) 数据传输方法、系统、计算机设备及存储介质
CN113420313A (zh) 程序安全运行、加密方法及其装置、设备、介质
US11061998B2 (en) Apparatus and method for providing security and apparatus and method for executing security to protect code of shared object
CN113010115A (zh) 区块链节点中的数据处理方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant