CN111160911B - 一种面向区块链的智能合约调用频率控制方法 - Google Patents

一种面向区块链的智能合约调用频率控制方法 Download PDF

Info

Publication number
CN111160911B
CN111160911B CN201911424044.6A CN201911424044A CN111160911B CN 111160911 B CN111160911 B CN 111160911B CN 201911424044 A CN201911424044 A CN 201911424044A CN 111160911 B CN111160911 B CN 111160911B
Authority
CN
China
Prior art keywords
frequency
calling
contract
round
communication delay
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
CN201911424044.6A
Other languages
English (en)
Other versions
CN111160911A (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.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology 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 Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN201911424044.6A priority Critical patent/CN111160911B/zh
Publication of CN111160911A publication Critical patent/CN111160911A/zh
Application granted granted Critical
Publication of CN111160911B publication Critical patent/CN111160911B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

本发明公开了一种面向区块链的智能合约调用频率控制方法,该方法首先在合约调用方,将调用频率设定为区块链服务调用合约允许的最大频率,并用计时器记录调用方每次调用合约所用的来回通信延迟。然后记录若干次的来回通信延迟后,计算当前批次来回通信延迟的平均值和方差,按照来回通信延迟的平均值和方差的波动情况来决定客户端的调用频率是提高、降低还是不变。重复步骤上述过程,动态调整调用方的合约调用频率,并保证调用频率不超过区块链服务调用合约允许的最大频率。本发明提出了一种区块链的智能合约调用频率的调整策略,提高了智能合约在区块链上的运行的稳定性。

Description

一种面向区块链的智能合约调用频率控制方法
技术领域
本发明涉及区块链技术、智能合约,尤其涉及一种面向区块链的智能合约调用频率控制方法。
背景技术
区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,用于存储区块链网络上所有用户的余额,公共账本位于存储区块上任何节点可见,从而保证其不可伪造和篡改。
智能合约,区块链上的智能合约是指由solidity编写和编译并运行与区块链上的一串二进制代码,我们可以通过智能合约实现在区块链上的数据存储、读写以及一些逻辑操作,因此一些基于区块链的应用是利用智能合约完成的。
发明内容
本发明的目的是针对现有区块链技术的不足,提供一种面向区块链的智能合约调用频率控制方法。
由于区块链技术本身,并不具备合约调用频率控制的方法,在高并发调用合约的情况下,区块链容易进入不稳定的状态,甚至可能导致整体服务的不可用,这个时候需要对合约的调用频率进行控制,让区块链集群能尽可能的稳定运行。
本发明的目的是通过以下技术来实现的:一种面向区块链的智能合约调用频率控制方法,包括如下步骤:
1)在合约调用方,将调用频率设定为区块链服务调用合约允许的最大频率。
2)在合约调用方,用计时器记录调用方每次调用合约所用的来回通信延迟。
3)在合约调用方,记录若干次的来回通信延迟后,计算当前批次来回通信延迟的平均值和方差。
4)将当前批次的平均值和上一批次的来回通信延迟的平均值进行比较;
如果当前批次的来回通信延迟平均值要高于上一批次的平均值的20%及以上,则在调用方当前设定调用频率的基础上减少合约调用的频率,返回步骤2);如果当前批次的来回通信延迟平均值要低于上一批次的平均值的20%及以上,则在调用方当前设定调用频率的基础上增加合约的调用频率,返回步骤2);如果不满足上述条件则执行步骤5)。
5)将当前批次的通信延迟方差和上一批次的来回通信延迟的方差进行比较,如果当前批次的来回通信延迟的方差比上一批次的来回通信延迟的方差高于20%及以上,则降低调用方的合约调用频率,否则,调用方合约调用频率不调整。
6)重复步骤2)到5),动态调整调用方的合约调用频率,并保证调用频率不超过步骤1)中的区块链服务调用合约允许的最大频率。
进一步地,所述步骤2)中,将调用方调用合约的来回通信延迟的在客户端按批次保存,用于记录调用智能合约的来回通信延迟的变化。
进一步地,所述步骤4)和步骤5)中,按照来回通信延迟的平均值和方差的波动情况来决定客户端的调用频率是提高、降低还是不变。
进一步地,所述步骤6)中,调用频率的动态调整有最高的限制,其限制的上界应根据当前区块链服务所能承受调用频率的极限值来进行设定。
本发明的有益效果是:本发明主要是通过通信来回延迟在调用方进行调用频率的控制,这对区块链共识算法本身无任何改造。同时本发明还兼顾了公平性,在有多调用方的时候,各个调用方可以通过通信来回延迟来感知当前区块链的负载,然后各自来进行自身的调用频率,而无须在区块链服务上去计算调用频率的分配。本发明有效地的解决了智能合约调用频率控制的问题。
附图说明
图1为面向区块链的智能合约调用频率控制方法流程。
具体实施方式
下面根据附图和具体实施详细描述本发明,本发明的目的和效果变得更加明显。
如图1所示,一种面向区块链的智能合约调用频率控制方法,包括如下步骤:
1)在合约调用方,将调用频率设定为区块链服务调用合约允许的最大频率。
2)在合约调用方,用计时器记录调用方每次调用合约所用的来回通信延迟,并将调用方调用合约的来回通信延迟的在客户端按批次保存,用于记录调用智能合约的来回通信延迟的变化。
3)在合约调用方,记录若干次的来回通信延迟后,计算当前批次来回通信延迟的平均值和方差。
4)按照来回通信延迟的平均值的波动情况来决定客户端的调用频率是提高、降低。具体为:将当前批次的平均值和上一批次的来回通信延迟的平均值进行比较;如果当前批次的来回通信延迟平均值要高于上一批次的平均值的20%及以上,则在调用方当前设定调用频率的基础上减少合约调用的频率,返回步骤2);如果当前批次的来回通信延迟平均值要低于上一批次的平均值的20%及以上,则在调用方当前设定调用频率的基础上增加合约的调用频率,返回步骤 2);如果不满足上述条件则执行步骤5)。
5)按照来回通信延迟的方差的波动情况来决定客户端的调用频率是降低还是不变。具体为:将当前批次的通信延迟方差和上一批次的来回通信延迟的方差进行比较,如果当前批次的来回通信延迟的方差比上一批次的来回通信延迟的方差高于20%及以上,则降低调用方的合约调用频率,否则,调用方合约调用频率不调整。
6)重复步骤2)到5),动态调整调用方的合约调用频率,调用频率的动态调整有最高的限制,其限制的上界应根据当前区块链服务所能承受调用频率的极限值来进行设定。
实施例:
某一个客户端需要智能调用合约,现在有一个区块链集群,已知这个区块链集群支持的最大调用率为M,此时在客户端预设调用频率为M。
客户端开始向区块链集群发送合约调用请求,并记录每一次调用合约的来回延迟,在调用A次后,开始统计这一批次的来回延迟的平均值和方差。
如果区块链集群处于繁忙状态,那么这一批次的调用频率的平均值会比上一次批次的平均值要高,所以客户端需要降低自己的调用频率;如果区块链从繁忙状态变为空闲状态,那么处理每次合约请求的时间将会变短,那么最新批次的调用来回延迟的平均值将会降低,那么客户端就可以提高自己的调用频率以最大限度的利用区块链的服务资源;如果当前批次和上一次的平均值的偏差在20%以内,客户端就还需检查来回延迟的方差,以确定来回延迟的波动程度,方差波动超过20%则说明当前区块链服务器不能提供稳定的服务,则客户端需要降低调用频率,用来降低区块链服务集群的服务压力,否则说明区块链服务区集群负载没有变化,则客户端不调整自己的调用频率。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

Claims (4)

1.一种面向区块链的智能合约调用频率控制方法,其特征在于,包括如下步骤:
1)在合约调用方,将调用频率设定为区块链服务调用合约允许的最大频率;
2)在合约调用方,用计时器记录调用方每次调用合约所用的来回通信延迟;
3)在合约调用方,记录若干次的来回通信延迟后,计算当前批次来回通信延迟的平均值和方差;
4)将当前批次的平均值和上一批次的来回通信延迟的平均值进行比较;如果当前批次的来回通信延迟平均值要高于上一批次的平均值的20%及以上,则在调用方当前设定调用频率的基础上减少合约调用的频率,返回步骤2);如果当前批次的来回通信延迟平均值要低于上一批次的平均值的20%及以上,则在调用方当前设定调用频率的基础上增加合约的调用频率,返回步骤2);如果不满足上述条件则执行步骤5);
5)将当前批次的通信延迟方差和上一批次的来回通信延迟的方差进行比较,如果当前批次的来回通信延迟的方差比上一批次的来回通信延迟的方差高于20%及以上,则降低调用方的合约调用频率,否则,调用方合约调用频率不调整;
6)重复步骤2)到5),动态调整调用方的合约调用频率,并保证调用频率不超过步骤1)中的区块链服务调用合约允许的最大频率。
2.如权利要求1所述的一种面向区块链的智能合约调用频率控制方法,其特征在于,所述步骤2)中,将调用方调用合约的来回通信延迟的在客户端按批次保存,用于记录调用智能合约的来回通信延迟的变化。
3.如权利要求1所述的一种面向区块链的智能合约调用频率控制方法,其特征在于,所述步骤4)和步骤5)中,按照来回通信延迟的平均值和方差的波动情况来决定客户端的调用频率是提高、降低还是不变。
4.如权利要求1所述的一种面向区块链的智能合约调用频率控制方法,其特征在于,所述步骤6)中,调用频率的动态调整有最高的限制,其限制的上界应根据当前区块链服务所能承受调用频率的极限值来进行设定。
CN201911424044.6A 2019-12-31 2019-12-31 一种面向区块链的智能合约调用频率控制方法 Active CN111160911B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911424044.6A CN111160911B (zh) 2019-12-31 2019-12-31 一种面向区块链的智能合约调用频率控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911424044.6A CN111160911B (zh) 2019-12-31 2019-12-31 一种面向区块链的智能合约调用频率控制方法

Publications (2)

Publication Number Publication Date
CN111160911A CN111160911A (zh) 2020-05-15
CN111160911B true CN111160911B (zh) 2023-10-24

Family

ID=70560675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911424044.6A Active CN111160911B (zh) 2019-12-31 2019-12-31 一种面向区块链的智能合约调用频率控制方法

Country Status (1)

Country Link
CN (1) CN111160911B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422535B (zh) * 2022-01-18 2024-04-09 网易(杭州)网络有限公司 区块链中部署合约的方法、装置、计算机设备及存储介质
CN114500119B (zh) * 2022-04-15 2022-08-26 恒生电子股份有限公司 区块链服务的调用方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105765932A (zh) * 2013-11-25 2016-07-13 谷歌公司 调整个人电子设备和外部服务之间重业务负荷的方法和系统
CN106408299A (zh) * 2016-08-31 2017-02-15 江苏买卖网电子商务有限公司 一种基于区块链技术的电子智能签约支付方法
CN107943580A (zh) * 2017-11-13 2018-04-20 上海点融信息科技有限责任公司 用于管理区块链节点处的用户智能合约的方法以及设备
CN108009823A (zh) * 2017-11-03 2018-05-08 厦门快商通信息技术有限公司 基于区块链智能合约的分布式算力资源的调用方法和系统
CN108510389A (zh) * 2018-03-30 2018-09-07 深圳前海微众银行股份有限公司 基于区块链的智能合约调用方法、设备及可读存储介质
CN109117629A (zh) * 2018-09-06 2019-01-01 上海点融信息科技有限责任公司 用于在区块链网络中统计用户智能合约的方法和装置
CN110602133A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 智能合约处理方法、区块链管理设备及存储介质
CN110599183A (zh) * 2019-06-20 2019-12-20 腾讯科技(深圳)有限公司 智能合约调用方法、装置及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107392619B (zh) * 2017-07-31 2020-12-29 众安信息技术服务有限公司 智能合约处理方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105765932A (zh) * 2013-11-25 2016-07-13 谷歌公司 调整个人电子设备和外部服务之间重业务负荷的方法和系统
CN106408299A (zh) * 2016-08-31 2017-02-15 江苏买卖网电子商务有限公司 一种基于区块链技术的电子智能签约支付方法
CN108009823A (zh) * 2017-11-03 2018-05-08 厦门快商通信息技术有限公司 基于区块链智能合约的分布式算力资源的调用方法和系统
CN107943580A (zh) * 2017-11-13 2018-04-20 上海点融信息科技有限责任公司 用于管理区块链节点处的用户智能合约的方法以及设备
CN108510389A (zh) * 2018-03-30 2018-09-07 深圳前海微众银行股份有限公司 基于区块链的智能合约调用方法、设备及可读存储介质
CN109117629A (zh) * 2018-09-06 2019-01-01 上海点融信息科技有限责任公司 用于在区块链网络中统计用户智能合约的方法和装置
CN110599183A (zh) * 2019-06-20 2019-12-20 腾讯科技(深圳)有限公司 智能合约调用方法、装置及存储介质
CN110602133A (zh) * 2019-09-20 2019-12-20 腾讯科技(深圳)有限公司 智能合约处理方法、区块链管理设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高性能联盟区块链技术研究;朱立 等;《软件学报》;1577-1593 *

Also Published As

Publication number Publication date
CN111160911A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN111160911B (zh) 一种面向区块链的智能合约调用频率控制方法
CN109144414B (zh) 区块链数据的多级存储方法和装置
US7548969B2 (en) Computer system polling with adjustable intervals based on rules and server states
US8301736B2 (en) Method for selecting and configuring network supernodes
CN112165436B (zh) 流量控制方法、装置及系统
JP2003528365A (ja) パーシスタンスベクトルに基づいてレートを割り当てるための方法及びシステム
CN110166641B (zh) 动态的预测式智能自动外呼系统算法
CN109814994A (zh) 一种动态调度线程池的方法及终端
CN102137091B (zh) 一种过负荷控制方法、装置、系统及客户端
CN101741690B (zh) 一种业务接口流量的控制方法及网关
CN105975614B (zh) 一种集群配置装置、一种更新数据的方法及装置
CN109801425B (zh) 面签业务中队列轮询提示方法、装置、设备及存储介质
CN108540400A (zh) 一种数据传输控制方法、控制装置、终端及可读存储介质
CN101951571A (zh) 短消息重试方法及短消息网关
MXPA00000525A (es) Sistema y metodo para detectar sobrecarga en un servicio de punto de control de una red de telecomunicaciones.
CN107491455A (zh) 一种分布式系统中的读取方法及装置
CN110489444B (zh) 一种异步查询方法、装置、计算机设备及存储介质
CN111209074B (zh) 浏览器视图加载方法、装置、系统及服务器
CN116630034B (zh) 一种风控数据处理系统及方法
CN102710528A (zh) 终端和终端套接字调整方法
CN112328387A (zh) 一种面向多租户的微服务资源调度方法
CN112214268A (zh) 一种基于Redis的限流方法
CN116566991A (zh) 多链跨链场景下的链间交互负载动态调控方法及系统
KR20050063852A (ko) 동적 부하 분산 시스템 및 그 방법
CN113271265B (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