CN115840787B - 基于区块链的供应链数据共享方法、装置、设备及介质 - Google Patents

基于区块链的供应链数据共享方法、装置、设备及介质 Download PDF

Info

Publication number
CN115840787B
CN115840787B CN202310138076.XA CN202310138076A CN115840787B CN 115840787 B CN115840787 B CN 115840787B CN 202310138076 A CN202310138076 A CN 202310138076A CN 115840787 B CN115840787 B CN 115840787B
Authority
CN
China
Prior art keywords
data
block
node
uplink
signature
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
CN202310138076.XA
Other languages
English (en)
Other versions
CN115840787A (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.)
Tabixing Information Technology Shenzhen Co ltd
Original Assignee
Tabixing Information 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 Tabixing Information Technology Shenzhen Co ltd filed Critical Tabixing Information Technology Shenzhen Co ltd
Priority to CN202310138076.XA priority Critical patent/CN115840787B/zh
Publication of CN115840787A publication Critical patent/CN115840787A/zh
Application granted granted Critical
Publication of CN115840787B publication Critical patent/CN115840787B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及区块链技术,揭露一种基于区块链的供应链数据共享方法、装置、设备及介质,所述方法包括:将供应链上的交易数据写入上链消息队列,并获取待上链数据;根据证书认证节点与待上链数据生成公私钥对,利用公私钥对中的私钥对待上链数据进行非对称签名,将含有签名的待上链数据发送至排序节点并排序,得到排序数据,构建排序数据对应的区块,将区块广播至供应链连接的共享机构所对应的基础主节点;提取排序数据对应的公钥,基础主节点利用公钥对区块进行签名验证,并在验证通过后向基础子节点同步区块,并存储至基础子节点对应的分布式账本中。本发明可以解决数据共享过程中安全性较低、无法追溯及供应链上多系统间耦合性较强的问题。

Description

基于区块链的供应链数据共享方法、装置、设备及介质
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的供应链数据共享方法、装置、电子设备及计算机可读存储介质。
背景技术
随着社会化生产方式的不断深入,市场竞争已经从单一客户之间的竞争转变为供应链与供应链之间的竞争。以核心企业为轴心,辐射众多中小企业的供应链发展迅猛,市场规模巨大。在供应链发展过程中,以供应链为基础的系统数据共享显得尤为重要。目前业界对于供应链中的跨公司系统数据共享方案存在如下两种:1、基于https协议的接口进行跨公司系统共享数据;2、基于sftp协议传输文本文件的方式进行跨公司系统共享数据。
但上述两种方式存在以下不足: 1、数据在传输过程中或者在存储时,可能因为人为或者遭受攻击等途径导致数据被篡改;2、数据在多家公司传递后,无法确认该数据的产生源头;3、供应链上系统间耦合性较强而造成的由于一方公司的服务器故障等原因,致使其他公司在获取或者上传数据失去响应,从而影响其他公司业务系统的工作。
综上所述,现有技术中存在交易数据共享过程中安全性较低、无法实现追溯以及供应链上多系统之间耦合性较强的问题。
发明内容
本发明提供一种基于区块链的供应链数据共享方法、装置、电子设备及计算机可读存储介质,其主要目的在于解决交易数据共享过程中安全性较低、无法实现追溯以及供应链上多系统之间耦合性较强的问题。
为实现上述目的,本发明提供的一种基于区块链的供应链数据共享方法,包括:
获取预设供应链上的交易数据,将所述交易数据逐个写入预设的上链消息队列中,从所述上链消息队列逐个获取待上链数据;
根据预设的证书认证节点与所述待上链数据生成公私钥对,利用所述公私钥对中的私钥对所述待上链数据进行非对称签名,得到含有签名的待上链数据,并将所述含有签名的待上链数据发送至预设的排序节点;
利用所述排序节点对所述含有签名的待上链数据进行排序,得到排序数据,构建所述排序数据所对应的区块,并将所述区块广播至所述供应链连接的共享机构所对应的基础节点,其中,所述基础节点包括基础主节点与基础子节点;
提取所述排序数据对应的公钥,通过所述基础主节点利用所述公钥对所述区块进行签名验证;
在签名验证通过后,通过所述基础主节点向所述基础子节点同步所述区块,并将所述区块存储至所述基础子节点对应的分布式账本中。
可选地,所述将所述交易数据逐个写入预设的上链消息队列中,包括:
根据所述交易数据的系统属性及预设的消息队列未满条件,从所述上链消息队列中选取目标消息队列;
计算所述交易数据对应的目标线程进队的偏移量,根据所述偏移量计算所述目标线程在所述目标消息队列中的目标位置,通过所述目标线程在所述目标位置执行进队操作。
可选地,所述根据预设的证书认证节点与所述待上链数据生成公私钥对,包括:
获取所述待上链数据的原始机构,对所述原始机构进行身份验证;
在所述原始机构身份验证通过后,根据所述原始机构定义设定数据,通过所述设定数据以及预设的空间对象对预设的密钥对生成器进行初始化操作;
根据初始化过的密钥对生成器生成密钥对,根据所述密钥对生成目标公钥,根据所述密钥对生成目标私钥,将所述目标公钥及所述目标私钥作为公私钥对。
可选地,所述根据所述密钥对生成目标公钥,包括:
创建公钥字符串流对象,根据所述公钥字符串流对象生成编码流的公钥对象;
从所述密钥对中获取公钥字节数据信息,将所述公钥字节数据信息写入所述编码流的公钥对象中,得到公钥字符串信息;
将所述公钥字符串信息输出至预设的公私钥对数组中,得到目标公钥。
可选地,所述利用所述公私钥对中的私钥对所述待上链数据进行非对称签名,得到含有签名的待上链数据,包括:
对所述待上链数据进行哈希计算,得到数据摘要;
利用所述私钥对所述数据摘要进行加密,得到数字签名,并根据所述数据签名以及所述待上链数据,得到含有签名的待上链数据。
可选地,所述利用所述排序节点对所述含有签名的待上链数据进行排序,得到排序数据,包括:
对所述含有签名的待上链数据进行检验,删除其中不符合预设要求的数据,得到待排序数据;
按照时间顺序对所述待排序数据进行排序,得到对应的排序编号;
将所述含有签名的待上链数据的排序属性设置为所述排序编号,得到排序数据。
可选地,所述构建所述排序数据所对应的区块,包括:
获得上一区块的历史区块信息,并生成当前区块的时间戳与版本号;
根据所述历史区块信息、所述时间戳及所述版本号封装所述当前区块的区块头;
将所述排序数据封装至所述当前区块的区块体中,并将封装完区块头与区块体的当前区块作为所述排序数据所对应的区块。
为了解决上述问题,本发明还提供一种基于区块链的供应链数据共享装置,所述装置包括:
上链消息队列处理模块,用于获取预设供应链上的交易数据,将所述交易数据逐个写入预设的上链消息队列中,从所述上链消息队列逐个获取待上链数据;
待上链数据签名模块,用于根据预设的证书认证节点与所述待上链数据生成公私钥对,利用所述公私钥对中的私钥对所述待上链数据进行非对称签名,得到含有签名的待上链数据,并将所述含有签名的待上链数据发送至预设的排序节点;
排序节点处理模块,用于利用所述排序节点对所述含有签名的待上链数据进行排序,得到排序数据,构建所述排序数据所对应的区块,并将所述区块广播至所述供应链连接的共享机构所对应的基础节点,其中,所述基础节点包括基础主节点与基础子节点;
基础节点处理模块,用于提取所述排序数据对应的公钥,通过所述基础主节点利用所述公钥对所述区块进行签名验证;在签名验证通过后,通过所述基础主节点向所述基础子节点同步所述区块,并将所述区块存储至所述基础子节点对应的分布式账本中。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的基于区块链的供应链数据共享方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的基于区块链的供应链数据共享方法。
本发明实施例通过根据预设的证书认证节点与所述待上链数据生成私钥,并利用私钥对待上链数据进行签名,实现了签名的待上链数据具有证书认证节点所颁发的身份属性,并且实现了在后续数据流转过程中根据签名依然能够识别数据源头的目的;通过利用私钥对待上链数据进行非对称签名,提高了数据在流转过程中的安全性,降低了中途造假和篡改的风险,有效解决供应链上各个共享机构之间的信任问题;通过广播给所述供应链连接的共享机构所对应的基础主节点,在主节点验证通过后通过主节点传播给子节点,在子节点对应分布式账本上进行存储,使得供应链连接的共享机构都拥有全量共享数据,不同组织之间系统耦合度降低,共享机构的服务器就可以不用依赖对方的服务,对于自己系统可用性也有了很好的保障;并且任何一方共享机构无法非法或者非程序的修改另一方的数据,避免了任何一方造假行为发生,对于已上链的数据有非常高的可信度。因此本发明提出的基于区块链的供应链数据共享方法、装置、电子设备及计算机可读存储介质,可以解决交易数据共享过程中安全性较低、无法实现追溯以及供应链上多系统之间耦合性较强的问题。
附图说明
图1为本发明一实施例提供的基于区块链的供应链数据共享方法的流程示意图;
图2为本发明一实施例提供的根据证书认证节点与待上链数据生成公私钥对的流程示意图;
图3为本发明一实施例提供的构建排序数据所对应的区块的流程示意图;
图4为本发明一实施例提供的基于区块链的供应链数据共享装置的功能模块图;
图5为本发明一实施例提供的实现所述基于区块链的供应链数据共享方法的电子设备的结构示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种基于区块链的供应链数据共享方法。所述基于区块链的供应链数据共享方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述基于区块链的供应链数据共享方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1所示,为本发明一实施例提供的基于区块链的供应链数据共享方法的流程示意图。在本实施例中,所述基于区块链的供应链数据共享方法包括:
S1、获取预设供应链上的交易数据,将所述交易数据逐个写入预设的上链消息队列中,从所述上链消息队列逐个获取待上链数据。
本发明实施例中,所述供应链可以为基于超级账本Fabric的联盟区块链,在此供应链中存在相互联系的多家共享机构(即企业、组织),所述交易数据为供应链上多家共享机构所产生的业务数据。
本发明实施例可以通过预设的采集接口或通过具有数据抓取功能的计算机脚本,例如,java脚本或python,从供应链上共享机构的业务系统中抓取所述交易数据。
本发明一实际应用场景中,所述上链消息队列可以不止一个,具体数据可以根据共享机构业务系统数据而定,或者根据上链消息队列的承载容量而定。
本发明实施例中,所述将所述交易数据逐个写入预设的上链消息队列中,包括:
根据所述交易数据的系统属性及预设的消息队列未满条件,从所述上链消息队列中选取目标消息队列;
计算所述交易数据对应的目标线程进队的偏移量,根据所述偏移量计算所述目标线程在所述目标消息队列中的目标位置,通过所述目标线程在所述目标位置执行进队操作。
本发明实施例中,所述消息队列未满条件可以表现为:当消息队列为已满时,将禁止在消息队列中写入数据;当消息队列未满时,将可以在消息队列中写入数据。本发明实施例通过在消息队列已满时,禁止执行进队的操作,保证了写入消息时的安全性与准确性,防止了交易数据写入的线程任务间通信时阻塞的问题。
本发明实施例中,一个交易数据写入任务分配一个线程,偏移量是指交易数据存储单元的实际地址与其所在段的段地址之间的距离;在线程进队时,每个线程都可以采用原子操作递加的方式来计算线程进队的偏移量,通过该方法计算出来的不同线程进队的偏移量各不相同。
进一步地,本发明实施例可以通过目标线程读取可写计数参数CanWriteCount的值,采用原子操作递减CanWriteCount的值,若获得递减后的CanWriteCount的值为0,则判定所述消息队列为已满,否则,判定所述消息队列为未满;若所述消息队列已满,则停止执行进队的操作。
本发明实施例可以读取所述目标消息队列大小的参数值,再采用所参数值对所述偏移量的值取模,进而获得目标线程进队的实际位置。
具体地,所述实际位置可以表示为:P=Q%S,其中,P为目标线程进队的实际位置,Q为偏移量的模值,S为目标消息队列大小的参数值。由于不同线程进队的偏移量各不相同,因此,其在消息队列中的实际位置也各不相同。
本发明实施例可以通过创建消息出队的任务线程,再利用该任务线程依次在上链消息队列中执行出队操作,从而实现有序的读取上链消息队列中的消息,逐个获取待上链数据。
本发明一实际应用场景中,上链消息队列的出队操作与进队操作可以同时进行,单个线程有序的读取消息队列中的数据,减少了资源消耗,充分利用了系统资源,提高了处理速度,从而提高了服务器吞吐量。
S2、根据预设的证书认证节点与所述待上链数据生成公私钥对,利用所述公私钥对中的私钥对所述待上链数据进行非对称签名,得到含有签名的待上链数据,并将所述含有签名的待上链数据发送至预设的排序节点。
本发明实施例中,所述证书认证节点是负责对数据进行身份认证,以及执行生成公私钥对。所述证书认证节点可以为证书颁发机构(CA ,Certificate Authority),其由服务器和客户端组件组成。
请参阅图2所示,本发明实施例中,所述根据预设的证书认证节点与所述待上链数据生成公私钥对,包括:
S21、获取所述待上链数据的原始机构,对所述原始机构进行身份验证;
S22、在所述原始机构身份验证通过后,根据所述原始机构定义设定数据,通过所述设定数据以及预设的空间对象对预设的密钥对生成器进行初始化操作;
S23、根据初始化过的密钥对生成器生成密钥对,根据所述密钥对生成目标公钥,根据所述密钥对生成目标私钥,将所述目标公钥及所述目标私钥作为公私钥对。
本发明实施例中,对所述原始机构进行身份验证,包括但不限于短信密码认证、动态口令认证、生物识别认证、静态密码认证、手机验证码。所述设定数据可以由原始机构预先定义,或者根据原始机构的规则设定生成随机数;所述设定数据可以是不少于一定长度(该长度可以是系统初始化阶段定义)的任意类型的字符。
本发明实施例中,所述密钥对生成器可以基于ECDSA算法生成密钥对生成器,所述空间对象可以为根据secp256k1算法生成的椭圆曲线空间对象。
进一步地,本发明实施例中,所述根据所述密钥对生成目标公钥,包括:
创建公钥字符串流对象,根据所述公钥字符串流对象生成编码流的公钥对象;
从所述密钥对中获取公钥字节数据信息,将所述公钥字节数据信息写入所述编码流的公钥对象中,得到公钥字符串信息;
将所述公钥字符串信息输出至预设的公私钥对数组中,得到目标公钥。
本发明实施例中,所述编码流可以为PEM编码流(Privacy Enhanced Mail,增强安全的私人函件)。
本发明实施例中,所述根据所述密钥对生成目标私钥的过程与上述根据所述密钥对生成目标公钥的过程相似,在此不过多赘述。
本发明实施例中,所述利用所述公私钥对中的私钥对所述待上链数据进行非对称签名,得到含有签名的待上链数据,包括:
对所述待上链数据进行哈希计算,得到数据摘要;
利用所述私钥对所述数据摘要进行加密,得到数字签名,并根据所述数据签名以及所述待上链数据,得到含有签名的待上链数据。
本发明实施例可以采用RSA算法对所述数据摘要进行加密。
本发明实施例中,非对称加密依赖于复杂的数学运算,包括大数乘法、大数模等等,耗时比较久。如果数据量大的时候计算数字签名将会比较耗时,通过将待上链数据进行Hash 运算,得到的 Hash 值即为数据摘要。所述数据摘要就像人的指纹一样,可以代表一个人,只要内容发生了改变,计算出来的摘要也应该变化。
本发明实施例中,所述排序节点执行对未打包的数据排序生成区块,广播至基础节点(Peer节点)的功能,保证同一个链上的节点接收到相同的消息,并且有相同的逻辑顺序。
本发明实施例中,在生成含有签名的待上链数据后,则对该含有签名的待上链数据执行上链,并将该含有签名的待上链数据发送至所述排序节点打包生成区块。
S3、利用所述排序节点对所述含有签名的待上链数据进行排序,得到排序数据,构建所述排序数据所对应的区块,并将所述区块广播至所述供应链连接的共享机构所对应的基础节点,其中,所述基础节点包括基础主节点与基础子节点。
本发明实施例中,所述基础节点都是记账节点(Committer),所述基础主节点(Leader Peer)代表的是和排序节点通信的节点,负责验证从排序节点区块中的数据,维护状态数据和账本的副本,并将从排序节点处获取的最新区块在组织内部同步,即同步至所述基础子节点;所述基础主节点可以预先设置而成,或者动态选举得到;所述基础子节点也可以对同步的区块进行验证。
本发明另一可选实施例中,存在部分基础节点同时是背书节点和记账节点、基础子节点;或者同时是背书节点、基础主节点和记账节点;也可以只是记账节点或者基础子节点/基础主节点。
本发明实施例中,所述利用所述排序节点对所述含有签名的待上链数据进行排序,得到排序数据,包括:
对所述含有签名的待上链数据进行检验,删除其中不符合预设要求的数据,得到待排序数据;
按照时间顺序对所述待排序数据进行排序,得到对应的排序编号;
将所述含有签名的待上链数据的排序属性设置为所述排序编号,得到排序数据。
本发明实施例中,可以通过对所述含有签名的待上链数据进行签名检验、数据格式检验等,确定待上链数据的签名是否符合上链要求。
本发明实施例中,所述排序数据为包含所述排序编号与所述含有签名的待上链数据的键值对。
请参与图3所示,本发明实施例中,所述构建所述排序数据所对应的区块,包括:
S31、获得上一区块的历史区块信息,并生成当前区块的时间戳与版本号;
S32、根据所述历史区块信息、所述时间戳及所述版本号封装所述当前区块的区块头;
S33、将所述排序数据封装至所述当前区块的区块体中,并将封装完区块头与区块体的当前区块作为所述排序数据所对应的区块。
本发明实施例中,所述上一区块的历史区块信息包括上一区块的哈希值、Merkel树根等。
本发明实施例可以通过通过P2P网络(peer-to-peer,计算机对等网络)对供应链进行全网广播,在P2P网络中,所有节点(共享机构所对应的基础节点)身份地位对等,可以在节点间平等的传递信息和分配任务。
S4、提取所述排序数据对应的公钥,通过所述基础主节点利用所述公钥对所述区块进行签名验证。
本发明实施例中,所述排序数据具有对应的原始机构,所述原始机构在所述排序数据中可以为组织代号的形式,在根据所述组织代号从预设的公钥数据库中选取出对应的公钥。
本发明实施例中,区块在共享机构所对应的基础节点中进行广播之前,需要验证区块合法性,以保证供应链中各个节点数据的安全性以及有效性。
本发明实施例中,所述通过所述基础主节点利用所述公钥对所述区块进行签名验证,包括:
提取所述区块中的区块数据,对所述区块数据进行哈希计算,得到第一验证摘要;
利用所述公钥对所述区块数据对应的所述数字签名进行解密,得到第二验证摘要;
当所述第一验证摘要与所述第二验证摘要相同时,判定所述区块的签名验证通过。
本发明实施例中,对所述区块数据进行哈希计算以及对所述区块数据对应的所述数字签名进行解密所使用的方式与上述S2中利用所述公私钥对中的私钥对所述待上链数据进行非对称签名这一过程所使用的方法相似,在此不过多赘述。
S5、在签名验证通过后,通过所述基础主节点向所述基础子节点同步所述区块,并将所述区块存储至所述基础子节点对应的分布式账本中。
本发明实施例中,区块合法性验证通过后,则表示所述区块安全且可以进行子节点广播,继而需要通过基础主节点向基础子节点广播所述区块。
本发明实施例中,所述分布式账本是每个基础节点作为记账节点所具有的账本数据库,用于存储上链数据,进而每个共享机构的节点都能够拥有全量的上链数据;共享机构可以在各自的服务器上使用全量的上链数据,不需要依赖于其他机构的服务,对自己的系统可用性具有很好的保障。利用这种分布式架构可以实现保护其他机构组织对于数据想非法修改,避免了造假行为的发生,也使得共享机构各自基础节点上的数据具有很高的可信度。
本发明实施例通过根据预设的证书认证节点与所述待上链数据生成私钥,并利用私钥对待上链数据进行签名,实现了签名的待上链数据具有证书认证节点所颁发的身份属性,并且实现了在后续数据流转过程中根据签名依然能够识别数据源头的目的;通过利用私钥对待上链数据进行非对称签名,提高了数据在流转过程中的安全性,降低了中途造假和篡改的风险,有效解决供应链上各个共享机构之间的信任问题;通过广播给所述供应链连接的共享机构所对应的基础主节点,在主节点验证通过后通过主节点传播给子节点,在子节点对应分布式账本上进行存储,使得供应链连接的共享机构都拥有全量共享数据,不同组织之间系统耦合度降低,共享机构的服务器就可以不用依赖对方的服务,对于自己系统可用性也有了很好的保障;并且任何一方共享机构无法非法或者非程序的修改另一方的数据,避免了任何一方造假行为发生,对于已上链的数据有非常高的可信度。因此本发明提出的基于区块链的供应链数据共享方法,可以解决交易数据共享过程中安全性较低、无法实现追溯以及供应链上多系统之间耦合性较强的问题。
如图4所示,是本发明一实施例提供的基于区块链的供应链数据共享装置的功能模块图。
本发明所述基于区块链的供应链数据共享装置100可以安装于电子设备中。根据实现的功能,所述基于区块链的供应链数据共享装置100可以包括上链消息队列处理模块101、待上链数据签名模块102、排序节点处理模块103及基础节点处理模块104。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述上链消息队列处理模块101,用于获取预设供应链上的交易数据,将所述交易数据逐个写入预设的上链消息队列中,从所述上链消息队列逐个获取待上链数据;
所述待上链数据签名模块102,用于根据预设的证书认证节点与所述待上链数据生成公私钥对,利用所述公私钥对中的私钥对所述待上链数据进行非对称签名,得到含有签名的待上链数据,并将所述含有签名的待上链数据发送至预设的排序节点;
所述排序节点处理模块103,用于利用所述排序节点对所述含有签名的待上链数据进行排序,得到排序数据,构建所述排序数据所对应的区块,并将所述区块广播至所述供应链连接的共享机构所对应的基础节点,其中,所述基础节点包括基础主节点与基础子节点;
所述基础节点处理模块104,用于提取所述排序数据对应的公钥,通过所述基础主节点利用所述公钥对所述区块进行签名验证;在签名验证通过后,通过所述基础主节点向所述基础子节点同步所述区块,并将所述区块存储至所述基础子节点对应的分布式账本中。
详细地,本发明实施例中所述基于区块链的供应链数据共享装置100中所述的各模块在使用时采用与上述图1至图3中所述的基于区块链的供应链数据共享方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图5所示,是本发明一实施例提供的实现基于区块链的供应链数据共享方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11、通信总线12以及通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如基于区块链的供应链数据共享程序。
其中,所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing Unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(ControlUnit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行基于区块链的供应链数据共享程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如基于区块链的供应链数据共享程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述通信总线12可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
所述通信接口13用于上述电子设备与其他设备之间的通信,包括网络接口和用户接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。所述用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的基于区块链的供应链数据共享程序是多个指令的组合,在所述处理器10中运行时,可以实现:
获取预设供应链上的交易数据,将所述交易数据逐个写入预设的上链消息队列中,从所述上链消息队列逐个获取待上链数据;
根据预设的证书认证节点与所述待上链数据生成公私钥对,利用所述公私钥对中的私钥对所述待上链数据进行非对称签名,得到含有签名的待上链数据,并将所述含有签名的待上链数据发送至预设的排序节点;
利用所述排序节点对所述含有签名的待上链数据进行排序,得到排序数据,构建所述排序数据所对应的区块,并将所述区块广播至所述供应链连接的共享机构所对应的基础节点,其中,所述基础节点包括基础主节点与基础子节点;
提取所述排序数据对应的公钥,通过所述基础主节点利用所述公钥对所述区块进行签名验证;
在签名验证通过后,通过所述基础主节点向所述基础子节点同步所述区块,并将所述区块存储至所述基础子节点对应的分布式账本中。
具体地,所述处理器10对上述指令的具体实现方法可参考附图对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
获取预设供应链上的交易数据,将所述交易数据逐个写入预设的上链消息队列中,从所述上链消息队列逐个获取待上链数据;
根据预设的证书认证节点与所述待上链数据生成公私钥对,利用所述公私钥对中的私钥对所述待上链数据进行非对称签名,得到含有签名的待上链数据,并将所述含有签名的待上链数据发送至预设的排序节点;
利用所述排序节点对所述含有签名的待上链数据进行排序,得到排序数据,构建所述排序数据所对应的区块,并将所述区块广播至所述供应链连接的共享机构所对应的基础节点,其中,所述基础节点包括基础主节点与基础子节点;
提取所述排序数据对应的公钥,通过所述基础主节点利用所述公钥对所述区块进行签名验证;
在签名验证通过后,通过所述基础主节点向所述基础子节点同步所述区块,并将所述区块存储至所述基础子节点对应的分布式账本中。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种基于区块链的供应链数据共享方法,其特征在于,所述方法包括:
获取预设供应链上相互联系的多家共享机构的交易数据,将所述交易数据逐个写入预设的上链消息队列中,创建所述上链消息队列的消息出队的任务线程,利用所述任务线程从所述上链消息队列逐个获取待上链数据;
根据预设的证书认证节点与所述待上链数据生成公私钥对,利用所述公私钥对中的私钥对所述待上链数据进行非对称签名,得到含有签名的待上链数据,并将所述含有签名的待上链数据发送至预设的排序节点;
利用所述排序节点对所述含有签名的待上链数据进行排序,得到排序数据,构建所述排序数据所对应的区块,并将所述区块广播至所述供应链连接的共享机构所对应的基础节点,其中,所述基础节点包括基础主节点与基础子节点;
提取所述区块中的区块数据,对所述区块数据进行哈希计算,得到第一验证摘要,利用所述排序数据对应的公钥对所述区块数据对应的数字签名进行解密,得到第二验证摘要,当所述第一验证摘要与所述第二验证摘要相同时,判定所述区块的签名验证通过;
在签名验证通过后,通过所述基础主节点向所述基础子节点同步所述区块,并将所述区块存储至所述基础子节点对应的分布式账本中。
2.如权利要求1所述的基于区块链的供应链数据共享方法,其特征在于,所述将所述交易数据逐个写入预设的上链消息队列中,包括:
根据所述交易数据的系统属性及预设的消息队列未满条件,从所述上链消息队列中选取目标消息队列;
计算所述交易数据对应的目标线程进队的偏移量,根据所述偏移量计算所述目标线程在所述目标消息队列中的目标位置,通过所述目标线程在所述目标位置执行进队操作。
3.如权利要求1所述的基于区块链的供应链数据共享方法,其特征在于,所述根据预设的证书认证节点与所述待上链数据生成公私钥对,包括:
获取所述待上链数据的原始机构,对所述原始机构进行身份验证;
在所述原始机构身份验证通过后,根据所述原始机构定义设定数据,通过所述设定数据以及预设的空间对象对预设的密钥对生成器进行初始化操作;
根据初始化过的密钥对生成器生成密钥对,根据所述密钥对生成目标公钥,根据所述密钥对生成目标私钥,将所述目标公钥及所述目标私钥作为公私钥对。
4.如权利要求3所述的基于区块链的供应链数据共享方法,其特征在于,所述根据所述密钥对生成目标公钥,包括:
创建公钥字符串流对象,根据所述公钥字符串流对象生成编码流的公钥对象;
从所述密钥对中获取公钥字节数据信息,将所述公钥字节数据信息写入所述编码流的公钥对象中,得到公钥字符串信息;
将所述公钥字符串信息输出至预设的公私钥对数组中,得到目标公钥。
5.如权利要求1所述的基于区块链的供应链数据共享方法,其特征在于,所述利用所述公私钥对中的私钥对所述待上链数据进行非对称签名,得到含有签名的待上链数据,包括:
对所述待上链数据进行哈希计算,得到数据摘要;
利用所述私钥对所述数据摘要进行加密,得到数字签名,并根据所述数据签名以及所述待上链数据,得到含有签名的待上链数据。
6.如权利要求1所述的基于区块链的供应链数据共享方法,其特征在于,所述利用所述排序节点对所述含有签名的待上链数据进行排序,得到排序数据,包括:
对所述含有签名的待上链数据进行检验,删除其中不符合预设要求的数据,得到待排序数据;
按照时间顺序对所述待排序数据进行排序,得到对应的排序编号;
将所述含有签名的待上链数据的排序属性设置为所述排序编号,得到排序数据。
7.如权利要求1至6中任一项所述的基于区块链的供应链数据共享方法,其特征在于,所述构建所述排序数据所对应的区块,包括:
获得上一区块的历史区块信息,并生成当前区块的时间戳与版本号;
根据所述历史区块信息、所述时间戳及所述版本号封装所述当前区块的区块头;
将所述排序数据封装至所述当前区块的区块体中,并将封装完区块头与区块体的当前区块作为所述排序数据所对应的区块。
8.一种基于区块链的供应链数据共享装置,其特征在于,所述装置包括:
上链消息队列处理模块,用于获取预设供应链上相互联系的多家共享机构的交易数据,将所述交易数据逐个写入预设的上链消息队列中,创建所述上链消息队列的消息出队的任务线程,利用所述任务线程从所述上链消息队列逐个获取待上链数据;
待上链数据签名模块,用于根据预设的证书认证节点与所述待上链数据生成公私钥对,利用所述公私钥对中的私钥对所述待上链数据进行非对称签名,得到含有签名的待上链数据,并将所述含有签名的待上链数据发送至预设的排序节点;
排序节点处理模块,用于利用所述排序节点对所述含有签名的待上链数据进行排序,得到排序数据,构建所述排序数据所对应的区块,并将所述区块广播至所述供应链连接的共享机构所对应的基础节点,其中,所述基础节点包括基础主节点与基础子节点;
基础节点处理模块,用于提取所述区块中的区块数据,对所述区块数据进行哈希计算,得到第一验证摘要,利用所述排序数据对应的公钥对所述区块数据对应的数字签名进行解密,得到第二验证摘要,当所述第一验证摘要与所述第二验证摘要相同时,判定所述区块的签名验证通过;在签名验证通过后,通过所述基础主节点向所述基础子节点同步所述区块,并将所述区块存储至所述基础子节点对应的分布式账本中。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的基于区块链的供应链数据共享方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的基于区块链的供应链数据共享方法。
CN202310138076.XA 2023-02-20 2023-02-20 基于区块链的供应链数据共享方法、装置、设备及介质 Active CN115840787B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310138076.XA CN115840787B (zh) 2023-02-20 2023-02-20 基于区块链的供应链数据共享方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310138076.XA CN115840787B (zh) 2023-02-20 2023-02-20 基于区块链的供应链数据共享方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115840787A CN115840787A (zh) 2023-03-24
CN115840787B true CN115840787B (zh) 2023-05-02

Family

ID=85579894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310138076.XA Active CN115840787B (zh) 2023-02-20 2023-02-20 基于区块链的供应链数据共享方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115840787B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116346503B (zh) * 2023-05-25 2023-07-28 红杉天枰科技集团有限公司 基于全生命周期的水务碳排放数据的加密方法及装置
CN117113419B (zh) * 2023-10-18 2024-02-09 深圳市中农易讯信息技术有限公司 一种基于多级供应链信息共享方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110278256A (zh) * 2019-06-13 2019-09-24 思力科(深圳)电子科技有限公司 区块链节点接入上链方法、相关设备及系统
CN110309634A (zh) * 2019-04-04 2019-10-08 深圳大通实业股份有限公司 一种基于区块链的可信广告数据管理系统
WO2022041902A1 (zh) * 2020-08-28 2022-03-03 平安科技(深圳)有限公司 数据处理方法及装置
CN114219647A (zh) * 2021-12-31 2022-03-22 绿城科技产业服务集团有限公司 基于联盟链管理跨区域企业信用的方法和装置
CN115357915A (zh) * 2022-08-01 2022-11-18 华南师范大学 基于深度学习和信息隐藏的区块链方法和医康养交易系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200051092A1 (en) * 2018-08-10 2020-02-13 Walmart Apollo, Llc System and method for product recall using blockchain
CN110012015B (zh) * 2019-04-09 2021-04-13 中国科学院沈阳计算技术研究所有限公司 一种基于区块链的物联网数据共享方法及系统
CN111125787B (zh) * 2019-12-27 2022-04-22 上海共链信息科技有限公司 一种基于区块链的燃气巡检数据上链系统及其使用方法
CN111339116A (zh) * 2020-02-29 2020-06-26 中央财经大学 一种基于区块链的用于开放银行数据共享的方式
CN113536388B (zh) * 2020-04-16 2023-02-28 中移物联网有限公司 一种基于区块链的数据共享方法及系统
US12010226B2 (en) * 2021-03-17 2024-06-11 International Business Machines Corporation Blockchain data segregation
CN113779607B (zh) * 2021-09-16 2024-06-07 北京易华录信息技术股份有限公司 一种工业数据资产管理方法、系统和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110309634A (zh) * 2019-04-04 2019-10-08 深圳大通实业股份有限公司 一种基于区块链的可信广告数据管理系统
CN110278256A (zh) * 2019-06-13 2019-09-24 思力科(深圳)电子科技有限公司 区块链节点接入上链方法、相关设备及系统
WO2022041902A1 (zh) * 2020-08-28 2022-03-03 平安科技(深圳)有限公司 数据处理方法及装置
CN114219647A (zh) * 2021-12-31 2022-03-22 绿城科技产业服务集团有限公司 基于联盟链管理跨区域企业信用的方法和装置
CN115357915A (zh) * 2022-08-01 2022-11-18 华南师范大学 基于深度学习和信息隐藏的区块链方法和医康养交易系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于区块链的航空导弹业务数据安全研究;方轶;丛林虎;邓建球;杨珍波;;舰船电子工程(06);全文 *

Also Published As

Publication number Publication date
CN115840787A (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
KR101974060B1 (ko) 분산 해시 테이블과 피어투피어 분산 대장을 사용하여 디지털 자산의 소유권을 검증하기 위한 방법 및 시스템
CN109074579B (zh) 使用分布式散列表和区块链保护计算机软件的方法及系统
CN111445333B (zh) 区块生成方法、装置、计算机设备以及存储介质
CN110800254B (zh) 用于生成数字标记的系统和方法
US11949789B2 (en) Blockchain-enabled computing
WO2019116248A1 (en) System and method for authenticating off-chain data based on proof verification
CN115840787B (zh) 基于区块链的供应链数据共享方法、装置、设备及介质
CN110771095A (zh) 用于实现基于区块链的数字证书的系统和方法
CN110582775A (zh) 利用utxo基础协议基于区块链管理文件的方法及利用其的文件管理服务器
KR20190004310A (ko) 분산 해시 테이블 및 개인대개인 분산 대장을 사용한 계약의 성능을 제어하는 방법 및 시스템
WO2020025198A1 (en) Documenting timestamps within a blockchain
CN111476573B (zh) 一种账户数据处理方法、装置、设备及存储介质
CN111984726A (zh) 测量数据集的存储和分布式数据库
CN114124502B (zh) 消息传输方法、装置、设备及介质
CN113822675A (zh) 基于区块链的报文处理方法、装置、设备及存储介质
CN111950032A (zh) 基于区块链的数据存储方法、终端设备和存储介质
CN112907375B (zh) 数据处理方法、装置、计算机设备和存储介质
CN114884697A (zh) 基于国密算法的数据加解密方法及相关设备
CN113706313A (zh) 基于区块链的融资方法、系统及计算机可读存储介质
JP2023530594A (ja) 分散型データベースにおける許可されたイベント処理
US12051061B2 (en) Method for operating a distributed database system, distributed database system, and industrial automation system
CN109413099B (zh) 基于证书的混合云加密通信方法、装置以及电子设备
CN115941352B (zh) 基于大数据的信息安全交互方法、装置、电子设备及存储介质
CN109698750A (zh) 区块链的区块生成方法、装置、设备及可读存储介质
CN113918517A (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