CN112230984B - 区块链智能合约模板的处理方法及装置 - Google Patents
区块链智能合约模板的处理方法及装置 Download PDFInfo
- Publication number
- CN112230984B CN112230984B CN202011144874.6A CN202011144874A CN112230984B CN 112230984 B CN112230984 B CN 112230984B CN 202011144874 A CN202011144874 A CN 202011144874A CN 112230984 B CN112230984 B CN 112230984B
- Authority
- CN
- China
- Prior art keywords
- contract template
- intelligent contract
- category
- template
- information
- 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
Classifications
-
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- 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/77—Software metrics
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种区块链智能合约模板的处理方法及装置,可应用于区块链技术领域,其中,该方法包括:响应于接收到新智能合约模板,获取已存储的智能合约模板信息,已存储的智能合约模板信息包括:模板类别;根据已存储的智能合约模块信息训练基于K最近邻KNN算法的分类模型,以得到KNN算法所需的最优邻近距离(K)值;将新智能合约模板信息输入至训练完成的分类模型,以预测该新智能合约模板的类别;响应于预测的新智能合约模板的类别不唯一,基于网页排名(PageRank)算法确定新智能合约模板的类别;对所属类别的所有智能合约模板进行评分操作,以确定该所属类别的最优智能合约模板。通过本发明,可以降低人工成本。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种区块链智能合约模板的处理方法及装置。
背景技术
在区块链***开发过程中,智能合约是业务逻辑的核心实现程序。目前,市场上有很多针对智能合约的安全审计检测方案,但是这些方案都是基于人工审核实现的,需要消耗额外人力成本,对于普通的小型项目来说,成本支出会大大超出项目收益,不符合项目预算规划。
发明内容
有鉴于此,本发明提供一种区块链智能合约模板的处理方法及装置,以解决上述提及的至少一个问题。
根据本发明的第一方面,提供一种区块链智能合约模板的处理方法,所述方法包括:
响应于接收到新智能合约模板,获取已存储的智能合约模板信息,所述已存储的智能合约模板信息包括:模板类别;
根据所述已存储的智能合约模块信息训练基于K最近邻KNN算法的分类模型,以得到所述KNN算法所需的最优邻近距离(K)值;
将新智能合约模板信息输入至训练完成的分类模型,以预测该新智能合约模板的类别;
响应于预测的所述新智能合约模板的类别不唯一,基于网页排名(PageRank)算法确定所述新智能合约模板的类别;
对所属类别的所有智能合约模板进行评分操作,以确定该所属类别的最优智能合约模板。
根据本发明的第二方面,提供一种区块链智能合约模板的处理装置,所述装置包括:
模板信息获取单元,用于响应于接收到新智能合约模板,获取已存储的智能合约模板信息,所述已存储的智能合约模板信息包括:模板类别;
训练单元,用于根据所述已存储的智能合约模块信息训练基于KNN算法的分类模型,以得到所述KNN算法所需的最优邻近距离K值;
类别预测单元,用于将新智能合约模板信息输入至训练完成的分类模型,以预测该新智能合约模板的类别;
类别确定单元,用于响应于预测的所述新智能合约模板的类别不唯一,基于PageRank算法确定所述新智能合约模板的类别;
评分单元,用于对所属类别的所有智能合约模板进行评分操作,以确定该所属类别的最优智能合约模板。
根据本发明的第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
根据本发明的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
由上述技术方案可知,通过在接收到新智能合约模板时,根据获取的已存储的智能合约模板信息训练基于KNN算法的分类模型,以得到KNN算法所需的K值,随后将新智能合约模板信息输入至训练完成的分类模型,预测该新智能合约模板的类别,当预测的新智能合约模板的类别不唯一时,基于PageRank算法确定新智能合约模板的类别,之后对所属类别的所有智能合约模板进行评分操作,以确定该所属类别的最优智能合约模板,本技术方案无需人工操作,就可以确定新智能合约模板的类别,并确定该类别下的最优智能合约模板,相比于现有技术,本技术方案降低了人工成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的区块链智能合约模板处理装置的结构框图;
图2是根据本发明实施例的区块链智能合约模板处理装置的详细结构框图;
图3是根据本发明实施例的区块链智能合约模板处理的示例***的结构框图;
图4是根据本发明实施例的区块链智能合约模板处理的示例***的另一结构框图;
图5是根据本发明实施例的区块链智能合约模板场景分类的流程图;
图6是根据本发明实施例的KNN算法中的K值与错误率的二维折线图;
图7是根据本发明实施例的区块链智能合约模板场景分类的二维离散图;
图8是基于图4所示示例***的智能合约模板优化流程图;
图9是根据本发明实施例的区块链智能合约模板的处理方法的流程图
图10为本发明实施例的电子设备600的***构成的示意框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于目前的智能合约的审计检测方案基本都是人工审核,导致了人力成本较高。基于此,本发明实施例提供一种区块链智能合约模板的处理方案,该方案基于KNN(K-Nearest Neighbor,K最近邻)算法来实现对智能合约的分类,无需人工审核,降低了人工成本。以下结合附图来详细描述本发明实施例。
图1是根据本发明实施例的区块链智能合约模板处理装置的结构框图,如图1所示,该装置包括:模板信息获取单元11、训练单元12、类别预测单元13、类别确定单元14和评分单元15,其中:
模板信息获取单元11,用于响应于接收到新智能合约模板,获取已存储的智能合约模板信息,所述已存储的智能合约模板信息包括:模板类别。
训练单元12,用于根据所述已存储的智能合约模块信息训练基于KNN算法的分类模型,以得到所述KNN算法所需的最优邻近距离K值。
具体地,该训练单元包括:数据划分模块和训练模块,其中:数据划分模块,用于将所述已存储的智能合约模块信息划分为训练集数据和测试集数据;训练模块,用于基于交叉验证装置、根据所述训练集数据和测试集数据对所述分类模型进行训练,以得到所述K值。
类别预测单元13,用于将新智能合约模板信息输入至训练完成的分类模型,以预测该新智能合约模板的类别。
在实际操作中,已存储的智能合约模板信息还包括:特征信息。相应地,类别预测单元13将所述新智能合约模板信息和已存储的智能合约模板信息的模板类别和特征信息输入至训练完成的分类模型,来预测该新智能合约模板的类别。
类别确定单元14,用于响应于预测的所述新智能合约模板的类别不唯一,基于PageRank(网页排名)算法确定所述新智能合约模板的类别。
在一个实施例中,该类别确定单元具体包括:点击信息获取模块和类别确定模块,其中:点击信息获取模块,用于基于PageRank算法获取预测的各类别的所有智能合约模板的用户点击信息;类别确定模块,用于根据各类别的用户点击信息确定所述新智能合约模板的类别。
优选地,类别确定模块将用户点击信息最多的类别确定为新智能合约模板的类别。
上述基于PageRank算法思想优化KNN算法,即在KNN算法按样本特征空间中K个最相似样本归属类别来分类某个样本的基础上,增加归类统计点击量的衡量标准,以加强场景分类的准确性。
评分单元15,用于对所属类别的所有智能合约模板进行评分操作,以确定该所属类别的最优智能合约模板。
在一个实施例中,可以先将所述新智能合约模板存储至所属类别的智能合约模板集合中;之后,评分单元15基于预定评分规则,对所属类别的各智能合约模板进行评分操作。
这里的预定评分规则可以是现有的对智能合约的评分规则,本发明对此不作限制。
由以上描述可知,通过在接收到新智能合约模板时,训练单元12根据模板信息获取单元11获取的已存储的智能合约模板信息训练基于KNN算法的分类模型,以得到KNN算法所需的K值,随后类别预测单元13将新智能合约模板信息输入至训练完成的分类模型,预测该新智能合约模板的类别,当预测的新智能合约模板的类别不唯一时,类别确定单元14基于PageRank算法确定新智能合约模板的类别,之后评分单元15对所属类别的所有智能合约模板进行评分操作,以确定该所属类别的最优智能合约模板,本发明实施例无需人工操作,就可以确定新智能合约模板的类别,并确定该类别下的最优智能合约模板,通过本发明实施例,可以降低人工成本。
在实际操作中,如图2所示,上述装置还包括:更新单元16和更新模板处理单元17,其中:
更新单元16,用于响应于接收到对已存储的初始智能合约模板的更新信息,根据该更新信息更新该初始智能合约模板,所述更新信息包括:模板标识(ID)。通过该模板ID,可以查找到相应的初始智能合约模板。
更新模板处理单元17,用于当更新后的智能合约模板的特征信息与所述初始智能合约模板的特征信息的相似度在预定范围(例如,60%)内时,确定该更新后的智能合约模板与所述初始智能合约模板属于同一类别,否则,将所述更新后的智能合约模板确定为新智能合约模板。
当更新后的智能合约模板确定为新智能合约模板时,则该更新后的智能合约模板通过上述模板信息获取单元11、训练单元12、类别预测单元13、类别确定单元14来确定类别。
在实际操作中,上述各单元、各模块可以组合设置、也可以单一设置,本发明不限于此。
为了更好地理解本发明,以下结合图3、图4所示的示例***结构来详细描述本发明实施例。
如图3所示,在该示例***中,具体涉及如下节点:合约仓库节点、场景分类节点、联盟投票节点和模板统计报表节点。其中:
合约仓库节点,用于存储所有智能合约模板,模板按场景分类存储,同时存储后续统计的最佳模板报表。
场景分类节点,基于PageRank的点击量排序思想,优化KNN算法,并将该算法应用于场景分类的机器学习中,针对所有新增模板精准分类,对于修改(或更新)的模板,进行与对应初始模板的相似样本采集,特征值数据分析,形成特征数据离散曲线图,对修改模板的特征重新分析,如果60%的特征值接近该数据曲线,则可认定该修改模板归属类别与初始模板类别一致,否则,可将该修改模板视为新增模板,基于优化KNN算法重新进行分类操作。
联盟投票节点,是区块链上具有投票决策资格的节点,这些节点针对每个场景的新增模板和已有的模板进行投票打分,选出最佳模板和各模板得分。
模板统计报表节点,根据投票结果和分类结果,将每个场景分类的所有模板的排序和得分进行报表统计,输出至合约仓库节点存储。
基于图3涉及的节点,如图4所示,该示例***具体包括:位于合约仓库节点的合约仓库存储服务器1、位于场景分类节点的基于KNN优化算法的场景分类服务器2、联盟投票的验证节点3(对应于联盟投票节点)和用于模板统计报表的非验证节点4(对应于模板统计报表节点)。以下详细描述各部分。
(一)合约仓库存储服务器1
合约仓库存储服务器1用于存储所有智能合约模板,存储模板的所有操作内容,同时将模板按分类、评分、修改时间、评分时间、点击量等排序存储,具体存储格式如下表1所示,同时合约仓库存储服务器1将未参与场景分类的以及近期修改(或更新)但未重新投票的模板打包,传输至基于KNN优化算法的场景分类服务器2。
合约ID | 版本号 | 作者 | 分类 | 更新时间 | 评分 | 评分时间 | 点击量 |
Contract1 | 1.0.0 | User1 | 民生溯源 | 2019.09.09 | 80.23 | 2019.09.09 | 100 |
Contract2 | 1.0.2 | User2 | 资金管理 | 2019.06.01 | 90.15 | 2019.06.01 | 3000 |
Contract3 | 1.0.0 | User1 | 供应链金融 | 2020.03.07 | 50.12 | 2020.03.07 | 5000 |
Contract4 | 2.0.0 | User3 | 未分类 | 2020.07.19 | 未评分 | 未评分 | 0 |
Contract5 | 1.0.1 | User4 | 审计监管 | 2018.11.11 | 88.44 | 2018.11.11 | 94 |
Contract6 | 1.0.2 | User2 | 贸易金融 | 2017.01.01 | 75.00 | 2017.01.01 | 46666 |
……… | ……… | ……… | ……… | ……… | ……… | ……… | ……… |
表1
(二)基于KNN优化算法的场景分类服务器2
基于KNN优化算法的场景分类服务器2,用于接收合约仓库存储服务器1传输的模板,执行如图5所示的流程进行场景分类:
步骤501:接收模板,如果是新版本,则模板数据是全量代码内容,修改版本(即对已有模板的更新版本),则模板数据是增量代码内容。
步骤502:除去新模板,先将现有仓库的所有模板数据随机分成5:1的训练集数据和测试集数据,根据供应链金融、数字资产、民生溯源、资产管理、审计监管和贸易金融六大分类标签,以及金额、机构类别、政府参与度、联盟方数量等标签属性,通过sklearn(一种机器学习库)中的交叉验证方法对测试集模板计算K值在1-50之间时,测试集分类错误率Error值。在实际操作中,可以将K值与Error率绘制成如图6所示的二维折线图,输出Error值最低时的K值,将该值用于步骤503的KNN算法的邻近距离值。
如图6所示,基于现有仓库所有模板进行误差率计算绘制的折线图,显然在K=25的时候,误差率Error值最小。在实际操作中,K值计算的主要代码如下:
步骤503:基于KNN算法,绘制所有模板数据(包括新模板)和标签数组基于标签属性中某两个属性(在实际操作中,也可以选择其他数量的属性)的二维散点图,例如,使用如下表2所示的KNN算法参数定义,首先通过导入仓库中所有模板数据,采用特征数组中的前两个特征(也可以选择其他特征),即金额和政府参与度,使用K=25,创建KNN分类器的实例,进行所有模板的训练;接着对训练后的模板值进行分类预测,将结果放置在如图7所示的二维离散图中。
表2在实际操作中,具体的分类预测代码如下:
步骤504:根据步骤503绘制的图7所示的二维离散图,距离新模板最近的归类多数是审计监管类,因此,新模板可归类为审计监管类,如果距离新模板近的类别有多个,则需要进行步骤505。
步骤505:当新模板无法精准分类时,可以基于PageRank算法思想优化KNN算法的分类标准,对新模板附近的模板进行点击量合计,点击量最多的类别即为新模板的类别,输出新模板的场景分类。
(三)联盟投票的验证节点3
联盟投票的验证节点3,接收基于KNN优化算法的场景分类服务器2的分类结果,并发起联盟投票评分流程;随后调用联盟投票智能合约,触发投票流程,通知所有联盟方评分;之后,所有联盟方收到评分邀请,根据合约代码的成熟度情况进行0-100之间的评分;评分完成之后,输出平均分至模板统计报表的非验证节点4。
(四)用于模板统计报表的非验证节点4
该非验证节点4,主要负责是接收联盟投票的验证节点3的输出结果,记录内容包括:新模板的场景分类、联盟投票得分、分类时间、评分时间等信息,整合成报表报告形式返回至合约仓库存储服务器1。
图8是基于图4所示示例***的智能合约模板优化流程图,如图8所示,该流程包括:
步骤801:合约模板上架或升级的请求接入,模板可通过BaaS(Backend as aService,后端即服务)平台的合约仓库管理界面上架或者升级;
步骤802:根据合约标识(ID)是否已在数据库中存在判断该模板是新模板还是已有模板的维护,如果是新模板则执行步骤803,如果是已有模板的维护,则执行步骤804;
步骤803:新模板,标记未归类和未被评分,执行步骤805;
步骤804:旧模板的维护,标记需重新归类和需被重新评分,执行步骤805;
步骤805:场景分类服务器基于接收到的模板,根据所有已有模板数据进行K的最佳值测算,针对测算结果获取误差值Error最低的K值,输出K值;
步骤806:根据步骤805输出的机器学习误差率最小的K值,学习新模板,绘制所有模板的散点图,获取K范围内最多样本的场景分类,确定新模板的分类;
步骤807:判断是否输出的分类有多个,如果有则执行步骤808,如没有,执行步骤809;
步骤808:新模板分类涉及多个分类,无法准确分类,则使用PageRank思想,计算散点图中相近类别模板的点击量,点击量最多的模板类别即为该新模板的场景分类;
步骤809:发起联盟投票,对新增模板进行评分,等所有联盟方完成评分,输出平均分,同时将各个场景分类的模板排序,输出每个分类最佳模板;
步骤810:将最佳模板的评分结果反馈合约仓库存储服务器。
本发明实施例在模板发生变化或者新模板入库时,自动触发最佳模板的学习过程和KNN的最佳K值选取,并且,基于PageRank算法的优化KNN算法,可以保证新模板的精准分类,通过本发明实施例,减轻了人工审核的压力,减少了智能合约重写或者修改的代价。
基于相似的发明构思,本发明实施例还提供一种区块链智能合约模板的处理方法,该方法优选地可应用于上述的区块链智能合约模板的处理装置。
图9是根据本发明实施例的区块链智能合约模板的处理方法的流程图,如图9所示,该方法包括:
步骤901,响应于接收到新智能合约模板,获取已存储的智能合约模板信息,所述已存储的智能合约模板信息包括:模板类别。
步骤902,根据所述已存储的智能合约模块信息训练基于KNN算法的分类模型,以得到所述KNN算法所需的最优邻近距离K值。
具体地,将所述已存储的智能合约模块信息划分为训练集数据和测试集数据;之后基于交叉验证方法、根据所述训练集数据和测试集数据对所述分类模型进行训练,以得到所述K值。
步骤903,将新智能合约模板信息输入至训练完成的分类模型,以预测该新智能合约模板的类别。
在实际操作中,已存储的智能合约模板信息还包括:特征信息。相应地,可以将所述新智能合约模板信息和所述已存储的智能合约模板信息的模板类别和特征信息输入至训练完成的分类模型,以预测该新智能合约模板的类别。
步骤904,响应于预测的所述新智能合约模板的类别不唯一,基于PageRank算法确定所述新智能合约模板的类别。
具体地,可以先基于PageRank算法获取预测的各类别的所有智能合约模板的用户点击信息;之后根据各类别的用户点击信息确定所述新智能合约模板的类别。
步骤905,对所属类别的所有智能合约模板进行评分操作,以确定该所属类别的最优智能合约模板。
具体地,可以先将所述新智能合约模板存储至所属类别的智能合约模板集合中;之后,基于预定评分规则,对所属类别的各智能合约模板进行评分操作。
由以上描述可知,通过在接收到新智能合约模板时,根据获取的已存储的智能合约模板信息训练基于KNN算法的分类模型,以得到KNN算法所需的K值,随后将新智能合约模板信息输入至训练完成的分类模型,预测该新智能合约模板的类别,当预测的新智能合约模板的类别不唯一时,基于PageRank算法确定新智能合约模板的类别,之后对所属类别的所有智能合约模板进行评分操作,以确定该所属类别的最优智能合约模板,本发明实施例无需人工操作,就可以确定新智能合约模板的类别,并确定该类别下的最优智能合约模板,相比于现有技术,本发明实施例降低了人工成本。
在一个实施例中,当接收到对已存储的初始智能合约模板的更新信息时,根据该更新信息更新该初始智能合约模板,所述更新信息包括:模板标识,通过,模板标识可以查找到对应的初始智能合约模板。当更新后的智能合约模板的特征信息与所述初始智能合约模板的特征信息的相似度在预定范围内时,确定该更新后的智能合约模板与所述初始智能合约模板属于同一类别,否则,将所述更新后的智能合约模板确定为新智能合约模板,执行上述步骤901-904的分类操作。
上述各步骤的具体执行过程,可以参见上述装置实施例中的描述,此处不再赘述。
本实施例还提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照上述方法实施例进行实施及区块链智能合约模板的处理装置实施例进行实施,其内容被合并于此,重复之处不再赘述。
图10为本发明实施例的电子设备600的***构成的示意框图。如图10所示,该电子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,区块链智能合约模板的处理功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:
响应于接收到新智能合约模板,获取已存储的智能合约模板信息,所述已存储的智能合约模板信息包括:模板类别;
根据所述已存储的智能合约模块信息训练基于K最近邻KNN算法的分类模型,以得到所述KNN算法所需的最优邻近距离K值;
将新智能合约模板信息输入至训练完成的分类模型,以预测该新智能合约模板的类别;
响应于预测的所述新智能合约模板的类别不唯一,基于网页排名PageRank算法确定所述新智能合约模板的类别;
对所属类别的所有智能合约模板进行评分操作,以确定该所属类别的最优智能合约模板。
从上述描述可知,本发明实施例提供的电子设备,通过在接收到新智能合约模板时,根据获取的已存储的智能合约模板信息训练基于KNN算法的分类模型,以得到KNN算法所需的K值,随后将新智能合约模板信息输入至训练完成的分类模型,预测该新智能合约模板的类别,当预测的新智能合约模板的类别不唯一时,基于PageRank算法确定新智能合约模板的类别,之后对所属类别的所有智能合约模板进行评分操作,以确定该所属类别的最优智能合约模板,本发明实施例无需人工操作,就可以确定新智能合约模板的类别,并确定该类别下的最优智能合约模板,相比于现有技术,本发明实施例降低了人工成本。
在另一个实施方式中,区块链智能合约模板的处理装置可以与中央处理器100分开配置,例如可以将区块链智能合约模板的处理装置配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现区块链智能合约模板的处理功能。
如图10所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图10中所示的所有部件;此外,电子设备600还可以包括图10中没有示出的部件,可以参考现有技术。
如图10所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现上述区块链智能合约模板的处理方法的步骤。
综上所述,本发明实施例提出了一种基于机器学习KNN优化算法和区块链技术的结合方案,实现不同场景类别的合约模板优化。即,基于PageRank的算法思想优化KNN算法,将该算法用于合约仓库所有目标的场景精准分类,结合区块链的联盟投票,针对不同适用场景的智能合约模板进行优化,不断提升模板质量,降低开发门槛和人工审核成本,提高智能合约代码质量。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种区块链智能合约模板的处理方法,其特征在于,所述方法包括:
响应于接收到新智能合约模板,获取已存储的智能合约模板信息,所述已存储的智能合约模板信息包括:模板类别;
根据所述已存储的智能合约模块信息训练基于K最近邻KNN算法的分类模型,以得到所述KNN算法所需的最优邻近距离K值;
将新智能合约模板信息输入至训练完成的分类模型,以预测该新智能合约模板的类别;
响应于预测的所述新智能合约模板的类别不唯一,基于网页排名PageRank算法确定所述新智能合约模板的类别;
对所属类别的所有智能合约模板进行评分操作,以确定该所属类别的最优智能合约模板;
响应于接收到对已存储的初始智能合约模板的更新信息,根据该更新信息更新该初始智能合约模板,所述更新信息包括:模板标识;
当更新后的智能合约模板的特征信息与所述初始智能合约模板的特征信息的相似度在预定范围内时,确定该更新后的智能合约模板与所述初始智能合约模板属于同一类别,否则,将所述更新后的智能合约模板确定为新智能合约模板。
2.根据权利要求1所述的方法,其特征在于,根据所述已存储的智能合约模块信息训练基于KNN算法的分类模型,以得到所述KNN算法所需的最优邻近距离K值包括:
将所述已存储的智能合约模块信息划分为训练集数据和测试集数据;
基于交叉验证方法、根据所述训练集数据和测试集数据对所述分类模型进行训练,以得到所述K值。
3.根据权利要求1所述的方法,其特征在于,所述已存储的智能合约模板信息还包括:特征信息,将新智能合约模板信息输入至训练完成的分类模型,以预测该新智能合约模板的类别包括:
将所述新智能合约模板信息和所述已存储的智能合约模板信息的模板类别和特征信息输入至训练完成的分类模型,以预测该新智能合约模板的类别。
4.根据权利要求1所述的方法,其特征在于,响应于预测的所述新智能合约模板的类别不唯一,基于PageRank算法确定所述新智能合约模板的类别包括:
基于PageRank算法获取预测的各类别的所有智能合约模板的用户点击信息;
根据各类别的用户点击信息确定所述新智能合约模板的类别。
5.根据权利要求1所述的方法,其特征在于,对所属类别的所有智能合约模板进行评分操作包括:
将所述新智能合约模板存储至所属类别的智能合约模板集合中;
基于预定评分规则,对所属类别的各智能合约模板进行评分操作。
6.一种区块链智能合约模板的处理装置,其特征在于,所述装置包括:
模板信息获取单元,用于响应于接收到新智能合约模板,获取已存储的智能合约模板信息,所述已存储的智能合约模板信息包括:模板类别;
训练单元,用于根据所述已存储的智能合约模块信息训练基于KNN算法的分类模型,以得到所述KNN算法所需的最优邻近距离K值;
类别预测单元,用于将新智能合约模板信息输入至训练完成的分类模型,以预测该新智能合约模板的类别;
类别确定单元,用于响应于预测的所述新智能合约模板的类别不唯一,基于PageRank算法确定所述新智能合约模板的类别;
评分单元,用于对所属类别的所有智能合约模板进行评分操作,以确定该所属类别的最优智能合约模板;
更新单元,用于响应于接收到对已存储的初始智能合约模板的更新信息,根据该更新信息更新该初始智能合约模板,所述更新信息包括:模板标识;
更新模板处理单元,用于当更新后的智能合约模板的特征信息与所述初始智能合约模板的特征信息的相似度在预定范围内时,确定该更新后的智能合约模板与所述初始智能合约模板属于同一类别,否则,将所述更新后的智能合约模板确定为新智能合约模板。
7.根据权利要求6所述的装置,其特征在于,所述训练单元包括:
数据划分模块,用于将所述已存储的智能合约模块信息划分为训练集数据和测试集数据;
训练模块,用于基于交叉验证装置、根据所述训练集数据和测试集数据对所述分类模型进行训练,以得到所述K值。
8.根据权利要求6所述的装置,其特征在于,所述已存储的智能合约模板信息还包括:特征信息,所述类别预测单元具体用于:
将所述新智能合约模板信息和所述已存储的智能合约模板信息的模板类别和特征信息输入至训练完成的分类模型,以预测该新智能合约模板的类别。
9.根据权利要求6所述的装置,其特征在于,所述类别确定单元包括:
点击信息获取模块,用于基于PageRank算法获取预测的各类别的所有智能合约模板的用户点击信息;
类别确定模块,用于根据各类别的用户点击信息确定所述新智能合约模板的类别。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011144874.6A CN112230984B (zh) | 2020-10-23 | 2020-10-23 | 区块链智能合约模板的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011144874.6A CN112230984B (zh) | 2020-10-23 | 2020-10-23 | 区块链智能合约模板的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112230984A CN112230984A (zh) | 2021-01-15 |
CN112230984B true CN112230984B (zh) | 2023-09-08 |
Family
ID=74110503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011144874.6A Active CN112230984B (zh) | 2020-10-23 | 2020-10-23 | 区块链智能合约模板的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112230984B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626827A (zh) * | 2021-07-29 | 2021-11-09 | 西安电子科技大学 | 一种智能合约漏洞检测方法、***、设备、介质、终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109816021A (zh) * | 2019-01-28 | 2019-05-28 | 网易(杭州)网络有限公司 | 智能合约处理方法及装置、***、存储介质和电子设备 |
CN110555299A (zh) * | 2019-08-01 | 2019-12-10 | 平安科技(深圳)有限公司 | 电子合同签订和存储方法、装置、计算机设备及存储介质 |
-
2020
- 2020-10-23 CN CN202011144874.6A patent/CN112230984B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109816021A (zh) * | 2019-01-28 | 2019-05-28 | 网易(杭州)网络有限公司 | 智能合约处理方法及装置、***、存储介质和电子设备 |
CN110555299A (zh) * | 2019-08-01 | 2019-12-10 | 平安科技(深圳)有限公司 | 电子合同签订和存储方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112230984A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108334887B (zh) | 一种用户选取方法和装置 | |
CN109690581B (zh) | 用户指导***及方法 | |
CN108932646B (zh) | 基于运营商的用户标签验证方法、装置和电子设备 | |
KR102144126B1 (ko) | 기업을 위한 정보 제공 장치 및 방법 | |
CN113688326A (zh) | 推荐方法、装置、设备及计算机可读存储介质 | |
CN104424284A (zh) | 信息处理方法和教育平台 | |
CN111275492A (zh) | 用户画像生成方法、装置、存储介质及设备 | |
CN112766825A (zh) | 企业金融服务风险预测方法及装置 | |
CN110717509A (zh) | 基于树***算法的数据样本分析方法及装置 | |
CN116414815A (zh) | 数据质量检测方法、装置、计算机设备和存储介质 | |
CN110288468B (zh) | 数据特征挖掘方法、装置、电子设备及存储介质 | |
CN112230984B (zh) | 区块链智能合约模板的处理方法及装置 | |
US11941502B2 (en) | Manifold-anomaly detection with axis parallel | |
CN113656699B (zh) | 用户特征向量确定方法、相关设备及介质 | |
CN106294406A (zh) | 一种用于处理应用访问数据的方法与设备 | |
CN111160929B (zh) | 一种客户类型的确定方法及装置 | |
CN111768306B (zh) | 基于智能数据分析的风险识别方法及*** | |
CN114021716A (zh) | 一种模型训练的方法、***及电子设备 | |
CN111401395B (zh) | 一种数据处理方法、终端设备及存储介质 | |
CN115114415A (zh) | 问答知识库更新方法、装置、计算机设备和存储介质 | |
CN118013421A (zh) | 分类模型训练方法、分类方法、装置和设备 | |
CN117196801A (zh) | 银行活动数据的分析方法、装置、计算机设备和存储介质 | |
CN115578186A (zh) | 授信额度预测方法、装置、计算机设备、存储介质和产品 | |
CN115525694A (zh) | 数据血缘关系的获取方法和装置 | |
CN117493691A (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 |