一种基于区块链的数据处理方法及装置制造方法及图纸

技术编号:22005459 阅读:25 留言:0更新日期:2019-08-31 06:54
本发明专利技术公开了一种基于区块链的数据处理方法及装置,其中,方法包括:第一节点获取第一业务数据,根据第一节点的配置信息,将第一业务数据转换为具有预设数据格式的第一字节流并发送给第二节点,第二节点将第一字节流根据第二节点的配置信息转化为第二业务数据,其中,预设数据格式包括位置指示信息长度、依序设置的各结构体的位置指示信息及用于记录各结构体承载的数据的数据信息,位置指示信息用于指示结构体承载的数据在字节流中的位置。本技术方案用以解决发送方节点的存储数据量大,工作耗能多的问题。

A Data Processing Method and Device Based on Block Chain

【技术实现步骤摘要】
一种基于区块链的数据处理方法及装置
本专利技术实施例涉及金融科技(Fintech)领域,尤其涉及一种基于区块链(BlockChain)的数据处理方法及装置。
技术介绍
区块链是由一系列区块组成的一条链,每个区块记录本块的数据及上一块的哈希值,所有区块通过这种方式前后相继组成一条链。区块链所基于的密码学技术和去中心化思想使链上的历史信息无法被篡改。随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,区块链传输技术也不例外,但由于金融、支付行业的安全性、实时性要求,也对技术提出的更高的要求。SDK(SoftwareDevelopmentKit,软件开发工具包)通过节点进行通信,此场景中序列化和反序列化逻辑在节点层实现,SDK提供业务数据(内含一个或多个结构体)给节点进行序列化处理,并从节点获取反序列化之后的业务数据。若发送方节点和接收方节点的数据格式不同,发送方节点需要根据接收方节点的数据格式,将数据格式转换为接收方节点的数据格式后进行发送,发送方节点需要存储区块链系统中所有接收方节点的配置信息,以获取接收方节点的数据格式,并在发送前完成数据格式的转换。此方案中,发送方节点的存储数据量大,工作耗能多,且在网络动态变化时,对节点的管理要求高。
技术实现思路
本专利技术实施例提供一种基于区块链的数据处理方法及装置,用以解决发送方节点的存储数据量大,工作耗能多的问题。本专利技术实施例提供的一种基于区块链的数据处理方法,包括:第一节点获取第一业务数据;所述第一业务数据包括多个第一结构体;所述第一节点根据所述第一节点的配置信息,将所述第一业务数据转换为具有预设数据格式的第一字节流并发送给第二节点;所述配置信息包括节点的版本号和节点的位置指示信息长度;所述预设数据格式包括位置指示信息长度、依序设置的各结构体的位置指示信息及用于记录各结构体承载的数据的数据信息;所述位置指示信息用于指示结构体承载的数据在字节流中的位置;所述预设数据格式用于所述第二节点将所述第一字节流根据所述第二节点的配置信息转化为第二业务数据;所述第二业务数据包括多个第二结构体。上述技术方案中,第一节点根据节点的配置信息将第一业务数据转化为第一字节流,第一字节流中包括位置指示信息和数据信息,位置指示信息用于指示结构体承载的数据在字节流中的位置,通过该方式,第一节点可以将第一业务数据中各结构体的变长字段转化为定长字段,以使得第二节点可以处理该数据格式的第一字节流,且可以使用位置指示信息中的索引对变长数据进行查找,从而实现数据的反序列化。也就是说,第一节点只需要将第一业务数据转化为第二节点可处理的数据格式对应的字节流,而无需将第一业务数据转化为第二节点的数据格式对应的字节流,进一步的,该第一字节流可以被预设条件下的其他接收方节点处理,第一节点无需针对每个接收方节点转化为该接收方节点的数据格式对应的字节流,减少了第一节点的工作量。且第一节点中不需要存储区块链系统中所有接收方节点的配置信息,只需要存储自身的配置信息即可,第一节点的存储数据量小。可选的,所述各结构体的位置指示信息包括所述各结构体的变长数据在所述数据信息中的位置及所述各结构体的定长数据;所述数据信息包括依序设置的所述各结构体的变长数据。上述技术方案中,位置指示信息中包括各结构体的变长数据在数据信息中的位置及各结构体的定长数据,第一节点可以将第一业务数据中各结构体的变长字段转化为定长字段,以使得第二节点可以处理该数据格式的第一字节流,且可以使用位置指示信息中的索引对变长数据进行查找,从而实现数据的反序列化。可选的,还包括:所述第一节点获取第二字节流;所述第二字节流是第三节点根据所述第三节点的配置信息将第三业务数据转换为具有所述预设数据格式的字节流;所述第三业务数据包括多个第三结构体;所述第一节点根据所述第一节点的位置指示信息长度、所述第三节点的位置指示信息长度、所述第二字节流中各结构体的位置指示信息确定各结构体的定长数据和各结构体的变长数据;所述第一节点根据所述各结构体的定长数据和所述各结构体的变长数据,确定包含至少一个所述第一结构体的第四业务数据。上述技术方案中,第一节点作为接收方节点,可以接收第二字节流,并根据第一节点的配置信息,将第二字节流转化为第四业务数据。进一步的,第二字节流中存在多个结构体的位置指示信息,由于各结构体的位置指示信息中记录有各结构体的定长数据和各结构体的变长数据在数据信息中的位置索引,则可以根据各结构体的位置指示信息,并行化提取各结构体的定长数据和变长数据,提高了数据反序列化的效率。可选的,所述第一节点的位置指示信息长度为M个字节,所述第三节点的位置指示信息长度为N个字节;M和N为正整数;所述第一节点根据所述第一节点的位置指示信息长度、所述第三节点的位置指示信息长度、所述第二字节流中各结构体的位置指示信息确定各结构体的定长数据和各结构体的变长数据,包括:所述第一节点若确定M大于N,则在所述第二字节流中各结构体的位置指示信息后补充M-N个赋值为零的字节;所述第一节点根据补充后的各结构体的位置指示信息,从各结构体的位置指示信息中提取各结构体的定长数据且从所述数据信息中提取各结构体的变长数据。上述技术方案中,当M大于N时,将第二字节流中各结构体的位置指示信息后补充M-N个赋值为零的字节,可以减少第一节点处理字节流的工作量,解释为,当第一节点接收多个发送方节点发送的第二字节流时,若多个发送方节点发送的第二字节流中各结构体的位置指示信息长度不同,则第一节点可以采用补充赋值为零的字节的方式,将各第二字节流中各结构体的位置指示信息的字节长度补充为M,从而第一节点仅需要处理长度为M的位置指示信息,即仅需要生成一个用于处理长度为M的位置指示信息的函数。可选的,所述第一节点根据所述第一节点的位置指示信息长度、所述第三节点的位置指示信息长度、所述第二字节流中各结构体的位置指示信息确定各结构体的定长数据和各结构体的变长数据,还包括:所述第一节点若确定M小于N,则舍弃所述第二字节流中各结构体的位置指示信息后的N-M个字节;所述第一节点根据舍弃后的各结构体的位置指示信息,从各结构体的位置指示信息中提取各结构体的定长数据且从所述数据信息中提取各结构体的变长数据。上述技术方案中,当M小于N时,将第二字节流中各结构体的位置指示信息后的N-M个字节舍弃,从而第二字节流中的各结构体的位置指示信息长度与第一节点的配置信息中的位置指示信息长度相等,以使得第一节点可以处理该第二字节流。且该技术方案中,第二字节流中的位置指示信息长度大于第一节点的配置信息中的位置指示信息长度,代表第三节点的版本号高于第一节点的版本号,将第二字节流中各结构体的位置指示信息后的N-M个字节舍弃,仅是将高于第一节点的版本逻辑删除,不影响第一节点本身的版本逻辑。可选的,所述预设数据格式还包括版本号;在所述第一节点确定各结构体的定长数据和各结构体的变长数据之前,还包括:所述第一节点从所述第二字节流中提取所述第三节点的版本号;所述第一节点判断所述第一节点的版本号中的主版本号与所述第三节点的版本号中的主版本号是否一致,若是,则确定对所述第二字节流进行处理。上述技术方案中,第一节点在接收到第二字节流之后,通过确定发送方节本文档来自技高网...

【技术保护点】
1.一种基于区块链的数据处理方法,其特征在于,包括:第一节点获取第一业务数据;所述第一业务数据包括多个第一结构体;所述第一节点根据所述第一节点的配置信息,将所述第一业务数据转换为具有预设数据格式的第一字节流并发送给第二节点;所述配置信息包括节点的版本号和节点的位置指示信息长度;所述预设数据格式包括位置指示信息长度、依序设置的各结构体的位置指示信息及用于记录各结构体承载的数据的数据信息;所述位置指示信息用于指示结构体承载的数据在字节流中的位置;所述预设数据格式用于所述第二节点将所述第一字节流根据所述第二节点的配置信息转化为第二业务数据;所述第二业务数据包括多个第二结构体。

【技术特征摘要】
1.一种基于区块链的数据处理方法,其特征在于,包括:第一节点获取第一业务数据;所述第一业务数据包括多个第一结构体;所述第一节点根据所述第一节点的配置信息,将所述第一业务数据转换为具有预设数据格式的第一字节流并发送给第二节点;所述配置信息包括节点的版本号和节点的位置指示信息长度;所述预设数据格式包括位置指示信息长度、依序设置的各结构体的位置指示信息及用于记录各结构体承载的数据的数据信息;所述位置指示信息用于指示结构体承载的数据在字节流中的位置;所述预设数据格式用于所述第二节点将所述第一字节流根据所述第二节点的配置信息转化为第二业务数据;所述第二业务数据包括多个第二结构体。2.如权利要求1所述的方法,其特征在于,所述各结构体的位置指示信息包括所述各结构体的变长数据在所述数据信息中的位置及所述各结构体的定长数据;所述数据信息包括依序设置的所述各结构体的变长数据。3.如权利要求2所述的方法,其特征在于,还包括:所述第一节点获取第二字节流;所述第二字节流是第三节点根据所述第三节点的配置信息将第三业务数据转换为具有所述预设数据格式的字节流;所述第三业务数据包括多个第三结构体;所述第一节点根据所述第一节点的位置指示信息长度、所述第三节点的位置指示信息长度、所述第二字节流中各结构体的位置指示信息确定各结构体的定长数据和各结构体的变长数据;所述第一节点根据所述各结构体的定长数据和所述各结构体的变长数据,确定包含至少一个所述第一结构体的第四业务数据。4.如权利要求3所述的方法,其特征在于,所述第一节点的位置指示信息长度为M个字节,所述第三节点的位置指示信息长度为N个字节;M和N为正整数;所述第一节点根据所述第一节点的位置指示信息长度、所述第三节点的位置指示信息长度、所述第二字节流中各结构体的位置指示信息确定各结构体的定长数据和各结构体的变长数据,包括:所述第一节点若确定M大于N,则在所述第二字节流中各结构体的位置指示信息后补充M-N个赋值为零的字节;所述第一节点根据补充后的各结构体的位置指示信息,从各结构体的位置指示信息中提取各结构体的定长数据且从所述数据信息中提取各结构体的变长数据。5.如权利要求4所述的方法,其特征在于,所述第一节点根据所述第一节点的位置指示信息长度、所述第三节点的位置指示信息长度、所述第二字节流中各结构体的位置指示信息确定各结构体的定长数据和各结构体的变长数据,还包括:所述第一节点若确定M小于N,则舍弃所述第二字节流中各结构体的位置指示信息后的N-M个字节;所述第一节点根据舍弃后的各结构体的位置指示信息,从各结构体的位置指示信息中提取各结构体的定长数据且从所述数据信息中提取各结构体的变长数据。6.如权利要求3至5任一项所述的方法,其特征在于,所述预设数据格式还包括版本号;在所述第一节点确定各结构体的定长数据和各结构体的变长数据之前,还包括:所述第一节点从所述第二字节流中提取所述第三节点的版本号;所述第一节点判断所述第一节点的版本号中的主版本号与所述第三节点的版本号中的主版本号是否一致,若是,则确定对所...

【专利技术属性】
技术研发人员:陈宇李辉忠张开翔范瑞彬
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东,44

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

1