CN107943950A - 一种区块链中数据智能合约生成的方法及系统 - Google Patents

一种区块链中数据智能合约生成的方法及系统 Download PDF

Info

Publication number
CN107943950A
CN107943950A CN201711192099.XA CN201711192099A CN107943950A CN 107943950 A CN107943950 A CN 107943950A CN 201711192099 A CN201711192099 A CN 201711192099A CN 107943950 A CN107943950 A CN 107943950A
Authority
CN
China
Prior art keywords
contract
data
address
title
intelligence
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.)
Granted
Application number
CN201711192099.XA
Other languages
English (en)
Other versions
CN107943950B (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.)
Zhongchao Credit Card Industry Development Co Ltd Hangzhou Blockchain Technology Research Institute
Original Assignee
Zhongchao Credit Card Industry Development Co Ltd Hangzhou Blockchain Technology Research Institute
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 Zhongchao Credit Card Industry Development Co Ltd Hangzhou Blockchain Technology Research Institute filed Critical Zhongchao Credit Card Industry Development Co Ltd Hangzhou Blockchain Technology Research Institute
Priority to CN201711192099.XA priority Critical patent/CN107943950B/zh
Publication of CN107943950A publication Critical patent/CN107943950A/zh
Application granted granted Critical
Publication of CN107943950B publication Critical patent/CN107943950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Abstract

本申请公开了一种区块链中数据智能合约生成的方法,所述方法包括:根据业务需求创建所述数据智能合约得到合约名称;当所述数据智能合约的合约信息发生变化时,根据数据智能合约的内容通过数据管理接口查询数据列表,得到数据地址和关联合约地址;根据所述合约名称、所述数据地址和所述关联合约地址生成所述数据智能合约;该方法生成一种通用的数据智能合约,实现用同一份合约代码支持所有的业务场景,降低了开发难度与成本;本申请还公开了一种区块链中数据智能合约生成的系统,具有以上有益效果。

Description

一种区块链中数据智能合约生成的方法及系统
技术领域
本发明涉及区块链技术领域,特别涉及一种区块链中数据智能合约生成的方法及系统。
背景技术
区块链是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。在科技迅猛发展的今天,区块链得到了广泛地应用于数据智能合约领域。
在现有技术中,使用区块链的系统通过智能合约存储数据时,一般需要根据业务的需求定制不同的数据结构,然后通过不同的合约实现出来。但是,这种方案的业务复杂度较高,需要的智能合约种类极多,因此各个机构的开发团队之间协调开发的难度和成本也相当巨大。
因此,如何生成一种通用的数据智能合约,实现用同一份合约代码支持所有的业务场景,是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种区块链中数据智能合约生成的方法及系统,能够实现用同一份合约代码支持所有的业务场景。
为解决上述技术问题,本申请提供一种区块链中数据智能合约生成的方法及系统,该方法包括:
根据业务需求创建所述数据智能合约得到合约名称;
当所述数据智能合约的合约信息发生变化时,根据数据智能合约的内容通过数据管理接口查询数据列表,得到数据地址和关联合约地址;
根据所述合约名称、所述数据地址和所述关联合约地址生成所述数据智能合约。
可选的,所述根据数据智能合约的内容通过数据管理接口查询数据列表,得到数据地址和关联合约地址包括:
判断创建所述数据智能合约过程中使用的智能合约语言是否支持遍历所述数据列表中所有的与映射相关的值;
若所述智能合约语言不支持遍历所述数据列表中所有的与映射相关的所述值,则利用名称获取接口查询所述数据智能合约的所述内容,得到数据名称和关联合约名称;
通过数据地址获取接口根据所述数据名称查询所述数据列表,得到所述数据地址;
通过合约地址获取接口根据所述关联合约名称查询所述数据列表,得到所述关联合约地址。
可选的,在以太坊规范的虚拟机环境中,根据所述合约名称、所述数据地址和所述关联合约地址生成所述数据智能合约包括:
根据所述合约名称、所述数据地址、所述关联合约地址、所述数据名称和所述关联合约名称生成嵌套结构的所述数据智能合约。
可选的,所述根据业务需求创建所述数据智能合约得到合约名称包括:
根据所述业务需求生成代理合约,并将需要创建所述数据智能合约的数据发送给所述代理合约;
利用所述代理合约根据所述数据的所述业务需求创建所述数据智能合约,得到所述合约名称。
本申请还提供了一种区块链中数据智能合约生成的系统,所述系统包括:
部署模块,用于根据业务需求创建所述数据智能合约得到合约名称;
获取模块,用于当所述数据智能合约的合约信息发生变化时,根据数据智能合约的内容通过数据管理接口查询数据列表,得到数据地址和关联合约地址;
生成模块,用于根据所述合约名称、所述数据地址和所述关联合约地址生成所述数据智能合约。
可选的,所述获取模块包括:
判断单元,用于判断创建所述数据智能合约过程中使用的智能合约语言是否支持遍历所述数据列表中所有的与映射相关的值;
名称查询单元,用于当所述智能合约语言不支持遍历所述数据列表中所有的与映射相关的所述值时,利用名称获取接口查询所述数据智能合约的所述内容,得到所述数据名称和所述关联合约名称;
数据查询单元,用于通过数据地址获取接口根据所述数据名称查询所述数据列表,得到所述数据地址;
关联查询单元,用于通过合约地址获取接口根据所述关联合约名称查询所述数据列表,得到所述关联合约地址。
可选的,在以太坊规范的虚拟机环境中,所述生成模块包括:
根据所述合约名称、所述数据地址、所述关联合约地址、所述数据名称和所述关联合约名称生成嵌套结构的所述数据智能合约。
可选的,所述部署模块包括:
代理单元,用于根据所述业务需求生成代理合约,并将需要创建所述数据智能合约的数据发送给所述代理合约;
创建单元,用于利用所述代理合约根据所述数据的所述业务需求创建所述数据智能合约,得到所述合约名称。
本发明提供了一种区块链中数据智能合约生成的方法,根据业务需求创建所述数据智能合约得到合约名称;当所述数据智能合约的合约信息发生变化时,根据数据智能合约的内容通过数据管理接口查询数据列表,得到数据地址和关联合约地址;根据所述合约名称、所述数据地址和所述关联合约地址生成所述数据智能合约。
本方法中根据实际的业务需求创建数据智能合约得到合约名称,也就是说合约名称用于描述该数据智能合约的业务用途。合约信息发生变化说明数据智能合约中的某些信息发生了改变需要重新获取数据地址和关联合约地址,本方法中设置有数据管理接口,可以通过数据管理接口查询数据列表找到数据地址和关联合约地址。最后利用合约名称、数据地址和关联合约地址生成数据智能合约。生成数据智能合约的过程中不依靠其他设施的间接支持,各字段都是从数据内容中获取的而不是从代码定义中获取,避免了区块链以外需要通过其他通讯机制令业务方之间互相通知数据结构的麻烦。此外生成的数据智能合约是具有统一编写方法的,可以实现同一份合约代码支持所有的业务场景。该方法生成一种通用的数据智能合约,实现用同一份合约代码支持所有的业务场景,降低了开发难度与成本。本申请同时还提供了一种区块链中数据智能合约生成的系统,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种区块链中数据智能合约生成的方法的流程图;
图2为本申请实施例所提供的另一种区块链中数据智能合约生成的方法的流程图;
图3为图2所示实施例中代理合约创建数据智能合约流程图;
图4为本申请提供的一种区块链中数据智能合约生成的系统的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种区块链中数据智能合约生成的方法的流程图;
具体步骤可以包括:
步骤S101:根据业务需求创建所述数据智能合约得到合约名称;
其中,本方法的实施主体是系统,本步骤的目的是获取合约名称,本步骤中指的数据智能合约并不是所有字段都已更新好的数据智能合约,当其内部的某些信息发生变化时,合约内部存储的数据地址和关联合约地址会相应的发生变化。
创建数据智能合约也可以称为部署数据智能合约,创建数据智能合约的过程就是根据集体的业务需要初始化业务数据。创建数据智能合约的同时会生成数据智能合约的合约名称,可以理解的是合约名称也是根据具体的业务需要来设定的。由于合约名称是根据具体的业务需要来设定的,所以合约名称中包含有描述该数据智能合约的业务用途。当然,在描述合约名称的业务用途时,尽量采用统一的格式,以便对数据智能合约中的内容进行解析。因此,合约名称相同的所有合约可用的字段信息、数据解析方式也是相同的,可以根据合约名称判断这个合约中存在哪些字段,也可以根据合约名称了解如何进行解析。
可以理解的是,在实际操作中创建新的数据智能合约往往需要初始化大量的数据,其中,这些数据的大小是不固定的,可以按照一定的次序将一个一个数据进行初始化。但是由于数据字段是动态不固定的如果直接调用数据智能合约的赋值方法进行数据初始化,一笔交易只能初始化一个数据字段,要完成所有字段的初始化过程需要发送多笔交易,会破坏交易的原子性。因此,可以使用代理合约来创建数据智能合约规避多笔交易带来的原子性被破坏的问题。可以根据具体业务的需要生成代理合约,将需要初始化的数据传给代理合约,由代理合约来统一创建或部署数据智能合约。当然,将需要初始化的数据传给代理合约的过程可以是一次性全部传给代理合约;也可以是只要有需要初始化的数据就将其传给代理合约,代理合约按预定时间进行创建或部署数据智能合约,此处只要是将需要初始化的数据发送给代理合约即可,并不对发送的方法进行具体的限定。当然此处只是提供了一种避免多笔交易带来的原子性被破坏的方案,也可以使用其他类似的中介进行创建数据智能合约的步骤。
在数据智能合约中的字段设置是相对自由的,在创建时可以根据具体的业务需要初始化业务数据,也可以先创建不包含业务数据的合约留作以后使用。同样与该数据智能合约相关联的合约也可以在一开始的时候初始化到合约中,或者在创建之后根据需求进行修改,此处并不进行具体的限定。
步骤S102:当所述数据智能合约的合约信息发生变化时,根据数据智能合约的内容通过数据管理接口查询数据列表,得到数据地址和关联合约地址;
其中,本步骤中提到的合约信息发生变化既可以是原数据智能合约为空,当原数据智能合约中添加某些数据带来的变化;也可以是原数据智能合约不为空,当原数据智能合约中某些数据产生变更带来的变化,此处只是说明查询数据列表的条件,并不对合约信息发生变化的具体状况进行限定。
数据列表中是存有数据智能合约的内容的相关信息的,可以根据数据智能合约的内容与数据列表中的内容进行一一比对,来获取数据地址和关联合约地址。当然,能够在数据列表中进行一一比对是需要智能合约语言具备支持遍历映射能力的。通常来讲EVM(即以太坊的虚拟机)是本技术领域中比较常见的智能合约运行环境,在这种运行环境下,可以使用多种编写智能合约的EVM语言,如solidity、LLL、Serpent等,但是由于上述这些EVM语言并不具备支持遍历映射能力,因此在EVM语言进行编写数据智能合约时还需要借助另外一个名称列表进行查询数据地址和关联合约地址。可以理解的是,当使用一种支持遍历映射的编写语言时,只需要获得数据地址和关联合约地址即可。也就是说在使用EVM语言编写数据智能合约时,获取的数据名称和关联合约名称仅仅是为了达到查询数据地址和关联合约地址的目的。
可以理解的是,在本步骤中系统是通过数据管理接口来实现查询数据列表的,此处的“接口”并不是某种装置的接口而是指某些函数的表现形式。数据管理接口是管理数据的各种接口的总称,其中包括:添加数据接口,修改指定数据接口,获取指定数据接口,获取所有数据名称列表接口,添加新的关联合约接口,修改指定关联合约接口,获取指定关联合约地址接口,获取所有关联合约接口。在本步骤中,利用数据管理接口查询数据列表并不是只使用上述接口中的某一种,而是根据具体情况选择一个或多个接口来配合查询数据地址和关联合约地址。当然,数据管理接口作为一种函数的表现形式,其名称是根据具体起到的功能进行命名的,多个接口协同工作时可以根据这几个接口共同起到的作用进行重新命名。
综上可知,本步骤的目的是获取数据地址和关联合约地址,其中可能存在获取其他信息的情况,但是获取的其他信息的最终目的都是为了获取数据地址和关联合约地址。
步骤S103:根据所述合约名称、所述数据地址和所述关联合约地址生成所述数据智能合约;
其中,本步骤的目的是生成具有统一格式的数据智能合约,利用在步骤S101和步骤S102中获得的合约名称、数据地址、关联合约地址生成数据智能合约。可以理解的是上述只能数据智能合约中的三个字段是必须存在的,若编写数据智能合约的语言(如EVM语言)不能支持遍历映射数据智能合约中除了合约名称、数据地址、关联合约地址这三个必须存在的字段还应有数据名称和关联合约名称这两个字段。
通过上述方法生成的数据智能合约可以适用于各种不同的业务场景。同时,由于有了固定的数据结构,极大的简化了数据的同步和修改操作。对于区块链应用来说,减少底层智能合约的开发成本,为区块链和业务层的中间件开发提供了很大的便捷,并且简化了业务层的操作,整个项目的耗时耗资都有了大幅度的减少,方便后续的维护和管理。
下面请参见图2、图3,图2为本申请实施例所提供的另一种区块链中数据智能合约生成的方法的流程图;图3为图2所示实施例中代理合约创建数据智能合约流程图;此实施例是在上述实施例的基础上,在使用不支持遍历映射的编写语言的情况下,对生成数据智能合约的相关步骤进行了具体限定。
具体步骤可以包括:
步骤S201:根据所述业务需求生成代理合约,并将需要创建所述数据智能合约的数据发送给所述代理合约;
其中,针对业务的需求不同代理合约有很多种,本步骤生成的代理合约应是一种可以基本满足常见的业务需求的代理合约,当然也可以针对业务需求的不同设置多个代理合约,此处只要能够生成一种能够创建数据智能合约中介即可,并不对代理合约的生成过程进行具体的限定。当然此处只是提供了一种避免多笔交易带来的原子性被破坏的方案,也可以使用其他类似的中介进行创建数据智能合约的步骤。
步骤S202:利用所述代理合约根据所述数据的所述业务需求创建所述数据智能合约,得到所述合约名称。
步骤S203:当所述数据智能合约的合约信息发生变化时,判断创建所述数据智能合约过程中使用的智能合约语言是否支持遍历所述数据列表中所有的与映射相关的值。
步骤S204:若所述智能合约语言不支持遍历所述数据列表中所有的与映射相关的所述值,则利用名称获取接口查询所述数据智能合约的所述内容,得到数据名称和关联合约名称;
其中,由于智能合约语言无法遍历数据列表中与映射相关的值(即key),所以无法利用相关接口直接在数据列表中查询数据地址和关联合约地址,但是可以使用数据名称查询数据地址,用关联合约名称查询关联合约地址。因此,在智能合约语言无法遍历映射时,可以利用名称获取接口查询数据智能合约中的内容获得数据名称和关联合约名称。
当然,数据名称与关联合约名称可以是同时获取的,也可以不是同时获取的,进一步的获取数据名称与获取关联合约名称何者在前何者在后都不影响数据智能合约的生成,也就是说本步骤只需要生成数据名称和关联合约名称即可,并不对具体的生成顺序进行具体的限定。
可以理解的是,数据名称与数据地址是相对应的,可以通过数据名称直接查询到数据地址,此时就不需要遍历映射中的所有的key了;同理可知,还可以通过关联合约名称查询到关联合约地址。
步骤S205:通过数据地址获取接口根据所述数据名称查询所述数据列表,得到所述数据地址;
其中,数据列表中存储有数据智能合约相对应的数据以及和数据智能合约相关联的其他合约可以根据相关接口查询数据名称向对应的数据地址。
步骤S206:通过合约地址获取接口根据所述关联合约名称查询所述数据列表,得到所述关联合约地址。
其中,数据列表中存储有数据智能合约相对应的数据以及和数据智能合约相关联的其他合约可以根据相关接口查询关联合约名称向对应的关联合约地址。
步骤S207:根据所述合约名称、所述数据地址、所述关联合约地址、所述数据名称和所述关联合约名称生成嵌套结构的所述数据智能合约;
其中,所述嵌套结构是指每个数据智能合约中都可以包含相同的结构,例如,小明的成绩单可以分为各个科目的成绩单,而每个科目的成绩单可以作为单独的智能合约保存这样的合约中都可以包含相同的结构,如平时成绩和期中、期末考试成绩。运用该方法的到智能合约的五个字段,具体代码如下:
///通用合约关键结构说明
contract GenericData{
//合约名称
string_contractName;
//数据字段名称
bytes32[]_dataKeys;
//数据存储区域,key是数据字段的名称,value是合约自断的文本内容
mapping(bytes32=>string)_data;
//引用字段的名称
bytes32[]_refKeys;
//引用合约地址索引,key是引用字段的名称,value是被引用的合约地址
mapping(bytes32=>address)_refs;
}
当然,在生成数据智能合约时可以将除了合约名称之外的四个字段分为两组,每组分别有一个存储字符串组的名称字段列表,和一组数据名称到数据内容的映射。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
请参见图4,图4为本申请提供的一种区块链中数据智能合约生成的系统的结构示意图;
该系统可以包括:
部署模块100,用于根据业务需求创建所述数据智能合约得到合约名称;
获取模块200,用于当所述数据智能合约的合约信息发生变化时,根据数据智能合约的内容通过数据管理接口查询数据列表,得到数据地址和关联合约地址;
生成模块300,用于根据所述合约名称、所述数据地址和所述关联合约地址生成所述数据智能合约。
在本申请提供的另一种区块链中数据智能合约生成的系统的实施例中,该系统中所述获取模块200包括:
判断单元,用于判断创建所述数据智能合约过程中使用的智能合约语言是否支持遍历所述数据列表中所有的与映射相关的值;
名称查询单元,用于当所述智能合约语言不支持遍历所述数据列表中所有的与映射相关的所述值时,利用名称获取接口查询所述数据智能合约的所述内容,得到所述数据名称和所述关联合约名称;
数据查询单元,用于通过数据地址获取接口根据所述数据名称查询所述数据列表,得到所述数据地址;
关联查询单元,用于通过合约地址获取接口根据所述关联合约名称查询所述数据列表,得到所述关联合约地址。
进一步的,在以太坊规范的虚拟机环境中,所述生成模块300包括:
根据所述合约名称、所述数据地址、所述关联合约地址、所述数据名称和所述关联合约名称生成嵌套结构的所述数据智能合约。
进一步的,所述部署模块100包括:
代理单元,用于根据所述业务需求生成代理合约,并将需要创建所述数据智能合约的数据发送给所述代理合约;
创建单元,用于利用所述代理合约根据所述数据的所述业务需求创建所述数据智能合约,得到所述合约名称。
以上对本申请所提供的一种区块链中数据智能合约生成的方法及系统进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (8)

1.一种区块链中数据智能合约生成的方法,其特征在于,所述方法包括:
根据业务需求创建所述数据智能合约得到合约名称;
当所述数据智能合约的合约信息发生变化时,根据数据智能合约的内容通过数据管理接口查询数据列表,得到数据地址和关联合约地址;
根据所述合约名称、所述数据地址和所述关联合约地址生成所述数据智能合约。
2.根据权利要求1所述方法,其特征在于,所述根据数据智能合约的内容通过数据管理接口查询数据列表,得到数据地址和关联合约地址包括:
判断创建所述数据智能合约过程中使用的智能合约语言是否支持遍历所述数据列表中所有的与映射相关的值;
若所述智能合约语言不支持遍历所述数据列表中所有的与映射相关的所述值,则利用名称获取接口查询所述数据智能合约的所述内容,得到数据名称和关联合约名称;
通过数据地址获取接口根据所述数据名称查询所述数据列表,得到所述数据地址;
通过合约地址获取接口根据所述关联合约名称查询所述数据列表,得到所述关联合约地址。
3.根据权利要求2所述方法,其特征在于,在以太坊规范的虚拟机环境中,根据所述合约名称、所述数据地址和所述关联合约地址生成所述数据智能合约包括:
根据所述合约名称、所述数据地址、所述关联合约地址、所述数据名称和所述关联合约名称生成嵌套结构的所述数据智能合约。
4.根据权利要求3所述方法,其特征在于,所述根据业务需求创建所述数据智能合约得到合约名称包括:
根据所述业务需求生成代理合约,并将需要创建所述数据智能合约的数据发送给所述代理合约;
利用所述代理合约根据所述数据的所述业务需求创建所述数据智能合约,得到所述合约名称。
5.一种区块链中数据智能合约生成的系统,其特征在于,所述系统包括:
部署模块,用于根据业务需求创建所述数据智能合约得到合约名称;
获取模块,用于当所述数据智能合约的合约信息发生变化时,根据数据智能合约的内容通过数据管理接口查询数据列表,得到数据地址和关联合约地址;
生成模块,用于根据所述合约名称、所述数据地址和所述关联合约地址生成所述数据智能合约。
6.根据权利要求5所述系统,其特征在于,所述获取模块包括:
判断单元,用于判断创建所述数据智能合约过程中使用的智能合约语言是否支持遍历所述数据列表中所有的与映射相关的值;
名称查询单元,用于当所述智能合约语言不支持遍历所述数据列表中所有的与映射相关的所述值时,利用名称获取接口查询所述数据智能合约的所述内容,得到所述数据名称和所述关联合约名称;
数据查询单元,用于通过数据地址获取接口根据所述数据名称查询所述数据列表,得到所述数据地址;
关联查询单元,用于通过合约地址获取接口根据所述关联合约名称查询所述数据列表,得到所述关联合约地址。
7.根据权利要求6所述系统,其特征在于,在以太坊规范的虚拟机环境中,所述生成模块包括:
根据所述合约名称、所述数据地址、所述关联合约地址、所述数据名称和所述关联合约名称生成嵌套结构的所述数据智能合约。
8.根据权利要求7所述系统,其特征在于,所述部署模块包括:
代理单元,用于根据所述业务需求生成代理合约,并将需要创建所述数据智能合约的数据发送给所述代理合约;
创建单元,用于利用所述代理合约根据所述数据的所述业务需求创建所述数据智能合约,得到所述合约名称。
CN201711192099.XA 2017-11-24 2017-11-24 一种区块链中数据智能合约生成的方法及系统 Active CN107943950B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711192099.XA CN107943950B (zh) 2017-11-24 2017-11-24 一种区块链中数据智能合约生成的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711192099.XA CN107943950B (zh) 2017-11-24 2017-11-24 一种区块链中数据智能合约生成的方法及系统

Publications (2)

Publication Number Publication Date
CN107943950A true CN107943950A (zh) 2018-04-20
CN107943950B CN107943950B (zh) 2020-07-10

Family

ID=61948665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711192099.XA Active CN107943950B (zh) 2017-11-24 2017-11-24 一种区块链中数据智能合约生成的方法及系统

Country Status (1)

Country Link
CN (1) CN107943950B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769153A (zh) * 2018-05-15 2018-11-06 广东工业大学 一种网络应用的数据处理方法及系统
CN108874372A (zh) * 2018-06-20 2018-11-23 北京连琪科技有限公司 一种基于Scala的区块链合约实现方法及系统
CN108965398A (zh) * 2018-06-22 2018-12-07 北京格瑞空间科技有限公司 一种基于区块链的物联网设备的控制方法
CN109257454A (zh) * 2018-08-23 2019-01-22 深圳市元征科技股份有限公司 一种基于区块链的合约地址解析方法、装置、设备及介质
CN109495592A (zh) * 2019-01-11 2019-03-19 四川虹微技术有限公司 数据协同方法及电子设备
CN109584079A (zh) * 2018-11-29 2019-04-05 阿里巴巴集团控股有限公司 资源处理系统、资源项目申报的审批方法、装置及设备
CN109857811A (zh) * 2019-02-15 2019-06-07 上海优扬新媒信息技术有限公司 一种区块链数据管理方法及装置
CN110427379A (zh) * 2019-08-07 2019-11-08 北京艾摩瑞策科技有限公司 用户搜索关联数据的上链方法及其装置
CN110427776A (zh) * 2019-08-07 2019-11-08 北京艾摩瑞策科技有限公司 区块链上的电商关联数据处理方法及其装置
WO2020057388A1 (zh) * 2018-09-17 2020-03-26 深圳市元征科技股份有限公司 一种智能合约管理方法、系统、设备及计算机存储介质
CN110933163A (zh) * 2019-11-27 2020-03-27 腾讯科技(深圳)有限公司 区块链合约部署方法、装置、设备以及存储介质
CN111324645A (zh) * 2018-12-14 2020-06-23 北京沃东天骏信息技术有限公司 区块链的数据处理方法及装置
CN112214502A (zh) * 2020-08-28 2021-01-12 迅鳐成都科技有限公司 一种联盟链的用户合约部署方法、装置、系统及存储介质
CN112335214A (zh) * 2018-08-22 2021-02-05 环球互连及数据中心公司 智能合约解释器
WO2021042715A1 (zh) * 2019-09-04 2021-03-11 北京海益同展信息科技有限公司 用于开发智能合约的系统、方法和装置
US11636094B2 (en) 2019-10-16 2023-04-25 International Business Machines Corporation Chaincode recommendation based on existing chaincode
CN117172913A (zh) * 2023-10-12 2023-12-05 广州保德来小额贷款有限公司 一种基于智能合约的合约变更手续执行方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106651303A (zh) * 2016-12-02 2017-05-10 北京轻信科技有限公司 一种基于模板的智能合约处理方法和系统
CN106681739A (zh) * 2017-01-11 2017-05-17 杭州云象网络技术有限公司 一种智能合约的自动化生成方法
US20170140408A1 (en) * 2015-11-16 2017-05-18 Bank Of America Corporation Transparent self-managing rewards program using blockchain and smart contracts
CN106709704A (zh) * 2016-11-23 2017-05-24 杭州秘猿科技有限公司 一种基于许可链的智能合约升级方法
CN106919419A (zh) * 2017-02-03 2017-07-04 中钞信用卡产业发展有限公司北京智能卡技术研究院 区块链上的智能合约程序的更新方法及装置
CN107103473A (zh) * 2017-04-27 2017-08-29 电子科技大学 一种基于区块链的智能合约实现方法
CN107122993A (zh) * 2017-04-24 2017-09-01 杭州趣链科技有限公司 一种基于区块链的通用积分系统
CN107147704A (zh) * 2017-04-21 2017-09-08 杭州趣链科技有限公司 一种面向区块链的通用服务中间件系统
CN107274186A (zh) * 2017-05-11 2017-10-20 上海点融信息科技有限责任公司 在区块链中获得智能合约接口的方法和设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170140408A1 (en) * 2015-11-16 2017-05-18 Bank Of America Corporation Transparent self-managing rewards program using blockchain and smart contracts
CN106709704A (zh) * 2016-11-23 2017-05-24 杭州秘猿科技有限公司 一种基于许可链的智能合约升级方法
CN106651303A (zh) * 2016-12-02 2017-05-10 北京轻信科技有限公司 一种基于模板的智能合约处理方法和系统
CN106681739A (zh) * 2017-01-11 2017-05-17 杭州云象网络技术有限公司 一种智能合约的自动化生成方法
CN106919419A (zh) * 2017-02-03 2017-07-04 中钞信用卡产业发展有限公司北京智能卡技术研究院 区块链上的智能合约程序的更新方法及装置
CN107147704A (zh) * 2017-04-21 2017-09-08 杭州趣链科技有限公司 一种面向区块链的通用服务中间件系统
CN107122993A (zh) * 2017-04-24 2017-09-01 杭州趣链科技有限公司 一种基于区块链的通用积分系统
CN107103473A (zh) * 2017-04-27 2017-08-29 电子科技大学 一种基于区块链的智能合约实现方法
CN107274186A (zh) * 2017-05-11 2017-10-20 上海点融信息科技有限责任公司 在区块链中获得智能合约接口的方法和设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HIROKI WATANABE ET AL.: ""Blockchain contract: Securing a blockchain applied to smart contracts"", 《2016 IEEE INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS》 *
何蒲 等: ""区块链技术与应用前瞻综述"", 《计算机科学》 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769153B (zh) * 2018-05-15 2021-03-16 广东工业大学 一种网络应用的数据处理方法及系统
CN108769153A (zh) * 2018-05-15 2018-11-06 广东工业大学 一种网络应用的数据处理方法及系统
CN108874372A (zh) * 2018-06-20 2018-11-23 北京连琪科技有限公司 一种基于Scala的区块链合约实现方法及系统
CN108874372B (zh) * 2018-06-20 2020-01-24 北京连琪科技有限公司 一种基于Scala的区块链合约实现方法及系统
CN108965398B (zh) * 2018-06-22 2021-01-19 北京格瑞空间科技有限公司 一种基于区块链的物联网设备的控制方法
CN108965398A (zh) * 2018-06-22 2018-12-07 北京格瑞空间科技有限公司 一种基于区块链的物联网设备的控制方法
CN112335214A (zh) * 2018-08-22 2021-02-05 环球互连及数据中心公司 智能合约解释器
US11842322B2 (en) 2018-08-22 2023-12-12 Equinix, Inc. Smart contract interpreter
CN112335214B (zh) * 2018-08-22 2023-06-02 环球互连及数据中心公司 智能合约解释器
CN109257454A (zh) * 2018-08-23 2019-01-22 深圳市元征科技股份有限公司 一种基于区块链的合约地址解析方法、装置、设备及介质
WO2020057388A1 (zh) * 2018-09-17 2020-03-26 深圳市元征科技股份有限公司 一种智能合约管理方法、系统、设备及计算机存储介质
CN109584079A (zh) * 2018-11-29 2019-04-05 阿里巴巴集团控股有限公司 资源处理系统、资源项目申报的审批方法、装置及设备
CN111324645A (zh) * 2018-12-14 2020-06-23 北京沃东天骏信息技术有限公司 区块链的数据处理方法及装置
CN111324645B (zh) * 2018-12-14 2023-05-30 北京沃东天骏信息技术有限公司 区块链的数据处理方法及装置
CN109495592B (zh) * 2019-01-11 2021-11-23 四川虹微技术有限公司 数据协同方法及电子设备
CN109495592A (zh) * 2019-01-11 2019-03-19 四川虹微技术有限公司 数据协同方法及电子设备
CN109857811A (zh) * 2019-02-15 2019-06-07 上海优扬新媒信息技术有限公司 一种区块链数据管理方法及装置
CN109857811B (zh) * 2019-02-15 2022-08-26 度小满科技(北京)有限公司 一种区块链数据管理方法及装置
CN110427379A (zh) * 2019-08-07 2019-11-08 北京艾摩瑞策科技有限公司 用户搜索关联数据的上链方法及其装置
CN110427776A (zh) * 2019-08-07 2019-11-08 北京艾摩瑞策科技有限公司 区块链上的电商关联数据处理方法及其装置
WO2021042715A1 (zh) * 2019-09-04 2021-03-11 北京海益同展信息科技有限公司 用于开发智能合约的系统、方法和装置
US11636094B2 (en) 2019-10-16 2023-04-25 International Business Machines Corporation Chaincode recommendation based on existing chaincode
CN110933163B (zh) * 2019-11-27 2021-08-24 腾讯科技(深圳)有限公司 区块链合约部署方法、装置、设备以及存储介质
CN110933163A (zh) * 2019-11-27 2020-03-27 腾讯科技(深圳)有限公司 区块链合约部署方法、装置、设备以及存储介质
CN112214502A (zh) * 2020-08-28 2021-01-12 迅鳐成都科技有限公司 一种联盟链的用户合约部署方法、装置、系统及存储介质
CN112214502B (zh) * 2020-08-28 2023-07-07 迅鳐成都科技有限公司 一种联盟链的用户合约部署方法、装置、系统及存储介质
CN117172913A (zh) * 2023-10-12 2023-12-05 广州保德来小额贷款有限公司 一种基于智能合约的合约变更手续执行方法及系统
CN117172913B (zh) * 2023-10-12 2024-02-13 广州保德来小额贷款有限公司 一种基于智能合约的合约变更手续执行方法及系统

Also Published As

Publication number Publication date
CN107943950B (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
CN107943950A (zh) 一种区块链中数据智能合约生成的方法及系统
CN107733855B (zh) 一种可同时支持公有链、联盟链及私有链的区块链系统及应用方法
CN105608088B (zh) 一种基于配置文件的数据库自动创建与数据动态记录方法
JP5290271B2 (ja) チャネルツリー演算を実行する方法および装置
CN103810275B (zh) 用于非关系与关系型数据库间数据交互的方法和装置
CN103092906B (zh) 用于扩展节点的多客户通用保持
KR100293795B1 (ko) 분산형데이터베이스시스템및데이터엔티티액세스방법
CN109918472A (zh) 存储和查询数据的方法、装置、设备和介质
CN107743072A (zh) 高效可扩展的网络仿真场景生成方法
CN107908357B (zh) 命名数据网转发平面pit存储结构及其数据检索方法
CN108255614A (zh) 一种基于微服务架构的接口调用系统及方法
CN106155775B (zh) 消息处理方法、设备及系统
CN110351111A (zh) 一种订阅处理方法、网络节点及用户数据库
US8176097B2 (en) Maintaining data coherency within related multi-perspective user interfaces via session-less queries
EP2965492B1 (en) Selection of data storage settings for an application
CN107809332A (zh) 复合接口配置及复合接口调用方法、装置
CN109582458A (zh) 资源信息加载方法、装置、存储介质及处理器
CN106933891A (zh) 访问分布式数据库的方法和分布式数据服务的装置
CN107832448A (zh) 数据库操作方法、装置及设备
CN110019111A (zh) 数据处理方法、装置、存储介质以及处理器
US8392298B2 (en) Invoice adjustment data object for a common data object format
CN108228912A (zh) 一种业务数据的处理方法及相关装置
CN105468793A (zh) 一种仿真模型数据的自动化管理方法
CN105550333A (zh) 基于MongoDB的测试数据存储查询方法及系统
CN106776372B (zh) 基于fpga的仿真数据存取方法及装置

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