【技术实现步骤摘要】
智能合约对象的管理方法、装置、终端设备及存储介质
[0001]本申请实施例属于计算机
,特别是涉及一种智能合约对象的管理方法、装置、终端设备及存储介质。
技术介绍
[0002]智能合约是部署在区块链系统上用于对区块链账本中的数据进行操作的程序。部署在区块链系统上的智能合约常由Go语言,node.js语言或Java语言等编程语言编写而成。智能合约执行引擎在执行合约交易时,会向装载了智能合约引擎的计算机设备申请大量内存用于创建智能合约对象。由于创建的智能合约数据仅用于当前的智能合约执行过程,且无用的智能合约数据并不会在执行完一次智能合约后立即得到释放。无用的智能合约数据需要等待系统内存达到垃圾回收条件,触发系统进行垃圾回收时,才会被清理。因此在合约交易完成后,大量的智能合约数据会成为无用数据占据大量内存。因此在现有技术中,智能合约引擎在执行合约交易时,会不断地申请新内存用于创建一次性的智能合约数据,因此常导致计算机设备的内存利用率低下。
技术实现思路
[0003]有鉴于此,本申请实施例提供了一种智能合约对象 ...
【技术保护点】
【技术特征摘要】
1.一种智能合约对象的管理方法,其特征在于,包括:当接收到用户发起的关于智能合约的执行指令时,基于所述执行指令判断智能合约对象的对象类型;根据所述智能合约对象的对象类型,在数据空间中创建多个智能合约对象;所述数据空间用于存储所述智能合约关联的所述智能合约对象;执行完成所述智能合约后释放所述数据空间。2.根据权利要求1所述的方法,其特征在于,所述对象类型包括用于确定所述智能合约的执行逻辑的第一对象类型;所述数据空间包括缓存池;根据所述智能合约对象的对象类型,在数据空间中创建多个智能合约对象,包括:若所述智能合约对象的对象类型为所述第一对象类型,则判断所述缓存池中是否包含所述智能合约对象对应的可复用对象;所述缓存池中存储的所述可复用对象用于执行相同的所述智能合约;若所述缓存池中不包含所述对象类型为第一对象类型的智能合约对象对应的可复用对象,则将所述可复用对象存入所述缓存池。3.根据权利要求2所述的方法,其特征在于,在所述若所述智能合约对象的对象类型为所述第一对象类型,则判断所述缓存池中是否包含所述智能合约对象对应的可复用对象之后,还包括若所述缓存池中包含所述对象类型为第一对象类型的智能合约对象对应的可复用对象,则通过存储于所述缓存池内的所述可复用对象执行所述智能合约。4.根据权利要求2所述的方法,其特征在于,所述智能合约对象包括对象唯一标识,所述判断所述缓存池中是否包含所述对象类型为第一对象类型的第一智能合约对象,包括:获取各个所述对象类型为第一对象类型的智能合约对象相应的所述对象唯一标识;所述对象唯一标识用于区分各个执行逻辑不同的所述智能合约对象;基于所述对象唯一标识判断所述缓存池中是否包含所述智能合约对象对应的可复用对象。5.根据权利要求1所述的方法,其特征在于,所述对象类型包括用于表示所述智能合约的交易信息的第二对象类型,所述数据空间还包括内存空间,所述根据所述智能合约对象的对象类型,将所述智能合约对象写入所述数据空间,并通过存储于所述数据空间内的所述智能合约对象执行所述智能合约,还包括:若所述智能合约对象的对象类型为所述第二对象类型,则在所述内存空间中创建所述对象类型为第二对象类型的第二智能合约对象。6.根据...
【专利技术属性】
技术研发人员:黄方蕾,邱炜伟,王文强,尚璇,张珂杰,
申请(专利权)人:杭州趣链科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。