CN111160911A - 一种面向区块链的智能合约调用频率控制方法 - Google Patents
一种面向区块链的智能合约调用频率控制方法 Download PDFInfo
- Publication number
- CN111160911A CN111160911A CN201911424044.6A CN201911424044A CN111160911A CN 111160911 A CN111160911 A CN 111160911A CN 201911424044 A CN201911424044 A CN 201911424044A CN 111160911 A CN111160911 A CN 111160911A
- Authority
- CN
- China
- Prior art keywords
- calling
- contract
- frequency
- communication delay
- block chain
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000004891 communication Methods 0.000 claims abstract description 46
- 230000003247 decreasing effect Effects 0.000 claims abstract description 4
- 230000001934 delay Effects 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing 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)中,调用频率的动态调整有最高的限制,其限制的上界应根据当前区块链服务所能承受调用频率的极限值来进行设定。
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 true CN111160911A (zh) | 2020-05-15 |
CN111160911B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422535A (zh) * | 2022-01-18 | 2022-04-29 | 网易(杭州)网络有限公司 | 区块链中部署合约的方法、装置、计算机设备及存储介质 |
CN114500119A (zh) * | 2022-04-15 | 2022-05-13 | 恒生电子股份有限公司 | 区块链服务的调用方法和装置 |
Citations (9)
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 | 上海点融信息科技有限责任公司 | 用于在区块链网络中统计用户智能合约的方法和装置 |
US20190324772A1 (en) * | 2017-07-31 | 2019-10-24 | Zhongan Information Technology Service Co., Ltd. | Method and device for processing smart contracts |
CN110602133A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 智能合约处理方法、区块链管理设备及存储介质 |
CN110599183A (zh) * | 2019-06-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 智能合约调用方法、装置及存储介质 |
-
2019
- 2019-12-31 CN CN201911424044.6A patent/CN111160911B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105765932A (zh) * | 2013-11-25 | 2016-07-13 | 谷歌公司 | 调整个人电子设备和外部服务之间重业务负荷的方法和系统 |
CN106408299A (zh) * | 2016-08-31 | 2017-02-15 | 江苏买卖网电子商务有限公司 | 一种基于区块链技术的电子智能签约支付方法 |
US20190324772A1 (en) * | 2017-07-31 | 2019-10-24 | Zhongan Information Technology Service Co., Ltd. | Method and device for processing smart contracts |
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)
Title |
---|
朱立 等: "高性能联盟区块链技术研究", 《软件学报》, pages 1577 - 1593 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114422535A (zh) * | 2022-01-18 | 2022-04-29 | 网易(杭州)网络有限公司 | 区块链中部署合约的方法、装置、计算机设备及存储介质 |
CN114422535B (zh) * | 2022-01-18 | 2024-04-09 | 网易(杭州)网络有限公司 | 区块链中部署合约的方法、装置、计算机设备及存储介质 |
CN114500119A (zh) * | 2022-04-15 | 2022-05-13 | 恒生电子股份有限公司 | 区块链服务的调用方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111160911B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108805702B (zh) | 基于区块链的交易缓冲/加速方法及区块链交易处理系统 | |
CN111160911B (zh) | 一种面向区块链的智能合约调用频率控制方法 | |
US7548969B2 (en) | Computer system polling with adjustable intervals based on rules and server states | |
CN101513013B (zh) | 下一代网络中用于过载控制的系统和方法 | |
US8301736B2 (en) | Method for selecting and configuring network supernodes | |
US20030126196A1 (en) | System for optimizing the invocation of computer-based services deployed in a distributed computing environment | |
CN102655503A (zh) | 使用共享资源池的资源分配 | |
CN109933431B (zh) | 一种智能的客户端负载均衡方法及系统 | |
CN110166641B (zh) | 动态的预测式智能自动外呼系统算法 | |
CN102467411A (zh) | 一种工作流处理及工作流代理方法、装置和系统 | |
CN101741690B (zh) | 一种业务接口流量的控制方法及网关 | |
CN105975614B (zh) | 一种集群配置装置、一种更新数据的方法及装置 | |
CN108540400A (zh) | 一种数据传输控制方法、控制装置、终端及可读存储介质 | |
US6205212B1 (en) | Method and apparatus for implementing software objects in an intelligent communication network to process and control communication traffic | |
CN101753435A (zh) | 一种实现策略决策的方法及系统 | |
MXPA00000525A (es) | Sistema y metodo para detectar sobrecarga en un servicio de punto de control de una red de telecomunicaciones. | |
CN107491455A (zh) | 一种分布式系统中的读取方法及装置 | |
CN115378879A (zh) | 数据控制方法及相关装置 | |
CN102710528A (zh) | 终端和终端套接字调整方法 | |
CN112835717A (zh) | 一种用于集群的集成应用处理方法和装置 | |
CN1332531C (zh) | 一种动态调整业务管理点系统服务性能的方法 | |
CN113467969A (zh) | 一种处理消息堆积的方法 | |
CN116630034B (zh) | 一种风控数据处理系统及方法 | |
CN112214268A (zh) | 一种基于Redis的限流方法 | |
CN103297926B (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 |