CN114679283A - 区块链数据请求处理方法、装置、服务器及存储介质 - Google Patents
区块链数据请求处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN114679283A CN114679283A CN202011448992.6A CN202011448992A CN114679283A CN 114679283 A CN114679283 A CN 114679283A CN 202011448992 A CN202011448992 A CN 202011448992A CN 114679283 A CN114679283 A CN 114679283A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- data request
- requests
- frequency
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000012544 monitoring process Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 39
- 238000012549 training Methods 0.000 claims description 30
- 238000004458 analytical method Methods 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 abstract description 8
- 238000004891 communication Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000012706 support-vector machine Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 4
- 238000013178 mathematical model Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及通信技术领域,公开了一种区块链数据请求处理方法、装置、服务器及存储介质。区块链数据请求处理方法包括:监听来自区块链节点的数据请求;根据历史数据请求的数据特征(如用户个性化占比、数据源占比、数据内容、请求事件、数据类型等数据特征),分析数据请求的目标数据是否为高频次数据;当数据请求的目标数据为高频次数据时,在数据缓存中查找所述目标数据;其中,数据缓存用于存储高频次数据;向区块链节点返回数据请求结果。通过以上技术手段,可以避免对所有数据请求均进行加密与外部数据获取操作,减少预言机在响应数据请求时所需要执行的操作,从而提高对数据请求的响应速度,并降低处理数据请求所占用的网络资源。
Description
技术领域
本申请实施例涉及通信技术领域,特别涉及一种区块链数据请求处理方法、装置、服务器及存储介质。
背景技术
随着互联网的高速发展,区块链技术得到了越来越多人的关注。这个基于密码学的去中心化防篡改的技术在越来越多的领域得到了应用。虽然区块链技术在这个阶段得到了很大的发展,但是依然没有办法从根本解决区块链本身固有的缺陷,例如区块链智能合约无法自发地获取外部数据。但是预言机的出现一定程度上解决了这个问题,预言机是一种将区块链外信息写入区块链内的机制,从而完成区块链与现实世界的数据互通。它允许确定的智能合约对不确定的外部世界作出反应,是智能合约与外部进行数据交互的唯一途径,也是区块链与现实世界进行数据交互的接口。在区块链预言机的发展过程中,按照预言机的数据交互类型和作用可以将预言机分为跨链预言机、数据预言机和计算预言机。其中,数据预言机的作用是接受链上节点的数据请求、获取相应的数据源的数据并返回给链上节点。
然而,在目前的数据预言机设计方案中,考虑到数据的保密性、完整性以及数据来源可靠性等因素,会过多的占用数据预言机所处服务器节点的网络资源和节点资源。
发明内容
本申请实施例的主要目的在于提出一种区块链数据请求处理方法、装置、服务器及存储介质,使得预言机对区块链发送的数据请求的响应速度得到提升,同时降低预言机所处服务器节点的网络资源和节点资源。
为实现上述目的,本申请实施例提供了一种区块链数据请求处理方法,包括:监听来自区块链节点的数据请求;根据历史数据请求的数据特征,分析数据请求的目标数据是否为高频次数据;当数据请求的目标数据为高频次数据时,在数据缓存中查找所述目标数据;其中,数据缓存用于存储高频次数据;向区块链节点返回数据请求结果。
为实现上述目的,本申请实施例还提供了一种区块链数据请求处理装置,包括:请求监听模块,用于监听来自区块链节点的数据请求;请求分析模块,用于根据历史数据请求的数据特征,分析数据请求的目标数据是否为高频次数据;数据获取模块,用于在数据请求的目标数据为高频次数据时,在数据缓存中查找目标数据,其中,数据缓存用于存储高频次数据;数据返回模块,用于向区块链节点返回数据请求结果。
为实现上述目的,本申请实施例还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的区块链数据请求处理方法。
为实现上述目的,本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的区块链数据请求处理方法。
本申请提出的区块链数据请求处理方法,通过历史的数据请求的数据特征,预测当前接收到的来自区块链的数据请求是否为高频数据请求,当预测结果为是时直接从数据缓存中查找已经存在的高频数据请求的目标数据,从而避免对所有数据请求均进行加密与外部数据获取操作,减少预言机在响应数据请求时所需要执行的操作,从而提高对数据请求的响应速度,并降低处理数据请求所占用的网络资源。
附图说明
图1是根据本发明第一实施例中区块链数据请求处理方法的流程图;
图2是根据本发明第二实施例中区块链数据请求处理方法的流程图;
图3是根据本发明第二实施例中预言机处理数据请求的流程图;
图4是根据本发明第三实施例中区块链数据请求处理装置的结构示意图;
图5是根据本发明第三实施例中预言机的结构示意图;
图6是根据本发明第四实施例中服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明第一实施例涉及一种区块链数据请求处理方法,具体流程如图1所示,包括:通过历史的数据请求的数据特征(如用户个性化占比、数据源占比、数据内容、请求事件、数据类型等数据特征),预测当前接收到的来自区块链的数据请求是否为高频数据请求,当预测结果为是时直接从数据缓存中查找已经存在的高频数据请求的目标数据,从而避免对所有数据请求均进行加密与外部数据获取操作,减少预言机在响应数据请求时所需要执行的操作,从而提高对数据请求的响应速度,并降低处理数据请求所占用的网络资源。
本实施例可以依托于支持智能合约的区块链网络(如超级账本Fabric、以太坊等)作为运行环境,为区块链网络中的各个节点提供外部数据获取服务,供需要外部数据获取服务的智能合约或应用所调用,可以视为一种数据预言机的实现方法。
在一个例子中,本实施例中的区块链数据请求处理方法也可以通过多个数据预言机,即多节点的预言机网络来为区块链网络中的各个节点提供外部数据获取服务。
下面对本实施例的区块链数据请求处理方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的区块链数据请求处理方法如图1所示,具体包括:
步骤101,监听来自区块链节点的数据请求。
具体地说,本实施例中的数据预言机对区块链网络中的目标区块链节点进行监听,当某一个区块链节点产生外部数据需求时,会根据将需求数据相关的信息参数以数据请求的形式发送至数据预言机。
在一个例子中,为了保护区块链用户的隐私不被用户和预言机网络以外的第三方窃取,各个区块链节点将以数据预言机所规定的加密方式对数据请求中的信息参数进行加密后再发送给数据预言机。当数据预言机监听到数据请求后,会对数据请求进行解密,得到数据请求中携带的信息参数。
在一个例子中,数据预言机会将监听到的数据预言机按照时间顺序存放至请求队列中,在后续的步骤中依次对请求队列中的数据请求进行处理。
步骤102,根据用户个性化占比、数据源占比、数据内容、请求事件、数据类型等来源于历史数据请求的数据特征,分析数据请求的目标数据是否为高频次数据。若数据请求的目标数据为高频次数据,则执行步骤103;若数据请求的目标数据不为高频次数据,则执行步骤104。
步骤103,在数据缓存中查找目标数据。
步骤104,向外部数据源获取目标数据。
具体地说,历史的数据请求是指在数据预言机在监听到当前数据请求之前,已经监听到的其他数据请求。预言机会保存一定时间内监听到的所有数据请求,并根据这些数据请求的数据特征来分析当前监听到的数据请求是否请求一个已经被重复请求过较多次的目标数据,对于历史的高频数据请求的目标数据,预言机会将这些数据写入到数据缓存中,供后续的数据请求进行查找。其中,数据特征可以包括以下之一或其任意组合:用户个性化占比、数据源占比、数据内容、请求事件、数据类型。
当一个新的数据请求所请求的数据是一个高频次数据时,预言机会在数据缓存中查找新的数据请求的目标数据。
而当一个新的数据请求所请求的数据不是一个高频次数据时,预言机则会向外部数据源获取数据请求的目标数据。
在一个例子中,由于数据源数据存在一定的时效性,数据缓存中保存时间过于久远的数据会对目标数据的准确性产生影响,用户可以根据实际的数据来源或类型为预言机的数据缓存设置一个更新周期,预言机会根据更新周期定期地对数据缓存中的数据进行清理,仅保存到当前时间节点一段时间内的数据或清除上一周期的所有数据,从而保证缓存数据与外部数据的一致性。
步骤105,向区块链节点返回数据请求结果。
具体地说,当预言机在数据缓存中查找到目标数据或向外部数据源获取到目标数据后,对目标数据进行可靠性的验证后,生成数据请求结果返回给发送该数据请求的区块链节点。
在一个例子中,当本实施例中区块链数据请求处理方法通过预言机网络实现时,在预言机从数据缓存中查找到目标数据或向外部数据源获取到目标数据后,需要根据预设的加密算法将获取的目标数据加密并添加本节点的签名后,发送给预言机网络中的其他预言机节点,所有预言机节点通过共识机制对目标数据进行合法性的验证与确认,也就是各个节点均根据该数据请求进行数据获取的操作,然后对数据获取的进行数据处理、聚合,并将最终结果进行共识,然后生成数据请求结果返回给发送数据请求的区块链节点。
相较于本领域的相关技术,本实施例中的区块链数据请求处理方法通过对高频请求的目标数据进行缓存,在监听到区块链节点的数据请求时,对数据请求进行分析,判断是否请求高频次数据,对于请求高频次数据的数据请求,在数据缓存中查找目标数据,避免对所有数据请求均向外部数据源获取数据,对被判定为无需到数据源拉取的数据请求即高频请求时,直接从本地的数据缓存中查找目标数据,从而提高预言机对区块链数据请求的响应速度并降低预言机的资源占用。
需要说明的是,本实施例中的上述各示例均为方便理解进行的举例说明,并不对本发明的技术方案构成限定。
本发明第二实施例涉及一种区块链数据请求处理方法,本实施例与本发明第一实施例大致相同,不同之处在于:在本实施例中,根据历史数据请求的数据特征分析数据请求的目标数据是否为高频次数据,包括:根据请求预测模型分析数据请求;其中,请求预测模型根据历史数据请求的数据特征训练得到,请求预测模型用于预测数据请求是否为高频数据请求或低频数据请求;当数据请求为高频数据请求时,判定数据请求的目标数据为高频次数据。当数据请求为低频数据请求时,根据数据请求向外部数据源(如用户指定的数据源或者其他数据源)获取目标数据。
与第一实施例相似,本实施例同样可以依托于支持智能合约的区块链网络(如超级账本 Fabric、以太坊等)作为运行环境,为区块链网络中的各个节点提供外部数据获取服务,供需要外部数据获取服务的智能合约或应用所调用,可以视为一种数据预言机的实现方法。
下面结合附图对本实施例中的区块链数据请求处理方法进行具体的说明,本实施例中的区块链数据请求处理方法如图2所示,包括:
步骤201,监听来自区块链节点的数据请求。
步骤201与本发明第一实施例中的步骤101相同,相关的实施细节已在第一实施例中具体说明,在此不再赘述。
步骤202,根据请求预测模型分析数据请求。
步骤203,判断数据请求是否为高频数据请求或低频数据请求;若数据请求为高频数据请求,则判定数据请求的目标数据是高频次数据,执行步骤204;若数据请求为低频数据请求,则判定数据请求的目标数据不是高频次数据,执行步骤205。
具体地说,请求预测分析模型用于预测数据请求是否会请求一个高频次的数据,即,数据请求是否为高频数据请求。对于高频数据请求来说,通常会在一定的时间内多次请求相同外部数据源的数据,本实施例中,选定合适的数学模型,对历史的数据请求进行记录,选取合适的特征利用历史的数据请求对数学模型进行训练,得到请求预测模型。当监听到新的数据请求时,将新的数据请求的数据特征(如用户个性化占比、数据源占比、数据内容、请求事件、数据类型等数据特征)输入到请求预测模型中,根据请求预测模型的输出结果确定数据请求是否为高频数据请求。
在一个例子中,由于请求预测分析模型的模型训练是一个对于高频次与低频次请求的分类,采用分类质量较好的支持向量机(SVM)算法对请求进行分类,能够根据请求的各个特征进行对未来请求的有效预测。自然的支持向量机是一个线性可分的二维分类器,该算法利用训练数据集中的特征向量创建一个使得训练样本到超平面的最近距离尽可能大的最佳超平面。对于非线性特征的分类,其通过将特征空间转换到一个更高的维度,使特征变成各自线性的,从而在高维空间中通过一个线性分类器进行分类。特征向量的分类函数如式(1)所示,其中xi是支持向量,通过数据请求的特征确定;yi编码他们的类别成员,ai为权重系数,b是超平面到原点的距离,ai和b的值在样本训练期间确定。
特征空间的升维通常利用核函数来实现,即使用核函数代替式(1)中的点积运算将特征空间转换到一个更高的维度。常见的核函数有多项式函数、径向基函数(RBF)以及Sigmoid 函数等。通常RBF核更具有普适性,因此使用RBF核函数实现特征向量的升维,如公式(2)。
基于公式(1)和公式(2)以及历史的数据请求作为训练样本,训练得到请求预测分析模型。其中,实际的应用中可以将数据请求的相关信息,如时间、请求占比、字段特征等因素和属性作为标签,对请求进行有关的数据标注,并作为数据集对模型进行训练,得到相应的请求预测分析模型,并且不断地将新的请求用作模型优化,调整模型相关参数。
也就是说,在预言机的工作过程中,每次监听到来自区块链节点的数据请求后,都会将数据请求存入用于保存历史的数据请求的数据训练库,周期性的根据训练数据库中所有数据请求,对请求预测模型进行训练后更新请求预测模型,其中,请求预测模型的更新包括动态调整所述请求预测模型中的用于判断数据请求是否为高频数据请求的阈值。即预言机会不断根据新的数据请求来对请求预测模型进行训练,保证请求预测模型能够准确地预测当前监听到的数据请求是否为高频数据请求。
在一个例子中,预言机在监听到来自区块链的数据请求时,还会对数据请求进行解密,将解密后的数据请求处理为标准化的数据请求;其中,标准化的数据请求中的请求信息参数为符合请求预测模型的标准化参数,即将请求信息参数进行特征分解,将分解得到的各个特征映射为数值后组成适用于支持向量机的多维向量;将标准化的数据请求加入到请求队列中,供请求预测模型进行分析。
步骤204,在数据缓存中查找目标数据,判断是否查找到目标数据。若查找到目标数据,则执行步骤206;若未查找到目标数据,则执行步骤205。
步骤205,向外部数据源获取目标数据。
步骤206,向区块链节点返回数据请求结果。
具体地说,当一个数据请求被识别为高频数据请求时,预言机会将这一数据保存在数据缓存中,因此在数据缓存中查找是否存在该数据请求的目标数据,当在数据缓存中查找到目标数据时,直接将查找到的目标数据生成数据请求结果返回给数据请求的来源区块链节点。
当在数据缓存中未查找到目标数据时,则根据数据请求向外部数据源获取目标数据,并在成功获取到目标数据后,将目标数据写入到数据缓存中,以便于后续的高频数据请求查找并拉取。
在一个具体的实现中,以货币汇率数据作为应用场景来对本实施例进行说明。首先按照实际各种请求的发生概率随机生成1000个货币汇率数据请求,并将请求数据进行统计、编码、做数据标注。其中,请求相关的信息数据包括:用户信息,数据源API/URL(如交易所 Coinmarketcap),币种转换(如:以太币ETH/美元USD),请求时段(如:6:00~12;00),数据源准确率(如99%以上)。高频次重复请求的标准根据请求发生的几率而定,本实例中将超过2%(即超过20次)的请求定为重复请求。以本实施例作为预言机的具体实现,预言机处理数据请求的具体流程如图3所示,包括:
步骤301,监听到数据请求事件并将数据请求放入消息队列中。
具体地说,预言机调用区块链平台上提前写好的智能合约函数方法,将请求相关信息以参数的形式输入,并生成相应的请求事件。预言机网络监听到区块链上的请求事件后,将请求信息参数存入,并放入消息队列当中。本实施例中,我们在已知结果的情况下调用两次相同的高频重复请求和一次低频请求,请求信息分别为用户User1请求Coinmarket中早上9点准确率在99%的ETH/USD汇率数据以及用户User1请求Truebit中早上9点准确率在90%的瑞波币XRP/日元JPY汇率数据。
步骤302,分析数据请求并将数据请求存入训练数据库。
具体地说,将请求信息作为参数,调用已经训练好的SVM预测模型的预测函数,得到预测结果。假设1表示是预测的高频次重复请求,0表示预测请求不是高频次重复请求。如果预测结果为1,则查找哈希表中请求信息对应数据是否为空,为空则将信息发送至预言机网络,不为空则将对应数据作为请求数据的结果返回给加密模块;反之预测结果为0,则直接进行预言机网络数据拉取。在本实施例中,两个请求都是高频次重复请求,但第一次请求测试中缓存哈希表中不会有缓存数据,会在预言机网络读取完成后添加,而第二次请求测试中,缓存哈希表中就会缓存有第一次的数据,会直接进行读取。
步骤303,向区块链节点返回请求数据结果。
具体地说,预言机收到请求结果信息后根据加密要求进行加密,调用接口函数,将加密后的信息作为参数发送给目的区块链上的用户。区块链用户在接收到会发送相应的回执。数据均采用灵活的加密算法(如椭圆曲线算法ECC)进行加密,并收到区块链的回执。
步骤304,对数据请求中的信息参数进行统计处理。
具体地说,将请求信息参数进行统计和处理,将数据源请求占比(s1)、币种转换占比(s2)、时段请求总占比(s3)、近期时段请求占比(s4)、数据源准确率(s5)这五个较为重要的特征组成特种向量T=(s1,s2,s3,s4,s5)进行模型训练。调用Java中的libsvm库创建分类器,并将标注好的1000条请求数据用作模型训练。
步骤305,预言机网络对数据请求结果进行共识。
具体地说,预言机网络各节点在接收到请求后,向请求的数据源进行数据拉取,并将请求的数据结果上传至预言机网络。预言机网络收到各节点的请求数据拉取结果后,将结果进行数据处理、聚合,并将最终结果进行共识,共识结束之后,将请求结果返回至预测和数据缓存模块。预测和数据缓存模块在收到请求结果数据后会发送回执。
相较于本领域的相关技术,本实施例中的区块链数据请求处理方法,选择合适的数学模型对数据请求进行分析,提高数据请求分析的准确性。具体地,根据历史的数据请求以及具有分类作用的数学模型(如SVM算法)进行模型训练,将监听到的数据请求输入训练得到的请求预测模型进行分析,预测数据请求是否请求高频次数据。提高了对数据请求分析的准确性,使得预言机能够更好地处理请求高频次数据的数据请求,还可以将监听到的数据请求存入用于保存历史的数据请求的训练数据库中,周期性地根据所述训练数据库中的所有数据请求的数据特征,对所述请求预测模型进行训练后更新所述请求预测模型,其中,所述请求预测模型的更新包括动态调整所述请求预测模型中的用于判断数据请求是否为高频数据请求的阈值。从而进一步提高预言机对高频数据请求的判断准确性,保证区块链数据请求的响应速度并降低预言机的资源占用。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施例涉及一种区块链数据请求处理装置,结构如图4所示,包括:
请求监听模块401,用于监听来自区块链节点的数据请求。
请求分析模块402,用于根据历史数据请求的数据特征,分析数据请求的目标数据是否为高频次数据。
数据获取模块403,用于在数据请求的目标数据为高频次数据时,在数据缓存中查找目标数据。其中,数据缓存用于存储高频次数据。
数据返回模块404,用于向区块链节点返回数据请求结果。
在一个例子中,历史数据请求的数据特征包括以下之一或其任意组合:用户个性化占比、数据源占比、数据内容、请求事件、数据类型。请求分析模块402具体用于根据请求预测模型分析所述数据请求;其中,请求预测模型根据历史数据请求的数据特征训练得到,请求预测模型用于预测数据请求的目标数据是否为高频数据请求或低频数据请求。当数据请求为高频数据请求时,判定数据请求的目标数据为高频次数据。当数据请求为低频数据请求时,根据数据请求向外部数据源获取所述目标数据。
在一个例子中,请求监听模块401还用于将数据请求存入用于保存历史的数据请求的训练数据库;请求分析模块402周期性地根据所述训练数据库中的所有数据请求的数据特征,对所述请求预测模型进行训练后更新所述请求预测模型;其中,所述请求预测模型的更新包括动态调整所述请求预测模型中的用于判断数据请求是否为高频数据请求的阈值。
在一个例子中,数据获取模块403,还用于当所述数据请求为低频数据请求时,根据所述数据请求向外部数据源获取所述目标数据。
在一个例子中,数据获取模块403,还用于在所述数据缓存中未查找到所述目标数据时,根据所述数据请求向外部数据源获取所述目标数据。
在另一个例子中,请求监听模块401还用于对数据请求进行解密,将解密后的数据请求处理为标准化的数据请求;其中,标准化的数据请求中的请求信息参数为符合请求预测模型的标准化参数;将标准化的数据请求加入到请求队列中,供请求预测模型进行分析。
在一个具体实现中,本实施例中的区块链数据请求处理装置可以视为数据预言机,数据预言机的结构如图5所示,包括:请求监听和队列模块501、预测和数据缓存模块502、加密模块503、模型训练模块504。
请求监听和队列模块501,用于监听各个目标区块链上的请求,将传递过来的参数进行数据格式的标准化,按标准的请求格式生成请求,存放至请求队列中。其中为了保护用户的隐私不被用户和预言机网络以外的第三方窃取,预言机会要求各个区块链上的节点在发出请求之前,将请求信息参数按照预言机网络规定的加密方式进行加密,请求监听和队列模块接收到了加密信息之后会将加密信息进行解密,从而完成用户的隐私保护。
预测和数据缓存模块502,用于分别进行接收请求队列发送的请求以及接收处理预言机网络返回的请求数据源的数据。
具体地说,预测和数据缓存模块收到请求队列的请求后,分别将请求进行分析和发送至模型训练模块用于训练模型。在请求分析阶段,如果请求被训练模型判定作预测的重复数据源的数据请求,即命中预测,则在缓存中查找相应的数据;反之视为低频次请求,即未来不会再对该数据源进行请求,则直接发送至预言机网络中进行数据获取。在查找缓存数据时,若请求数据存在缓存中,则将数据发送至加密模块503;反之将请求发送至预言机网络。
为了保证预测和数据缓存模块的缓存数据与外界数据源数据的数据一致性,在每个时间周期结束后模块会清空缓存内所有的请求结果的缓存数据。
预言机网络主要用于接收预测和数据缓存模块的请求以及向预测和数据缓存模块返回请求数据。预言机网络各节点在接收到请求后,向请求的数据源进行数据拉取,并将请求的数据结果上传至预言机网络。预言机网络收到各节点的请求数据拉取结果后,将结果进行数据处理、聚合,并将最终结果进行共识,共识结束之后,将请求结果返回至预测和数据缓存模块。
加密模块503,用于接收预测和数据缓存模块发送来的区块链用户请求以及相应的数据请求结果,并按照用户指定的方式进行加密,并返回给相应用户。
模型训练模块504,用于接收预测和数据缓存模块发送来的请求,在收集完一个时间周期的请求之后,会将这些请求与之前几个时间周期的请求作为数据集用于预测模型的训练。由于该模型训练是一个对于高频次与低频次请求的分类,所以选用分类质量较好的支持向量机(SVM)算法对请求进行分类,能够根据请求的各个特征进行对未来请求的有效预测。
不难发现,本实施例为与第一、第二实施例相对应的虚拟装置实施例,本实施例可与第一、第二实施例互相配合实施。第一、第二实施例中提到的相关技术细节在第一、第二实施例依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一、第二实施例中。
值得一提的是,本实施中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
本发明的第四实施例涉及一种服务器,如图6所示,包括:至少一个处理器601;以及,与至少一个处理器601通信连接的存储器602;其中,存储器602存储有可被至少一个处理器601执行的指令,指令被至少一个处理器601执行,以使至少一个处理器601能够执行第一、或第二实施例中的区块链数据请求处理方法。其中,存储器602和处理器601采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器601和存储器602的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器601 处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器601。处理器601负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器602可以被用于存储处理器601在执行操作时所使用的数据。
本发明第六实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种区块链数据请求处理方法,其特征在于,包括:
监听来自区块链节点的数据请求;
根据历史数据请求的数据特征,分析所述数据请求的目标数据是否为高频次数据;
当所述数据请求的目标数据为高频次数据时,在数据缓存中查找所述目标数据;其中,所述数据缓存用于存储高频次数据;
向所述区块链节点返回数据请求结果。
2.根据权利要求1所述的区块链数据请求处理方法,其特征在于,所述历史数据请求的数据特征包括以下之一或其任意组合:用户个性化占比、数据源占比、数据内容、请求事件、数据类型;
所述根据历史数据请求的数据特征,分析所述数据请求的目标数据是否为高频次,包括:
根据请求预测模型分析所述数据请求;其中,所述请求预测模型根据历史数据请求的数据特征训练得到,所述请求预测模型用于预测所述数据请求是否为高频数据请求或低频数据请求;
当所述数据请求为高频数据请求时,判定所述数据请求的目标数据为高频次数据。
3.根据权利要求2所述的区块链数据请求处理方法,其特征在于,在所述根据请求预测模型分析所述数据请求之后,还包括:
当所述数据请求为低频数据请求时,根据所述数据请求向外部数据源获取所述目标数据。
4.根据权利要求2所述的区块链数据请求方法,其特征在于,在所述监听来自区块链节点的数据请求之后,还包括:
将所述数据请求存入用于保存历史的数据请求的训练数据库;
周期性地根据所述训练数据库中的所有数据请求的数据特征,对所述请求预测模型进行训练后更新所述请求预测模型;
其中,所述请求预测模型的更新包括动态调整所述请求预测模型中的用于判断数据请求是否为高频数据请求的阈值。
5.根据权利要求1所述的区块链数据请求处理方法,其特征在于,所述在数据缓存中查找所述目标数据之后,还包括:
若在所述数据缓存中未查找到所述目标数据,根据所述数据请求向外部数据源获取所述目标数据;
将所述目标数据写入所述数据缓存。
6.根据权利要求2所述的区块链数据请求处理方法,其特征在于,所述监听来自区块链的数据请求,包括:
对所述数据请求进行解密,将解密后的数据请求处理为标准化的数据请求;其中,所述标准化的数据请求中的请求信息参数为符合所述请求预测模型的标准化参数;
将所述标准化的数据请求加入到请求队列中,供所述请求预测模型进行分析。
7.根据权利要求1至6中任一项所述的区块链数据请求处理方法,其特征在于,在所述向所述区块链节点返回数据请求结果之前,还包括:
根据预设的加密算法对所述目标数据进行加密。
8.一种区块链数据请求处理装置,其特征在于,包括:
请求监听模块,用于监听来自区块链节点的数据请求;
请求分析模块,用于根据历史数据请求的数据特征,分析所述数据请求的目标数据是否为高频次数据;
数据获取模块,用于在所述数据请求的目标数据为高频次数据时,在数据缓存中查找所述目标数据;其中,数据缓存用于存储高频次数据;
数据返回模块,用于向所述区块链节点返回数据请求结果。
9.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的区块链数据请求处理方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的区块链数据请求处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011448992.6A CN114679283A (zh) | 2020-12-09 | 2020-12-09 | 区块链数据请求处理方法、装置、服务器及存储介质 |
PCT/CN2021/135798 WO2022121851A1 (zh) | 2020-12-09 | 2021-12-06 | 区块链数据请求处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011448992.6A CN114679283A (zh) | 2020-12-09 | 2020-12-09 | 区块链数据请求处理方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114679283A true CN114679283A (zh) | 2022-06-28 |
Family
ID=81973131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011448992.6A Pending CN114679283A (zh) | 2020-12-09 | 2020-12-09 | 区块链数据请求处理方法、装置、服务器及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114679283A (zh) |
WO (1) | WO2022121851A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022405A (zh) * | 2022-08-10 | 2022-09-06 | 合肥中科类脑智能技术有限公司 | 一种深度学习云平台的智能缓存加速系统及方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174570B (zh) * | 2022-06-28 | 2023-06-27 | 北京航空航天大学 | 一种基于动态委员会的跨链共识方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108305170A (zh) * | 2018-03-07 | 2018-07-20 | 物数(上海)信息科技有限公司 | 基于区块链的外部服务访问方法、系统、设备及存储介质 |
US11876910B2 (en) * | 2019-01-31 | 2024-01-16 | Salesforce, Inc. | Systems, methods, and apparatuses for implementing a multi tenant blockchain platform for managing Einstein platform decisions using distributed ledger technology (DLT) |
CN111163093A (zh) * | 2019-12-30 | 2020-05-15 | 杭州趣链科技有限公司 | 联盟区块链中从外部数据源获取外部数据的方法和装置 |
-
2020
- 2020-12-09 CN CN202011448992.6A patent/CN114679283A/zh active Pending
-
2021
- 2021-12-06 WO PCT/CN2021/135798 patent/WO2022121851A1/zh active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022405A (zh) * | 2022-08-10 | 2022-09-06 | 合肥中科类脑智能技术有限公司 | 一种深度学习云平台的智能缓存加速系统及方法 |
CN115022405B (zh) * | 2022-08-10 | 2022-10-25 | 合肥中科类脑智能技术有限公司 | 一种深度学习云平台的智能缓存加速系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022121851A1 (zh) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shukla et al. | An analytical model to minimize the latency in healthcare internet-of-things in fog computing environment | |
Chen et al. | Fedgraph: Federated graph learning with intelligent sampling | |
CN110084377B (zh) | 用于构建决策树的方法和装置 | |
US20200293838A1 (en) | Scheduling computation graphs using neural networks | |
JP7521043B2 (ja) | コンテンツの擬似パーソナライゼーションのための低エントロピーのブラウジング履歴 | |
US8468352B2 (en) | Retrieving and using cloud based storage credentials | |
WO2021208701A1 (zh) | 代码变更的注释生成方法、装置、电子设备及存储介质 | |
CN111629052B (zh) | 基于mec的内容缓存方法、节点、设备及存储介质 | |
WO2022121851A1 (zh) | 区块链数据请求处理方法、装置、服务器及存储介质 | |
EP4058951A1 (en) | Privacy preserving machine learning via gradient boosting | |
CN114610475A (zh) | 一种智能资源编排模型的训练方法 | |
CN113807926A (zh) | 推荐信息生成方法、装置、电子设备和计算机可读介质 | |
CN118312626B (zh) | 一种基于机器学习的数据管理方法及系统 | |
CN118116554B (zh) | 一种基于大数据处理的医学影像缓存处理方法 | |
US20090319645A1 (en) | Method, Apparatus, and Computer Program Product for Distributed Information Management | |
CN112069409B (zh) | 基于待办推荐信息的方法和装置、计算机系统和存储介质 | |
CN107291764A (zh) | 一种大数据交换方法及装置、系统 | |
CN112541556A (zh) | 模型构建优化方法、设备、介质及计算机程序产品 | |
CN116127400A (zh) | 基于异构计算的敏感数据识别系统、方法及存储介质 | |
CN113630476B (zh) | 应用于计算机集群的通信方法及通信装置 | |
He | [Retracted] Ideological and Political Teaching Resource Sharing Method Based on Edge Computing | |
Zhao et al. | A Learning-Based Hierarchical Edge Data Corruption Detection Framework in Edge Intelligence | |
CN113158497A (zh) | 在线服务实验方法、装置、计算机设备和存储介质 | |
CN116346284B (zh) | 基于数据映射的网络信息判断系统 | |
US20240303475A1 (en) | System, apparatus and methods of privacy protection |
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 |