掌桥专利:专业的专利平台
掌桥专利
首页

一种基于区块链的数据访问处理方法以及数据交互系统

文献发布时间:2023-06-19 18:37:28


一种基于区块链的数据访问处理方法以及数据交互系统

技术领域

本申请涉及区块链技术领域,具体涉及一种基于区块链的数据访问处理方法、系统、数据交互系统及计算机可读存储介质。

背景技术

联盟链是区块链的一种形式,联盟链是指由若干组织或机构共同参与管理的区块链,每个组织或机构控制一个或多个节点,共同记录交易数据。在实际应用中,常常需要获取联盟链中各节点的访问数据以对各节点的数据访问进行监控,例如,获取节点的交易量来对节点对应的账号进行收费、限流等。

相关技术中,通常是业务人员定时导出区块链中各节点的访问数据,通过解析导出的访问数据,对该节点进行后续的限流、收费等监控操作。

然而,由于节点进行数据访问并不是定时的,而是基于商户所触发的交易请求随时可能产生的,上述方案通过业务人员定时导出节点的访问数据后进行解析,会导致对节点进行监控的实时性较差,从而无法很好地保证区块链数据访问的安全性,影响了区块链的正常运行。

发明内容

本申请提供了一种基于区块链的数据访问处理方法、系统、数据交互系统及计算机可读存储介质,能够实时的对区块链节点发送的数据访信息进行验证,提高区块链节点之间数据访问的安全性。

第一方面,本申请实施例提供了一种基于区块链的数据访问处理方法,应用于数据交互系统,所述数据交互系统系统包括区块链系统和监控中心,所述方法包括:

所述区块链系统中的第一节点响应于数据访问请求生成数据访问信息,并将所述数据访问信息发送给所述监控中心,所述数据访问信息中包括数据访问的详情内容、所述第一节点所请求访问的节点信息;

所述监控中心基于预设验证条件对所述数据访问信息中的内容进行验证,若所述数据访问信息中的内容满足所述预设验证条件,将所述数据访问信息发送给所述区块链系统中的第二节点,所述第二节点为所述节点信息对应的节点;

所述第二节点基于所述详情内容进行数据访问反馈。

可选地,所述数据访问信息中还包括:请求进行数据访问的请求账号、对所述详情内容进行私钥签名后的第一签名数据;

在所述监控中心对所述数据访问信息中的内容进行验证之前,所述方法还包括:

所述监控中心从预置的账号统计信息中获取所述请求账号对应的目标私钥,并根据所述目标私钥对所述详情内容进行私钥签名,得到第二签名数据,所述账号统计信息中包括:各已注册的账号对应的私钥;

所述预设验证条件包括:所述第一签名数据与所述第二签名数据相同。

可选地,所述账号统计信息中还包括:各已注册的账号允许访问的节点;

在所述监控中心对所述数据访问信息中的内容进行验证之前,所述方法还包括:

所述监控中心从所述账号统计信息中获取所述请求账号允许访问的节点;

所述预设验证条件还包括:所述节点信息对应的节点为所述请求账号允许访问的节点。

可选地,所述账号统计信息中还包括:各已注册的账号对应的单位时间最大访问次数;

在所述监控中心对所述数据访问信息中的内容进行验证之前,所述方法还包括:

所述监控中心从所述账号统计信息中获取所述请求账号对应的单位时间最大访问次数,并计算所述请求账号当前的单位时间访问次数;

所述预设验证条件还包括:所述请求账号对应的当前的单位时间访问次数小于或等于所述请求账号对应的最大访问次数。

可选地,所述账号统计信息中还包括:各已注册的账号对应的节点IP地址;

在所述监控中心对所述数据访问信息中的内容进行验证之前,所述方法还包括:

所述监控中心从所述账号统计信息中获取所述请求账号对应的节点IP地址,并解析发送所述数据访问信息的节点的IP地址;

所述预设验证条件还包括:从所述账号统计信息中获取的节点IP地址与所述数据访问信息中的节点IP地址相同。

可选地,所述监控中心基于预设验证条件对所述数据访问信息中的内容进行验证,包括:

所述监控中心在检测到所述请求账号满足预设条件时,基于预设验证条件对所述数据访问信息中的内容进行验证,所述预设条件包括:所述请求账号为已注册的账号。

可选地,在所述监控中心在检测到所述请求账号满足预设条件时,基于预设验证条件对所述数据访问信息中的内容进行验证之前,所述方法还包括:

所述监控中心查询所述请求账号中的余额,并确定所述请求账号进行单次数据访问所需的费用;

所述预设条件还包括:所述请求账号中的余额大于或等于所述所需的费用。

可选地,所述数据访问信息通过超文本传送协议http报文的形式进行传输,所述节点信息、所述请求账号、所述第一签名数据位于所述http报文的请求头中。

可选地,所述数据访问请求为:对区块链上数据查询的请求或进行虚拟资产交易的请求。

可选地,所述方法还包括:所述监控中心基于从所述第二节点所接收到的数据访问反馈结果,对所述请求账号的数据访问信息进行统计。

可选地,所述方法还包括:所述监控中心响应于接收到所述第二节点发送的数据访问反馈结果,扣除所述请求账号中预设数量的虚拟资产;

或者,所述监控中心在到达预设时机时,确定所述请求账号对应的未收费、且已完成的目标数据访问,并根据所述目标数据访问的次数、以及预设的单次数据访问所需费用,扣除所述请求账号中对应数量的虚拟资产。

可选地,所述方法还包括:当所述请求账号中的余额小于所述所需的费用,向所述第一节点发送所述请求账号余额不足的信息。

第二方面,本申请实施例提供了一种基于区块链的数据访问处理系统,所述系统包括:

发送单元,应用于区块链系统中的第一节点,所述发送单元用于响应于数据访问请求生成数据访问信息,并将所述数据访问信息发送给所述监控中心,所述数据访问信息中包括数据访问的详情内容、所述第一节点所请求访问的节点信息;

验证单元,应用于监控中心,所述验证单元用于基于预设验证条件对所述数据访问信息中的内容进行验证,若所述数据访问信息中的内容满足所述预设验证条件,将所述数据访问信息发送给所述区块链系统中的第二节点,所述第二节点为所述节点信息对应的节点;

反馈单元,应用于区块链系统中的第二节点,所述反馈单元用于基于所述详情内容进行数据访问反馈。

可选地,所述数据访问处理还包括:

签名单元,应用于监控中心,所述签名单元用于从预置的账号统计信息中获取所述请求账号对应的目标私钥,并根据所述目标私钥对所述详情内容进行私钥签名,得到第二签名数据,所述账号统计信息中包括:各已注册的账号对应的私钥。

所述验证单元,具体用于验证所述第一签名数据与所述第二签名数据相同。

可选地,所述数据访问处理还包括:

获取单元,应用于监控中心,所述获取单元用于从所述账号统计信息中获取所述请求账号允许访问的节点。

所述验证单元,具体还可以用于验证所述节点信息对应的节点为所述请求账号允许访问的节点。

可选地,所述获取单元,还可用于从所述账号统计信息中获取所述请求账号对应的单位时间最大访问次数,并计算所述请求账号当前的单位时间访问次数。

所述验证单元,具体还可用于验证所述请求账号对应的当前的单位时间访问次数小于或等于所述请求账号对应的最大访问次数。

可选地,所述获取单元还可用于从所述账号统计信息中获取所述请求账号对应的节点IP地址,并解析发送所述数据访问信息的节点的IP地址。

所述验证单元,具体用于验证从所述账号统计信息中获取的节点IP地址与所述数据访问信息中的节点IP地址相同。

可选地,所述验证单元,还可用于在检测到所述请求账号满足预设条件时,基于预设验证条件对所述数据访问信息中的内容进行验证,所述预设条件包括:所述请求账号为已注册的账号。

可选地,所述获取单元,还可用于用于查询所述请求账号中的余额,并确定所述请求账号进行单次数据访问所需的费用;

所述验证单元,具体用于验证所述请求账号中的余额大于或等于所述所需的费用。

可选地,所述数据访问处理中所述数据访问信息通过超文本传送协议http报文的形式进行传输,所述节点信息、所述请求账号、所述第一签名数据位于所述http报文的请求头中。

可选地,所述数据访问请求为:对区块链上数据查询的请求或进行虚拟资产交易的请求。

可选地,所述数据访问处理还包括:

统计单元,应用于监控中心,所述统计单元用于基于从所述第二节点所接收到的数据访问反馈结果,对所述请求账号的数据访问信息进行统计。

可选地,所述数据访问处理还包括:

扣费单元,应用于监控中心,所述扣费单元用于响应于接收到所述第二节点发送的数据访问反馈结果,扣除所述请求账号中预设数量的虚拟资产;

或者,在到达预设时机时,确定所述请求账号对应的未收费、且已完成的目标数据访问,并根据所述目标数据访问的次数、以及预设的单次数据访问所需费用,扣除所述请求账号中对应数量的虚拟资产。

可选地,所述数据访问处理还包括:

反馈信息发送单元,应用于监控中心,所述反馈信息发送单元用于当所述请求账号中的余额小于所述所需的费用,向所述第一节点发送所述请求账号余额不足的信息。

第三方面,本申请实施例提供了一种数据交互系统,所述系统包括:区块链系统、监控中心;

所述区块链系统中的第一节点,用于响应于数据访问请求生成数据访问信息,并将所述数据访问信息发送给所述监控中心,所述数据访问信息中包括数据访问的详情内容、所述第一节点所请求访问的节点信息;

所述监控中心,用于基于预设验证条件对所述数据访问信息中的内容进行验证,若所述数据访问信息中的内容满足所述预设验证条件,将所述数据访问信息发送给所述区块链系统中的第二节点,所述第二节点为所述节点信息对应的节点;

所述区块链系统中的第二节点,用于基于所述详情内容进行数据访问反馈。

可选地,所述区块链系统中的第一节点,包括:第一处理器;以及

第一存储器,用于存储第一数据处理程序,该第一节点通电并通过所述第一处理器运行该第一数据处理程序后,执行响应于数据访问请求生成数据访问信息,并将所述数据访问信息发送给所述监控中心的方法步骤。

可选地,所述监控中心包括:第二处理器;以及

第二存储器,用于存储第二数据处理程序,该监控中心通电并通过所述第二处理器运行该第二数据处理程序后,执行基于预设验证条件对所述数据访问信息中的内容进行验证,若所述数据访问信息中的内容满足所述预设验证条件,将所述数据访问信息发送给所述区块链系统中的第二节点的方法步骤。

可选地,所述区块链系统中的第二节点包括:第三处理器;以及

第三存储器,用于存储第三数据处理程序,该第二节点通电并通过所述第三处理器运行该第三数据处理程序后,执行基于所述详情内容进行数据访问反馈的方法步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,存储有数据处理程序,该程序被处理器运行,执行如第一方面中任一项所述的方法。

与现有技术相比,本申请具有以下优点:

本申请提供的基于区块链的数据访问处理方法,区块链系统中的第一节点响应于数据访问请求生成数据访问信息,该数据访问信息中包括数据访问的详情内容、第一节点所请求访问的节点信息,通过该节点信息可以确定第一节点所请求访问的节点,第一节点将数据访问信息发送给监控中心,监控中心在接收到数据访问信息之后,基于预设的验证条件对第一节点发送的数据访问信息中的内容进行验证,若数据访问信息中的内容满足预设验证条件,监控中心会将数据访问信息发送给区块链系统中的第二节点,第二节点即为根据第一节点所请求访问的节点信息确定的节点,第二节点基于详情内容对数据访问进行处理,并对数据访问处理结果进行反馈。

可见,本申请提供的数据访问处理方法,在区块链系统外设置了监控中心,监控中心预设了对第一节点发送的数据访问信息的验证条件,能够实时的对区块链节点发送的数据访问信息进行验证,提高了区块链节点之间数据访问的安全性,更好地保证了区块链的正常运行。同时,在区块链系统外设置监控中心,可以降低对区块链节点的性能需求,还可以使得区块链节点进行数据访问的过程更快速,提高数据访问的效率。

另外,本申请在区块链系统外设置监控中心进行数据访问的验证,使得数据访问的验证独立于区块链系统之外,无需因验证而对区块链节点增加额外的代码,提高了区块链代码的易用性和通用性,降低了区块链技术的应用难度,能够使参与区块链系统的成员增多,提高了区块链的去中心化程度。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1:本申请实施例提供的基于区块链的数据访问处理方法的应用场景示意图;

图2:本申请提供的一种基于区块链的数据访问处理方法的数据交互示意图;

图3:本申请实施例提供的基于区块链的数据访问处理方法的一例的流程图;

图4:本申请实施例提供的基于区块链的数据访问处理方法的另一例的流程图;

图5:本申请实施例提供的http报文结构示意图;

图6:本申请实施例提供的数据交互系统的一例结构示意框图;

图7:本申请实施例提供的基于区块链的数据访问处理系统的一例结构框图;

图8:本申请实施例提供的基于区块链的数据访问处理系统的另一例结构框图;

图9:本申请实施例提供的数据交互系统的另一例结构示意图;

图10:本申请实施例提供的数据交互系统的另一例结构示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

需要说明的是,本申请的权利要求书、说明书及附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,并不用于描述特定的顺序或先后次序。这样使用的数据在适当情况下是可以互换的,以便于本文所描述的本申请的实施例,能够以除了在本文图示或描述的内容以外的顺序实施。此外,术语“包括”、“具有”以及他们的变形形式,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

区块链可分为公有链、联盟链、私有链三类。公有链是指任何人都可以参与区块链数据的维护和读取、任何人都能发送交易,数据完全开放透明的区块链。

联盟链是由多个互相已知身份的机构或组织共同参与管理区块链,例如多个企业之间的供应链管理、政府部门之间的数据共享、多个银行之间的支付结算等。联盟链对网络内部的机构或组织的各个节点开放的权限不同,例如,联盟链数据库的读取权限可能是公开的,也可能像写入权限一样只限于系统的参与者,因此联盟链网络中需要验证各个节点的访问权限。

私有链可以理解为联盟链中只有一个成员,比如政府部门内部管理系统等。

在实际应用中,常常需要获取联盟链中各节点的访问数据以对各节点的数据访问进行监控,例如,获取节点的交易量来对节点对应的账号进行收费、限流等。

相关技术中,通常是业务人员定时导出区块链中各节点的访问数据,通过解析导出的访问数据,对该节点进行后续的限流、收费等监控操作。

然而,由于节点进行数据访问并不是定时的,而是基于商户所触发的交易请求随时可能产生的,上述方案通过业务人员定时导出节点的访问数据后进行解析,会导致对节点进行监控的实时性较差,从而无法很好地保证区块链数据访问的安全性,影响了区块链的正常运行。

相关技术中,也可以通过修改区块链节点代码的方式,将数据访问的验证程序部署在区块链节点上,也就是将验证程序嵌入到区块链系统代码内部,以对区块链中各节点的数据访问进行监控,但是这种方式会使区块链代码掺杂过多的个性化业务代码,影响区块链代码的易用性和通用性,增加区块链技术的应用难度,同时,添加过多的中心化业务代码,不仅会使区块链失去去中心化的特点,也会影响区块链的出块性能。

基于上述问题,为了能够实时的对区块链节点发送的数据访信息进行验证,提高区块链节点之间数据访问的安全性,本申请提供了一种基于区块链的数据访问处理方法,该方法应用于数据交互系统。

为了便于理解,以下结合图1给出本申请提供的基于区块链的数据访问处理方法应用场景的说明。图1所示的应用场景中,包括:第一节点110、监控中心120以及第二节点130。第一节点110、第二节点130分别是区块链系统中的节点。

其中,本实施例中第一节点110可以但不限于是台式电脑、笔记本电脑、手机、智能手表、平板电脑等具有显示功能的电子设备。该第一节点110可以是一个或者多个电子设备,本申请实施例对第一节点的数量不做限制,在本实施例中,仅以第一节点110为一个电子设备为例进行说明。第一节点110可以直接将数据访问信息发送至区块链系统中第二节点130进行处理,也可以将数据访问信息发送至监控中心120,监控中心120对第一节点发送的数据访问信息进行验证之后,将第一节点110发送的数据访问信息转发至区块链系统中的第二节点130进行处理。

本实施例中,监控中心120可以但不限于是区块链系统外的服务器、计算机等电子设备,可以包括一个或者多个电子设备,具体不做限定。监控中心120可以是对第一节点110发送的数据访问信息进行监控的服务系统。

如图6所示,监控中心中可以设置有JSON-RPC-HTTP网关模块,用于接收第一节点传输的数据访问请求。配置有前置过滤器、后置过滤器,前置过滤器用于对数据访问信息进行个性化验证,后置过滤器用于对数据访问信息进行统计。例如,前置过滤器1对第一节点进行流量控制,前置过滤器2对第一节点进行权限验证等,再次不做具体限定。还配置有应用APP管理模块,可以用于商户进行注册、注销等操作,JSONRPC交易路由模块,用于将数据访问信息转发至第二节点。

本实施例中,区块链系统可以包括多个节点,该多个节点可以配置有同一条区块链,该区块链可以是公有链、联盟链或者私有链,在此不做具体限定,本实施例提供的数据访问处理方法以联盟链为例进行说明。联盟链中,该多个节点可以是同一机构的多个节点,也可以是不同机构的多个节点,本申请实施例不做具体限定。

上述第一节点110、监控中心120、第二节点130之间可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例对此不作限定。

应理解:上述应用场景仅为示例,并非对本申请的限定,此外,本申请实施例中具体涉及的内容参见下述实施例。

第一实施例

下面通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图2为本申请实施例提供的基于区块链的数据访问处理方法的一例数据交互示意图,图3为本申请实施例提供的基于区块链的数据访问处理方法的一例的流程图,图4为本申请实施例提供的基于区块链的数据访问处理方法的另一例流程图。下面将结合图2、图3以及图4,对本申请的第一实施例进行描述。

如图3所示,该方法可以包括如下步骤S310~步骤S330。

步骤S310:区块链系统中的第一节点响应于数据访问请求生成数据访问信息,并将数据访问信息发送给监控中心。

上述数据访问信息中包括数据访问的详情内容、第一节点所请求访问的节点信息。

如图2所示,步骤S310对应于图2中步骤S201以及步骤S202,用于第一节点生成数据访问信息,并将数据访问信息发送至监控中心进行验证。

上述第一节点可以是区块链系统中的任意一个有数据访问请求的节点,可以是普通用户节点、商户节点或者是政府单位的节点,具体不做限定。本实施例以第一节点是商户节点为例进行说明,商户节点是商户参与联盟链的节点,商户可以理解为应用联盟链系统的一家企业、提供服务或者售卖产品的商家等,例如,商户可以是加入游戏区块链的游戏服务商、企业供应链中的企业、快递物流区块链的快递服务提供方等,具体不做限定。

上述节点信息可以是第一节点所请求访问的节点的地址,也可以是其他用于标识节点的信息。

在具体实施方式中,上述数据访问请求可以是对区块链上数据查询的请求、进行虚拟资产交易的请求、将数据进行上传的请求等,但不限于此。

上述数据访问的详情内容可以包括访问时间、数据访问的方式(例如是查询访问还是交易访问)、交易金额、交易类型(转账、充值)等信息,也可以包括其他用于表示数据访问详情的信息。

上述监控中心可以理解为区块链系统提供验证服务的区块链代理服务系统,用于对区块链系统中的数据访问进行监控,例如可以对数据访问信息进行权限验证、流量控制或者其他个性化的验证,也可以根据第二节点130发送的数据访问返馈信息进行数据访问信息的统计,例如,对数据访问耗时统计、数据访问所需费用统计等,本实施例不做具体限定。

如图6所示,第一节点中安装有可以调用区块链的软件开发工具包(So ftwareDevelopment Kit,SDK),可以理解为第一节点中安装有可以调用区块链的SDK客户端,如以太坊平台中的WEB3J-SDK客户端。SDK客户端为用户提供了组装访问数据,签名访问数据以及发送访问数据的核心接口,任一用户可以在第一节点上通过SDK客户端对访问数据进行组装、签名,然后将访问数据发送至区块链系统或者区块链系统的代理服务系统,本实施例中任一用户通过第一节点上的SDK客户端生成数据访问信息,并将数据访问信息发送至监控中心。

以企业之间的供应链为例,企业B是企业A的产品供应商,企业A和企业B都可以看作是商户,企业A和企业B通过区块链系统进行交易。企业A对应的参与供应链的计算设备可以是第一节点。例如,企业A向企业B购买产品,企业A可以通过第一节点上的运行的SDK客户端向企业B发起交易请求。

在具体实施方式中,数据访问信息可以通过超文本传送协议http报文的形式进行传输。超文本传输协议(hyper text transfer protocol,http),是一个基于TCP/IP通信协议,简单的请求-响应的应用层协议,可以使数据访问信息以约定的格式在第一节点、监控中心之间进行传输。http报文包括请求头、请求体,如图5所示,上述节点信息位于http报文的请求头中,数据访问的详情内容,即图5中的trade,位于http报文的请求体中。将节点信息放入http报文的请求头中、数据访问的详情内容放入http报文的请求体中进行传输,不会改变第一节点原本调用区块链的接口格式,即对原生的WEB3J-SDK的变更代价较少。

在一个具体的实施例中,上述数据访问信息通过http协议传输还可以是http协议和JSON-RPC(JavaScript Object Notation-Remote Procedure Call)协议结合实现,JSON-RPC协议是基于JSON的跨语言远程调用协议,JSON是一种轻量级的数据交换格式,采用完全独立与变成语言的文本格式来存储和表示数据,易于人阅读和编写,同时也易于机器解析和生成,能够有效的提升网络传输效率。

JSON-RPC协议允许运行在http协议的消息传输环境中,可以规定本实施例中的数据访问请求数据满足JSON格式。

例如,如图5所示,采用JSON-RPC协议时,http报文的请求体中的数据格式如下:

{"jsonrpc":"2.0",

"method":"eth_call",

"params":["trade"],

"id":1}

其中,jsonrpc:2.0,表示指定JSON-RPC协议版本为2.0;

method:包含第一节点进行数据访问时,所要调用方法名称的字符串,例如"eth_call"为调用区块链的查询接口,“sendEthRawTransaction”为调用区块链的交易接口;

params:访问数据的详情内容;

id:已建立的第一节点上的客户端的唯一标识id。

步骤S320:监控中心基于预设验证条件对所述数据访问信息中的内容进行验证,若数据访问信息中的内容满足预设验证条件,将数据访问信息发送给区块链系统中的第二节点。

上述第二节点为步骤S310中的节点信息对应的节点。是与第一节点发生数据访问关系的区块链系统中的节点,可以是一个也可以是多个,具体不做限定。

步骤S320用于对步骤S310中第一节点发送的数据访问信息进行验证。

上述预设的验证条件可以但不限于是验证数据访问消息中的详情内容的签名是否正确,第一节点发送数据访问信息单位时间的次数是否满足预设的流控规则,第一节点是否有权限发送数据访问信息给第二节点。

如图2所示,对访问信息的验证过程可以包括图2中的步骤S203~步骤S213。可以是对第一节点发送的数据访问信息进行权限验证、流量控制、日志打印或者其他个性化的验证,再此不做具体限定。图2中的验证过程并没有特的顺序或先后次序,在适当的情况下可以互换。在验证完成后,基于步骤S214将验证过后的数据访问信息发送至第二节点。

例如,企业B对应的参与区块链的计算设备可以是第二节点,企业A通过第一节点上的SDK客户端向企业B发起购买产品的交易请求时,首先将交易请求发送至监控中心,监控中心基于预设验证条件,对所述交易请求进行验证,例如验证企业A是否有权限向第二节点发送交易请求,企业A发送的交易请求中交易的签名是否正确,企业A的账户中是否有足够的费用等,上述预设的验证条件都通过后,监控中心将企业A发送的交易请求通过JSON-RPC交易路由转发给企业B对应的第二节点,企业B对该交易请求进行处理。

步骤S330:第二节点基于所述详情内容进行数据访问反馈。

上述数据访问反馈信息与第一节点发送的数据访问请求信息相对应,例如,第一节点发送转账请求,反馈转账成功的消息,查询请求,反馈查询到的数据。

如图2所示,本步骤S330对应于图2中的步骤S215,用于对步骤S320验证通过的数据访问信息进行处理以及反馈访问信息的处理结果。第二节点可以将反馈信息发送至第一节点,也可以发送至监控中心,由监控中心将反馈信息转发至第一节点。本实施例中,如图2所示,步骤S218,第一节点通过监控中心将数据访问反馈结果发送给第一节点。

本申请提供的基于区块链的数据访问处理方法,区块链系统中的第一节点响应于数据访问请求生成数据访问信息,该数据访问信息中包括数据访问的详情内容、第一节点所请求访问的节点信息,通过该节点信息可以确定第一节点所请求访问的节点,第一节点将数据访问信息发送给监控中心,监控中心在接收到数据访问信息之后,基于预设的验证条件对第一节点发送的数据访问信息中的内容进行验证,若数据访问信息中的内容满足预设验证条件,监控中心会将数据访问信息发送给区块链系统中的第二节点,第二节点即为从第一节点所请求访问的节点信息中确定的节点,第二节点基于详情内容对数据访问进行处理,并对数据访问处理结果进行反馈。

可见,本申请提供的数据访问处理方法,在区块链系统外设置了监控中心,监控中心预设了对第一节点发送的数据访问信息的验证条件,能够实时的对区块链节点发送的数据访信息进行验证,提高了区块链节点之间数据访问的安全性,更好地保证了区块链的正常运行。同时,在区块链系统外设置监控中心,可以降低对区块链节点的性能需求,还可以使得区块链节点进行数据访问的过程更快速,提高数据访问的效率。

另外,本申请在区块链系统外设置监控中心进行数据访问的验证,使得数据访问的验证独立于区块链系统之外,无需因验证而对区块链节点增加额外的代码,提高了区块链代码的易用性和通用性,降低了区块链技术的应用难度,能够使参与区块链系统的成员增多,提高了区块链的去中心化程度。

在一种实施方式中,步骤S310中的数据访问信息中还包括:请求进行数据访问的请求账号、对详情内容进行私钥签名后的第一签名数据。如图5所示,请求账号、第一签名数据放入http报文的请求头中,监控中心通过解析http报文的请求头,获取请求账号以及第一签名数据,用于后续获取请求账号对应的私钥以及对第一签名数据进行验证。

如图4所示,步骤S320监控中心对数据访问信息中的内容进行验证之前,可以包括如下步骤S340。

步骤S340:监控中心从预置的账号统计信息中获取请求账号对应的目标私钥,并根据目标私钥对详情内容进行私钥签名,得到第二签名数据。

上述账号统计信息中包括:各已注册的账号对应的私钥。

所述预设验证条件包括:所述第一签名数据与所述第二签名数据相同。

本步骤S340用于监控中心对请求账号发送的详情内容重新计算签名,得到第二签名数据,验证第一签名数据和第二签名数据是否一致。对应于图2中的步骤S206和步骤S207,若第一签名与第二签名相同,继续下一步操作,若不同则监控中心向第一节点发送拒绝访问的信息。

上述预置的账号统计信息是在用户通过第一节点注册请求账号时,设置的与各已注册的请求账号对应的相关统计信息,例如账号统计信息可以包括:各已注册的账号对应的私钥、各已注册的账号允许访问的节点、各已注册的账号对应的单位时间最大访问次数等与验证请求账号以及验证请求账号发送的数据访问信息的相关内容,在此不做限定。

预置的账号统计信息可以存储在监控中心的存储器中,也可以存储于与监控中心通信连接的其他存储设备上,本实施例不做具体限定。

上述各已注册的账号对应的私钥为注册该账号时所生成的私钥。

上述签名数据就是利用哈希算法,将请求账号发送的数据访问信息中的详情内容和请求账号对应的私钥作为输入,计算得到一串字符密码。哈希算法是一种不可篡改的单向密码机制,不能进行逆向解密。在本实施例中,输入哈希算法的详情内容与输出的字符密码串是一一对应的,详情内容中的任何一个信息改变,都会导致最终输出的字符密码串的变化。例如,改变了详情内容中的数据访问的区块链的节点地址,就会生成不同的字符串,可以防止人为恶意改变数据访问请求中的详情内容。

详情内容的签名计算方式可以是MD5消息摘要算法(Message Digest Algorithm5,MD5)、使用安全散列算法256计算哈希值的散列消息认证码算法(Hash-based MessageAuthentication Code-Secure Hash Algorithm 256,Hmac-SHA256)等,具体不做限定。

本实施例提供一种具体的签名数据的计算方式:

AppSign=HmacSHA256(tradeBody+chainNodeUrl+appKey+APPSecret)

其中,AppSign为详情内容的签名数据,tradeBody为详情内容,chainNodeUrl为第一节点地址,appKey为请求账号、APPSecret为请求账号对应的私钥。

通过对第一签名信息和第二签名信息进行比对,可以确保第一节点发送的数据访问请求信息中的详情内容的完整性,以及发送数据访问请求的请求账号身份的正确性。

在一种实施方式中,步骤S340中的账号统计信息中还包括:各已注册的账号允许访问的节点。

如图4所示,步骤S320中,监控中心对数据访问信息中的内容进行验证之前,还包括步骤S350。

步骤S350:监控中心从账号统计信息中获取请求账号允许访问的节点。

预设验证条件还包括:所述节点信息对应的节点为所述请求账号允许访问的节点。

本步骤S350用于监控中心从预置的账号统计信息中获取请求账号允许访问的节点,并将第一节点发送的数据访问信息中的节点信息对应的节点与获取的请求账号允许访问的节点进行对比,判断数据访问信息中的节点信息对应的节点,即第二节点是否与预置的第二节点一致,防止第一节点对节点信息输入错误或者人为的恶意进行数据访问。

上述请求账号允许访问的节点是在第一节点注册请求账号时,第一节点、第二节点、监控中心之间预先约定的,可以以列表的方式进行存储。

上述请求账号允许访问的节点可以是一个也可以是多个,此处不做具体限定,可以根据数据访问的实际情况进行设置。

如图2所示,步骤S212获取了请求账号允许访问的节点,步骤S213对数据访问信息中的节点信息对应的节点与允许访问的节点进行比对,若一致,则继续下一步操作,若不一致,则向第一节点发送拒绝访问的请求。例如,企业A所在的供应链共有10个节点,企业A只可以对企业B对应的1个节点进行数据访问,在企业A对应的节点发起数据访问请求时,监控中心会对企业A可以进行数据访问的节点进行验证,若企业A发送的数据访问信息中需要访问的节点不是企业B的节点,那么监控中心会向企业A发送拒绝访问的信息。可以防止企业A输入的节点信息错误、得到错误的反馈信息或者有人恶意的进行数据访问等意外情况发生。

在一种实施方式中,步骤S340中的账号统计信息中还包括:各已注册的账号对应的单位时间最大访问次数。

如图4所示,步骤S320监控中心对数据访问信息中的内容进行验证之前,还包括步骤S360。

步骤S360:监控中心从账号统计信息中获取请求账号对应的单位时间最大访问次数,并计算请求账号当前的单位时间访问次数。

所述预设验证条件还包括:所述请求账号对应的当前的单位时间访问次数小于或等于所述请求账号对应的最大访问次数。

本步骤S360用于监控中心对请求账号的单位时间的访问次数进行验证,即是对各请求账号在单位时间发送数据访问请求的次数进行限制。

上述单位时间可以自行约定,比如可以是1秒,1分钟或者1个小时等,具体不做限定,本实施例的单位时间以1秒为例,即本步骤S360是对请求账号的每秒查询率(Queries-per-second,QPS)进行验证,QPS是对区块链系统在1秒内所处理数据访问请求多少的衡量标准。

如图2所示,步骤S208从账号统计信息中获取请求账号对应的单位时间最大访问次数,并计算请求账号当前的单位时间访问次数,步骤S209判断步骤S208计算的请求账号当前的单位时间访问次数是否小于或者等于预设请求账号对应的单位时间最大访问次数,如果小于或者等于,则进行下一步操作,若大于则向第一节点发送拒绝访问信息或者排队等待信息。

上述请求账号对应的单位时间最大访问次数,可以是所有在监控中心注册的请求账号在单位时间对应有相同的最大访问次数,即采用全局配置的方式,对所有请求账号配置相同的限流规则,或者是各个请求账号在单位时间对应有不同的最大访问次数,可以根据请求账号的类型单独设置限流规则。例如,采用全局配置的方式,可以设置所有请求账号单位时间的最大访问次数为1000次;或者对只进行查询访问的请求账号单位时间的最大访问次数为500次,进行资产交易的请求账号单位时间的最大访问次数为1000次。

通过对请求账号的单位时间的访问次数进行限制可以在遇到突发的请求量激增,恶意的数据访问,亦或数据访问请求频率过高给区块链系统的处理带来较大压力时,保障区块链系统的正常运行。

比如一共有100个请求账号调用区块链,区块链最多支持单位时间1000笔访问请求,那么需要对每个请求账号的访问请求次数进行限制,防止同一时间点某个请求账号请求过快过多,导致区块链系统无法支持这么多访问请求,可以起到保护区块链的作用,也能保证其他请求账号的正常访问。

通常,对请求账号进行限流还可以通过滑动窗口算法、滑动日志算法、漏桶算法、令牌桶算法等多种方式进行限制,本实施例具体不做限定。

在一种实施方式中,步骤S340中的账号统计信息中还包括:各已注册的账号对应的节点IP地址;

如图4所示,步骤S320监控中心对数据访问信息中的内容进行验证之前,还可以包括步骤S370。

步骤S370:监控中心从账号统计信息中获取请求账号对应的节点IP地址,并解析发送数据访问信息的节点的IP地址。

所述预设验证条件还包括:从所述账号统计信息中获取的节点IP地址与所述数据访问信息中的节点IP地址相同。

本步骤S370用于验证第一节点的请求账号的IP地址是否有权限向区块链系统发送数据访问请求。

上述各已注册的账号对应的节点IP地址,即是第一节点的互联网协议地址(Internet Protocol Address,IP地址),是第一节点配置的用来连接网络的IP地址。

本实施例中,在通过基于TCP/IP通信协议中的应用层协议传输数据访问请求信息时,位于TCP/IP通信协议中网络层的第一节点的IP地址也会发送至监控中心。

如图2所示,步骤S210从预设的账号统计信息中获取请求账号对应的节点IP地址,并从TCP/IP通信协议中解析出发送数据访问信息的节点的IP地址,通过步骤S211判断预设的IP地址与解析出的IP地址是否相同,若相同,则继续下一步操作,若不同,监控中心向第一节点发送拒绝访问的信息。

通过验证发送数据访问信息的节点的IP地址,可以判断该节点是否有权限访问区块链系统,也可以防止有人恶意拦截第一节点发送的数据访问信息。

在具体的实施方式中,步骤S320中监控中心基于预设验证条件对所述数据访问信息中的内容进行验证可以由步骤S321实现。

步骤S321:监控中心在检测到请求账号满足预设条件时,基于预设验证条件对数据访问信息中的内容进行验证。

所述预设条件包括:所述请求账号为已注册的账号。

本步骤S321用于判断请求账号是否是已经注册的账号,可以避免未注册账号、输入错误账号发送数据访问信息等情况的发生。

如图2所示,本步骤S321对应于图2中的步骤S203,可以在步骤S202第一节点将数据访问信息发送给监控中心之后,首先对请求账号是否注册进行验证,若请求账号不是已经注册的账号,则向第一节点发送拒绝访问的信息,如果是已注册的请求账号,再基于预设验证条件对数据访问信息中的内容进行验证。

在一种实施方式中,步骤S321之前还包括步骤S322。

步骤S322:监控中心查询请求账号中的余额,并确定请求账号进行单次数据访问所需的费用。

上述预设条件还包括:请求账号中的余额大于或等于所需的费用。

本步骤S322用于监控中心对请求账号的费用进行验证,判断请求账号中的费用是否能够进行数据访问。

上述请求账号中的余额就是请求账号中的虚拟资产数量。

如图2所示,在步骤S203验证请求账号是已注册的账号之后,步骤S204中,监控中心查询到该请求账号中的余额以及该请求账号进行单次数据访问所需的费用,步骤S205判断该请求账号的余额是否大于或者等于该请求账号进行单次数据访问所需的费用,即判断该请求账号中是否有足够的虚拟资产来支持这次数据访问,若大于或者等于,继续下一步操作。若小于,则向第一节点发送决绝访问信息同时提示请求账号余额不足,如图4所示,对应于步骤S3100。

步骤S3100:当所述请求账号中的余额小于所述所需的费用,向所述第一节点发送所述请求账号余额不足的信息。

上述请求账号进行单次数据访问所需的费用可以是在请求账号注册时配置的。可以是全局配置,即所有请求账号进行单次数据访问所需的费用相同,也可以是对某个具体的请求账号单独配置,即各请求账号进行单次数据访问所需的费用可以相同也可以不同,或者还可以是根据数据访问信息的类型,对各请求账号的某次数据访问所需的单独配置,即同一个请求账号进行单次数据访问的费用可能不同。本实施例具体不做限定。

例如,一个供应链有10个节点,分别是商户A-商户J对应的节点,在设置商户A-商户J的请求账号进行单次数据访问所需的费用时,可以按照以下三种方式设置:第一种:对商户A-商户J对应的请求账号进行单次数据访问所需的费用全局配置,即可以设置商户A-商户J每次进行数据访问的费用为1元;第二种:对商户A-商户J请求账号单独配置,比如商户A对应的请求账号进行单次数据访问所需的费用为1元,商户B对应的请求账号进行单次数据访问所需的费用为2元,商户C对应的请求账号进行单次数据访问所需的费用为1.5元等,各商户对应的请求账号进行单次数据访问所需的费用可以相同也可以不相同;第三种:商户A对应的请求账号仅进行数据查询时,收费1元,进行虚拟资产交易时,收费2元,或者还可以根据交易的虚拟资产数量,设置不同的收费标准。

在一种实施方式中,如图4所示,上述数据访问处理方法还可以包括步骤S380。

步骤S380:监控中心基于从第二节点所接收到的数据访问反馈结果,对请求账号的数据访问信息进行统计。

本步骤S380用于监控中心基于数据访问反馈结果,对请求账号的数据访问信息进行统计。

如图2所示,监控中心在步骤S215接收到第二节点发送的数据访问结果,步骤S216基于反馈结果,对请求账号的数据访问信息进行个性化统计。

上述统计可以是统计请求账号的数据访问次数、统计请求账号单次数据访问耗时等,具体不做限定,可以根据具体的业务需求进行统计。

对请求账号的数据访问信息进行个性化统计,可以使得开发人员基于所统计的结果对数据访问涉及的各系统性能进行分析。

在一种实施方式中,如图4所示,上述数据访问处理方法还可以包括步骤S390a或者步骤S390b。

步骤S390a:监控中心响应于接收到第二节点发送的数据访问反馈结果,扣除所述请求账号中预设数量的虚拟资产;

步骤S390b:所述监控中心在到达预设时机时,确定所述请求账号对应的未收费、且已完成的目标数据访问,并根据所述目标数据访问的次数、以及预设的单次数据访问所需费用,扣除所述请求账号中对应数量的虚拟资产。

步骤S390a和步骤S390b是监控中心扣除请求账号发送数据访问产生的费用的两种方式。

第一种:步骤S390a,上述预设数量的虚拟资产是步骤S322中请求账号进行单次数据访问所需的费用。监控中心在接收到第二节点发送的数据访问反馈结果之后,同步扣除该次数据访问的费用。例如,请求账号发送的该次数据访问的费用为1元,监控中心从该请求账号中扣除1元。

第二种:不同于步骤S390a在收到数据访问反馈结果之后,同步扣除费用,步骤S390b在达到预设时机时,异步扣除请求账号发送数据访问信息产生的费用。

所述预设时机可以包括:监控中心接收到的数据访问反馈结果的次数达到预设阈值,例如,阈值为10次,监控中心接收到10次数据访问结果,对该10次数据访问进行扣费。或者还可以是预设扣除费用的时间周期,定时扣费,例如可以是10分钟、30分钟、1个小时、1天执行一次扣费,本实施例不做具体限定。

步骤S390b中,在达到预设时机时,首先要确定需要对请求账号的哪些数据访问进行扣费,即可以是对请求账号对应的未收费、且已完成的目标数据访问进行扣费,对目标数据访问进行扣费需要根据目标数据访问的次数、以及预设的单次数据访问所需费用,确定出目标数据访问总的费用,扣除请求账号中对应数量的虚拟资产,并将监控中心对应的账号中增加所扣除数量的虚拟资产。

例如,预设扣除费用的时间周期为10分钟,监控中心每隔10分钟执行一次扣费,首先确定出该10分钟内请求账号中未收费且已完成的目标数据访问有10次,并从该请求账号对应的账号统计信息中获取到预设的单次数据访问所需要的费用为1元,则监控中心扣除请求账号中的10元,并将监控中心对应的账号中增加10元。

第二实施例

与本申请第一实施例提供的基于区块链的数据访问处理方法相对应的,本申请第二实施例还提供一种基于区块链的数据访问处理系统,如图7所示,本申请提供的数据访问处理系统包括:

发送单元401,应用于区块链系统中的第一节点,所述发送单元401用于响应于数据访问请求生成数据访问信息,并将所述数据访问信息发送给所述监控中心,所述数据访问信息中包括数据访问的详情内容、所述第一节点所请求访问的节点信息;

验证单元402,应用于监控中心,所述验证单元402用于基于预设验证条件对所述数据访问信息中的内容进行验证,若所述数据访问信息中的内容满足所述预设验证条件,将所述数据访问信息发送给所述区块链系统中的第二节点,所述第二节点为所述节点信息对应的节点;

反馈单元403,应用于区块链系统中的第二节点,所述反馈单元403用于基于所述详情内容进行数据访问反馈。

如图8所示,本申请实施例中,所述数据访问处理系统还包括:

签名单元404,应用于监控中心,所述签名单元404用于从预置的账号统计信息中获取所述请求账号对应的目标私钥,并根据所述目标私钥对所述详情内容进行私钥签名,得到第二签名数据,所述账号统计信息中包括:各已注册的账号对应的私钥;

所述验证单元402,具体用于验证所述第一签名数据与所述第二签名数据相同。

可选地,所述数据访问处理还包括:

获取单元405,应用于监控中心,所述获取单元405用于从所述账号统计信息中获取所述请求账号允许访问的节点;

所述验证单元402,具体还可以用于验证所述节点信息对应的节点为所述请求账号允许访问的节点。

可选地,所述获取单元405,还可用于从所述账号统计信息中获取所述请求账号对应的单位时间最大访问次数,并计算所述请求账号当前的单位时间访问次数;

所述验证单元402,具体还可用于验证所述请求账号对应的当前的单位时间访问次数小于或等于所述请求账号对应的最大访问次数。

可选地,所述获取单元405,还可用于从所述账号统计信息中获取所述请求账号对应的节点IP地址,并解析发送所述数据访问信息的节点的IP地址;

所述验证单元402,具体用于验证从所述账号统计信息中获取的节点IP地址与所述数据访问信息中的节点IP地址相同。

可选地,所述验证单元402,还可用于在检测到所述请求账号满足预设条件时,基于预设验证条件对所述数据访问信息中的内容进行验证,所述预设条件包括:所述请求账号为已注册的账号。

可选地,所述获取单元405,还可用于查询所述请求账号中的余额,并确定所述请求账号进行单次数据访问所需的费用;

所述验证单元402,具体用于验证所述请求账号中的余额大于或等于所述所需的费用。

可选地,所述数据访问处理中所述数据访问信息通过超文本传送协议http报文的形式进行传输,所述节点信息、所述请求账号、所述第一签名数据位于所述http报文的请求头中。

可选地,所述数据访问请求为:对区块链上数据

的请求或进行虚拟资产交易的请求。

可选地,所述数据访问处理还包括:

统计单元406,应用于监控中心,所述统计单元406用于基于从所述第二节点所接收到的数据访问反馈结果,对所述请求账号的数据访问信息进行统计。

可选地,所述数据访问处理还包括:

扣费单元407,应用于监控中心,所述扣费单元407用于响应于接收到所述第二节点发送的数据访问反馈结果,扣除所述请求账号中预设数量的虚拟资产;

或者,在到达预设时机时,确定所述请求账号对应的未收费、且已完成的目标数据访问,并根据所述目标数据访问的次数、以及预设的单次数据访问所需费用,扣除所述请求账号中对应数量的虚拟资产。

可选地,所述数据访问处理还包括:

反馈信息发送单元408,应用于监控中心,所述反馈信息发送单元408用于当所述请求账号中的余额小于所述所需的费用,向所述第一节点发送所述请求账号余额不足的信息。

第三实施例

与本申请第一实施例提供的基于区块链的数据访问处理方法相对应的,本申请第三实施例还提供一种用于数据交互系统,如图9以及图1所示,本申请实施例提供的数据交互系统包括:区块链系统中的第一节点110、监控中心120以及区块链系统中的第二节点130。

所述区块链系统中的第一节点110,用于响应于数据访问请求生成数据访问信息,并将所述数据访问信息发送给所述监控中心,所述数据访问信息中包括数据访问的详情内容、所述第一节点所请求访问的节点信息;

所述监控中心120,用于基于预设验证条件对所述数据访问信息中的内容进行验证,若所述数据访问信息中的内容满足所述预设验证条件,将所述数据访问信息发送给所述区块链系统中的第二节点;

所述区块链系统中的第二节点130,用于基于所述详情内容进行数据访问反馈。

在实际应用中,区块链系统中的第一节点的数量为至少一个,区块链系统中的第二节点的数量为至少一个。

可选地,如图10所示,所述区块链系统中的第一节点110包括:第一处理器111;以及

第一存储器112,用于存储第一数据处理程序,该第一节点110通电并通过所述第一处理器111运行该第一数据处理程序后,执行响应于数据访问请求生成数据访问信息,并将所述数据访问信息发送给所述监控中心120的方法步骤。

可选地,所述监控中心120包括:第二处理器121;以及

第二存储器122,用于存储第二数据处理程序,该监控中心120通电并通过所述第二处理器121运行该第二数据处理程序后,执行基于预设验证条件对所述数据访问信息中的内容进行验证,若所述数据访问信息中的内容满足所述预设验证条件,将所述数据访问信息发送给所述区块链系统中的第二节点130的方法步骤。

可选地,所述区块链系统中的第二节点130包括:第三处理器131;以及

第三存储器132,用于存储第三数据处理程序,该第二节点130通电并通过所述第三处理器132运行该第三数据处理程序后,执行基于所述详情内容进行数据访问反馈的方法步骤。

第四实施例

与本申请第一实施例提供的基于区块链的数据访问处理方法相对应的,本申请第四实施例提供一种计算机可读存储介质,存储有基于区块链的数据访问处理方法的程序,该程序被处理器运行,执行下述步骤:

所述区块链系统中的第一节点响应于数据访问请求生成数据访问信息,并将所述数据访问信息发送给所述监控中心,所述数据访问信息中包括数据访问的详情内容、所述第一节点所请求访问的节点信息;

所述监控中心基于预设验证条件对所述数据访问信息中的内容进行验证,若所述数据访问信息中的内容满足所述预设验证条件,将所述数据访问信息发送给所述区块链系统中的第二节点,所述第二节点为所述节点信息对应的节点;

所述第二节点基于所述详情内容进行数据访问反馈。

需要说明的是,对于本申请第二实施例、第三实施例和第四实施例提供的系统及计算机可读存储介质的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。

在一个典型的配置中,区块链节点的计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

技术分类

06120115630376