一种区块链系统、数据存储方法及装置转让专利

申请号 : CN201710086153.6

文献号 : CN107018125B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李宁

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本申请实施例公开了一种区块链系统、数据存储方法及装置。建立包括配置中心、非共识子系统、若干共识子系统的区块链系统,其中,所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点,并且,每个共识子系统都相当于一个包含所述多个共识节点的联盟区块链,这也意味着各共识子系统可以分别不同业务领域的共识校验。一方面仅由共识节点负责共识校验,各共识子系统之外的非共识节点不能参与联盟区块链网络的共识校验,提升了区块链网络的安全性;另一方面,配置中心可以对接各联盟区块链,联盟区块链网络外的非共识主体(非共识节点)仅需与配置中心对接即可,无需依照不同的对接协议分别与多个联盟区块链对接,这提升了区块链网络的便利性。

权利要求 :

1.一种区块链系统,其特征在于,包括:配置中心、非共识子系统、若干共识子系统;

所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点;

所述非共识节点,向所述配置中心发送业务请求;

所述配置中心,接收所述非共识子系统发送的所述业务请求,根据所述业务请求中包含的所述业务数据,确定所述业务请求对应的共识子系统,将所述业务请求转发给确定出的共识子系统;

所述共识子系统,接收所述配置中心转发的业务请求,将所述业务请求发送给所述共识子系统中的各共识节点进行共识校验;若通过校验,则根据所述业务请求生成对应的区块并存入所述共识子系统对应的联盟区块链。

2.根据权利要求1所述的区块链系统,其特征在于,所述共识子系统还用于,若通过校验,则将所述业务请求对应的区块发送给所述非共识子系统;

所述非共识子系统,接收所述区块,将所述区块存入所述非共识子系统对应的公有区块链。

3.根据权利要求2所述的区块链系统,其特征在于,所述共识子系统还用于,根据所述区块对应的业务数据,生成所述区块对应的业务摘要,将所述业务摘要发送给所述非共识子系统;

所述非共识子系统,将所述业务摘要存入所述公有区块链,以供各非共识节点查询。

4.根据权利要求1所述的区块链系统,其特征在于,所述非共识子系统还包括:数据浏览器,接收所述非共识节点发送的针对业务数据的查询请求,根据所述查询请求,确定所述非共识节点的查询权限;根据所述查询权限,向所述非共识节点返回所述查询权限对应的业务数据。

5.根据权利要求4所述的区块链系统,其特征在于,非共识节点的查询权限通过以下方式确定:针对每个非共识节点,确定该非共识节点的类型;

根据该非共识节点的类型,为该非共识节点分配查询权限。

6.根据权利要求4所述的区块链系统,其特征在于,所述数据浏览器,根据所述查询权限向所述查询请求对应的共识子系统获取所述查询权限对应的业务数据,将获取到的业务数据返回给所述非共识节点。

7.一种数据存储方法,其特征在于,区块链系统包括配置中心、非共识子系统、若干共识子系统,所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点,所述方法包括:所述共识子系统接收所述配置中心转发的业务请求,所述业务请求包含业务数据;所述业务请求是所述非共识节点向所述配置中心发送的业务请求;

将所述业务请求发送给所述共识子系统中的各共识节点进行共识校验;

若通过校验,则根据所述业务请求生成对应的区块并存入所述共识子系统对应的联盟区块链。

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:若通过校验,则将所述业务请求对应的区块发送给所述非共识子系统,以使所述非共识子系统将所述区块存入所述非共识子系统对应的公有区块链。

9.根据权利要求8所述的方法,其特征在于,若所述各共识节点对所述业务请求达成合法的共识,则所述方法还包括:根据所述区块对应的业务数据,生成所述区块对应的业务摘要;

将所述业务摘要发送给所述非共识子系统,以使所述非共识子系统将所述业务摘要存入所述公有区块链,以供所述非共识节点查询。

10.根据权利要求7所述的方法,其特征在于,所述方法还包括:接收所述非共识子系统发送的针对业务数据的获取请求;

根据所述获取请求,向所述非共识子系统返回所述获取请求对应的业务数据。

11.根据权利要求10所述的方法,其特征在于,所述获取请求包含非共识节点的查询权限,所述查询权限是所述非共识子系统根据所述非共识节点发送的针对业务数据的查询请求确定的;

根据所述获取请求,向所述非共识子系统返回所述获取请求对应的业务数据,具体包括:根据所述查询权限,从非共识子系统存储的业务数据中确定出所述查询权限对应的业务数据。

12.一种数据存储方法,其特征在于,区块链系统包括配置中心、非共识子系统、若干共识子系统,所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点,所述方法包括:所述配置中心接收所述非共识子系统发送的业务请求,所述业务请求包含业务数据;

根据所述业务请求中包含的所述业务数据,确定所述业务请求对应的共识子系统;

将所述业务请求转发给确定出的共识子系统,以使所述共识子系统对所述业务请求进行共识校验,并将通过校验的业务请求对应的区块存入所述共识子系统对应的联盟区块链。

13.一种数据存储方法,其特征在于,区块链系统包括配置中心、非共识子系统、若干共识子系统,所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点,所述方法包括:所述非共识子系统向所述配置中心发送业务请求,所述业务请求是需进行共识校验的业务请求,所述业务请求包含业务数据,以使所述配置中心根据所述业务数据将所述业务请求转发给所述业务数据对应的共识子系统。

14.根据权利要求13所述的方法,其特征在于,所述方法还包括:接收所述共识子系统发送的区块;

将所述区块存入所述非共识子系统对应的公有区块链。

15.根据权利要求14所述的方法,其特征在于,所述方法还包括:接收所述共识子系统发送的所述区块对应的业务摘要;

将所述业务摘要存入所述公有区块链,以供各非共识节点查询。

16.根据权利要求13所述的方法,其特征在于,所述方法还包括:接收所述非共识节点发送的针对业务数据的查询请求,根据所述查询请求,确定所述非共识节点的查询权限;根据所述查询权限,向所述非共识节点返回所述查询权限对应的业务数据。

17.根据权利要求16所述的方法,其特征在于,非共识节点的查询权限通过以下方式确定:针对每个非共识节点,确定该非共识节点的类型;

根据该非共识节点的类型,为该非共识节点分配查询权限。

18.根据权利要求16所述的方法,其特征在于,根据所述查询权限,向所述非共识节点返回所述查询权限对应的业务数据,具体包括:根据所述查询权限向所述查询请求对应的共识子系统获取所述查询权限对应的业务数据,将获取到的业务数据返回给所述非共识节点。

19.一种数据存储装置,其特征在于,区块链系统包括配置中心、非共识子系统、若干所述装置,所述非共识子系统包括多个非共识节点,每个所述装置包含多个共识节点,所述装置包括:接收模块,接收所述配置中心转发的业务请求,所述业务请求包含业务数据;所述业务请求是所述非共识节点向所述配置中心发送的业务请求;

校验模块,将所述业务请求发送给所述共识子系统中的各共识节点进行共识校验;

存储模块,若通过校验,则根据所述业务请求生成对应的区块并存入所述共识子系统对应的联盟区块链。

20.根据权利要求19所述的装置,其特征在于,所述装置还包括:发送模块,若通过校验,则将所述业务请求对应的区块发送给所述非共识子系统,以使所述非共识子系统将所述区块存入所述非共识子系统对应的公有区块链。

21.根据权利要求20所述的装置,其特征在于,则所述装置还包括:生成模块,若所述各共识节点对所述业务请求达成合法的共识,根据所述区块对应的业务数据,生成所述区块对应的业务摘要;将所述业务摘要发送给所述非共识子系统,以使所述非共识子系统将所述业务摘要存入所述公有区块链,以供所述非共识节点查询。

22.根据权利要求19所述的装置,其特征在于,所述装置还包括:业务数据管理模块,接收所述非共识子系统发送的针对业务数据的获取请求;根据所述获取请求,向所述非共识子系统返回所述获取请求对应的业务数据。

23.根据权利要求22所述的装置,其特征在于,所述获取请求包含非共识节点的查询权限,所述查询权限是所述非共识子系统根据所述非共识节点发送的针对业务数据的查询请求确定的;

所述业务数据管理模块,根据所述查询权限,从非共识子系统存储的业务数据中确定出所述查询权限对应的业务数据。

24.一种数据存储装置,其特征在于,区块链系统包括所述装置、非共识子系统、若干共识子系统,所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点,所述装置包括:接收模块,接收所述非共识子系统发送的业务请求,所述业务请求包含业务数据;

确定模块,根据所述业务请求中包含的所述业务数据,确定所述业务请求对应的共识子系统;

转发模块,将所述业务请求转发给确定出的共识子系统,以使所述共识子系统对所述业务请求进行共识校验,并将通过校验的业务请求对应的区块存入所述共识子系统对应的联盟区块链。

25.一种数据存储装置,其特征在于,区块链系统包括配置中心、所述装置、若干共识子系统,所述装置包含多个非共识节点,每个共识子系统包括多个共识节点,所述装置包括:发送模块,向所述配置中心发送业务请求,所述业务请求是需进行共识校验的业务请求,所述业务请求包含业务数据,以使所述配置中心根据所述业务数据将所述业务请求转发给所述业务数据对应的共识子系统。

26.根据权利要求25所述的装置,其特征在于,所述装置还包括:第一存储模块,接收所述共识子系统发送的区块;将所述区块存入非共识子系统对应的公有区块链。

27.根据权利要求26所述的装置,其特征在于,所述装置还包括:第二存储模块,接收所述共识子系统发送的所述区块对应的业务摘要;将所述业务摘要存入所述公有区块链,以供各非共识节点查询。

28.根据权利要求25所述的装置,其特征在于,所述装置还包括:查询模块,接收所述非共识节点发送的针对业务数据的查询请求,根据所述查询请求,确定所述非共识节点的查询权限;根据所述查询权限,向所述非共识节点返回所述查询权限对应的业务数据。

29.根据权利要求28所述的装置,其特征在于,非共识节点的查询权限通过以下方式确定:针对每个非共识节点,确定该非共识节点的类型;

根据该非共识节点的类型,为该非共识节点分配查询权限。

30.根据权利要求28所述的装置,其特征在于,所述查询模块,根据所述查询权限向所述查询请求对应的共识子系统获取所述查询权限对应的业务数据,将获取到的业务数据返回给所述非共识节点。

说明书 :

一种区块链系统、数据存储方法及装置

技术领域

[0001] 本申请涉及软件技术领域,尤其涉及一种区块链系统、数据存储方法及装置。

背景技术

[0002] 所谓区块链网络,也被称之为分布式账本网络,是一种互联网数据库,其特点是去中心化、公开透明,各节点同步数据库记录(也就是共享账本)。
[0003] 具体而言,区块链网络由各节点组成,每个节点都持有一个共享账本,在共享账本上按时间顺序记录有各区块数据(一个区块数据对应一段时间内各节点达成合法性共识的业务的集合),也就是说,共享帐本上记录了区块数据的时间链条,“区块链”因此得名。每个节点可以同步更新所述共享账本,验证每起业务的真实性。
[0004] 此外,任一节点都有权提议在共享账本上增加区块数据,由各节点对该提议增加的区块数据对应的业务是否具有合法性达成共识,并将达成合法性共识的区块数据增加到共享账本中。现有的区块链网络主要有两种:公有区块链网络和联盟区块链网络。
[0005] 公有区块链网络是完全去中心化和对外公开透明的,任何主体(个人或单位)都可以成为公有区块链网络中的一个节点,这就意味着任何主体都可以通过成为节点来持有共享账本,进而请求各节点一起针对区块数据达成共识并记录在共享账本上。
[0006] 但是,由于任何主体都可以成为公有区块链网络中的节点,因此黑客可以轻松侵入到公有区块链网络中尝试控制大多数节点,在公有区块链上(也就是共享账本上)增加不合法的区块数据,对公有区块链网络的安全性构成威胁。
[0007] 联盟区块链网络是部分去中心化和对外不公开的,只有预先指定的主体可以成为联盟区块链网络中的节点,其他主体没有资格成为节点,也不能持有共享帐本或参与共识。联盟区块链网络可以为联盟区块链链网络外的主体(非节点主体)提供服务,非节点主体可以与联盟区块链网络对接,请求联盟区块链网络针对其产生的业务达成合法性共识。
[0008] 一个联盟区块链网络往往只涉及一种业务领域,联盟区块链网络中的节点的身份也往往是该领域中的权威机构,如金融领域联盟区块链网络中的节点的身份往往是大银行和金融监管机构。此外,票据、物流、医疗、政府行政等诸多业务领域联盟区块链网络中节点的身份也分别是对应业务领域中的权威机构。
[0009] 对于非节点主体而言,其需要根据自身产生的业务所属的业务领域来选择相应的联盟区块链网络,在与联盟区块链网络对接后,才能享受联盟区块链网络提供的服务。但是,各联盟区块链网络的对接协议并不一致,倘若非节点主体产生的多个业务分别属于不同的业务领域,那么非节点主体就得依照不同的对接协议,分别与多个联盟区块链网络进行对接,这对非节点主体而言,便利性较低。

发明内容

[0010] 本申请实施例提供一种区块链系统、数据存储方法及装置,以提供区块链网络的安全性和便利性。
[0011] 为解决上述技术问题,本申请实施例是这样实现的:
[0012] 本申请实施例提供的一种区块链系统,配置中心、非共识子系统、若干共识子系统;
[0013] 所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点;
[0014] 所述非共识节点,向所述配置中心发送业务请求;
[0015] 所述配置中心,接收所述非共识子系统发送的所述业务请求,根据所述业务请求中包含的所述业务数据,确定所述业务请求对应的共识子系统,将所述业务请求转发给确定出的共识子系统;
[0016] 所述共识子系统,接收所述配置中心转发的业务请求,将所述业务请求发送给所述共识子系统中的各共识节点进行共识校验;若通过校验,则根据所述业务请求生成对应的区块并存入所述共识子系统对应的联盟区块链。
[0017] 本申请实施例提供的一种数据存储方法,区块链系统包括配置中心、非共识子系统、若干共识子系统,所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点,所述方法包括:
[0018] 所述共识子系统接收所述配置中心转发的业务请求,所述业务请求包含业务数据;
[0019] 将所述业务请求发送给所述共识子系统中的各共识节点进行共识校验;
[0020] 若通过校验,则根据所述业务请求生成对应的区块并存入所述共识子系统对应的联盟区块链。
[0021] 本申请实施例提供的一种数据存储方法,区块链系统包括配置中心、非共识子系统、若干共识子系统,所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点,所述方法包括:
[0022] 所述配置中心接收所述非共识子系统发送的所述业务请求,所述业务请求包含业务数据;
[0023] 根据所述业务请求中包含的所述业务数据,确定所述业务请求对应的共识子系统;
[0024] 将所述业务请求转发给确定出的共识子系统,以使所述共识子系统对所述业务请求进行共识校验,并将通过校验的业务请求对应的区块存入所述共识子系统对应的联盟区块链。
[0025] 本申请实施例提供的一种数据存储方法,区块链系统包括配置中心、非共识子系统、若干共识子系统,所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点,所述方法包括:
[0026] 所述非共识子系统向所述配置中心发送业务请求,所述业务请求包含业务数据,以使所述配置中心根据所述业务数据将所述业务请求转发给所述业务数据对应的共识子系统。
[0027] 本申请实施例提供的一种数据存储装置,区块链系统包括配置中心、非共识子系统、若干所述装置,所述非共识子系统包括多个非共识节点,每个所述装置包含多个共识节点,所述装置包括:
[0028] 接收模块,接收所述配置中心转发的业务请求,所述业务请求包含业务数据;
[0029] 校验模块,将所述业务请求发送给所述共识子系统中的各共识节点进行共识校验;
[0030] 存储模块,若通过校验,则根据所述业务请求生成对应的区块并存入所述共识子系统对应的联盟区块链。
[0031] 本申请实施例提供的一种数据存储装置,区块链系统包括所述装置、非共识子系统、若干共识子系统,所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点,所述装置包括:
[0032] 接收模块,接收所述非共识子系统发送的所述业务请求,所述业务请求包含业务数据;
[0033] 确定模块,根据所述业务请求中包含的所述业务数据,确定所述业务请求对应的共识子系统;
[0034] 转发模块,将所述业务请求转发给确定出的共识子系统,以使所述共识子系统对所述业务请求进行共识校验,并将通过校验的业务请求对应的区块存入所述共识子系统对应的联盟区块链。
[0035] 本申请实施例提供的一种数据存储装置,区块链系统包括配置中心、所述装置、若干共识子系统,所述装置包含多个非共识节点,每个共识子系统包括多个共识节点,,所述装置包括:
[0036] 发送模块,向所述配置中心发送业务请求,所述业务请求包含业务数据,以使所述配置中心根据所述业务数据将所述业务请求转发给所述业务数据对应的共识子系统。
[0037] 由以上本申请实施例提供的技术方案可见,在本申请实施例中,建立包括配置中心、非共识子系统、若干共识子系统的区块链系统,其中,所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点,并且,每个共识子系统都相当于一个包含所述多个共识节点的联盟区块链网络,这也意味着各共识子系统可以分别不同业务领域的共识校验。如此以来,共识子系统中的各共识节点负责共识校验,非共识子系统中的各非共识节点可以向配置中心发送业务请求,配置中心会根据业务请求包含的业务数据确定特定业务领域的共识子系统,由共识子系统对业务请求进行共识校验。通过本申请实施例,一方面仅由共识节点负责共识校验,各共识子系统之外的非共识节点不能参与联盟区块链网络的共识校验,提升了区块链网络的安全性;另一方面,配置中心可以对接各联盟区块链网络,联盟区块链网络外的非共识主体(非共识节点)仅需与配置中心对接即可,无需依照不同的对接协议分别与多个联盟区块链网络对接,这提升了区块链网络的便利性。

附图说明

[0038] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0039] 图1a~b本申请实施例提供的区块链系统的示意图;
[0040] 图2是本申请实施例提供的一种数据存储方法流程图;
[0041] 图3~5是本申请实施例提供的三种数据存储装置示意图。

具体实施方式

[0042] 本申请实施例提供一种区块链网络、数据存储方法及装置。
[0043] 为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0044] 如前所述,在实际应用中,区块链网络的应用形式主要有两种,即公有区块链网络和联盟区块链网络。公有区块链网络中的各节点的身份不受限制,任何主体(个人或单位)都可以成为公有区块链网络中的节点,参与对业务请求的共识校验。由于公有区块链网络是真正去中心化和完全开放的,因此黑客就有机会控制大多数节点,使不合法的业务请求通过校验。此外,任何主体都可以查看公有链上存储的全部业务数据,这些业务数据往往涉及各节点以及各非节点主体的隐私,即使对业务数据进行加密,也存在被破解的风险。
[0045] 值得说明的是,对于区块链网络管理的区块链就是“共享帐本”,相应地,联盟区块链网络管理一个联盟区块链,公有区块链网络管理一个公有区块链。
[0046] 联盟区块链网络中的各节点都是预先指定的一些权威性机构。例如,金融领域的联盟区块链网络中的各节点可以是工商银行、建设银行、人民银行、证监会、银监会等。联盟区块链网络的这种特点决定了黑客没有机会参与共识校验,也没有机会查看联盟区块链上存储的业务数据,这样一来,区块链网络的安全性大为提升。但是,由于一个联盟区块链网络中的节点往往某个业务领域中的权威性机构,因此该联盟区块链网络也只能对外提供特定业务领域的业务请求的校验服务。非节点主体往往需要花费很大成本与各不同业务领域的联盟区块链网络进行对接,非常不便。
[0047] 为此,本申请所要求保护的技术方案,提出了一种区块链系统,在系统中设立配置中心,所述配置中心提供对接标准协议,一方面与各非节点主体对接,可以受理非节点主体的业务请求,另一方面与各联盟区块链网络对接,可以将接受到的业务请求按照其对应的业务领域转发给相应的联盟区块链网络进行校验。
[0048] 本申请所要求保护的技术方案中的区块链系统,可以将现有的各自独立运营的联盟区块链网络和需要各种共识校验服务的非节点主体都纳入到统一的系统架构中,为各联盟区块链网络和各非节点主体提供对接标准协议,甚至将整个社会中的各种校验服务都囊括在所述区块链系统中,社会中各成员都可以成为所述区块链系统中的节点(不需要负责共识校验),每个成员生活和工作的方方面面产生的业务请求都可以在所述区块链系统中得到校验。
[0049] 图1a是本申请实施例提供的一种区块链系统的示意图。如图2所示,区块链系统包括配置中心、非共识子系统、若干共识子系统。其中,非共识子系统可以对应各非节点主体,将各非节点主体作为非共识子系统包括的各非共识节点;也可以对应一个公有区块链网络,非共识子系统包括的非共识节点实际上就是公有区块链网络中的节点,只不过各非共识节点没有参与共识校验的职能,只能提交业务请求;而每个共识子系统都相当于一个联盟区块链网络,每个共识子系统包含的共识节点实际上就是该共识子系统对应的联盟区块链网络中的节点;至于各非共识节点发起的业务请求,则由配置中心统一调配,将对应于不同业务领域的业务请求转发给相应的共识子系统(也就是相当于转发给了相应的联盟区块链网络)。
[0050] 实际上,当整个社会的共识校验体系基于所述区块链系统时,各联盟区块链网络就可以视为为每个社会成员提供服务的服务站,对于每个社会成员而言,其在社会活动中因生活或工作产生的业务请求往往较多,且跨越了多个业务领域,而所述区块链系统可以为该社会成员提供一站式服务。此外,所述区块链系统上存储的业务数据,也囊括了每个社会成员社会活动的方方面面,包括社会成员的金融、医疗、教育、保险、购物、财产清算,以及行政、司法、执行等领域。这些业务数据可以作为精确度很高的大数据,进一步用于构建整个社会的信用体系。
[0051] 以下结合附图,详细说明本申请各实施例提供的技术方案。
[0052] 图1a是本申请实施例提供的一种区块链系统的示意图,包括:
[0053] 非共识子系统101、配置中心102、若干共识子系统103;
[0054] 所述非共识子系统101包括多个非共识节点,每个共识子系统包括多个共识节点;
[0055] 所述非共识节点,向所述配置中心102发送业务请求;
[0056] 所述配置中心102,接收所述非共识子系统发送的所述业务请求,根据所述业务请求中包含的所述业务数据,确定所述业务请求对应的共识子系统,将所述业务请求转发给确定出的共识子系统103;
[0057] 所述共识子系统103,接收所述配置中心转发的业务请求,将所述业务请求发送给所述共识子系统103中的各共识节点进行共识校验;若通过校验,则根据所述业务请求生成对应的区块并存入所述共识子系统103对应的联盟区块链。
[0058] 所述共识子系统103还用于,若通过校验,则将所述业务请求对应的区块发送给所述非共识子系统101;
[0059] 所述非共识子系统101,接收所述区块,将所述区块存入所述非共识子系统101对应的公有区块链。
[0060] 所述共识子系统103还用于,根据所述区块对应的业务数据,生成所述区块对应的业务摘要,将所述业务摘要发送给所述非共识子系统101;
[0061] 所述非共识子系统101,将所述业务摘要存入所述公有区块链,以供各非共识节点查询。
[0062] 所述非共识子系统101还包括:
[0063] 数据浏览器,接收所述非共识节点发送的针对业务数据的查询请求,根据所述查询请求,确定所述非共识节点的查询权限;根据所述查询权限,向所述非共识节点返回所述查询权限对应的业务数据。
[0064] 所述数据浏览器,根据所述查询权限向所述查询请求对应的共识子系统103获取所述查询权限对应的业务数据,将获取到的业务数据返回给所述非共识节点。
[0065] 在现有的区块链网络中,节点就是区块链网络中的成员。节点可以参与对业务请求的共识校验,也可以查询区块链网络上(也就是共享账本上)存储的区块,还可以查询各区块分别对应的业务数据。所述业务请求包含业务数据,节点或非节点主体可以提交业务请求,请求区块链网络对该业务请求进行共识校验,校验该业务请求的业务数据是否合法。
[0066] 其中,所述业务数据是节点或非节点主体产生的业务数据,包括节点或非节点主体的数字签名、标识、账户地址等,还包括节点或非节点主体请求校验的事项。这些待校验的事项因业务领域的不同而不同,例如,节点A向节点B转账500元,节点A为了使节点B相信自己已经转账,会提交业务请求,该业务请求包含的业务数据有:节点A的账户地址,节点B的账户地址,“A向B转账500元”,那么区块链网络中各节点需要校验A的账户中是否减少了500元人民币,B的账户中是否增加了来自A的账户的500元人民币。
[0067] 值得说明的是,在区块链技术领域,具体是各节点根据共识算法对业务请求进行共识校验的,并且,区块链网络有权访问各节点的账户、交易记录等隐私,用于校验。本申请实施例中的共识校验流程与现有的共识校验流程并无区别,因此在后续说明书不会赘述。
[0068] 在现有的区块链网络中,由于需要共识校验的业务请求的数量是巨大的,因此,通常是对一段时间内的一批业务请求或者达到数量阈值的一批业务请求一并进行一次共识校验,以提升效率。然后,如果对这一批业务请求校验通过,则生成该批校验请求对应的一个区块,存入区块链中(即存入共享账本中)。节点可以查询某个区块对应的业务数据,来验证该区块是否被篡改。
[0069] 在本申请实施例中,所述共识节点与联盟区块链网络中的节点并无功能上的不同,一个共识子系统对应于一个联盟区块链网络(包含联盟区块链),每个共识节点对应一个权威机构,参与共识校验。所述非共识节点可以是背景技术中所述的非节点主体,在本系统中可以赋予非节点主体以节点的身份,但是非共识节点无法参与共识校验;当然,所述非共识节点也可以是公有区块链网络中的节点,使所述非共识子系统对应于一个公有区块链网络,这些非共识节点在本申请的应用场景下也是不能参与共识校验的,在本申请的应用场景下共识校验是由共识子系统包含的各共识节点执行的。
[0070] 但是,在本申请的应用场景之外的其他场景,所述非共识节点可以执行共识校验,例如,所述非共识节点可以是比特币应用场景下的节点,根据工作量证明算法进行为比特币的流通做共识校验。如前所述,基于本系统可以将整个社会纳入统一的信用体系,当非共识子系统对应于一个公有区块链网络时,该公有区块链网络只需要与本系统对接即可,并不会影响该公有区块链网络原本的运转。
[0071] 进一步地,本系统中的非共识子系统还可以对应于多个公有区块链网络,只不过在本系统中,这多个公有区块链网络包含的节点都是非共识节点,非共识子系统并不关心这些非共识节点原本属于哪个公有区块链网络。
[0072] 在本申请实施例中,配置中心对外提供对接标准协议,具体而言,各联盟区块链网络可以根据配置中心提供的应用编程接口(API),开发内置标准协议的客户端,与配置中心对接,成为一个共识子系统。此外,任何主体都可以对接到配置中心,成为非共识节点。具体而言,对于个人或个体,其可以在终端上安装内置对接标准协议的客户端,以后就可以通过该客户端随时提交业务请求了;对于企业,尤其是向用户提供服务的企业,其可以将其应用与配置中心对接,当其向用户提供服务时,可以提交本次服务对应的业务请求,以供相应的共识子系统进行共识校验。
[0073] 例如,张先生是一名慈善家,经常资助贫困学生,他很关心他捐出去的每笔善款的去向,是否落实到了每个贫困学生手中。那么,张先生可以申请成为一个非共识节点,安装内置对接标注协议的支付应用,张先生每捐出一笔善款,对应的公益领域的共识子系统就会对这笔善款进行共识校验,确保张先生捐出的这笔善款汇入到指定贫困学生的账户中,张先生随后还可以通过查看存入联盟区块链中的区块,来确定这笔业务没有被篡改。
[0074] 例如,某电商平台的客户端可以内置对接标准协议,与配置中心对接,当用户在该电商平台购物时,电商平台请求共识子网络对该用户所购商品是否是正品、该用户是否支付成功等事项进行共识校验,并反馈给用户。
[0075] 例如,普通个人可以成为非共识节点,当两个非共识节点进行转账时,其中一个非共识节点可以发起业务请求,请求支付领域对应的联盟区块链网络为本次转账进行共识校验,并将本次转账对应的区块记录在联盟区块链上。
[0076] 总之,在本系统的架构下,应用场景非常丰富,个人可以成为非共识节点,请求校验其产生的各种事件,企业可以成为非共识节点,增强用户对它的信任。
[0077] 在本申请实施例中,当所述非共识子系统对应于公有区块链网络时,还可以将生成的所述业务请求对应的区块发送给非共识子系统,以使所述非共识子系统将收到的区块存入到公有区块链。这样一来,各非共识节点可以很方便的查看各业务发生的时间链条,而无需向共识子系统请求查询各区块。
[0078] 进一步地,为了更方便非共识节点查询各已经共识校验的业务请求,可以对生成的区块所对应的业务数据做摘要,生成业务摘要,将业务摘要发送给非共识子系统,非共识子系统可以将业务摘要存储到公有链上。这样一来,非共识节点可以查询业务摘要,满足通常意义上的查询需求,同时,非共识节点又无法查看到完成的业务数据,这避免了一些隐私数据被不法分子利用。可以说,通过将区块和业务摘要发送给非共识子系统存储,既保证了共识子系统不会面临被侵入的危险,又实现了区块链网络的开放性。
[0079] 在本申请实施例中,所述非共识子系统还可以包括数据浏览器,数据浏览器的功能是为各非共识节点提供数据查询和权限管理功能。如前所述,将区块和业务摘要发送给非共识子系统存储,在一般情况下,非共识节点可以通过查询公有链上存储的区块和业务摘要获知是否共识校验通过,通过校验的大概是什么事项等信息。有时,倘若某个非共识节点怀疑某个区块被篡改,则必须查询该区块对应的业务数据才可以确定,或者倘若某个非共识节点需要向其他非共识节点证明自己的信用,那么也需要将一些详细的业务数据展示给其他非共识节点。但是,倘若让非共识节点直接查看联盟区块链上存储的所有业务数据,安全风险较大。因此,数据浏览器可以对各非共识节点做查询权限管理。
[0080] 当然,本申请所要求保护的技术方案中的区块链系统的架构较为灵活,所述数据管理器也可以不内置于所述非共识子系统中,而是内置于配置中心中或与配置中心、非共识子系统、共识子系统平级。总之,不论数据浏览器在系统中的位置为何,其都可以对非共识节点提供数据查询服务,并管理查询权限。
[0081] 具体而言,非共识节点的查询权限可以通过以下方式确定:针对每个非共识节点,确定该非共识节点的类型;根据该非共识节点的类型,为该非共识节点分配查询权限。
[0082] 其中,所述非共识节点的类型可以是个体、企业、监管机构等,也可以是信用高、信用中、信用低等不同的信用等级。总之,非共识节点的类型可以根据实际情况划分,本申请对此不做限制。
[0083] 举例来说,对于企业类型的非共识节点,其查询权限可以是其所服务的所有用户产生的业务数据;对于普通个体而言,其查询权限可以是仅跟自己有关的业务数据;对于监管机构而言,其查询权限可以是全部业务数据。
[0084] 在本申请实施例中,非共识节点发送的针对业务数据的查询请求中可以携带区块,说明非共识节点想要查询该区块对应的业务数据,也可以携带该非共识节点的标识,说明该非共识节点想要查询自己的查询权限范围内的业务数据。
[0085] 当所述数据浏览器接收到非共识节点发送的针对业务数据的查询请求时,会对该非共识节点的查询权限进行验证,当该非共识节点没有相应的查询权限时(如其无权查询某个区块对应的业务数据),会拒绝该查询请求,如果该非共识节点有相应的查询权限,则可以根据所述查询权限向所述查询请求对应的共识子系统获取所述查询权限对应的业务数据,将获取到的业务数据返回给所述非共识节点。
[0086] 进一步地,数据浏览器可以根据确定的查询权限确定该非共识节点可以查询的业务数据有哪些,然后向对应的共识子系统获取这些业务数据;也可以直接将确定的查询权限发送给对应的共识子系统,由共识子系统根据所述查询权限返回对应的业务数据。
[0087] 在图1a所示的区块链系统中,建立包括配置中心、非共识子系统、若干共识子系统的区块链系统,其中,所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点,并且,每个共识子系统都对应一个包含所述多个共识节点的联盟区块链网络,这也意味着各共识子系统可以分别不同业务领域的共识校验。如此以来,共识子系统中的各共识节点负责共识校验,非共识子系统中的各非共识节点可以向配置中心发送业务请求,配置中心会根据业务请求包含的业务数据确定特定业务领域的共识子系统,由共识子系统对业务请求进行共识校验。通过本申请实施例,一方面仅由共识节点负责共识校验,各共识子系统之外的非共识节点不能参与联盟区块链网络的共识校验,提升了区块链网络的安全性;另一方面,配置中心可以对接各联盟区块链网络,联盟区块链网络外的非共识主体(非共识节点)仅需与配置中心对接即可,无需依照不同的对接协议分别与多个联盟区块链网络对接,这提升了区块链网络的便利性。
[0088] 此外,值得强调的是,所述配置中心的功能可以仅限于根据业务请求确定对应的共识子系统,也可以作为所述共识子系统和非共识子系统之间的数据交互的中介。也就是说,所述共识子系统和非共识子系统可以不经过所述配置中心进行数据交互(如发送区块、业务摘要、业务数据等),而是基于特定的路由协议,如图1b所示。
[0089] 图2是本申请实施例提供的一种数据存储方法流程图,包括以下步骤:
[0090] S201:非共识子系统向配置中心发送业务请求。
[0091] 本申请实施例与图1a所示的区块链系统是基于同一发明构思的实施例,对有关概念的解释可以参照对图1a所示的区块链系统的解释。
[0092] 在本申请实施例中,具体可以是非共识子系统包含的某个非共识节点向配置中心发送业务请求。
[0093] S202:配置中心根据所述业务请求,确定所述业务请求对应的共识子系统。
[0094] S203:配置中心将所述业务请求转发给确定出的共识子系统。
[0095] 所述配置中心可以接收多个非共识节点多次发送的业务,并针对每个业务请求,将该业务请求转发给对应的共识子系统,以供共识校验。
[0096] 所述配置中心可以作为所述共识子系统和所述非共识子系统进行数据交互时的中介(如后续步骤中发送区块、业务摘要、查询业务数据等),也可以不作为中介,由所述共识子系统与所述非共识子系统直接进行数据交互。
[0097] S204:共识子系统对所述业务请求进行共识校验。
[0098] 所述共识子系统对所述业务请求进行共识校验,实际上是将所述业务请求分别发送给其包含的各共识节点进行共识校验。各共识节点进行共识校验所根据的共识算法可以是拜占庭容错算法,也可以是其他共识算法,不做限制。
[0099] S205:校验通过后,共识子系统根据所述业务请求生成对应的区块并存入共识子系统对应的联盟区块链,以及生成所述区块对应的业务摘要。
[0100] 校验通过后,共识子系统会根据所述业务请求生成对应的区块,实际上,该对应的区块是根据包含所述业务请求在内的一批业务请求生成的,前文已有解释,不再赘述。
[0101] S206:共识子系统将所述业务请求对应的区块和所述业务摘要发送给所述非共识子系统。
[0102] S207:非共识子系统将所述区块存入对应的公有区块链。
[0103] S208:非共识子系统向共识子系统发送针对业务数据的获取请求。
[0104] 在本申请实施例中,可以是非共识子系统向共识子系统发送的所述获取请求,具体可以是所述非共识子系统包括的数据浏览器向共识子系统发送所述获取请求。
[0105] 当所述获取请求包含非共识节点的查询权限时,共识子系统可以根据所述查询权限,从非共识子系统存储的业务数据中确定出所述查询权限对应的业务数据。其中,所述查询权限是所述非共识子系统根据所述非共识节点发送的针对业务数据的查询请求确定的。
[0106] 当所述获取请求包含业务数据的标识列表时,共识子系统可以根据所述标识列表,将对应的业务数据返回给非共识子系统。
[0107] S209:向所述非共识子系统返回所述获取请求对应的业务数据。
[0108] 通过图2所示的数据存储方法,既可以杜绝共识子系统外的非共识节点自由查询业务数据,又可以统一调配各非共识节点提交的业务请求,提升了区块链网络的便利性。
[0109] 基于图2所示的数据存储方法,本申请实施例还对应提供了数据存储装置,如图3所示,区块链系统包括配置中心、非共识子系统、若干所述装置,所述非共识子系统包括多个非共识节点,每个所述装置包含多个共识节点,所述装置包括:
[0110] 接收模块301,接收所述配置中心转发的业务请求,所述业务请求包含业务数据;
[0111] 校验模块302,将所述业务请求发送给所述共识子系统中的各共识节点进行共识校验;
[0112] 存储模块303,若通过校验,则根据所述业务请求生成对应的区块并存入所述共识子系统对应的联盟区块链。
[0113] 所述装置还包括:发送模块304,若通过校验,则将所述业务请求对应的区块发送给所述非共识子系统,以使所述非共识子系统将所述区块存入所述非共识子系统对应的公有区块链。
[0114] 所述装置还包括:生成模块305,若所述各共识节点对所述业务请求达成合法的共识,根据所述区块对应的业务数据,生成所述区块对应的业务摘要;将所述业务摘要发送给所述非共识子系统,以使所述非共识子系统将所述业务摘要存入所述公有区块链,以供所述非共识节点查询。
[0115] 所述装置还包括:业务数据管理模块306,接收所述非共识子系统发送的针对业务数据的获取请求;根据所述获取请求,向所述非共识子系统返回所述获取请求对应的业务数据。
[0116] 所述获取请求包含非共识节点的查询权限,所述查询权限是所述非共识子系统根据所述非共识节点发送的针对业务数据的查询请求确定的;
[0117] 所述业务数据管理模块306,根据所述查询权限,从非共识子系统存储的业务数据中确定出所述查询权限对应的业务数据。
[0118] 基于图2所示的数据存储方法,本申请实施例还对应提供了数据存储装置,如图4所示,区块链系统包括所述装置、非共识子系统、若干共识子系统,所述非共识子系统包括多个非共识节点,每个共识子系统包括多个共识节点,所述装置包括:
[0119] 接收模块401,接收所述非共识子系统发送的所述业务请求,所述业务请求包含业务数据;
[0120] 确定模块402,根据所述业务请求中包含的所述业务数据,确定所述业务请求对应的共识子系统;
[0121] 转发模块403,将所述业务请求转发给确定出的共识子系统,以使所述共识子系统对所述业务请求进行共识校验,并将通过校验的业务请求对应的区块存入所述共识子系统对应的联盟区块链。
[0122] 基于图2所示的数据存储方法,本申请实施例还对应提供了数据存储装置,如图5所示,区块链系统包括配置中心、所述装置、若干共识子系统,所述装置包含多个非共识节点,每个共识子系统包括多个共识节点,所述装置包括:
[0123] 发送模块501,向所述配置中心发送业务请求,所述业务请求包含业务数据,以使所述配置中心根据所述业务数据将所述业务请求转发给所述业务数据对应的共识子系统。
[0124] 所述装置还包括:第一存储模块,接收所述共识子系统发送的所述区块;将所述区块存入所述非共识子系统对应的公有区块链。
[0125] 所述装置还包括:第二存储模块,接收所述共识子系统发送的所述区块对应的业务摘要;将所述业务摘要存入所述公有区块链,以供各非共识节点查询。
[0126] 所述装置还包括:查询模块,接收所述非共识节点发送的针对业务数据的查询请求,根据所述查询请求,确定所述非共识节点的查询权限;根据所述查询权限,向所述非共识节点返回所述查询权限对应的业务数据。
[0127] 非共识节点的查询权限通过以下方式确定:
[0128] 针对每个非共识节点,确定该非共识节点的类型;
[0129] 根据该非共识节点的类型,为该非共识节点分配查询权限。
[0130] 所述查询模块,根据所述查询权限向所述查询请求对应的共识子系统获取所述查询权限对应的业务数据,将获取到的业务数据返回给所述非共识节点。
[0131] 在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell UniversityProgramming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0132] 控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0133] 本申请实施例中所述支付涉及的技术载体,例如可以包括近场通信(Near Field Communication,NFC)、WIFI、3G/4G/5G、POS机刷卡技术、二维码扫码技术、条形码扫码技术、蓝牙、红外、短消息(ShortMessage Service,SMS)、多媒体消息(Multimedia Message Service,MMS)等。
[0134] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0135] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0136] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0137] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0138] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0139] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0140] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0141] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0142] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
[0143] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0144] 本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0145] 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0146] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0147] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。