CN116049319B - 一种基于预言机信誉值的链外数据获取方法和装置 - Google Patents
一种基于预言机信誉值的链外数据获取方法和装置 Download PDFInfo
- Publication number
- CN116049319B CN116049319B CN202310210592.9A CN202310210592A CN116049319B CN 116049319 B CN116049319 B CN 116049319B CN 202310210592 A CN202310210592 A CN 202310210592A CN 116049319 B CN116049319 B CN 116049319B
- Authority
- CN
- China
- Prior art keywords
- prophetic
- data
- current
- reputation value
- target
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06395—Quality analysis or management
-
- 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
Abstract
本发明公开了一种基于预言机信誉值的链外数据获取方法和装置,涉及区块链技术领域。该方法包括:通过应用合约调用预言机合约,将需求任务发布至区块链中;接收预言机反馈的数据;根据预言机的信誉值、信誉值需求信息、预言机数量上限和下限,选择目标预言机;将目标预言机反馈的数据提供给应用合约;根据目标预言机的响应时间和信誉值、当前预言机的响应时间,计算响应时间指标;根据目标预言机的信誉值和反馈的数据、当前预言机反馈的数据,计算数据质量指标;根据时间段内需求任务的数量、当前预言机反馈正确数据的次数和反馈错误数据的次数,计算响应频率指标;根据上述三种指标,更新当前预言机的信誉值。该实施方式能够提高信誉值的准确度。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于预言机信誉值的链外数据获取方法和装置。
背景技术
预言机作为一个中间件,能够将区块链与链下世界连接,为区块链中的应用提供所需的链下数据。预言机主要分为中心化预言机和去中心化预言机,中心化预言机通过单一预言机从数据源获取数据,由单个实体控制;去中心化预言机通过多个预言机从不同的数据源获取数据,不受单个实体控制。
为了提高预言机的服务质量,通常基于预言机的信誉值选择最终提供数据的预言机,并根据预言机自身参数的数值大小更新其信誉值。但是,该方法仅考虑预言机自身参数,缺少与其他预言机的横向对比,导致得到的信誉值不准确,无法使得到的信誉值真实反映预言机的服务质量。
发明内容
有鉴于此,本发明实施例提供一种基于预言机信誉值的链外数据获取方法和装置,能够使得到的信誉值更加准确地反映预言机的服务质量。
第一方面,本发明实施例提供了一种基于预言机信誉值的链外数据获取方法,包括:
接收用户发送的合约调用交易;其中,合约调用交易中包括:需求数据信息、信誉值需求信息、预言机数量上限和预言机数量下限;
根据所述合约调用交易,调用区块链中部署的应用合约,通过所述应用合约,调用所述区块链中部署的预言机合约中的预言函数,通过所述预言函数执行:根据所述需求数据信息,生成需求任务;将所述需求任务发布至所述区块链中;接收多个预言机针对所述需求任务反馈的数据;根据所述区块链中存储的各个所述预言机的信誉值、所述信誉值需求信息、所述预言机数量上限和所述预言机数量下限,从所述多个预言机中选择目标预言机;将所述目标预言机反馈的数据提供给所述应用合约;
通过所述应用合约,调用所述预言机合约中的信誉值更新函数,通过所述信誉值更新函数执行:获取当前预言机的响应时间和所述目标预言机的响应时间,根据所述目标预言机的响应时间和信誉值、所述当前预言机的响应时间,计算所述当前预言机的响应时间指标;根据所述目标预言机的信誉值和反馈的数据、所述当前预言机反馈的数据,计算所述当前预言机的数据质量指标;获取预设时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,根据所述时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,计算所述当前预言机的响应频率指标;根据所述响应时间指标、所述数据质量指标和所述响应频率指标,更新所述区块链中当前预言机的信誉值;
所述响应时间指标,用于表征响应时间对信誉值的影响程度;所述数据质量指标,用于表征当次反馈数据的质量对信誉值的影响程度;所述响应频率指标,用于表征所述时间段内反馈数据的质量和次数对信誉值的影响程度。
第二方面,本发明实施例提供了一种基于预言机信誉值的链外数据获取装置,包括:
接收模块,配置为接收用户发送的合约调用交易;其中,合约调用交易中包括:需求数据信息、信誉值需求信息、预言机数量上限和预言机数量下限;
数据获取模块,配置为根据所述合约调用交易,调用区块链中部署的应用合约,通过所述应用合约,调用所述区块链中部署的预言机合约中的预言函数,通过所述预言函数执行:根据所述需求数据信息,生成需求任务;将所述需求任务发布至所述区块链中;接收多个预言机针对所述需求任务反馈的数据;根据所述区块链中存储的各个所述预言机的信誉值、所述信誉值需求信息、所述预言机数量上限和所述预言机数量下限,从所述多个预言机中选择目标预言机;将所述目标预言机反馈的数据提供给所述应用合约;
信誉值更新模块,配置为通过所述应用合约,调用所述预言机合约中的信誉值更新函数,通过所述信誉值更新函数执行:获取当前预言机的响应时间和所述目标预言机的响应时间,根据所述目标预言机的响应时间和信誉值、所述当前预言机的响应时间,计算所述当前预言机的响应时间指标;根据所述目标预言机的信誉值和反馈的数据、所述当前预言机反馈的数据,计算所述当前预言机的数据质量指标;获取预设时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,根据所述时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,计算所述当前预言机的响应频率指标;根据所述响应时间指标、所述数据质量指标和所述响应频率指标,更新所述区块链中当前预言机的信誉值;
所述响应时间指标,用于表征响应时间对信誉值的影响程度;所述数据质量指标,用于表征当次反馈数据的质量对信誉值的影响程度;所述响应频率指标,用于表征所述时间段内反馈数据的质量和次数对信誉值的影响程度。
第三方面,本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一实施例所述的方法。
第四方面,本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:在纵向维度上,考虑了当前预言机的多种参数,在横向维度上,考虑了当前预言机与目标预言机的参数和信誉值的差异。综合不同维度更新信誉值,能够使得到的信誉值更加真实地反映预言机的服务质量,进而选择更好的预言机为用户提供服务。通过预言机的多种参数,分别从响应时间、反馈的数据质量、反馈数据的频率等多种角度对信誉值进行更新,使得到的信誉值更加贴合实际情况。用户可以通过改变预言机数量上限和预言机数量下限,灵活地切换预言机的使用模式,以满足自身的业务需要。预言机的使用模式包括中心化预言机和去中心化预言机,如果预言机数量上限和预言机数量下限均为1,则为中心化预言机,否则,为去中心化预言机。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明的一个实施例提供的一种基于预言机信誉值的链外数据获取方法的流程图;
图2是本发明的另一个实施例提供的一种基于预言机信誉值的链外数据获取方法的流程图;
图3是本发明的一个实施例提供的一种获取链外数据过程中各方的交互示意图;
图4是本发明的一个实施例提供的一种基于预言机信誉值的链外数据获取装置的示意图;
图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如图1所示,本发明实施例提供了一种基于预言机信誉值的链外数据获取方法,包括:
步骤101:接收用户发送的合约调用交易;其中,合约调用交易中包括:需求数据信息、信誉值需求信息、预言机数量上限和预言机数量下限。
用户通过合约调用交易,调用应用合约,以获得相应的服务,应用合约通过预言机合约获取链下的数据。
需求数据信息用于描述用户对数据的需求,数据需求信息可以包括需求数据目标、需求数据格式等。例如,需求数据目标为1月1日的天气数据,需求数据格式为txt。
用户通过信誉值需求信息描述自身对预言机信誉值的需求,例如,信誉值需求信息包括单一信誉值的下限,还可以包括信誉值之和的下限等。单一信誉值的下限是用户对单个预言机信誉值的最低要求,信誉值之和的下限是用户对多个预言机信誉值之和的最低要求。用户可以通过信誉值需求信息调节预言机反馈数据的质量,通过预言机数量上限和预言机数量下限,设置提供服务的预言机的数量范围,如果预言机数量上限和预言机数量下限均为1,则为中心化预言机,否则,为去中心化预言机。
步骤102:根据合约调用交易,调用区块链中部署的应用合约,通过应用合约,调用区块链中部署的预言机合约中的预言函数,通过预言函数执行:根据需求数据信息,生成需求任务;将需求任务发布至区块链中。
步骤103:接收多个预言机针对需求任务反馈的数据;根据区块链中存储的各个预言机的信誉值、信誉值需求信息、预言机数量上限和预言机数量下限,从多个预言机中选择目标预言机;将目标预言机反馈的数据提供给应用合约。
预言函数被调用之后,将生成包含需求数据信息的需求任务,预言机可以通过监听获取发布到区块链中的需求任务,预言机可以根据需求数据信息,从链下的数据源获取数据,并将数据按照先入先出的原则反馈给预言函数。预言函数可以按照获取数据的顺序,确定反馈数据的预言机是否满足用户的信誉值需求。
为了防止预言机提供错误的数据,在接收多个预言机针对需求任务反馈的数据之后,还可以确定各个预言机反馈的数据是否符合数据需求信息,对于符合数据需求信息的数据执行根据区块链中存储的各个预言机的信誉值、信誉值需求信息、预言机数量上限和预言机数量下限,从多个预言机中选择目标预言机。
步骤104:通过应用合约,调用预言机合约中的信誉值更新函数,通过信誉值更新函数执行:获取当前预言机的响应时间和目标预言机的响应时间,根据目标预言机的响应时间和信誉值、当前预言机的响应时间,计算当前预言机的响应时间指标。
步骤105:根据目标预言机的信誉值和反馈的数据、当前预言机反馈的数据,计算当前预言机的数据质量指标。
步骤106:获取预设时间段内需求任务的数量、当前预言机反馈正确数据的次数和当前预言机反馈错误数据的次数,根据时间段内需求任务的数量、当前预言机反馈正确数据的次数和当前预言机反馈错误数据的次数,计算当前预言机的响应频率指标。
步骤107:根据响应时间指标、数据质量指标和响应频率指标,更新区块链中当前预言机的信誉值。
响应时间指标,用于表征响应时间对信誉值的影响程度;数据质量指标,用于表征当次反馈数据的质量对信誉值的影响程度;响应频率指标,用于表征时间段内反馈数据的质量和次数对信誉值的影响程度。
在实际应用场景中,可以将响应时间指标、数据质量指标、响应频率指标和更新前当前预言机的信誉值之和,作为更新后预言机的信誉值。除此之外,还可以为三种指标分别设置权重,以区分不同指标对信誉值的影响程度。
预言机的响应时间,指的是需求任务发布至预言机反馈数据的时长。预言机反馈数据是否正确,可以由用户确定,还可以通过与其他反馈数据对比确定,还可以由各个预言机反馈数据的分布确定。例如,用户可以从区块链中获取预言机反馈的数据,人工核实数据是否正确;如果当前预言机反馈的数据与其他预言机相同,则当前预言机反馈的数据是正确的,否则,是错误的;如果反馈的数据的方差超过预设偏差阈值,则该数据是错误的,否则,是错误的。
本发明实施例在纵向维度上,考虑了当前预言机的多种参数,在横向维度上,考虑了当前预言机与目标预言机的参数和信誉值的差异。综合不同维度更新信誉值,能够使得到的信誉值更加准确地反映预言机的服务质量,进而选择更好的预言机为用户提供服务。通过预言机的多种参数,分别从响应时间、反馈的数据质量、反馈数据的频率等多种角度对信誉值进行更新,使得到的信誉值更加贴合实际情况。用户可以通过改变预言机数量上限和预言机数量下限,灵活地切换预言机的使用模式,以满足自身的业务需要。
在本发明的一个实施例中,信誉值需求信息,包括:单一信誉值的下限和信誉值之和的下限;
任一目标预言机的信誉值不小于单一信誉值的下限;
当目标预言机存在多个时,各个目标预言机的信誉值之和不小于信誉值之和的下限。
本发明实施例可以通过单一信誉值的下限和信誉值之和的下限,调节获取的数据质量。
在本发明的一个实施例中,根据目标预言机的响应时间和信誉值、当前预言机的响应时间,计算当前预言机的响应时间指标,包括:
根据多个目标预言机的信誉值,计算多个目标预言机的平均信誉值;
根据多个目标预言机的响应时间,计算多个目标预言机的平均响应时间;
根据平均信誉值和平均响应时间、以及当前预言机的响应时间,计算当前预言机的响应时间指标。
具体地,可以采用式(1),计算响应时间指标。
(1)
其中, rt用于表征响应时间指标,即在响应时间维度,信誉值的更新幅度,ri用于表征目标预言机i的信誉值,n用于表征目标预言机的数量,ti用于表征当前预言机i的响应时间,为平均信誉值,/>为平均响应时间,t用于表征当前预言机i的响应时间。
从式(1)中可以看出,对于响应时间维度,如果当前预言机i的响应时间大于平均响应时间,则响应时间指标为负值,更新后的信誉值减小,如果当前预言机i的响应时间小于平均响应时间,则响应时间指标为正值,在响应时间维度,更新后的信誉值增加。
本发明实施例基于当前预言机i的响应时间与目标预言机的平均响应时间的差异程度,计算响应时间指标,能够更加准确地表征响应时间对信誉值的影响,使得到的信誉值更加贴近实际场景。在实际应用过程中,可以通过添加调整因子等方式对式(1)进行变形,从而得到响应时间指标的不同计算方法,以适应不同业务场景的需求。
在本发明的一个实施例中,根据目标预言机的信誉值和反馈的数据、当前预言机反馈的数据,计算当前预言机的数据质量指标,包括:
根据多个目标预言机的信誉值,计算多个目标预言机的平均信誉值;
识别当前预言机反馈的数据与目标预言机反馈的数据是否相同;
根据识别结果和平均信誉值,计算当前预言机的数据质量指标。
具体地,可以采用式(2),计算数据质量指标。
(2)
其中,用于表征数据质量指标,即在数据质量维度,信誉值的更新幅度,ri用于表征目标预言机i的信誉值,n用于表征目标预言机的数量,/>为平均信誉值,如果当前预言机反馈的数据与目标预言机反馈的数据相同,则s=1,如果当前预言机反馈的数据与目标预言机反馈的数据不同,则s=-1。在实际应用场景中,s的值可以根据业务需求进行调整。
从式(2)中可以看出,对于数据质量维度,如果当前预言机反馈的数据与目标预言机反馈的数据相同,则更新后的信誉值增加,如果当前预言机反馈的数据与目标预言机反馈的数据不同,则更新后的信誉值减小。
本发明实施例适用于从不同数据源中获取相同数据的情况。对于从不同数据源中获取不同数据的情况,可以根据平均信誉值、以及多个目标预言机反馈的数据的平均值与当前预言机反馈的数据的差值,确定s的值。在实际应用场景中,还可以采用其他计算方式,此处不再赘述。
本发明实施例通过判断当前预言机反馈的数据与目标预言机反馈的数据是否一致,确定当前预言机反馈的数据是否正确。因此,数据质量指标能够准确表征反馈数据的质量对信誉值的影响,使得到的信誉值更加贴近实际场景。
在本发明的一个实施例中,根据时间段内需求任务的数量、当前预言机反馈正确数据的次数和当前预言机反馈错误数据的次数,计算当前预言机的响应频率指标,包括:
根据时间段内需求任务的数量、当前预言机反馈正确数据的次数和当前预言机反馈错误数据的次数,计算反馈正确数据的频率和反馈错误数据的频率的差值;
根据差值,计算当前预言机的响应频率指标。
具体地,可以采用式(3),计算响应频率指标。
(3)
其中,用于表征响应频率指标,即在响应频率维度,信誉值的更新幅度,/>用于表征时间段内当前预言机反馈正确数据的次数,/>用于表征时间段内当前预言机反馈错误数据的次数,/>用于表征时间段内需求任务的数量,k用于表征大于0的调整系数,可以根据业务需求确定。/>为反馈正确数据的频率和反馈错误数据的频率的差值在实际应用场景中,还可以采用其他形式,如去除式(3)中的k,或者分子为。
从式(3)中可以看出,对于响应频率维度,如果反馈正确的次数大于反馈错误的次数,则更新后的信誉值增加,如果反馈正确的次数小于反馈错误的次数,则更新后的信誉值减小。
本发明实施例通过计算反馈正确数据的频率和反馈错误数据的频率的差值,确定响应频率指标,因此,响应频率指标能够表征反馈正确数据的频率和反馈错误数据的频率对信誉值的影响,使得到的信誉值更加准确。
在本发明的一个实施例中,从多个预言机中选择目标预言机,包括:
从位于服务列表中的多个预言机中,选择目标预言机;
该方法进一步包括:
接收监管方发送的监管交易;
根据监管交易,调用预言机合约中的监管函数,通过监管函数执行:获取预言机的行为数据,当行为数据满足预设的风险条件时,将预言机从服务列表中剔除。
服务列表中可以包括多个预言机的标识及其对应的信誉值,当行为数据满足预设的风险条件时,将对应的预言机的标识及其对应的信誉值从服务列表中剔除。
预言机的行为数据可以根据监管需求获得,风险条件与行为数据相对应。例如,预言机反馈错误数据的次数、预言机的响应时间等。以响应时间为例,如果预言机的响应时间大于1分钟,则将该预言机从服务列表中剔除。
通过本发明实施例,监管方能够及时剔除行为异常的预言机,提高服务质量。
在本发明的一个实施例中,该方法还包括:当超过设定的时间阈值,目标预言机的数量仍未达到预言机数量下限时,终止当前流程。
本发明实施例通过设定的时间阈值,能够及时终止服务,避免长时间无法响应。
如图2所示,本发明实施例提供了一种基于预言机信誉值的链外数据获取方法,该方法应用于区块链的节点设备中,包括:
步骤201:接收用户发送的合约调用交易;其中,合约调用交易中包括:需求数据目标、需求数据格式、单一信誉值的下限、信誉值之和的下限、预言机数量上限和预言机数量下限。
步骤202:根据合约调用交易,调用区块链中部署的应用合约,通过应用合约,调用区块链中部署的预言机合约中的预言函数,通过预言函数执行:根据需求数据目标和需求数据格式,生成需求任务,将需求任务发布至区块链中。
如图3所示,区块链中部署有应用合约和预言机合约,预言机合约中存储预言机对应的信誉值,预言机包括信息获取API和合约API,信息获取API用于与链下的数据源进行交互,合约API用于与区块链中的预言机合约进行交互。用户可以通过合约调用交易调用应用合约,应用合约通过调用预言机合约从链下获取数据。监管方可以通过调用预言机合约对各个预言机进行监管。区块链账本用于记录智能合约的交互过程及产生的数据。
步骤203:接收多个预言机针对需求任务反馈的数据;根据区块链中存储的各个预言机的信誉值、单一信誉值的下限、信誉值之和的下限、预言机数量上限和预言机数量下限,从位于服务列表中的多个预言机中选择目标预言机,将目标预言机反馈的数据提供给应用合约。
例如,预言机1-5依次反馈数据,对于预言机1,当其在服务列表中时,从服务列表中获取预言机1的信誉值,确定其是否不小于单一信誉值的下限,如果是,则确定预言机数量是否在预言机数量下限和预言机数量上限所限定的范围内,如果是,则确定各个预言机的信誉值之和是否不小于信誉值之和的下限,如果是,则确定预言机1为目标预言机。以此类推,直到得到满足需求的预言机。当然,上述各步骤的执行顺序可以根据业务需求进行调整。
步骤204:通过应用合约,调用预言机合约中的信誉值更新函数,通过信誉值更新函数执行:获取当前预言机的响应时间和目标预言机的响应时间,根据多个目标预言机的信誉值,计算多个目标预言机的平均信誉值;根据多个目标预言机的响应时间,计算多个目标预言机的平均响应时间;根据平均信誉值和平均响应时间、以及当前预言机的响应时间,计算当前预言机的响应时间指标。
步骤205:根据多个目标预言机的信誉值,计算多个目标预言机的平均信誉值;识别当前预言机反馈的数据与目标预言机反馈的数据是否相同;根据识别结果和平均信誉值,计算当前预言机的数据质量指标。
步骤206:获取预设时间段内需求任务的数量、当前预言机反馈正确数据的次数和当前预言机反馈错误数据的次数,根据时间段内需求任务的数量、当前预言机反馈正确数据的次数和当前预言机反馈错误数据的次数,计算反馈正确数据的频率和反馈错误数据的频率的差值;根据差值,计算当前预言机的响应频率指标。
步骤207:根据响应时间指标、数据质量指标和响应频率指标,更新区块链中当前预言机的信誉值。
步骤208:接收监管方发送的监管交易。
步骤209:根据监管交易,调用预言机合约中的监管函数,通过监管函数执行:获取预言机的行为数据,当行为数据满足预设的风险条件时,将预言机从服务列表中剔除。
用户可以通过预言机数量上限和预言机数量下限,自主切换预言机的使用模式,提高预言机应用的灵活性,减少用户在不同预言机间切换的时间复杂度。利用信誉值取代通证作为评价预言机的依据,可以在无通证的情况下评估预言机,降低通证抵押的成本。
如图4所示,本发明实施例提供了一种基于预言机信誉值的链外数据获取装置,包括:
接收模块401,配置为接收用户发送的合约调用交易;其中,合约调用交易中包括:需求数据信息、信誉值需求信息、预言机数量上限和预言机数量下限;
数据获取模块402,配置为根据合约调用交易,调用区块链中部署的应用合约,通过应用合约,调用区块链中部署的预言机合约中的预言函数,通过预言函数执行:根据需求数据信息,生成需求任务;将需求任务发布至区块链中;接收多个预言机针对需求任务反馈的数据;根据区块链中存储的各个预言机的信誉值、信誉值需求信息、预言机数量上限和预言机数量下限,从多个预言机中选择目标预言机;将目标预言机反馈的数据提供给应用合约;
信誉值更新模块403,配置为通过应用合约,调用预言机合约中的信誉值更新函数,通过信誉值更新函数执行:获取当前预言机的响应时间和目标预言机的响应时间,根据目标预言机的响应时间和信誉值、当前预言机的响应时间,计算当前预言机的响应时间指标;根据目标预言机的信誉值和反馈的数据、当前预言机反馈的数据,计算当前预言机的数据质量指标;获取预设时间段内需求任务的数量、当前预言机反馈正确数据的次数和当前预言机反馈错误数据的次数,根据时间段内需求任务的数量、当前预言机反馈正确数据的次数和当前预言机反馈错误数据的次数,计算当前预言机的响应频率指标;根据响应时间指标、数据质量指标和响应频率指标,更新区块链中当前预言机的信誉值;
响应时间指标,用于表征响应时间对信誉值的影响程度;数据质量指标,用于表征当次反馈数据的质量对信誉值的影响程度;响应频率指标,用于表征时间段内反馈数据的质量和次数对信誉值的影响程度。
在本发明的一个实施例中,信誉值需求信息,包括:单一信誉值的下限和信誉值之和的下限;
任一目标预言机的信誉值不小于单一信誉值的下限;
当目标预言机存在多个时,各个目标预言机的信誉值之和不小于信誉值之和的下限。
在本发明的一个实施例中,信誉值更新模块403,配置为根据多个目标预言机的信誉值,计算多个目标预言机的平均信誉值;根据多个目标预言机的响应时间,计算多个目标预言机的平均响应时间;根据平均信誉值和平均响应时间、以及当前预言机的响应时间,计算当前预言机的响应时间指标。
在本发明的一个实施例中,信誉值更新模块403,配置为根据多个目标预言机的信誉值,计算多个目标预言机的平均信誉值;识别当前预言机反馈的数据与目标预言机反馈的数据是否相同;根据识别结果和平均信誉值,计算当前预言机的数据质量指标。
在本发明的一个实施例中,信誉值更新模块403,配置为根据时间段内需求任务的数量、当前预言机反馈正确数据的次数和当前预言机反馈错误数据的次数,计算反馈正确数据的频率和反馈错误数据的频率的差值;根据差值,计算当前预言机的响应频率指标。
在本发明的一个实施例中,数据获取模块402,配置为从位于服务列表中的多个预言机中,选择目标预言机;接收监管方发送的监管交易;根据监管交易,调用预言机合约中的监管函数,通过监管函数执行:获取预言机的行为数据,当行为数据满足预设的风险条件时,将预言机从服务列表中剔除。
在本发明的一个实施例中,数据获取模块402,配置为当超过设定的时间阈值,目标预言机的数量仍未达到预言机数量下限时,终止当前流程。
本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述任一实施例的方法。
本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现如上述任一实施例的方法。
下面参考图5,其示出了适于用来实现本发明实施例的终端设备的计算机系统500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送模块、获取模块、确定模块和第一处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,发送模块还可以被描述为“向所连接的服务端发送图片获取请求的模块”。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种基于预言机信誉值的链外数据获取方法,其特征在于,包括:
接收用户发送的合约调用交易;其中,合约调用交易中包括:需求数据信息、信誉值需求信息、预言机数量上限和预言机数量下限;
根据所述合约调用交易,调用区块链中部署的应用合约,通过所述应用合约,调用所述区块链中部署的预言机合约中的预言函数,通过所述预言函数执行:根据所述需求数据信息,生成需求任务;将所述需求任务发布至所述区块链中;接收多个预言机针对所述需求任务反馈的数据;根据所述区块链中存储的各个所述预言机的信誉值、所述信誉值需求信息、所述预言机数量上限和所述预言机数量下限,从所述多个预言机中选择目标预言机;将所述目标预言机反馈的数据提供给所述应用合约;
通过所述应用合约,调用所述预言机合约中的信誉值更新函数,通过所述信誉值更新函数执行:获取当前预言机的响应时间和所述目标预言机的响应时间,根据所述目标预言机的响应时间、所述目标预言机的信誉值和所述当前预言机的响应时间,计算所述当前预言机的响应时间指标;根据所述目标预言机的信誉值、所述目标预言机反馈的数据和所述当前预言机反馈的数据,计算所述当前预言机的数据质量指标;获取预设时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,根据所述预设时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,计算所述当前预言机的响应频率指标;根据所述响应时间指标、所述数据质量指标和所述响应频率指标,更新所述区块链中当前预言机的信誉值;
所述响应时间指标,用于表征响应时间对信誉值的影响程度;所述数据质量指标,用于表征当次反馈数据的质量对信誉值的影响程度;所述响应频率指标,用于表征所述时间段内反馈数据的质量和次数对信誉值的影响程度。
2.如权利要求1所述的方法,其特征在于,
所述信誉值需求信息,包括:单一信誉值的下限和信誉值之和的下限;
任一所述目标预言机的信誉值不小于所述单一信誉值的下限;
当所述目标预言机存在多个时,各个所述目标预言机的信誉值之和不小于所述信誉值之和的下限。
3.如权利要求1所述的方法,其特征在于,
根据所述目标预言机的响应时间、所述目标预言机的信誉值和所述当前预言机的响应时间,计算所述当前预言机的响应时间指标,包括:
根据多个目标预言机的信誉值,计算所述多个目标预言机的平均信誉值;
根据所述多个目标预言机的响应时间,计算所述多个目标预言机的平均响应时间;
根据所述平均信誉值和所述平均响应时间、以及所述当前预言机的响应时间,计算所述当前预言机的响应时间指标。
4.如权利要求1所述的方法,其特征在于,
根据所述目标预言机的信誉值、所述目标预言机反馈的数据和所述当前预言机反馈的数据,计算所述当前预言机的数据质量指标,包括:
根据多个目标预言机的信誉值,计算所述多个目标预言机的平均信誉值;
识别所述当前预言机反馈的数据与所述目标预言机反馈的数据是否相同;
根据识别结果和所述平均信誉值,计算所述当前预言机的数据质量指标。
5.如权利要求1所述的方法,其特征在于,
根据所述时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,计算所述当前预言机的响应频率指标,包括:
根据所述时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,计算反馈正确数据的频率和反馈错误数据的频率的差值;
根据所述差值,计算所述当前预言机的响应频率指标。
6.如权利要求1-5中任一所述的方法,其特征在于,
从所述多个预言机中选择目标预言机,包括:
从位于服务列表中的多个预言机中,选择所述目标预言机;
该方法进一步包括:
接收监管方发送的监管交易;
根据所述监管交易,调用所述预言机合约中的监管函数,通过监管函数执行:获取所述预言机的行为数据,当所述行为数据满足预设的风险条件时,将所述预言机从所述服务列表中剔除。
7.如权利要求1所述的方法,其特征在于,进一步包括:当超过设定的时间阈值,所述目标预言机的数量仍未达到所述预言机数量下限时,终止当前流程。
8.一种基于预言机信誉值的链外数据获取装置,其特征在于,包括:
接收模块,配置为接收用户发送的合约调用交易;其中,合约调用交易中包括:需求数据信息、信誉值需求信息、预言机数量上限和预言机数量下限;
数据获取模块,配置为根据所述合约调用交易,调用区块链中部署的应用合约,通过所述应用合约,调用所述区块链中部署的预言机合约中的预言函数,通过所述预言函数执行:根据所述需求数据信息,生成需求任务;将所述需求任务发布至所述区块链中;接收多个预言机针对所述需求任务反馈的数据;根据所述区块链中存储的各个所述预言机的信誉值、所述信誉值需求信息、所述预言机数量上限和所述预言机数量下限,从所述多个预言机中选择目标预言机;将所述目标预言机反馈的数据提供给所述应用合约;
信誉值更新模块,配置为通过所述应用合约,调用所述预言机合约中的信誉值更新函数,通过所述信誉值更新函数执行:获取当前预言机的响应时间和所述目标预言机的响应时间,根据所述目标预言机的响应时间、所述目标预言机的信誉值和所述当前预言机的响应时间,计算所述当前预言机的响应时间指标;根据所述目标预言机的信誉值、所述目标预言机反馈的数据和所述当前预言机反馈的数据,计算所述当前预言机的数据质量指标;获取预设时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,根据所述预设时间段内需求任务的数量、所述当前预言机反馈正确数据的次数和所述当前预言机反馈错误数据的次数,计算所述当前预言机的响应频率指标;根据所述响应时间指标、所述数据质量指标和所述响应频率指标,更新所述区块链中当前预言机的信誉值;
所述响应时间指标,用于表征响应时间对信誉值的影响程度;所述数据质量指标,用于表征当次反馈数据的质量对信誉值的影响程度;所述响应频率指标,用于表征所述时间段内反馈数据的质量和次数对信誉值的影响程度。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310210592.9A CN116049319B (zh) | 2023-03-07 | 2023-03-07 | 一种基于预言机信誉值的链外数据获取方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310210592.9A CN116049319B (zh) | 2023-03-07 | 2023-03-07 | 一种基于预言机信誉值的链外数据获取方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116049319A CN116049319A (zh) | 2023-05-02 |
CN116049319B true CN116049319B (zh) | 2023-07-25 |
Family
ID=86116581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310210592.9A Active CN116049319B (zh) | 2023-03-07 | 2023-03-07 | 一种基于预言机信誉值的链外数据获取方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116049319B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112016105A (zh) * | 2020-08-17 | 2020-12-01 | 东北大学秦皇岛分校 | 基于分布式预言机和同态加密的链上链下数据共享方案 |
CN114357495A (zh) * | 2022-03-15 | 2022-04-15 | 北京百度网讯科技有限公司 | 基于区块链的预言机链下聚合方法、装置、设备和介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114462730A (zh) * | 2020-11-09 | 2022-05-10 | 东北大学秦皇岛分校 | 一种区块链预言机的信誉管理架构及其数据聚合方法 |
CN112837157A (zh) * | 2021-02-10 | 2021-05-25 | 中国人民银行数字货币研究所 | 区块链中定时智能合约的注册、执行方法、装置和系统 |
CN115510152A (zh) * | 2021-06-22 | 2022-12-23 | 中兴通讯股份有限公司 | 一种预言机节点筛选方法、装置、存储介质及电子装置 |
CN114741066B (zh) * | 2022-06-09 | 2022-09-16 | 天聚地合(苏州)科技股份有限公司 | 区块链应用的生成方法及生成系统 |
CN115618430B (zh) * | 2022-12-16 | 2023-04-21 | 天聚地合(苏州)科技股份有限公司 | 一种基于区块链的数据提供方确定方法和系统 |
-
2023
- 2023-03-07 CN CN202310210592.9A patent/CN116049319B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112016105A (zh) * | 2020-08-17 | 2020-12-01 | 东北大学秦皇岛分校 | 基于分布式预言机和同态加密的链上链下数据共享方案 |
CN114357495A (zh) * | 2022-03-15 | 2022-04-15 | 北京百度网讯科技有限公司 | 基于区块链的预言机链下聚合方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116049319A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105530272B (zh) | 一种应用数据的同步方法和装置 | |
CN107819745B (zh) | 异常流量的防御方法和装置 | |
US10878144B2 (en) | Multi-platform model processing and execution management engine | |
CN116049319B (zh) | 一种基于预言机信誉值的链外数据获取方法和装置 | |
CN109933508B (zh) | 用于发送信息的方法和装置 | |
CN111130984B (zh) | 用于处理信息的方法和装置 | |
CN112887355A (zh) | 异常服务器的业务处理方法及装置 | |
CN114157578B (zh) | 网络状态预测方法及装置 | |
CN114723455A (zh) | 业务处理方法、装置、电子设备和存储介质 | |
CN114612212A (zh) | 一种基于风险控制的业务处理方法、装置和系统 | |
CN114722108A (zh) | 客服数据处理方法、装置、电子设备和存储介质 | |
US11494710B1 (en) | Optimization constraint adaptation for long-term target achievement | |
CN112801688A (zh) | 估值失败原因的定位方法和装置 | |
CN111460270B (zh) | 信息推送方法和装置 | |
CN114257521B (zh) | 流量预测方法、装置、电子设备和存储介质 | |
CN111767085B (zh) | Storm平台参数配置方法和装置 | |
CN113554385B (zh) | 配送机器人控制方法、装置、电子设备和计算机可读介质 | |
CN117236879A (zh) | 业务处理的方法、装置、电子设备和存储介质 | |
CN113448561B (zh) | 基于ci的自动化需求进度的差异分析方法及管理服务器 | |
CN111179097B (zh) | 保单批改的方法、装置、电子设备和存储介质 | |
CN112783753B (zh) | 流数据处理系统的测试方法和装置 | |
CN117078381A (zh) | 解冻业务处理的方法、装置、电子设备和存储介质 | |
CN117557337A (zh) | 派单调度方法及装置 | |
CN117194522A (zh) | 一种利率指数配置方法、装置、设备及介质 | |
CN115984016A (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 |