CN116382702B - 智能合约热点探测方法、装置、电子设备和存储介质 - Google Patents
智能合约热点探测方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116382702B CN116382702B CN202310660094.4A CN202310660094A CN116382702B CN 116382702 B CN116382702 B CN 116382702B CN 202310660094 A CN202310660094 A CN 202310660094A CN 116382702 B CN116382702 B CN 116382702B
- Authority
- CN
- China
- Prior art keywords
- time period
- detection time
- hot spot
- detection
- intelligent contract
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 294
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000000737 periodic effect Effects 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 21
- 239000000523 sample Substances 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 201000010041 presbyopia Diseases 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及区块链技术领域,提供了一种智能合约热点探测方法、装置、电子设备和存储介质,所述方法包括:获取热点探测时间周期,所述热点探测时间周期包括多个探测时间段;在所述探测时间段开始之前,在所述探测时间段对应的探测时间窗口内对每个智能合约分别进行热点预探测,得到所述探测时间段的预测热点智能合约;将所述预测热点智能合约的编译等级调整为提前编译模式。采用本方法能够提高智能合约执行效率。
Description
技术领域
本发明属于区块链技术领域,尤其涉及一种智能合约热点探测方法、装置、电子设备和存储介质。
背景技术
智能合约本质上是一段可由计算机执行的程序。智能合约与现在广泛使用的计算机程序一样,可以通过高级语言(如:c、c++)编写而成。由高级语言编写好的智能合约程序代码,一般可以通过“编译器”转换为计算机的CPU可以识别和运行的“机器码”,进而可以由CPU执行这样的机器码。
目前,智能合约现有常用的调用方式为字节码解释执行。然而,由于解释执行不依赖于平台,编译器会根据不同的平台进行解析。并且,与编译执行将高级语言翻译为机器码不同,解释执行根据输入的源程序,每解释一句便提交计算机执行一句,不生成完整的机器码。因此,解释执行的运行速度较慢,使得智能合约执行效率比较低下。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高智能合约执行效率的智能合约热点探测方法、装置、电子设备和存储介质。
本发明提供一种智能合约热点探测方法,包括:
获取热点探测时间周期,所述热点探测时间周期包括多个探测时间段;
在所述探测时间段开始之前,在所述探测时间段对应的探测时间窗口内对每个智能合约分别进行热点预探测,得到所述探测时间段的预测热点智能合约;
将所述预测热点智能合约的编译等级调整为提前编译模式。
在其中一个实施例中,所述在所述探测时间段对应的探测时间窗口内对每个智能合约分别进行热点预探测,得到所述探测时间段的预测热点智能合约,包括:
根据预设的探测窗口长度确定所述探测时间段对应的探测时间窗口,所述探测时间窗口包括至少一个前序探测时间段;其中,所述前序探测时间段是所述探测时间段之前的探测时间段;
根据所述智能合约在所述探测时间窗口内各所述前序探测时间段的历史实际调用概率,预测所述智能合约在所述探测时间段内的预测调用概率;
根据所述预测调用概率筛选所述探测时间段的预测热点智能合约。
在其中一个实施例中,所述根据所述智能合约在所述探测时间窗口内各所述前序探测时间段的历史实际调用概率,预测所述智能合约在所述探测时间段内的预测调用概率,包括:
将所述智能合约在所述前序探测时间段内的调用次数与对应所述前序探测时间段内的智能合约总调用次数的比值,作为所述智能合约在所述前序探测时间段内的历史实际调用概率;
分别计算所述智能合约的各所述历史实际调用概率与对应所述前序探测时间段的时间段系数的乘积;
将所述智能合约的各所述乘积求和,作为所述智能合约在所述探测时间段内的预测调用概率。
在其中一个实施例中,所述在所述探测时间段对应的探测时间窗口内对每个智能合约分别进行热点预探测,得到所述探测时间段的预测热点智能合约之后,还包括:
根据周期热点智能合约集更新所述探测时间段的预测热点智能合约;其中,所述周期热点智能合约集包括所述热点探测时间周期对应上一个热点探测时间周期内所有探测时间段的预测热点智能合约。
在其中一个实施例中,所述根据周期热点智能合约集更新所述探测时间段的预测热点智能合约,包括:
将包括在所述周期热点智能合约集中的所述智能合约的预测调用概率与周期调用概率因子相加,得到对应所述智能合约新的预测调用概率;
根据所述智能合约新的预测调用概率重新筛选所述探测时间段的预测热点智能合约。
在其中一个实施例中,所述方法还包括:
在所述探测时间段结束后,计算各所述智能合约在所述探测时间段内的实际调用概率,根据所述实际调用概率筛选所述探测时间段的实际热点智能合约;
利用异或运算计算所述探测时间段的所述实际热点智能合约与所述预测热点智能合约的差异数量;
根据所述差异数量调整周期性调用概率因子和时间段系数。
在其中一个实施例中,所述方法还包括:根据每个所述智能合约的执行时长和执行频率,分别为各所述智能合约划分对应的热点探测时间周期和探测窗口长度。
一种智能合约热点探测装置,包括:
配置模块,用于获取热点探测时间周期,所述热点探测时间周期包括多个探测时间段;
预测模块,用于在所述探测时间段开始之前,在所述探测时间段对应的探测时间窗口内对每个智能合约分别进行热点预探测,得到所述探测时间段的预测热点智能合约;
编译调整模块,用于将所述预测热点智能合约的编译等级调整为提前编译模式。
本发明还提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器存储由计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的智能合约热点探测方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的智能合约热点探测方法的步骤。
上述智能合约热点预测方法、装置、电子设备和存储介质,通过获取包括多个探测时间段的热点探测时间周期,在探测时间段开始之前,在探测时间段对应的探测时间窗口内对每个智能合约分别进行热点预探测,得到探测时间段的预测热点智能合约,然后将预测热点智能合约的编译等级调整为提前编译模式。该方法通过在特定时间窗口内进行热点预探测实现热点智能合约的提前编译,降低热点探测复杂度的同时,使得热点智能合约被调用时可以直接执行无需再解释执行,提高执行效率。
附图说明
图1为一个实施例中智能合约热点探测方法的流程示意图。
图2为一个实施例中热点探测时间周期P与探测窗口长度W的关系示意图。
图3为另一个实施例中智能合约热点探测方法的流程示意图。
图4为一个实施例中智能合约热点探测装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在一个实施例中,如图1所示,提供一种智能合约热点探测方法,包括步骤S101,S102和S104。
S101,获取热点探测时间周期,热点探测时间周期包括多个探测时间段。
具体的,热点探测时间周期P是根据实际探测需求划分的探测时间间隔。探测时间段是热点探测周期中的时间段,通过把热点探测周期划分为成时间段得到,所有的探测时间段组成热点探测时间周期。
示例性的,根据探测周期需求,热点探测时间周期P可以是天、周、月等,进而可以把天/周/月等划分为T个时间段,T={t1,t2,t3,……tT}。然后,在每个时间段t内执行本申请实施例所提供的智能合约热点探测方法。
S102,在探测时间段开始之前,在探测时间段对应的探测时间窗口内对每个智能合约分别进行热点预探测,得到探测时间段的预测热点智能合约。
其中,探测时间窗口是对智能合约进行热点探测的时间区间,可以理解为基于探测时间窗口内每个智能合约的调用情况来进行智能合约热点预探测。热点预探测是指在探测时间段开始之前预测该探测该时间段内的热点智能合约。
具体的,当确定智能合约的热点探测时间周期P后,在该热点探测时间周期P内任意一个探测时间段t开始之前,均基于该探测时间段t对应的探测时间窗口内各智能合约的调用情况,即智能合约在探测时间窗口内的历史调用情况,预测该探测时间段t内的热点智能合约,得到预测热点智能合约。
在一个实施例中,S102包括:根据预设的探测窗口长度确定探测时间段对应的探测时间窗口,探测时间窗口包括至少一个前序探测时间段;其中,前序探测时间段是探测时间段之前的探测时间段;根据智能合约在探测时间窗口内各前序探测时间段的历史实际调用概率,预测智能合约在探测时间段内的预测调用概率;根据预测调用概率筛选探测时间段的预测热点智能合约。
具体的,预测探测时间段t的热点智能合约的过程,首先根据预设的探测窗口长度W确定该探测时间段t对应的探测时间窗口。也就是,将W个探测时间段内的智能合约调用情况作为一个分析对象,在该时间区间内进行热点探测。并且,由于是基于历史情况预测,所以该探测时间段t对应探测时间窗口所包括的探测时间段可以理解为是该探测时间段t的前序探测时间段。其中,W可以根据实际需求设定,在此不做限定。
如图2所示,提供一种热点探测时间周期P与探测窗口长度W的关系示意图。参考图2,假设W=3,则本周期内时间段t2对应的探测时间窗口包括对应上一个热点探测周期最后两个探测时间段tT-1,tT,以及本周期内的时间段t1。而t4对应的探测时间窗口则直接包括本周期内时间段t1,t2和t3。
然后,根据智能合约在探测时间窗口内各前序探测时间段的历史实际调用概率,预测该智能合约在该探测时间段t内的调用概率,得到预测调用概率。其中,历史实际调用概率是智能合约在前序探测时间段内的实际调用概率。预测调用概率则是基于历史实际调用概率预测的当前可能的调用概率。例如,以智能合约C1和探测时间段t4为例,则是根据智能合约C1在前序探测时间段t1,t2和t3内的历史实际调用概率,预测智能合约C1在探测时间段t4内的调用概率,即预测调用概率。
在一个实施例中,根据智能合约在探测时间窗口内各前序探测时间段的历史实际调用概率,预测智能合约在探测时间段内的预测调用概率,包括:将智能合约在前序探测时间段内的调用次数与对应前序探测时间段内的智能合约总调用次数的比值,作为智能合约在前序探测时间段内的历史实际调用概率;分别计算智能合约的各历史实际调用概率与对应前序探测时间段的时间段系数的乘积;将智能合约的各乘积求和,作为智能合约在探测时间段内的预测调用概率。
具体的,智能合约在探测时间段内的实际调用概率为该智能合约在该探测时间段内的调用次数与该探测时间段内所有智能合约总调用次数的比值。因此,智能合约的历史实际调用概率为在前序探测时间段内的调用次数与该前序探测时间段内的智能合约总调用次数。例如,在前序探测时间段的期间,所有智能合约被调用的总次数为10次,而其中智能合约C1被调用的次数为2,则智能合约C1的历史实际调用概率为0.2。基于此,计算智能合约在探测时间窗口中每个前序探测时间段的历史实际调用率。
示例性,假设当前探测时间段为t,该时间段内N个智能合约的预测调用概率根据前W个时间段的历史实际调用概率计算。即,在第t-W期,N个智能合约的历史实际调用概率为:
其中,Invoke表示智能合约的调用次数,下标t-W表示第t-W个探测时间段,上标Ci表示第i个智能合约。同理,第t-W+1个探测时间段的智能合约的历史实际调用概率记为:
依次计算每一个前序探测时间段内智能合约的历史实际调用概率,直至第t-1个探测时间段内智能合约实际调用概率记为:
进而,根据探测时间段前W个时间段内智能合约的历史实际调用概率以及各探测时间段对应的时间段系数α,计算该智能合约的在该探测时间段t的预测调用概率。计算公式如下:
其中,。/>表示预测的探测时间段t中智能合约Ci的调用概率。所有N个智能合约的预测调用概率表示如下:
最后,根据所有智能合约的预测调用概率,筛选一定数量的智能合约作为该探测时间段t内的预测热点智能合约。其中,由于存储与执行智能合约节点的内存空间有限,一般来说节点仅能够存储一部分智能合约编译形成的机器码以供执行智能合约时直接调用。所以,当网络中智能合约总量为N时,根据预测调用概率从N个智能合约中选取m个热点智能合约,而后进入S103。其中,m的设置基于内存空间的大小,当内存空间较大时可以选取较多的热点智能合约机器码进行存储。当内存空间较小时,为节约资源,可选取较少的热点智能合约机器码进行存储。
S104,将预测热点智能合约的编译等级调整为提前编译模式。
具体的,确定预测热点智能合约后,将所有的预测热点智能合约的编译等级调整为提前编译模式AOT。即,对于筛选出的m个热点智能合约,将编译等级提升为AOT模式,在节点处于空闲状态时将这m个智能合约编译成机器码并存储在内存空间中,方便随时调用。若节点内存中已经存储其中一些智能合约的机器码,则该智能合约不用再编译。
上述智能合约热点预测方法,通过在特定时间窗口内进行热点预探测实现热点智能合约的提前编译,而不是在智能合约整个的历史情况进行热点探测,降低热点探测复杂度的同时,使得预测的热点智能合约被调用时可以直接执行无需再解释执行,提高执行效率。以及,使用与当前时间段最接近的W个时间段的智能合约调用情况作为参考,避免使用全部历史数据造成的数据老旧问题,使热点探测具有时效性。时效性保障了预测热点合约是根据近期合约调用情况得到,观测数据具有较高的新鲜度,使得预测结果能够较好地反映当前时段的智能合约调用情况。
在一个实施例中,如图3所示,提供另一种智能合约热点探测方法。参考图3,本申请实施例所提供的智能合约热点探测方法在S102之后和S104之前,还包括S103,根据周期热点智能合约集更新探测时间段的预测热点智能合约。
其中,周期热点智能合约集包括一个热点探测时间周期内所有探测时间段的预测热点智能合约。通过对应上一个热点探测时间周期的周期热点智能合约集进一步更新当前热点探测时间周期内所预测的热点智能合约。
在一个实施例中,S103包括:将包括在周期热点智能合约集中的智能合约的预测调用概率与周期调用概率因子相加,得到对应智能合约新的预测调用概率;根据智能合约新的预测调用概率重新筛选探测时间段的预测热点智能合约。
具体的,在一个热点探测时间周期P结束后,可以汇总该周期T个时间段内的所有预测热点智能合约,形成周期热点智能合约集。其中,周期热点智能合约集可以以字典的形式存储,字典可以理解为以键-值对方式存在的数据集。例如,键为热点探测时间周期P内的时间段i,i=1,2,…,T,值为该时间段下的m个预测热点智能合约。进而,在当前的热点探测时间周期P进行热点探测时,即可进一步结合上一个周期的周期热点智能合约集/>,对当前的预测热点智能合约进行优化更新,确定最终的预测热点智能合约/>。优化更新的方式如下:
假设当前的探测时间段为t,所探测的智能合约的新的预测调用概率为预测调用概率加上周期调用概率因子,计算如下:
其中,表示第i个智能合约在探测时间段t的新的预测调用概率。β是周期调用概率因子,表明周期热点智能合约集对智能合约的影响占比。bi表示所探测的智能合约是否存在于周期热点智能合约集中,表示如下:
也就是说,当被探测的智能合约存在于周期热点智能合约集中时,需要把探测得到的预测调用概率与周期调用概率因子相加得到新的预测调用概率。而不在周期热点智能合约集中的智能合约,表明周期性的热点智能合约对其没有影响,则预测调用概率实际是不变动的,即新的预测调用概率等于原始探测得到的预测调用概率。通过对所有的N个智能合约进行如上计算,得到:
进而,根据新的预测调用概率选取概率值最大的前m个智能合约,作为探测时间段t最终筛选的预测热点智能合约,形成预测热点智能合约列表可以记为。本申请实施例结合周期性因素,识别智能合约周期性循环特点,在基于W个时间段的历史数据基础上再加上周期性因素数据,有助于提升热点探测的准确性。
在一个实施例中,智能合约热点探测方法还包括:在探测时间段结束后,计算各智能合约在探测时间段内的实际调用概率,根据实际调用概率筛选探测时间段的实际热点智能合约;利用异或运算计算探测时间段的实际热点智能合约与预测热点智能合约的差异数量;根据差异数量调整周期性调用概率因子和时间段系数。
具体的,在探测时间段t开始前基于前W个探测时间段内智能合约调用情况与周期热点智能合约集,预测探测时间段t的热点智能合约列表。而在探测时间段t结束后,可以根据探测时间段t的实际智能合约调用情况计算探测时间段t内智能合约的实际调用概率,计算方式同样为智能合约在探测时间段t期间实际被调用次数与探测时间段t期间实际所有智能合约总调用次数的比值。然后,基于实际调用概率筛选概率值最大的前m个实际热点智能合约,记为/>。进而通过异或运算计算预测热点智能合约与实际热点智能合约存在的差距,计算公式如下:
其中,得到的Gap即为预测热点智能合约与实际热点智能合约中的差异数量。最后,基于Gap值对周期性调用概率因子β和时间段系数α进行调整,从而作为反馈机制不断迭代优化智能合约热点探测方法。
周期性调用概率因子β和时间段系数α的调整方式可以基于实际情况进行,比如由人工参考Gap值基于经验值调整。本申请实施例,通过比较预测值与实际值的差异,判断现有热点探测算法的准确性,并根据差异值对热点探测算法中的参数进行调整,逐步迭代以实现优化热点探测算法的目的。
在一个实施例中,S101之前还包括:根据每个智能合约的执行时长和执行频率,分别为各智能合约划分对应的热点探测时间周期和探测窗口长度。
具体的,由于智能合约的执行时长、频率各异,因此对智能合约进行周期性热点探测的周期时长可以差异设定。例如,执行频率较低的智能合约可在较长的热点探测时间周期P内进行探测,而执行频率较高的智能合约可在较短的热点探测时间周期P内进行探测。因此,可以为智能合约划分对应的热点探测时间周期P,被划分周期的智能合约只在该热点探测时间周期内被热点探测。
同理,对于执行时长、频率较低的智能合约,短期内无法观测其执行规律,因此对于该类智能合约可以设定较大的窗口长度W。而对于执行频率较高的智能合约,在较短时间内可观测其执行规律,因此对于该类智能合约可以设定较小的窗口长度W。例如,智能合约1和智能合约2的热点探测时间周期均为周,且将周按天划分为7个时间段。那么,智能合约1的窗口长度W可以是2,即参考前2天的调用情况预测智能合约1的调用概率。而智能合约2对应的W可以是4,即参考前4天的调用情况预测智能合约2的调用概率。
在本申请实施例中,通过执行时长、频率等差异为智能合约设定不同的探测周期和探测窗口长度,能够结合实际情况提升热点探测准确性。
应该理解的是,虽然图1、3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供一种智能合约热点探测装置,包括:
配置模块401,用于获取热点探测时间周期,热点探测时间周期包括多个探测时间段。
预测模块402,用于在探测时间段开始之前,在探测时间段对应的探测时间窗口内对每个智能合约分别进行热点预探测,得到探测时间段的预测热点智能合约。
编译调整模块404,用于将预测热点智能合约的编译等级调整为提前编译模式。
在一个实施例中,预测模块402还用于根据预设的探测窗口长度确定探测时间段对应的探测时间窗口,探测时间窗口包括至少一个前序探测时间段;其中,前序探测时间段是探测时间段之前的探测时间段;根据智能合约在探测时间窗口内各前序探测时间段的历史实际调用概率,预测智能合约在探测时间段内的预测调用概率;根据预测调用概率筛选探测时间段的预测热点智能合约。
在一个实施例中,预测模块402还用于将智能合约在前序探测时间段内的调用次数与对应前序探测时间段内的智能合约总调用次数的比值,作为智能合约在前序探测时间段内的历史实际调用概率;分别计算智能合约的各历史实际调用概率与对应前序探测时间段的时间段系数的乘积;将智能合约的各乘积求和,作为智能合约在探测时间段内的预测调用概率。
在一个实施例中,还包括周期性更新模块403,用于根据周期热点智能合约集更新探测时间段的预测热点智能合约。
在一个实施例中,周期性更新模块403还用于将包括在周期热点智能合约集中的智能合约的预测调用概率与周期调用概率因子相加,得到对应智能合约新的预测调用概率;根据智能合约新的预测调用概率重新筛选探测时间段的预测热点智能合约。
在一个实施例中,还包括效用反馈模块405,用于在探测时间段结束后,计算各智能合约在探测时间段内的实际调用概率,根据实际调用概率筛选探测时间段的实际热点智能合约;利用异或运算计算探测时间段的实际热点智能合约与预测热点智能合约的差异数量;根据差异数量调整周期性调用概率因子和时间段系数。
在一个实施例中,配置模块401,还用于根据每个智能合约的执行时长和执行频率,分别为各智能合约划分对应的热点探测时间周期和探测窗口长度。
关于智能合约热点探测装置的具体限定可以参见上文中对于智能合约热点探测方法的限定,在此不再赘述。上述智能合约热点探测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个智能合约热点探测方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
在一个实施例中,提供一种电子设备,包括处理器,存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种智能合约热点探测方法。示例性的,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种智能合约热点探测方法,其特征在于,包括:
获取热点探测时间周期,所述热点探测时间周期包括多个探测时间段;
在所述探测时间段开始之前,在所述探测时间段对应的探测时间窗口内对每个智能合约分别进行热点预探测,得到所述探测时间段的预测热点智能合约;包括:
根据预设的探测窗口长度确定所述探测时间段对应的探测时间窗口,所述探测时间窗口包括至少一个前序探测时间段;其中,所述前序探测时间段是所述探测时间段之前的探测时间段;
根据所述智能合约在所述探测时间窗口内各所述前序探测时间段的历史实际调用概率,预测所述智能合约在所述探测时间段内的预测调用概率;包括:
将所述智能合约在所述前序探测时间段内的调用次数与对应所述前序探测时间段内的智能合约总调用次数的比值,作为所述智能合约在所述前序探测时间段内的历史实际调用概率;
分别计算所述智能合约的各所述历史实际调用概率与对应所述前序探测时间段的时间段系数的乘积;
将所述智能合约的各所述乘积求和,作为所述智能合约在所述探测时间段内的预测调用概率;
根据所述预测调用概率筛选所述探测时间段的预测热点智能合约;
将所述预测热点智能合约的编译等级调整为提前编译模式。
2.根据权利要求1所述的方法,其特征在于,所述在所述探测时间段对应的探测时间窗口内对每个智能合约分别进行热点预探测,得到所述探测时间段的预测热点智能合约之后,还包括:
根据周期热点智能合约集更新所述探测时间段的预测热点智能合约;其中,所述周期热点智能合约集包括所述热点探测时间周期对应上一个热点探测时间周期内所有探测时间段的预测热点智能合约。
3.根据权利要求2所述的方法,其特征在于,所述根据周期热点智能合约集更新所述探测时间段的预测热点智能合约,包括:
将包括在所述周期热点智能合约集中的所述智能合约的预测调用概率与周期调用概率因子相加,得到对应所述智能合约新的预测调用概率;
根据所述智能合约新的预测调用概率重新筛选所述探测时间段的预测热点智能合约。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述探测时间段结束后,计算各所述智能合约在所述探测时间段内的实际调用概率,根据所述实际调用概率筛选所述探测时间段的实际热点智能合约;
利用异或运算计算所述探测时间段的所述实际热点智能合约与所述预测热点智能合约的差异数量;
根据所述差异数量调整周期调用概率因子和时间段系数。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:根据每个所述智能合约的执行时长和执行频率,分别为各所述智能合约划分对应的热点探测时间周期和探测窗口长度。
6.一种智能合约热点探测装置,其特征在于,用于权利要求1-5任意一项所述的智能合约热点探测方法,包括:
配置模块,用于获取热点探测时间周期,所述热点探测时间周期包括多个探测时间段;
预测模块,用于在所述探测时间段开始之前,在所述探测时间段对应的探测时间窗口内对每个智能合约分别进行热点预探测,得到所述探测时间段的预测热点智能合约;
编译调整模块,用于将所述预测热点智能合约的编译等级调整为提前编译模式。
7.一种电子设备,包括处理器和存储器,所述存储器存储有计算机程序,其特征在于,所述处理器用于执行所述计算机程序时实现权利要求1-5中任意一项所述的智能合约热点探测方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5中任意一项所述的智能合约热点探测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310660094.4A CN116382702B (zh) | 2023-06-06 | 2023-06-06 | 智能合约热点探测方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310660094.4A CN116382702B (zh) | 2023-06-06 | 2023-06-06 | 智能合约热点探测方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116382702A CN116382702A (zh) | 2023-07-04 |
CN116382702B true CN116382702B (zh) | 2023-08-18 |
Family
ID=86967915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310660094.4A Active CN116382702B (zh) | 2023-06-06 | 2023-06-06 | 智能合约热点探测方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116382702B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325963A (zh) * | 2015-06-16 | 2017-01-11 | 龙芯中科技术有限公司 | 自适应动态编译调度方法及装置 |
CN106775893A (zh) * | 2016-12-30 | 2017-05-31 | 北京小米移动软件有限公司 | 对程序预编译的方法及装置 |
CN108536514A (zh) * | 2017-03-01 | 2018-09-14 | 龙芯中科技术有限公司 | 一种热点方法的识别方法和装置 |
CN109240793A (zh) * | 2017-05-16 | 2019-01-18 | 龙芯中科技术有限公司 | 程序热点的识别方法、装置、电子设备及存储介质 |
WO2019114506A1 (zh) * | 2017-12-14 | 2019-06-20 | Oppo广东移动通信有限公司 | 编译优化方法、装置、存储介质、智能终端及服务器 |
CN112631608A (zh) * | 2021-01-05 | 2021-04-09 | 北京字节跳动网络技术有限公司 | 编译方法、装置、终端及存储介质 |
CN113872948A (zh) * | 2020-08-31 | 2021-12-31 | 支付宝(杭州)信息技术有限公司 | 一种执行智能合约的方法、区块链节点和节点设备 |
CN114879948A (zh) * | 2022-07-08 | 2022-08-09 | 北京百度网讯科技有限公司 | 基于WebAssembly的智能合约处理方法、装置、设备及存储介质 |
CN115756723A (zh) * | 2022-07-27 | 2023-03-07 | 北京沃东天骏信息技术有限公司 | 代码预热的方法、装置、电子设备及计算机可读介质 |
-
2023
- 2023-06-06 CN CN202310660094.4A patent/CN116382702B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325963A (zh) * | 2015-06-16 | 2017-01-11 | 龙芯中科技术有限公司 | 自适应动态编译调度方法及装置 |
CN106775893A (zh) * | 2016-12-30 | 2017-05-31 | 北京小米移动软件有限公司 | 对程序预编译的方法及装置 |
CN108536514A (zh) * | 2017-03-01 | 2018-09-14 | 龙芯中科技术有限公司 | 一种热点方法的识别方法和装置 |
CN109240793A (zh) * | 2017-05-16 | 2019-01-18 | 龙芯中科技术有限公司 | 程序热点的识别方法、装置、电子设备及存储介质 |
WO2019114506A1 (zh) * | 2017-12-14 | 2019-06-20 | Oppo广东移动通信有限公司 | 编译优化方法、装置、存储介质、智能终端及服务器 |
CN113872948A (zh) * | 2020-08-31 | 2021-12-31 | 支付宝(杭州)信息技术有限公司 | 一种执行智能合约的方法、区块链节点和节点设备 |
CN112631608A (zh) * | 2021-01-05 | 2021-04-09 | 北京字节跳动网络技术有限公司 | 编译方法、装置、终端及存储介质 |
CN114879948A (zh) * | 2022-07-08 | 2022-08-09 | 北京百度网讯科技有限公司 | 基于WebAssembly的智能合约处理方法、装置、设备及存储介质 |
CN115756723A (zh) * | 2022-07-27 | 2023-03-07 | 北京沃东天骏信息技术有限公司 | 代码预热的方法、装置、电子设备及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116382702A (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9946576B2 (en) | Distributed workflow execution | |
US8108848B2 (en) | Automatic and transparent memoization | |
EP2805251B1 (en) | Managing script file dependencies and load times | |
CN108509501B (zh) | 一种查询处理方法、服务器及计算机可读存储介质 | |
Kessler et al. | Optimized composition of performance‐aware parallel components | |
US20120030652A1 (en) | Mechanism for Describing Values of Optimized Away Parameters in a Compiler-Generated Debug Output | |
US9128747B2 (en) | Methods and systems for optimizing the performance of software applications at runtime | |
US7143402B2 (en) | Method and apparatus for precision optimization in compiled programs | |
CN116382702B (zh) | 智能合约热点探测方法、装置、电子设备和存储介质 | |
US20210232378A1 (en) | Program calling, electronic device, and storage medium | |
US11620049B2 (en) | Method, electronic device and computer program product for managing storage space | |
CN112182199A (zh) | 一种依赖包推荐方法、装置、电子设备和可读存储介质 | |
CN110334031B (zh) | 内存分配代码检测方法、装置、计算机设备及存储介质 | |
CN115292201B (zh) | 函数调用栈解析和回溯方法与装置 | |
US9692673B2 (en) | Selection of message passing collectives in presence of system noise | |
CN109460397B (zh) | 数据产出控制方法及装置、存储介质和电子设备 | |
CN112905238A (zh) | 一种区块链智能合约执行器及方法、区块链运行系统 | |
CN111859403A (zh) | 依赖关系漏洞的确定方法、装置、电子设备及存储介质 | |
US9329876B2 (en) | Resource aware programming | |
US7568197B1 (en) | Method and apparatus for interposing kernel symbols | |
US20110307475A1 (en) | Techniques to find percentiles in a distributed computing environment | |
EP4346191A1 (en) | Data processing method, and apparatus | |
CN113031914B (zh) | 浮点舍入模式的控制方法、装置、设备及存储介质 | |
US10152311B2 (en) | Code-size aware function specialization | |
US10496378B2 (en) | Generating and executing multi-entry point functions |
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 |