一种基于区块链的平台统一大市场协同方法转让专利

申请号 : CN202311092131.2

文献号 : CN117217856B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄乐然黄锐

申请人 : 成都雨链科技有限公司

摘要 :

本发明属于区块链领域,并公开了一种基于区块链的平台统一大市场协同方法,包括:协同发起方生成协同协议,以交易形式向其他平台发布协同协议;协同代理获取协同协议并生成平台全局状态数据并进行传播;共识节点对协同提议进行打包入链,并对平台全局状态数据进行创建和更新;协同响应方通过协同代理获取协同提议和更新后的平台全局状态数据;协同响应方对协同提议和更新后的平台全局状态数据进行接受响应,建立协同活动;通过共识节点对协同活动进行打包入链,对协同全局状态数据进行创建和更新,并执行协同协议中的脚本完成协同活动。本发明技术方案能够实现在无中心化协调机制环境下的平台大市场协同,保障平台协同主动性和数据安全性。

权利要求 :

1.一种基于区块链的平台统一大市场协同方法,其特征在于,包括:

步骤一:通过搭建轻节点方式将协同发起方接入区块链联盟链网络中,并在协同发起方的平台运营管理系统中嵌入协同SDK工具;

步骤二:所述协同发起方利用所述协同SDK工具并根据自身需求生成平台状态数据和协同协议,并保存一组所述协同发起方的公私密钥;进一步通过区块链网络以交易形式向协同代理方发布所述协同协议和所述平台状态数据;

步骤三:通过所述协同代理方对所述平台状态数据进行更新,并对所述协同协议和所述平台状态数据的数据真实性进行验证,验证完成后将所述协同协议和所述平台状态数据进行打包,得到第一交易数据,并保存一组所述协同代理方的公私密钥;进一步通过广播方式将所述第一交易数据广播到全网;

步骤四:通过共识节点对协同代理节点广播的第一交易数据进行解析验证,解析验证完成后对所述第一交易数据中的平台状态数据进行检验,检验完成后进行平台全局状态数据的更新或创建,进一步将所述平台全局状态数据和协同协议进行打包入链,并通过拜占庭容错共识算法对各数据进行更新处理和一致性共识处理;

步骤五:协同响应方通过协同代理获取协同提议和平台全局状态数据;并对所述协同提议进行接受响应,并建立协同活动和协同状态数据;并保存一组所述协同响应方的公私密钥;

步骤六:通过所述协同代理方对所述协同状态数据进行更新,并对所述协同活动和所述协同状态数据的数据真实性进行验证,验证完成后将所述协同活动和所述协同状态数据进行打包,得到第二交易数据,进一步通过广播方式将所述第二交易数据广播到全网;

步骤七:通过共识节点对协同代理节点广播的第二交易数据进行解析验证,解析验证完成后对第二交易数据中的协同状态数据进行检验,检验完成后进行全局协同状态数据的更新或创建,进一步将所述全局协同状态数据和协同活动进行打包入链,并通过拜占庭容错共识算法对各数据进行更新处理和一致性共识处理;

步骤八:所述共识节点将全局协同状态数据作为协同状态参数注入所述协同协议的协同脚本中,并自动执行所述协同脚本完成协同活动。

2.根据权利要求1所述的一种基于区块链的平台统一大市场协同方法,其特征在于,所述协同协议数据包括:协同交易标识、发起方ID、响应方ID、状态ID、状态类型、协同方法、协同脚本ID和价值条件脚本ID。

3.根据权利要求2所述的一种基于区块链的平台统一大市场协同方法,其特征在于,所述协同交易标识为协同交易的全网唯一标识;

所述发起方ID为协同发起方的数字证书公钥;

所述状态ID为当前平台状态的ID;

所述状态类型包括:流量状态PSt、供应品状态PSo和资源状态PSr;

所述协同方法包括:传递、互补和共享;

所述协同脚本为描述协同响应方潜在需求的代码脚本;

所述价值条件脚本为描述满足价值协同后的价值结算规则代码脚本。

4.根据权利要求1所述的一种基于区块链的平台统一大市场协同方法,其特征在于,所述平台全局状态数据包括:流量状态PSt、供应品状态PSo、资源状态PSr、协同脚本和价值条件脚本。

5.根据权利要求1所述的一种基于区块链的平台统一大市场协同方法,其特征在于,所述步骤三中将所述第一交易数据广播到全网的具体过程包括:所述协同代理方通过回调接口对所述平台状态数据进行异步更新,并通过所述协同发起方的公钥并对所述协同协议和所述平台状态数据的数据真实性进行验证,验证完成后将所述协同协议和所述平台状态数据进行打包,得到第一交易数据,并保存一组所述协同代理方的公私密钥;进一步通过P2P广播方式将所述第一交易数据广播到全网。

6.根据权利要求1所述的一种基于区块链的平台统一大市场协同方法,其特征在于,通过广播方式将所述第一交易数据广播到全网,具体包括:通过共识节点对协同代理节点广播的第一交易数据进行解析,并基于所述协同发起方和所述协同代理方的公钥对数据签名信息进行真实性验证;

通过共识节点对平台状态数据中是否存在平台全局状态数据进行检验判断,若平台全局状态数据存在,则对全网的平台全局状态数据进行更新;若平台全局状态数据不存在,则添加平台全局状态数据;

进一步将所述平台全局状态数据和协同协议进行打包,得到区块数据,并将所述区块数据记入区块链中。

7.根据权利要求1所述的一种基于区块链的平台统一大市场协同方法,其特征在于,所述协同响应方通过协同代理获取协同提议和平台全局状态数据;并对所述协同提议进行接受响应,并建立协同活动和协同状态数据,具体包括:所述协同响应方通过订阅‑发布者模式自动接收所述协同代理方提供的协同提议和平台全局状态数据;

所述协同响应方通过协同SDK工具,将协同提议和平台全局状态信息导入区块链自身运营系统中;

通过所述协同响应方对所述协同提议和更新后的平台全局状态数据进行解读,得到解读内容,所述协同响应方根据解读内容对所述协同提议进行接受响应;

所述协同响应方根据所述协同提议生成协同活动,并根据平台全局状态数据生成协同状态数据。

8.根据权利要求7所述的一种基于区块链的平台统一大市场协同方法,其特征在于,所述协同响应方根据解读内容对所述协同提议进行接受响应的过程中,若所述协同响应方根据解读内容对所述协同提议不接受响应,则对该信息进行忽视。

说明书 :

一种基于区块链的平台统一大市场协同方法

技术领域

[0001] 本发明属于区块链领域,特别是涉及一种基于区块链的平台统一大市场协同方法。

背景技术

[0002] 目前在平台协同技术领域主要是依靠聚合平台模式,在多个平台之间建立第三方平台以服务聚合的方式实现平台之间的市场协同。但该模式实现成本高、跨生态协同难,且由于商业竞争关系,处于对等关系的平台之间并不愿意被另外一个第三方平台统一,因此在大型平台和超级平台之间,“围墙花园”问题依然严重。

发明内容

[0003] 本发明的目的是提供一种基于区块链的平台统一大市场协同方法,以解决上述现有技术存在的问题。
[0004] 为实现上述目的,本发明提供了一种基于区块链的平台统一大市场协同方法,包括:
[0005] 步骤一:通过搭建轻节点方式将协同发起方接入区块链联盟链网络中,并在协同发起方的平台运营管理系统中嵌入协同SDK工具;
[0006] 步骤二:所述协同发起方利用所述协同SDK工具并根据自身需求生成平台状态数据和协同协议,并保存一组所述协同发起方的公私密钥;进一步通过区块链网络以交易形式向协同代理方发布所述协同协议和所述平台状态数据;
[0007] 步骤三:通过所述协同代理方对所述平台状态数据进行更新,并对所述协同协议和所述平台状态数据的数据真实性进行验证,验证完成后将所述协同协议和所述平台状态数据进行打包,得到第一交易数据,并保存一组所述协同代理方的公私密钥;进一步通过广播方式将所述第一交易数据广播到全网;
[0008] 步骤四:通过共识节点对协同代理节点广播的第一交易数据进行解析验证,解析验证完成后对所述第一交易数据中的平台状态数据进行检验,检验完成后进行平台全局状态数据的更新或创建,进一步将所述平台全局状态数据和协同协议进行打包入链,并通过拜占庭容错共识算法对各数据进行更新处理和一致性共识处理;
[0009] 步骤五:所述协同响应方通过协同代理获取协同提议和平台全局状态数据;并对所述协同提议进行接受响应,并建立协同活动和协同状态数据;并保存一组所述协同响应方的公私密钥;
[0010] 步骤六:通过所述协同代理方对所述协同状态数据进行更新,并对所述协同活动和所述协同状态数据的数据真实性进行验证,验证完成后将所述协同活动和所述协同状态数据进行打包,得到第二交易数据,进一步通过广播方式将所述第二交易数据广播到全网;
[0011] 步骤七:通过共识节点对协同代理节点广播的第二交易数据进行解析验证,解析验证完成后对第二交易数据中的协同状态数据进行检验,检验完成后进行全局协同状态数据的更新或创建,进一步将所述全局协同状态数据和协同活动进行打包入链,并通过拜占庭容错共识算法对各数据进行更新处理和一致性共识处理;
[0012] 步骤八:所述共识节点将全局协同状态数据作为协同状态参数注入所述协同协议的协同脚本中,并自动执行所述协同脚本完成协同活动。
[0013] 可选的,所述协同协议数据包括:协同交易标识、发起方ID、响应方ID、状态ID、状态类型、协同方法、协同脚本ID和价值条件脚本ID。
[0014] 可选的,所述协同交易标识为协同交易的全网唯一标识;
[0015] 所述发起方ID为协同发起方的数字证书公钥;
[0016] 所述状态ID为当前平台状态的ID;
[0017] 所述状态类型包括:流量状态PSt、供应品状态PSo和资源状态PSr;
[0018] 所述协同方法包括:传递、互补和共享;
[0019] 所述协同脚本为描述协同响应方潜在需求的代码脚本;
[0020] 所述价值条件脚本为描述满足价值协同后的价值结算规则代码脚本。
[0021] 可选的,所述平台全局状态数据包括:流量状态PSt、供应品状态PSo、资源状态PSr、协同脚本和价值条件脚本。
[0022] 可选的,所述步骤三中将所述第一交易数据广播到全网的具体过程包括:
[0023] 所述协同代理方通过回调接口对所述平台状态数据进行异步更新,并通过所述协同发起方的公钥并对所述协同协议和所述平台状态数据的数据真实性进行验证,验证完成后将所述协同协议和所述平台状态数据进行打包,得到第一交易数据,并保存一组所述协同代理方的公私密钥;进一步通过P2P广播方式将所述第一交易数据广播到全网。
[0024] 可选的,通过广播方式将所述第一交易数据广播到全网,具体包括:
[0025] 通过共识节点对协同代理节点广播的第一交易数据进行解析,并基于所述协同发起方和所述协同代理方的公钥对数据签名信息进行真实性验证;
[0026] 通过共识节点对平台状态数据中是否存在平台全局状态数据进行检验判断,若平台全局状态数据存在,则对全网的平台全局状态数据进行更新;若平台全局状态数据不存在,则添加平台全局状态数据;
[0027] 进一步将所述平台全局状态数据和协同协议进行打包,得到区块数据,并将所述区块数据记入区块链中。
[0028] 可选的,所述协同响应方通过协同代理获取协同提议和平台全局状态数据;并对所述协同提议进行接受响应,并建立协同活动和协同状态数据,具体包括:
[0029] 所述平台协同响应方通过订阅‑发布者模式自动接收所述协同代理方提供的协同提议和平台全局状态数据;
[0030] 所述平台协同响应方通过协同SDK工具,将协同提议和平台全局状态信息导入区块链自身运营系统中;
[0031] 通过所述协同响应方对所述协同提议和更新后的平台全局状态数据进行解读,得到解读内容,所述协同响应方根据解读内容对所述协同提议进行接受响应;
[0032] 所述协同响应方根据所述协同提议生成协同活动,并根据平台全局状态数据生成协同状态数据。
[0033] 可选的,所述协同响应方根据解读内容对所述协同提议进行接受响应的过程中,若所述协同响应方根据解读内容对所述协同提议不接受响应,则对该信息进行忽视。
[0034] 本发明的技术效果为:
[0035] 本发明利用区块链技术在分布式协同方面的优势,提出建立基于区块链技术的平台大市场协同机制。将互联网平台市场关系中的水平协同、垂直协同和竞合协同泛化为平台大市场协同,在平台之间建立点对点的协同活动发起与响应机制,通过传递、互补和共享等协同活动,实现对平台流量、市场供应品和资源自主对等的价值传递;在区块链共识节点的全网见证下记录分布式协同过程与状态的迁移变化,最终实现在无中心化协调机制环境下的平台大市场协同,建立一种分布式的流量、市场供应品和资源的传递、互补和共享的对等协同模式,最大程度保障平台协同主动性和数据安全性。

附图说明

[0036] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037] 构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0038] 图1为本发明实施例中的流程图;
[0039] 图2为本发明实施例中的协同机制示意图;
[0040] 图3为本发明实施例中的平台全局状态示意图;
[0041] 图4为本发明实施例中的协同全局状态示意图。

具体实施方式

[0042] 现详细说明本发明的多种示例性实施方式,该详细说明不应认为是对本发明的限制,而应理解为是对本发明的某些方面、特性和实施方案的更详细的描述。
[0043] 应理解本发明中所述的术语仅仅是为描述特别的实施方式,并非用于限制本发明。另外,对于本发明中的数值范围,应理解为还具体公开了该范围的上限和下限之间的每个中间值。在任何陈述值或陈述范围内的中间值以及任何其他陈述值或在所述范围内的中间值之间的每个较小的范围也包括在本发明内。这些较小范围的上限和下限可独立地包括或排除在范围内。
[0044] 除非另有说明,否则本文使用的所有技术和科学术语具有本发明所述领域的常规技术人员通常理解的相同含义。虽然本发明仅描述了优选的方法,但是在本发明的实施或测试中也可以使用与本文所述相似或等同的任何方法。本说明书中提到的所有文献通过引用并入,用以公开和描述与所述文献相关的方法。在与任何并入的文献冲突时,以本说明书的内容为准。
[0045] 在不背离本发明的范围或精神的情况下,可对本发明说明书的具体实施方式做多种改进和变化,这对本领域技术人员而言是显而易见的。由本发明的说明书得到的其他实施方式对技术人员而言是显而易见的。本申请说明书和实施例仅是示例性的。
[0046] 关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
[0047] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0048] 实施例一
[0049] 如图1‑图4所示,本实施例中提供了一种基于区块链的平台统一大市场协同方法,包括:
[0050] 通过搭建轻节点方式将协同发起方接入区块链联盟链网络中,并在协同发起方的平台运营管理系统中嵌入协同SDK工具;
[0051] 所述协同发起方利用所述协同SDK工具并根据自身需求生成平台状态数据和协同协议,并保存一组所述协同发起方的公私密钥;进一步通过区块链网络以交易形式向协同代理方发布所述协同协议和所述平台状态数据;
[0052] 通过所述协同代理方对所述平台状态数据进行更新,并对所述协同协议和所述平台状态数据的数据真实性进行验证,验证完成后将所述协同协议和所述平台状态数据进行打包,得到第一交易数据,并保存一组所述协同代理方的公私密钥;进一步通过广播方式将所述第一交易数据广播到全网;
[0053] 通过共识节点对协同代理节点广播的第一交易数据进行解析验证,解析验证完成后对所述第一交易数据中的平台状态数据进行检验,检验完成后进行平台全局状态数据的更新或创建,进一步将所述平台全局状态数据和协同协议进行打包入链,并通过拜占庭容错共识算法对各数据进行更新处理和一致性共识处理;
[0054] 所述协同响应方通过协同代理获取协同提议和平台全局状态数据;并对所述协同提议进行接受响应,并建立协同活动和协同状态数据;并保存一组所述协同响应方的公私密钥;
[0055] 通过所述协同代理方对所述协同状态数据进行更新,并对所述协同活动和所述协同状态数据的数据真实性进行验证,验证完成后将所述协同活动和所述协同状态数据进行打包,得到第二交易数据,进一步通过广播方式将所述第二交易数据广播到全网;
[0056] 通过共识节点对协同代理节点广播的第二交易数据进行解析验证,解析验证完成后对第二交易数据中的协同状态数据进行检验,检验完成后进行全局协同状态数据的更新或创建,进一步将所述全局协同状态数据和协同活动进行打包入链,并通过拜占庭容错共识算法对各数据进行更新处理和一致性共识处理;
[0057] 所述共识节点将全局协同状态数据作为协同状态参数注入所述协同协议的协同脚本中,并自动执行所述协同脚本完成协同活动。
[0058] 协同SDK是由本实施例提供的一套实现统一大市场协同任务的开发工具包,由密钥、证书生成和注册器,协同建议生成器,平台状态生成器,协同活动生成器,协同状态生成器,协同脚本调试器,价值条件脚本调试器等代码包构成。协同发起方或协同响应方通过对该SDK源码的导入,使平台功能具备发起和响应统一大市场协同的具体功能。
[0059] 本实施例是采用区块链的交易框架建立了一种基于点对点的统一大市场协同活动响应机制,通过传递、互补和共享等协同活动在协同发起方和响应方之间,建立流量、市场供应品和资源等平台大市场数据要素互联互通的网络通道,而参与方完全出于自主、自愿原则与协同发起方建立点对点的对等响应。
[0060] 点对点的协同响应过程是一种基于协同提议(Proposal)驱动的事件‑状态‑过程的协同方法。协同活动由协同发起方根据自身业务需求,将协同需求具象为流量、市场供应品、资源三大主题场景,并生成协同提议,协同提议包括:协同方法、需求和价值条件。协同提议通过协同代理向全网发起P2P广播,潜在协同参与方在接收到协同提议后,分析协同提议的价值条件并做出自主性选择。当协同参与方响应协同提议后,则在协同发起方和协同参与方之间建立协同活动。出于各平台对自身商业数据的敏感性和数据安全性考虑,协同活动将被底层代码固化为典型的流量传递、供应品互补和资源共享三个类型。详见图1、图2。
[0061] (1)平台协同发起方根据自身优势,可将平台自身的流量、供应品和资源包装为协同提议,并且通过区块链网络,以交易形式向其他平台发布。协同提议P数据结构由TxID,发起方ID,响应方ID,状态ID,状态类型,协同方法,协同脚本ID,价值条件脚本ID等构成。
[0062] 协同脚本是一段可在虚拟机独立执行的描述协同参与方潜在需求的代码脚本,脚本可支持JS、Java等多代码语言。协同脚本的运行需要将协同状态作为参数传入方可执行。
[0063] 价值条件脚本是一段可在虚拟机独立执行的描述满足价值协同后的价值结算规则代码脚本,脚本可支持JS、Java等多代码语言。价值条件脚本由协同脚本执行完成后再调用执行,即:根据结算规则实现在协同传递、互补和共享活动后,参与方可获得的价值分成的计算代码。
[0064] (2)协同代理接收到协同发起方的协同提议后,通过P2P通信机制将协同提议和平台全局状态以交易方式广播到全网。协同代理可以是协同发起方在区块链网络部署的全节点,也可以是社会其他机构部署的区块链全节点。平台全局状态数据结构:平台状态S由流量状态PSt、供应品状态PSo、资源状态PSr、协同脚本和价值条件脚本组成。详见图3。
[0065] (3)共识节点对协同代理节点广播的协同提议交易进行打包入链,对平台全局状态进行创建和更新。共识协议采用实用拜占庭容错PBFT,并通过随机选举方式选举共识节点。共识节点保障全网数据的一致性和容错性。
[0066] (4)潜在平台协同响应方通过部署在区块链网络中的其他协同代理节点,获取到完整的协同提议和平台全局状态信息。
[0067] (5)潜在平台协同响应方通过对协同提议和平台全局状态的解读,特别是可访问的协同脚本和价值条件脚本的内容,自行决定是否响应该协同提议。
[0068] (6)如果潜在平台协同响应方选择响应该协同提议P,则将接受该协同提议,并与协同发起方建立基于协同提议P的点对点协同活动。协同活动由协同代理以协同交易形式发起,数据结构与协同提议一致,由TxID、发起方ID,响应方ID,状态ID,状态类型,协同方法,协同脚本ID,价值条件脚本ID等构成。协同活动将更新协同全局状态,即:传递状态SSd,互补状态SSc,共享状态SSs。
[0069] (7)共识节点对协同代理节点广播的协同活动交易进行打包入链,对协同全局状态进行创建和更新。同时以协同状态为输入参数在分布式网络中执行协同脚本完成协同活动达成。
[0070] 具体技术方案如下:
[0071] S1.平台协同发起方发布协同提议和平台协同状态;
[0072] S101.平台协同发起方通过搭建轻节点方式接入区块链联盟链网络,并通过在原运营管理平台嵌入本实施例提供的协同SDK工具;
[0073] S102.平台协同发起方根据自身优势,可将平台自身的流量、供应品和资源等要素,通过协同SDK工具生成平台状态;(详见图3)
[0074] S103.平台协同发起方通过本实施例提供的协同SDK工具在编写和测试协同脚本;
[0075] S104.平台协同发起方通过本实施例提供的协同SDK工具在编写和测试价值条件脚本;
[0076] S105.平台协同发起方通过本实施例提供的协同SDK工具生成协同提议,并绑定协同脚本ID和价值条件脚本ID;
[0077] S106.平台协同发起方通过私钥对平台状态、协同提议开展数字签名;
[0078] S107.平台协同发起方通过http或webSocket协议向协同代理节点发送平台状态和协同提议;
[0079] 其中,平台状态数据结构采用JSON方式,由流量状态PSt、供应品状态PSo、资源状态PSr、协同脚本和价值条件脚本组成。如图3所示:
[0080] 流量状态PSt=(流量状态ID,发起方ID,流量类型,传递余额,流量访问URL,流量签名Token)。其中,流量状态ID是流量唯一标识,可采用Hash256生成;发起方ID等同于协同提议的发起方ID;流量类型分别是:体验、浏览、搜索、关注、购买和订阅等操作或行为;传递余额是大于等于0的整数,是指发起方对该流量定义的可传递的总次数,每传递一次传递余额减一,直至余额为0时该流量为不可传递状态;流量访问URL是指该流量的访问入口链接,网络响应方可根据流量URL访问发起方提供的流量详情;流量签名Token是发起方利用自身数字证书私钥对流量状态进行数字签名后生成的访问令牌。
[0081] 供应品状态PSo=(供应品状态ID,发起方ID,供应品类型,供应品组合列表,供应品访问URL,供应品互补余额,供应品签名Token)。其中,供应品状态ID是供应品唯一标识,可采用Hash256生成;发起方ID等同于协同提议的发起方ID;供应品类型分别是:产品或服务;供应品组合列表是发起方提供的自身供应品的组合关系,可采用JSON数据结构存储;供应品访问URL是指该供应品的访问入口链接,网络响应方可根据供应品URL访问发起方提供的供应品详情;供应品互补余额是大于等于0的整数,是指发起方对该供应品定义的互补组合的最大次数,每互补一次余额减一,直至余额为0时该供应品为不可互补状态;供应品签名Token是发起方利用自身数字证书私钥对供应品状态进行数字签名后生成的访问令牌。
[0082] 资源状态PSr=(资源实例状态ID,发起方ID,资源类型,资源占用状态,资源访问URL,资源签名Token)。其中,资源实例状态ID是资源实例的唯一标识,可采用Hash256生成;发起方ID等同于协同提议的发起方ID;资源类型分别是:数据、算力和算法;资源占用状态是访问方提供该的资源的实时状态,由1或0构成,1为占用,0为空闲;资源访问URL是指该资源访问入口链接,网络响应方可根据资源URL访问发起方提供的资源详情;资源签名Token是发起方利用自身数字证书私钥对资源状态进行数字签名后生成的访问令牌。
[0083] 协同脚本=(协同脚本ID,协同实现描述,协同实现接口代码)。其中,协同脚本ID是协同脚本的唯一标识,可采用Hash256生成;协同实现描述是协同需求和实现效果的文字描述;协同实现接口代码是实现具体协同活动的代码片段,是以协同状态为输入产生的可在虚拟机独立执行的可实现一定业务意义的代码脚本。
[0084] 价值条件脚本=(价值条件脚本ID,结算规则描述,价值结算接口代码)。其中,价值条件脚本ID是价值条件脚本ID的唯一标识,可采用Hash256生成;结算规则描述是协同活动完成后的结算规则文字描述;价值结算接口代码是实现具体价值结算的代码片段,是以协同脚本调用和驱动的可在虚拟机独立执行的可实现一定价值结算的代码脚本。
[0085] 协同提议数据结构采用JSON方式,由TxID,发起方ID,响应方ID,状态ID,状态类型,协同方法,协同脚本,价值条件脚本等构成。
[0086] TxID,是该协同交易的全网唯一标识,可采用Hash256获得。
[0087] 发起方ID是协同主动发起方的数字证书公钥,经过Base64转换得到。
[0088] 响应方ID是协同响应参与方的数字证书公钥,经过Base64转换得到,但在当前阶段值为null。
[0089] 状态ID是当前平台状态的ID。具体含义参见平台状态结构描述。
[0090] 状态类型包括:流量状态PSt、供应品状态PSo、资源状态PSr。
[0091] 协同方法包括:传递、互补、共享。
[0092] 协同脚本ID:是当前平台状态内的协同脚本ID。具体含义参见协同脚本结构描述。
[0093] 价值条件脚本ID:是当前平台状态内的价值条件脚本ID。具体含义参见价值条件脚本结构描述。
[0094] S2.协同代理将协同提议和平台状态打包交易,广播全网;
[0095] S201.协同代理接收到协同发起方的平台状态和协同提议后,通过回调接口异步更新协同发起方的状态;
[0096] S202.通过协同发起方发布的公钥,验证平台状态和协同提议数据真实性;
[0097] S203.协同代理将协同提议和平台状态打包为交易,并开展私钥签名;
[0098] S204.通过P2P广播方式将交易信息广播到全网;
[0099] 其中,协同代理可以是协同发起方在区块链网络部署的全节点,也可以是社会其他机构部署的区块链全节点。
[0100] S3.共识节点将协同提议打包入链、更新平台全局状态,并全网共识;
[0101] S301.共识节点从接收到的P2P广播中交易中,解析协同提议和平台状态;
[0102] S302.共识节点利用平台协同发起方和协同代理方的公钥分别对其签名信息进行校验,检查其信息的真实性;
[0103] S303.共识节点根据接收到的平台状态,检查平台全局状态是否已存在,如果已存在则更新全网的平台全局状态;如不存在则添加平台全局状态;
[0104] S304.共识节点将接收到协同提议统一打包为区块数据(可在200‑2000笔协同提议配置打包策略),并记入区块链中;
[0105] S305.共识节点通过拜占庭容错共识算法(PBFT)对全网数据开展数据更新和一致性共识;
[0106] 其中,共识节点负责数据的校验和入链,并保障全网数据的一致性和容错性。平台状态数据结构与平台全局状态一致;
[0107] S4.协同响应方获取协同提议和平台全局状态;
[0108] S401.潜在的平台协同响应方通过订阅‑发布者模式,自动接收协同代理节点提供的协同提议和平台全局状态信息;
[0109] S402.协同代理节点负责利用平台协同发起方的公钥对协同提议信息进行签名校验,以保障协同提议信息的有效性和真实性;
[0110] S403.潜在的平台协同响应方通过协同SDK工具,将协同提议和平台全局状态信息导入平台自身运营系统中,便于运营管理人员决策;
[0111] 其中,潜在平台协同响应方是通过部署在区块链网络中的其他协同代理节点,获取到完整的协同提议和平台全局状态信息;
[0112] S5.协同响应方响应协同提议,建立协同活动和协同状态;
[0113] S501.潜在平台协同响应方对协同提议和平台全局状态数据的进行解读;
[0114] S502.潜在平台协同响应方通过对协同提议中的协同类型、协同方法、协同脚本、价值条件脚本和平台全局状态分析,自行决定是否响应该协同提议;
[0115] S503.如潜在平台协同响应方不响应该协同活动,则可以忽视该信息,如果选择响应和接受该协同提议,则需要同协同发起方建立基于协同提议的点对点协同活动;
[0116] S504.潜在平台协同响应方依协同提议生成协同活动,更新响应方ID;
[0117] S505.潜在平台协同响应方依据平台全局状态生成协同状态;
[0118] S506.平台协同响应方通过私钥对协同状态和协同活动开展数字签名;
[0119] S507.潜在平台协同响应方通过http或webSocket协议向协同代理节点发送协同状态和协同活动;
[0120] 其中,协同活动数据结构与协同提议一致,由TxID、发起方ID,响应方ID,状态ID,状态类型,协同方法,协同脚本ID,价值条件脚本ID等构成。全局状态,即:传递状态SSd,互补状态SSc,共享状态SSs。详见图4。
[0121] 传递状态SSd=(传递状态ID,响应方ID,流量状态ID,流量传递回调URL,传递签名Token)。其中,传递状态ID是传递活动的唯一标识,可采用Hash256生成;响应方ID等同于协同活动的响应方ID,是平台响应方数字证书公钥通过Base64获得;流量状态ID是协同提议和平台全局状态中的需要传递的流量状态ID;流量传递回调URL是指该流量通过协同脚本执行后,回调传递方的服务链接,平台响应方可根据回调URL实现流量传递步骤的数据传递;传递签名Token是传递方利用自身数字证书私钥对传递状态进行数字签名后生成的访问令牌。
[0122] 互补状态SSc=(互补状态ID,响应方ID,供应品状态ID,互补订购回调URL,互补签名Token)。其中,互补状态ID是供应品互补活动的唯一标识,可采用Hash256生成;响应方ID等同于协同活动的响应方ID,是平台响应方数字证书公钥通过Base64获得;供应品状态ID是协同提议和平台全局状态中的需要互补的供应品状态ID;互补订购回调URL是指该互补活动通过协同脚本执行后,回调互补方的供应品订购服务,平台响应方可根据回调URL实现供应品的订购;互补签名Token是互补方利用自身数字证书私钥对互补状态进行数字签名后生成的访问令牌。
[0123] 共享状态SSs=(共享状态ID,响应方ID,资源实例状态ID,资源共享回调URL,共享签名Token)。其中,共享状态ID是资源共享活动的唯一标识,可采用Hash256生成;响应方ID等同于协同活动的响应方ID,是平台响应方数字证书公钥通过Base64获得;资源实例状态ID是协同提议和平台全局状态中的需要共享的资源实例状态ID;资源共享回调URL是指该资源共享活动通过协同脚本执行后,回调响应方的服务链接,平台响应方可根据回调URL实现资源分享过程的数据传递;共享签名Token是响应方利用自身数字证书私钥对共享状态进行数字签名后生成的访问令牌。
[0124] S6.协同代理将协同活动和协同状态打包交易,广播全网;
[0125] S601.协同代理接收到协同响应方的发送协同活动和协同状态后,通过回调接口异步更新协同发起方的状态;
[0126] S602.通过协同响应方发布的数字证书公钥,验证协同活动和协同状态的数据真实性;
[0127] S603.协同代理将协同活动和协同状态打包为交易,并开展私钥签名;
[0128] S604.通过P2P广播方式将交易信息广播到全网;
[0129] S7.共识节点将协同活动打包入链、更新全局协同状态,并执行协同脚本;
[0130] S701.共识节点从接收到的P2P广播交易中,解析协同状态和协同活动数据;
[0131] S702.共识节点利用平台协同响应方和协同代理方的公钥分别对其签名信息进行校验,检查其信息的真实性;
[0132] S703.共识节点根据接收到的协同状态,检查全局协同状态是否已存在,如果已存在则更新全局协同状态;如不存在则添加全局协同状态;
[0133] S704.共识节点将接收到协同活动统一打包为区块数据(可在200‑2000笔协同活动配置打包策略),并记入区块链中;
[0134] S705.共识节点通过拜占庭容错共识算法(PBFT)对全网数据开展数据更新和一致性共识;
[0135] S706.共识节点向协同脚本注入协同状态参数,并自动执行协同脚本;
[0136] 以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。