一种业务处理系统、业务处理的方法、装置及设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种业务处理系统、业务处理的方法、装置及设备。
背景技术
对于不同的业务,其相应的业务处理方式可以不同,不同业务的处理机制可以由相应的服务器实现,此外,相同的业务,可以存在不同的处理机制,而且,往往只有在不同的机构或组织设定的业务的处理机制属于同一区块链中时,可以完整该业务。
通常不同的机构或组织设定的业务的处理机制无法互联互通,例如,对于转账业务来说,不同的机构或组织设定的转账的处理机制可以不同,使用A机构设定的转账的处理机制进行转账的用户,仅能够对同样使用A机构设定的转账的处理机制的另一个用户进行转账,而无法实现不同处理机制的之间的转账,具体如,通过某金融机构提供的应用程序进行转账的用户,只能通过上述应用程序将转账的金额转移至在该应用程序注册的另一个用户,而无法将转账的金额转移至未在该应用程序注册的用户。为此,需要提供一种能够实现不同区块链之间的跨链交互的技术方案。
发明内容
本说明书实施例的目的是提供一种业务处理系统、业务处理的方法、装置及设备,以提供一种能够实现不同区块链之间的跨链交互的技术方案。
为了实现上述技术方案,本说明书实施例是这样实现的:
本说明书实施例提供的一种业务处理系统,
所述业务处理系统包括应用层子系统、服务层子系统、路由层子系统和资源层子系统,其中:所述应用层子系统,获取用户对待处理业务的业务处理请求,并转发所述业务处理请求至所述服务层子系统。所述服务层子系统,分配对所述业务处理请求进行处理的区块链,并将所述业务处理请求提供给所述区块链,以使所述区块链对所述业务处理请求进行消息拆分处理,生成资源调用消息发送至所述路由层子系统。所述路由层子系统,基于执行所述待处理业务所需调度的资源,转发所述资源调用消息至所述资源层子系统。所述资源层子系统,根据从所述业务处理请求拆分出的业务发起方的数字身份信息,获取所述业务发起方的第一子数字身份信息,以及,根据从所述业务处理请求拆分出的目标方的数字身份信息,获取所述目标方的第二子数字身份信息,并根据所述待处理业务和所述第一子数字身份信息,确定所述业务发起方执行所述待处理业务所相关的第一区块链,根据所述待处理业务和所述第二子数字身份信息,确定所述目标方执行所述待处理业务所相关的第二区块链,在所述第一区块链与所述第二区块链之间具备进行跨链交互的权限时,通过所述第一区块链和所述第二区块链,基于所述资源调用消息,对所述待处理业务进行跨链业务处理。
本说明书实施例提供的一种业务处理的方法,所述方法包括:获取待处理业务的业务处理请求,所述业务处理请求用于请求处理业务发起方与目标方之间的所述待处理业务,所述业务处理请求中包括所述业务发起方的数字身份信息和所述目标方的数字身份信息。根据所述业务发起方的数字身份信息,获取所述业务发起方的第一子数字身份信息;以及,根据所述目标方的数字身份信息,获取所述目标方的第二子数字身份信息。根据所述业务处理请求和所述第一子数字身份信息,确定所述业务发起方执行所述待处理业务所相关的第一区块链;以及,根据所述业务处理请求和所述第二子数字身份信息,确定所述目标方执行所述待处理业务所相关的第二区块链。如果所述第一区块链与所述第二区块链之间具备进行跨链交互的权限,则通过所述第一区块链和所述第二区块链,对所述待处理业务进行跨链业务处理。
本说明书实施例提供的一种业务处理的装置,所述装置包括:业务请求模块,获取待处理业务的业务处理请求,所述业务处理请求用于请求处理业务发起方与目标方之间的所述待处理业务,所述业务处理请求中包括所述业务发起方的数字身份信息和所述目标方的数字身份信息。数字身份获取模块,根据所述业务发起方的数字身份信息,获取所述业务发起方的第一子数字身份信息;以及,根据所述目标方的数字身份信息,获取所述目标方的第二子数字身份信息。区块链确定模块,根据所述业务处理请求和所述第一子数字身份信息,确定所述业务发起方执行所述待处理业务所相关的第一区块链;以及,根据所述业务处理请求和所述第二子数字身份信息,确定所述目标方执行所述待处理业务所相关的第二区块链。跨链处理模块,如果所述第一区块链与所述第二区块链之间具备进行跨链交互的权限,则通过所述第一区块链和所述第二区块链,对所述待处理业务进行跨链业务处理。
本说明书实施例提供的一种业务处理的设备,所述业务处理的设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:获取待处理业务的业务处理请求,所述业务处理请求用于请求处理业务发起方与目标方之间的所述待处理业务,所述业务处理请求中包括所述业务发起方的数字身份信息和所述目标方的数字身份信息。根据所述业务发起方的数字身份信息,获取所述业务发起方的第一子数字身份信息;以及,根据所述目标方的数字身份信息,获取所述目标方的第二子数字身份信息。根据所述业务处理请求和所述第一子数字身份信息,确定所述业务发起方执行所述待处理业务所相关的第一区块链;以及,根据所述业务处理请求和所述第二子数字身份信息,确定所述目标方执行所述待处理业务所相关的第二区块链。如果所述第一区块链与所述第二区块链之间具备进行跨链交互的权限,则通过所述第一区块链和所述第二区块链,对所述待处理业务进行跨链业务处理。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一种业务处理系统的结构示意图;
图2为本说明书另一种业务处理系统的结构示意图;
图3为本说明书一种业务处理的方法实施例;
图4为本说明书另一种业务处理的方法实施例;
图5为本说明书又一种业务处理的方法实施例;
图6为本说明书一种业务处理的装置实施例;
图7为本说明书一种业务处理的设备实施例。
具体实施方式
本说明书实施例提供一种业务处理系统、业务处理的方法、装置及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
实施例一
如图1所示,本说明书实施例提供一种业务处理系统,该业务处理系统可以对用户请求的业务(即待处理业务)进行响应和处理,业务处理系统可以为一种或多种不同的业务提供相应的服务,如支付业务或购物业务等,此外,该业务处理系统还可以实现对某业务的跨区块链的业务处理。不同的业务可以预先设置不同的业务处理机制,具体可以根据实际情况设定,本说明书实施例对此不做限定。
如图1所示,为一种可选地或可实现的业务处理系统。针对业务处理系统,由于其包含多种不同的功能,因此,可以基于业务处理系统的功能不同和分工不同,将业务处理系统划分为4个子系统,即业务处理系统可以包括应用层子系统、服务层子系统、路由层子系统和资源层子系统。其中:
应用层子系统对应的层级结构可以处于业务处理系统对应的层级架构的最高层,应用层子系统可以提供多种不同客户端应用的接口,以便为用户提供各种不同的业务服务。
服务层子系统对应的层级结构可以用于为待处理业务分配进行业务处理的区块链等,服务层子系统可以连接有服务提供机构的多个区块链,多个区块链可以用于处理待处理业务的业务处理请求。在实际应用中,同时处理对个不同的业务处理请求的区块链可以包括多个,不同区块链处理业务处理请求所需消耗的资源可以不同,因此,不同区块链的工作状态可以不同,这样就需要为接收到的业务处理请求分配一个区块链来处理该业务处理请求。
路由层子系统可以具备路由功能,可以基于如路由设备或交换机等设备构成。路由层子系统可以为消息或数据等在节点之间的传输创建逻辑链路,以及基于数字身份信息等进行寻址,并可以为消息或数据等选择最适当的传输路径等。
资源层子系统可以是业务处理系统中的关键子系统,通过资源层子系统,可以实现对相应业务的业务处理机制的触发执行和相应的控制,并可以为待处理业务的处理提供相应的资源。
上述是各个子系统的构成和可实现的不同功能,本说明书实施例中,应用层子系统可以被配置为获取用户对待处理业务的业务处理请求,也即是应用层子系统可以通过与客户端应用之间的接口,接收或获取用户通过该客户端应用触发某业务(即待处理业务)而生成的业务处理请求。此外,应用层子系统还可以将获取的业务处理请求转发至服务层子系统继续处理。
服务层子系统获取到业务处理请求后,可以从服务提供机构的多个区块链中,分配对该业务处理请求进行处理的区块链,并将该业务处理请求提供给分配的区块链,以使该区块链对该业务处理请求进行消息拆分处理,生成资源调用消息发送至路由层子系统。
在实际应用中,服务层子系统获取到业务处理请求后,可以对该业务处理请求的内容进行拆分处理,得到相应的拆分结果。可以基于得到的拆分结果生成相应的资源调用消息,该资源调用消息可以用于调用业务处理所需的资源。然后,服务层子系统可以将上述资源调用消息发送至路由层子系统。
需要说明的是,为了保证信息处理的安全性,可以预先设置可信执行环境(如TEE等),在可信执行环境中,可以对该业务处理请求的内容进行拆分处理,并基于拆分的结果生成资源调用消息,将该资源调用消息发送至路由层子系统。
路由层子系统可以基于服务层子系统提供的资源调用消息,对执行待处理业务所需的资源进行调度,在基于执行待处理业务所需调度的资源,转发该资源调用消息至资源层子系统继续处理。
资源层子系统可以获取待处理业务的业务发起方的数字身份信息和目标方的数字身份信息,具体可以对上述业务处理请求进行拆分处理后而得到,即从该业务处理请求中拆分出业务发起方的数字身份信息和目标方的数字身份信息,并可以基于业务发起方的数字身份信息、目标方的数字身份信息和资源调用消息,对待处理业务进行跨链业务处理。其中,数字身份信息可以是指通过数字化信息将业务发起方或目标方可识别地进行刻画的信息,也即为将真实的身份信息浓缩为数字代码的形式表现,以便对业务发起方或目标方个人的实时行为信息进行绑定、查询和验证。数字身份信息中不仅可以包含用户的出生信息、个体描述、生物特征等身份编码信息,也涉及多种属性的个人行为信息(如交易信息或娱乐信息等)等。数字身份信息可以通过多种方式展现,如DID(Decentralized Identity,去中心化身份)等。
具体地,资源层子系统可以根据业务发起方的数字身份信息,获取业务发起方的第一子数字身份信息,其中,业务发起方的数字身份信息可以是基于业务发起方的某一种身份信息确定的信息,例如,业务发起方的数字身份信息可以基于业务发起方的身份证件号码生成,第一子数字身份信息可以是业务发起方的数字身份信息对应的一个或多个子身份信息,如第一子数字身份信息可以是基于业务发起方的身份证件号码和待处理业务的某信息生成等。同时,资源层子系统还可以根据目标方的数字身份信息,获取目标方的第二子数字身份信息,其中,目标方的数字身份信息和目标方的第二子数字身份信息可以通过多种方式设置,如可以通过如上述业务发起方的数字身份信息和业务发起方的第一子数字身份信息的设置方式进行设置等。
每个区块链的用户可以设置有相应的数字身份信息(本实施例中可以为子数字身份信息),可以通过子数字身份信息确定执行待处理的业务所相关的区块链,具体地,资源层子系统可以根据待处理业务和第一子数字身份信息,确定业务发起方执行待处理业务所相关的第一区块链,同样的,资源层子系统还可以根据待处理业务和第二子数字身份信息,确定目标方执行待处理业务所相关的第二区块链。在第一区块链与第二区块链之间具备进行跨链交互的权限时,通过第一区块链和第二区块链,基于上述资源调用消息,对待处理业务进行跨链业务处理。
本说明书实施例提供一种业务处理系统,包括应用层子系统、服务层子系统、路由层子系统和资源层子系统,应用层子系统获取用户对待处理业务的业务处理请求,并转发业务处理请求至服务层子系统,服务层子系统分配对业务处理请求进行处理的区块链,以便区块链对业务处理请求进行信息拆分处理,生成资源调用信息发送至路由层子系统,路由层子系统基于执行待处理业务所需调度的资源,转发资源调用信息至访问层子系统,访问层子系统可以基于业务发起方的数字身份信息,获取业务发起方的第一子数字身份信息,进而可以确定业务发起方执行待处理业务所相关的第一区块链,同样的,可以基于目标方的数字身份信息,获取目标方的第二子数字身份信息,进而可以确定目标方执行待处理业务所相关的第二区块链,然后,在第一区块链与第二区块链之间具备进行跨链交互的权限的情况下,通过第一区块链和第二区块链,对待处理业务进行跨链业务处理,从而实现了对待处理业务的跨链处理,提高了业务处理效率。
实施例二
图2为本说明书实施例提供的一种业务处理系统。图2仅是一种可选地或可实现的业务处理系统。该业务处理系统包含了图1所示的业务处理系统的全部功能单元,并在其基础上,对其进行了改进,改进内容如下:
对于上述应用层子系统,具体可以包括部署于用户终端设备的客户端应用,其中,用户终端设备可以是用户所使用的终端设备,具体如手机或平板电脑等,客户端应用可以是通过预定的编程语言编写的应用程序。客户端应用与应用层子系统之间设置有接口,通过该接口,客户端应用可以获取用户对待处理业务的业务处理请求,并将该业务处理请求发送给服务层子系统,其中,业务处理请求中可以包括业务发起方的数字身份信息和目标方的数字身份信息。
对于路由层子系统,可以根据业务发起方的数字身份信息和目标方的数字身份信息,分别确定业务发起方执行待处理业务所需资源的调度位置和目标方执行待处理业务所需资源的调度位置,并基于上述调度位置转发资源调用信息。
在实施中,对待处理业务进行业务处理的过程中,需要使用一定的资源进行上述业务处理,这样就需要分别确定业务发起方和目标方所需的资源,在获取上述资源之前,需要先确定所需获取的资源的调度位置,因此,路由层子系统可以根据业务发起方的数字身份信息,确定业务发起方所对应的区块链,可以通过确定的区块链,为业务发起方选择执行待处理业务所需资源的调度位置,同样的,还可以通过上述方式,为目标方选择执行待处理业务所需资源的调度位置。然后,可以基于业务发起方执行待处理业务所需资源的调度位置和业务发起方执行待处理业务所需资源的调度位置,分别转发该业务处理请求,以使得各个调度位置可以准备相应的资源。
另外,资源层子系统还提供执行待处理业务所需的资源。资源层子系统中可以配置有多种不同类型的资源,例如Fabric类型的资源、Mychain类型的资源、C3S类型的资源或数据类型的资源等。资源层子系统的层级结构可以设置于业务处理系统的层级架构的最底层。
此外,为了保证业务处理的安全性,保证区块链中的数据的安全性,可以对业务发起方和目标方等相关信息进行权限检查,具体地,可以在业务处理系统中设置权限检查模块,该权限检查模块所能够实现的功能可以通过预先编写的应用程序实现,该权限检查模块可以确定业务发起方和目标方的数字身份信息的有效性,即该权限检查模块可以通过预定的方式生成业务发起方的数字身份信息,然后,可以基于生成的数字身份信息对业务发起方的数字身份信息进行有效性核验,如果核验结果为业务发起方的数字身份信息有效,则可以继续执行后续处理,如果核验结果为业务发起方的数字身份信息无效,则可以停止后续处理。同样的,该权限检查模块也可以对目标方的数字身份信息进行有效性核验,如果核验结果为目标方的数字身份信息有效,则可以继续执行后续处理,如果核验结果为目标方的数字身份信息无效,则可以停止后续处理。
另外,该权限检查模块还可以根据上述业务处理请求所属的类型确定业务处理请求是否符合预定消息格式规则。
其中,预定消息格式规则可以是针对某一类消息,预先设定的该类消息所应具备的格式的规则,例如,某一类消息预定消息格式规则可以为:该消息的消息头由3个字段和相应的字段值构成,3个字段分别为A字段、B字段和C字段。在实际应用中,消息格式规则不仅仅限于上述一种方式,还可以包括多种可选的处理方式,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在实施中,为了能够顺利完成后续的业务处理,不仅需要对业务发起方和目标方的数字身份信息的有效性进行验证,还可以对该业务处理请求所属的类型进行验证,具体地,可以预先根据不同的业务,设定相应的业务处理请求所属的类型,即业务不同,相应的业务处理请求所属的类型也可以不同。此外,还可以为不同的类型,设定业务处理请求的消息格式规则。该权限检查模块可以对该业务处理请求进行分析,确定该业务处理请求所属的类型,并可以基于确定的类型,获取该业务处理请求对应的消息格式规则,然后,可以将该业务处理请求与获取的消息格式规则进行匹配,如果该业务处理请求与预定消息格式规则相匹配,则表明该业务处理请求符合预定消息格式规则,否则,该业务处理请求不符合预定消息格式规则。
此外,该权限检查模块除了可以进行上述权限的检查处理之外,还可以对跨链交互进行权限检查,即该权限检查模块可以从预先存储的跨链交互权限信息中,查找第一区块链与第二区块链之间进行跨链交互的跨链交互权限信息。
其中,跨链交互权限信息可以是预先设定的多个区块链之间能够进行跨区块链交互的权限的信息,具体如,预先存储有区块链1与区块链2的跨链交互权限信息,则表明区块链1与区块链2之间可以进行跨链交互。
在实施中,可以根据实际情况确定可以进行跨链交互的区块链,然后可以为进行跨链交互的区块链预先设定跨链交互权限信息,并可以将设定的跨链交互权限信息进行存储。该权限检查模块可以从预先存储的跨链交互权限信息中,查找第一区块链与第二区块链之间是否存在进行跨链交互的跨链交互权限信息,如果查找到第一区块链与第二区块链之间进行跨链交互的跨链交互权限信息,则可以执行后续处理,如果未查找到第一区块链与第二区块链之间进行跨链交互的跨链交互权限信息,则表明第一区块链与第二区块链之间无法进行跨链交互。
上述权限检查模块是作为一个整体存在的,即该权限检查模块可以设置于服务层子系统或资源层子系统中,具体可以根据实际情况设定,本说明书实施例对此不做限定。在实际应用中,权限检查模块的结构并不限于上述方式,还可以根据权限检查模块的功能和分工,将权限检查模块划分为两个单元,即权限检查模块可以包括第一权限检查单元和第二权限检查单元,其中,第一权限检查单元可以设置于服务子系统中或设置于资源层子系统中,第二权限检查单元设置于资源层子系统中。第一权限检查单元可以被配置为确定业务发起方和目标方的数字身份信息的有效性,并根据业务处理请求所属的类型确定该业务处理请求是否符合预定消息格式规则。第二权限检查单元可以被配置为从预先存储的跨链交互权限信息中,查找第一区块链与第二区块链之间进行跨链交互的跨链交互权限信息。
此外,在第一权限检查单元设置于服务层子系统的情况下,业务处理请求还可以包括可验证声明,其中,可验证声明可以是用于描述个人、组织等实体所具有的某些属性的一种规范性的信息,可验证声明可以实现基于证据的信任,可以通过可验证声明,向其他实体证明当前实体的某些属性的信息是可信的。基于上述内容,第一权限检查单元还可以被配置为对可验证声明的有效性进行验证,并在验证通过后,分配对执行的业务处理请求进行处理的区块链,并将业务处理请求提供给对应的区块链。
此外,资源层子系统中还可以包括消息处理模块,上述第二权限检查单元可以与消息处理模块相连接,消息处理模块被配置为根据资源调用消息所属的类型,从至少一个第一预选区块链中,获取处理上述类型的消息的第一预选区块链,将获取的处理上述类型的消息的第一预选区块链获取为业务发起方执行待处理业务所相关的第一预选区块链;和/或,根据资源调用消息所属的类型,从至少一个第二预选区块链中,获取处理上述类型的消息的第二预选区块链,将获取的处理上述类型的消息的第二预选区块链获取为目标方执行待处理业务所相关的第二预选区块链。
另外,为了实现对待处理业务进行跨区块链的业务处理,可以在资源层子系统中设置实现上述跨链的业务处理的模块,即跨区块链的交互模块。该跨区块链的交互模块可以通过第一区块链和第二区块链,对待处理业务进行跨链业务处理。该跨区块链的交互模块可以包括一个或多个锚定器,以及一个或多个中继器。其中的锚定器中可以配置第一区块链对应的客户端应用,使得该锚定器可以与第一区块链之间建立连接,而中继器中可以配置第二区块链对应的客户端应用,使得中继器可以与第二区块链之间建立连接。
锚定器和中继器上分别配置的客户端应用,锚定器和中继器的配置轻量化,具体地,当任一锚定器被第一区块链选用时,任一锚定器中配置有第一区块链的客户端应用,以监听第一区块链上的跨链请求,该跨链请求基于待处理业务确定。当任一中继器被第二区块链选用时,任一中继器上配置有第二区块链的客户端应用。
当第一区块链需要向第二区块链调取跨链数据时,可以在第一区块链上创建跨链请求,且该跨链请求的请求对象为第二区块链。而通过已配置的第一区块链的客户端应用,锚定器能够监听第一区块链上创建的跨链请求,并基于该跨链请求所指示的请求对象为第二区块链,以及第二区块链与中继器之间存在连接关系,将跨链请求传输至中继器,并由中继器进一步将跨链请求传输至第二区块链。
通过已配置的第二区块链的客户端应用,中继器可以调取第二区块链针对上述跨链请求形成的响应数据,并将该响应数据返回至锚定器,而锚定器可以将该响应数据进一步返回至第一区块链,从而完成第一区块链与第二区块链之间的跨链交互。
除了响应数据之外,中继器还从第二区块链调取相应的链上证明,且中继器可以根据该链上证明对响应数据进行验证,比如确定该响应数据存在于第二区块链的区块链账本中等,本说明书并不对此进行限制。同时,中继器配置有可信证明转化技术,使得根据链上证明对响应数据实施验证操作后,如果验证结果为通过验证,该中继器可以基于可信证明转化技术生成中继器证明,相当于将链上证明转化为中继器证明。然后,中继器将响应数据与中继器证明返回至锚定器,并由锚定器进一步返回至第一区块链;其中,中继器可以预先发布信任根,而第一区块链可以预先获取并部署该信任根,使得该第一区块链在获得上述的响应数据和中继器证明后,可以基于该信任根对响应数据和中继器证明进行验证,以确定中继器针对所提供的响应数据实施过验证且验证通过。
需要指出的是:本说明书中的每一中继器在逻辑上可以视为“一个设备”,使得每一中继器在获取被调用方的区块链返回的跨链数据和链上证明后,可以基于对跨链数据和链上证明的验证结果,将链上证明转化为可信的中继器证明,且该中继器证明的数量仅为一份。每一中继器实际上可以运行于单台电子设备上,比如包含一独立主机的物理服务器、PC、笔记本电脑、手机等;或者,每一中继器可以运行于多台电子设备构成的设备集群上,比如主机集群承载的虚拟服务器等;本说明书并不对此进行限制。
跨区块链的交互模块中的锚定器和中继器之间直接建立连接;而在其他实施例中,还提供的一种提供桥接功能的跨区块链的交互模块,可以通过设置桥接器,使得该桥接器分别连接至锚定器和中继器,实现锚定器与中继器之间的桥接功能。
跨区块链的交互模块还包括至少一个桥接器;其中,任一桥接器分别连接至任一锚定器与任一中继器,用于将任一锚定器提供的跨链请求转发至任一中继器,并将任一中继器提供的响应数据和中继器证明转发至任一锚定器。
需要说明的是,上述图1和图2中所示的业务处理系统的结构仅是一种可选的、可实现的系统结构,在实际应用中,本说明书实施例所述的业务处理系统的结构并不仅仅只限定于上述附图中的结构,还可以包括其它多种可实现的结构,具体可以根据实际情况或业务处理系统所需具备的功能等设定,本说明书实施例对此不做限定。
本说明书实施例提供一种业务处理系统,包括应用层子系统、服务层子系统、路由层子系统和资源层子系统,应用层子系统获取用户对待处理业务的业务处理请求,并转发业务处理请求至服务层子系统,服务层子系统分配业务处理请求进行处理的区块链,以便区块链对业务处理请求进行信息拆分处理,生成资源调用信息发送至路由层子系统,路由层子系统基于执行待处理业务所需调度的资源,转发资源调用信息至访问层子系统,访问层子系统可以基于业务发起方的数字身份信息,获取业务发起方的第一子数字身份信息,进而可以确定业务发起方执行待处理业务所相关的第一区块链,同样的,可以基于目标方的数字身份信息,获取目标方的第二子数字身份信息,进而可以确定目标方执行待处理业务所相关的第二区块链,然后,在第一区块链与第二区块链之间具备进行跨链交互的权限的情况下,通过第一区块链和第二区块链,对待处理业务进行跨链业务处理,从而实现了对待处理业务的跨链处理,提高了业务处理效率。
实施例三
如图3所示,本说明书实施例提供一种业务处理的方法,该方法的执行主体可以为上述实施例一或实施例二中提供的业务处理系统,该业务处理系统可以基于服务器实现,其中,该服务器可以是一个独立的服务器,还可以是由多个服务器构成的服务器集群等。该业务处理系统可以实现对某业务进行跨区块链的业务处理,上述提到的区块链可以是用于提供某项业务(如进行交易的业务等)服务的区块链等。该业务处理系统的具体结构,可以参见上述相关内容,在此不再赘述。该方法具体可以包括以下步骤:
在步骤S302中,获取待处理业务的业务处理请求,该业务处理请求用于处理业务发起方与目标方之间的该待处理业务,该业务处理请求中包括业务发起方的数字身份信息和目标方的数字身份信息。
其中,待处理业务可以是需要处理的任意业务,如支付业务、转账业务等金融类业务,还可以如文件或信息的发送等业务。业务发起方可以是触发或发起待处理业务执行的一方,例如,可以是发起转账业务的用户等。目标方可以是执行待处理业务所针对的目标的一方,例如,如果业务发起方为发起转账业务的用户,则目标方可以是该用户所转账的对象的一方,具体地,对于转账业务,用户A需要向用户B转账50元,则业务发起方可以为用户A,目标方可以为用户B。
在实施中,对于不同的业务,其相应的业务处理机制可以不同,不同业务的处理机制可以由设置有上述业务处理系统的相应服务器实现,此外,相同的业务,可以存在不同的处理机制,而且,往往只有在不同的机构或组织设定的业务的处理机制属于同一区块链时,才能够完成该业务,而通常情况下,不同的机构或组织设定的业务的处理机制无法互联互通,例如,对转账业务来说,不同的机构或组织设定的转账的处理机制可以不同,使用A机构设定的转账的处理机制进行转账的用户时,仅能够对同样使用A机构设定的转账的处理机制的另一个用户进行转账,而无法实现不同处理机制的之间的转账,具体如,通过某金融机构提供的应用程序进行转账的用户,只能通过上述应用程序将转账的金额转移至在该应用程序注册的另一个用户,而无法将转账的金额转移至未在该应用程序注册的用户。为此,需要提供一种能够实现不同区块链之间的跨链交互的技术方案。本说明书实施例提供一种可选的技术方案,具体可以包括以下内容:
对于某一项或多项业务所在的区块链系统,可以开发应用于该区块链系统的客户端应用,该客户端应用中可以设置有不同业务的办理入口,该办理入口可以通过多种方式实现,例如通过超链接的方式或重定向的方式等实现。当用户(即业务发起方)需要对某项业务(即待处理业务)进行处理时,可以启动终端设备中安装的该客户端应用,并可以从该客户端应用提供的办理入口中,选择需要办理的待处理业务的办理入口,同时,业务发起方的终端设备可以获取与待处理业务相关的信息,并可以基于获取的信息生成业务处理请求,业务发起方的终端设备可以基于业务发起方选择的办理入口获取该业务处理请求。客户端应用与业务处理系统之间通过预设的接口进行数据交互,则终端设备可以将该业务处理请求通过预设的接口发送给业务处理系统,业务处理系统中的应用层子系统可以获取到该业务处理请求。
需要说明的是,该业务处理请求可以用于处理业务发起方与目标方之间的该待处理业务,而且,该业务处理请求中包括业务发起方的数字身份信息和目标方的数字身份信息,其中,数字身份信息可以通过多种方式展现,如DID(Decentralized Identity,去中心化身份)等。
在步骤S304中,根据业务发起方的数字身份信息,获取业务发起方的第一子数字身份信息;以及,根据目标方的数字身份信息,获取目标方的第二子数字身份信息。
其中,业务发起方的数字身份信息可以是基于业务发起方的某一种身份信息确定的信息,例如,业务发起方的数字身份信息可以基于业务发起方的身份证件号码生成,第一子数字身份信息可以是业务发起方的数字身份信息对应的一个或多个子身份信息,如第一子数字身份信息可以是基于业务发起方的身份证件号码和待处理业务的某信息生成等。目标方的数字身份信息可以是基于目标方的某一种身份信息确定的信息,例如,目标方的数字身份信息可以基于目标方的身份证件号码生成,第二子数字身份信息可以是目标方的数字身份信息对应的一个或多个子身份信息,如第二子数字身份信息可以是基于目标方的身份证件号码和待处理业务的某信息生成等。
在实施中,可以基于业务处理机制的种类,分别为每个用户设置一个子数字身份信息,这样,用户使用不同的业务处理机制时,可以使用相应的子数字身份信息。此外,考虑到不同种类的业务处理机制,用户的子身份信息不同,而多个子身份信息显然不利于用户存储和记忆,为此,可以为每个用户设置唯一的数字身份信息,并且可以使得该用户的每个子数字身份信息分别与该用户的数字身份信息相对应,即对于某用户,可以包括一个数字身份信息和至少一个子数字身份信息。
基于上述内容,由于不同的业务处理机制具有相应的子数字身份信息,而且,数字身份信息对应多个不同的子数字身份信息,因此,业务处理系统获取到业务发起方的数字身份信息和目标方的数字身份信息后,可以通过上述设定的对应关系,分别获取业务发起方的第一子数字身份信息,以及目标方的第二子数字身份信息。
在步骤S306中,根据上述业务处理请求和第一子数字身份信息,确定业务发起方执行待处理业务所相关的第一区块链;以及,根据该业务处理请求和第二子数字身份信息,确定目标方执行待处理业务所相关的第二区块链。
在实施中,通过相同的业务处理机制进行业务处理的区块链节点可以处于同一区块链中,不同的业务处理机制进行业务处理的区块链节点可以处于不同的区块链中,具体如,对于转账业务,基于某金融机构提供的应用程序对应的业务处理机制进行业务处理的区块链节点可以构建一个区块链,而基于非上述应用程序的其它某种业务处理机制进行业务处理的区块链节点可以构建另一个区块链等。每个区块链中,可以使用相同的信息或规则生成子数字身份信息。因此,针对业务发起方,业务处理系统可以从上述获取的第一子数字身份信息中,获取能够处理上述业务处理请求(或待处理业务等)的第一子数字身份信息,然后,可以基于获取的第一子数字身份信息确定第一子数字身份信息所属的区块链,并可以将得到的区块链作为业务发起方执行待处理业务所相关的第一区块链。
针对目标方,业务处理系统可以从上述获取的第二子数字身份信息中,获取能够处理上述待处理业务(或上述业务处理请求等)的第二子数字身份信息,然后,可以基于获取的第二子数字身份信息确定第二子数字身份信息所属的区块链,并可以将得到的区块链作为目标方执行待处理业务所相关的第二区块链。
在步骤S308中,如果第一区块链与第二区块链之间具备进行跨链交互的权限,则通过第一区块链和第二区块链,对待处理业务进行跨链业务处理。
在实施中,不同的区块链之间往往无法相互进行跨链交互,为此,可以预先设定哪些区块链之间能够进行跨链交互,可以为区块链之间的跨链交互设置相应的规则(如信息的跨链转换规则等)和处理机制等,并还可以为两个区块链设置相应的交互接口等。可以将能够跨链交互的区块链对应记录在预定的权限表中,并可以为能够跨链交互的区块链设置进行跨链交互的权限。
业务处理系统通过上述步骤S306的处理,得到业务发起方执行待处理业务所相关的第一区块链和目标方执行待处理业务所相关的第二区块链后,可以从上述记录的权限表中查找第一区块链与第二区块链之间具备进行跨链交互的权限的相关信息。如果没有从上述记录的权限表中查找到第一区块链与第二区块链之间具备进行跨链交互的权限,则表明第一区块链与第二区块链之间无法进行跨链交互,此时,可以生成执行待处理业务失败的通知消息,并可以将其发送给业务发起方。如果能够从上述记录的权限表中查找到第一区块链与第二区块链之间具备进行跨链交互的权限,则可以通过第一区块链和第二区块链,对待处理业务进行跨链业务处理,即业务处理系统可以将业务处理请求提供给第一区块链,第一区块链可以基于待处理业务的处理机制,基于第一区块链中的相应资源对该业务处理请求进行处理,然后,可以将处理结果发送给第二区块链,第二区块链可以基于第一区块链发送的处理结果,基于第二区块链中的相应资源对该业务处理请求进行处理,得到相应的处理结果,然后,可以将处理结果分别提供给业务发起方和目标方。
本说明书实施例提供一种业务处理的方法,在对待处理业务进行处理的过程中,可以在相应的业务处理请求中携带业务发起方的数字身份信息和目标方的数字身份信息,这样,可以基于业务发起方的数字身份信息,获取业务发起方的第一子数字身份信息,进而可以确定业务发起方执行待处理业务所相关的第一区块链,同样的,可以基于目标方的数字身份信息,获取目标方的第二子数字身份信息,进而可以确定目标方执行待处理业务所相关的第二区块链,然后,在第一区块链与第二区块链之间具备进行跨链交互的权限的情况下,通过第一区块链和第二区块链,对待处理业务进行跨链业务处理,从而实现了对待处理业务的跨链处理,提高了业务处理效率。
实施例四
如图4所示,本说明书实施例提供一种业务处理的方法,该方法的执行主体可以为上述实施例一或实施例二中提供的业务处理系统,该业务处理系统可以基于服务器构建,其中,该服务器可以是一个独立的服务器,还可以是由多个服务器构成的服务器集群等。该业务处理系统可以实现对某业务进行跨区块链的业务处理,上述提到的区块链可以是用于提供某项业务(如进行交易的业务等)服务的区块链等。该业务处理系统的具体结构,可以参见上述相关内容,在此不再赘述。该方法具体可以包括以下步骤:
在步骤S402中,获取待处理业务的业务处理请求,该业务处理请求用于请求处理业务发起方与目标方之间的待处理业务,该业务处理请求中包括业务发起方的数字身份信息和目标方的数字身份信息。
在实际应用中,业务处理请求中除了可以包括业务发起方的数字身份信息和目标方的数字身份信息外,还可以包括如业务处理请求所属的类型,例如转账类、扫码支付类或离线支付类等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在步骤S404中,确定业务发起方和目标方的数字身份信息的有效性,并根据该业务处理请求所属的类型确定该业务处理请求是否符合预定消息格式规则。
在实施中,业务处理系统在接收到业务处理请求后,可以从该业务处理请求中提取业务发起方的数字身份信息和目标方的数字身份信息,为了保证该业务处理请求中携带的数字身份信息的有效性,可以分别对业务发起方和目标方的数字身份信息进行验证,具体的验证方式可以多种多样,例如,区块链系统中的每个数字身份信息可以依据某种规则构建(如可以基于用户的身份证件号码和业务代码,通过某种算法计算得到等),这样,业务处理系统中的权限检查模块可以基于该规则,获取业务发起方的相关信息(如上述示例中的业务发起方的身份证件号码和待处理业务的业务代码等),然后,可以基于获取的信息构建业务发起方的数字身份信息,可以将构建的数字身份信息与上述业务处理请求中的携带的业务发起方的数字身份信息进行对比,如果两者相同,则表明业务发起方的数字身份信息有效,如果两者不同,则可以确定业务发起方的数字身份信息无效。可以通过上述方式对目标方的数字身份信息进行有效性验证,从而确定目标方的数字身份信息的有效性。
除了可以通过上述方式外,还可以通过多种方式实现对数字身份信息的验证,以下再提供一种可选的验证方式,基于数字身份信息的内容进行验证,例如,数字身份信息中包含的字符数量、数字身份信息中某一个或多个位置的字符取值或取值范围等,具体如,数字身份信息由20位字符构成,其中,第一位置和第二位置的字符为26个英文字母中的任意2个,且与相应的用户所处的地理位置相关,第三位置-第二十位置由数字构成,第三位置为固定值(如1等),第四位置的取值范围为[1,5]……,这样,可以对业务发起方的数字身份信息进行上述验证,确定业务发起方的数字身份信息是否符合上述设定的规则,如果符合,则可以确定业务发起方的数字身份信息有效,否则,可以确定业务发起方的数字身份信息无效。可以通过上述方式对目标方的数字身份信息进行有效性验证,从而确定目标方的数字身份信息的有效性。
为了能够顺利完成后续的业务处理,不仅需要对业务发起方和目标方的数字身份信息的有效性进行验证,还可以对该业务处理请求所属的类型进行验证,具体可以参见上述相关内容。
在步骤S406中,如果业务发起方和目标方的数字身份信息有效,且该业务处理请求符合预定消息格式规则,则根据业务发起方的数字身份信息,获取业务发起方的第一子数字身份信息,以及,根据目标方的数字身份信息,获取目标方的第二子数字身份信息。
在实施中,通过上述验证方式分别对业务发起方和目标方的数字身份信息的有效性和该业务处理请求是否符合预定消息格式类型,在确定业务发起方和目标方的数字身份信息有效,且该业务处理请求符合预定消息格式规则后,可以基于数字身份信息获取相应的子数字身份信息,具体地,例如,区块链系统中可以预先设定用户的数字身份信息和相应的子数字身份信息等。可以通过业务发起方的数字身份信息,获取一个或多个业务发起方的子数字身份信息,另外,还可以通过目标方的数字身份信息,获取一个或多个目标方的子数字身份信息。
例如,如表1所示
表1
可以预先设定某用户的数字身份信息,并可以根据不同的业务,为该用户设定相应的子数字身份信息。在确定业务发起方和目标方的数字身份信息有效,且该业务处理请求符合预定消息格式规则,则根据业务发起方的数字身份信息后,可以从上述表1中获取业务发起方的第一子数字身份信息和目标方的第二子数字身份信息,若业务发起方的数字身份信息为A123,则第一子数字身份信息可以包括AA1123865、AA2123886和AA3123689,若目标方的数字身份信息为B885,则第二子数字身份信息可以包括BB1885211、BB2885985、BB3885666和BB4885877。
在实际应用中,如果业务发起方和目标方的数字身份信息有效,且该业务处理请求符合预定消息格式规则,则还可以为该业务处理请求分配相应的区块链,通过分配的区块链对该业务处理请求进行处理,具体可以包括以下内容:分配对上述业务处理请求进行处理的区块链,并将该业务处理请求提供给该区块链,以使在该区块链对该业务处理请求进行消息拆分处理,生成资源调用消息。
在实施中,业务处理系统中的服务层子系统在获取到业务处理请求后,可以获取服务提供机构的多个区块链,并获取每个区块链当前的工作状态以确定每个区块链当前的负载情况。根据每个区块链当前的负载情况,可以分配对上述业务处理请求进行处理的区块链,例如,可以为该业务处理请求分配一个负载较小的区块链等。然后,可以将该业务处理请求提供给分配的区块链,该区块链可以对业务处理请求进行消息拆分处理,可以通过拆分出的信息生成资源调用消息。
此外,在执行上述分配对上述业务处理请求进行处理的区块链,并将该业务处理请求提供给该区块链的处理中,还可以包括以下内容:业务处理请求中还可以包括可验证声明,则对可验证声明的有效性进行验证;如果验证通过,则分配对该业务处理请求进行处理的区块链,并将该业务处理请求提供给该区块链。
在实施中,业务处理请求中还可以包括可验证声明,基于此,可以对该可验证声明的有效性进行验证,具体验证过程可以包括多种,例如,可以计算可验证声明中各个字段的字段值的哈希值,并可以通过默克尔树机制计算上述各个字段值的哈希值的默克尔根,可以将计算得到的默克尔根与预先提供的该可验证声明对应的默克尔根进行比对,如果两者不同,则表明该可验证声明无效,如果两者相同,则表明该可验证声明有效。上述验证方式仅是一种可选的或可实现的方式,在实际应用中还可以包括多种其它方式,具体可以根据实际情况设定,本说明书实施例对此不做限定。通过上述验证方式,如果验证通过,则分配对该业务处理请求进行处理的区块链,并将该业务处理请求提供给该区块链。
需要说明的是,除了可以通过拆分出的信息生成资源调用消息外,还可以从业务处理请求中拆分出业务发起方的数字身份信息和目标方的数字身份信息等。通过上述消息拆分处理得到业务发起方的数字身份信息和目标方的数字身份信息后,还可以执行下述相关处理,具体可以参见步骤S406和步骤S408等处理。
在步骤S408中,获取每个第一子数字身份信息对应的第一预选区块链,得到至少一个第一预选区块链。
在实施中,每个子数字身份信息可以对应一个区块链,即属于同一区块链的用户,其子数字身份信息类似,因此,可以确定每个第一子数字身份信息所属的区块链,并可以将确定区块链作为第一预选区块链,从而可以得到至少一个第一预选区块链。
在步骤S410中,从至少一个第一预选区块链中,获取与该待处理业务相匹配的第一预选区块链,将获取的与该待处理业务相匹配的第一预选区块链确定为业务发起方执行待处理业务所相关的第一区块链。
在实施中,通过上述步骤S408的处理,得到至少一个第一预选区块链后,可以对每个第一预选区块链进行分析,通过分析可以确定每个第一预选区块链能够处理的待处理业务所属的类型、能够处理的业务的标识等相关信息,然后,可以基于上述信息,确定能够处理上述待处理业务的第一预选区块链,并可以将确定的第一预选区块链作为与该待处理业务相匹配的第一预选区块链,可以将获取的与该待处理业务相匹配的第一预选区块链确定为业务发起方执行待处理业务所相关的第一区块链。
在实际应用中,上述步骤S410的处理除了可以通过上述方式实现外,还可以通过其它多种不同的方式实现,以下再提供一种可选的处理方式,具体可以包括以下内容:根据该资源调用消息所属的类型,从至少一个第一预选区块链中,获取处理上述类型的消息的第一预选区块链,将获取的处理上述类型的消息的第一预选区块链获取为与该待处理业务相匹配的第一预选区块链。
在实施中,可以对该资源调用消息进行分析,确定该资源调用消息所属的类型,然后,可以从至少一个第一预选区块链中获取能够处理上述类型的消息的第一预选区块链,可以将获取的处理上述类型的消息的第一预选区块链获取为与该待处理业务相匹配的第一预选区块链。需要说明的是,如果能够处理上述类型的消息的第一预选区块链为多个,则可以从中选择一个第一预选区块链作为与该待处理业务相匹配的第一预选区块链。
在步骤S412中,获取每个第二子数字身份信息对应的第二预选区块链,得到至少一个第二预选区块链。
在实施中,基于上述内容,每个子数字身份信息可以对应一个区块链,即属于同一区块链的用户,其子数字身份信息类似,因此,可以确定每个第二子数字身份信息所属的区块链,并可以将确定区块链作为第二预选区块链,从而可以得到至少一个第二预选区块链。
在步骤S414中,从至少一个第二预选区块链中,获取与该待处理业务相匹配的第二预选区块链,将获取的与该待处理业务相匹配的第二预选区块链确定为目标方执行待处理业务所相关的第二区块链。
在实施中,通过上述步骤S412的处理,得到至少一个第二预选区块链后,可以对每个第二预选区块链进行分析,通过分析可以确定每个第二预选区块链能够处理的待处理业务所属的类型、能够处理的业务的标识、能够响应的待处理业务所属的类型等相关信息,然后,可以基于上述信息,确定能够响应上述资源调用消息或能够处理待处理业务的第二预选区块链,并可以将确定的第二预选区块链作为与该待处理业务相匹配的第二预选区块链,可以将获取的与该待处理业务相匹配的第二预选区块链确定为目标方执行待处理业务所相关的第二区块链。
在实际应用中,上述步骤S414的处理除了可以通过上述方式实现外,还可以通过其它多种不同的方式实现,以下再提供一种可选的处理方式,具体可以包括以下内容:根据该资源调用消息所属的类型,从至少一个所述第二预选区块链中,获取处理上述类型的消息的第二预选区块链,将获取的处理上述类型的消息的第二预选区块链获取为与该待处理业务相匹配的第二预选区块链。
在实施中,可以对该资源调用消息进行分析,确定该资源调用消息所属的类型,然后,可以从至少一个第二预选区块链中获取能够处理或响应上述类型的消息的第二预选区块链,可以将获取的处理上述类型的消息的第二预选区块链获取为与该待处理业务相匹配的第二预选区块链。需要说明的是,如果能够处理上述类型的消息的第二预选区块链为多个,则可以从中选择一个第二预选区块链作为与该待处理业务相匹配的第二预选区块链。
在步骤S416中,从预先存储的跨链交互权限信息中,查找第一区块链与第二区块链之间进行跨链交互的跨链交互权限信息。
在实施中,当通过上述步骤S410和步骤S414的处理,确定第一区块链和第二区块链后,可以从预先存储的跨链交互权限信息中,查找是否存在第一区块链与第二区块链之间进行跨链交互的跨链交互权限信息,如果查找到第一区块链与第二区块链之间进行跨链交互的跨链交互权限信息,则可以执行下述步骤S418的处理,如果未查找到第一区块链与第二区块链之间进行跨链交互的跨链交互权限信息,则表明第一区块链与第二区块链之间无法进行跨链交互。
在步骤S418中,如果查找到第一区块链与第二区块链之间进行跨链交互的跨链交互权限信息,则确定第一区块链与第二区块链之间具备进行跨链交互的权限。
在步骤S420中,通过第一区块链和第二区块链,对待处理业务进行跨链业务处理。
上述步骤S420的处理可以多种多样,以下提供一种可选的处理方式,即基于上述分配对上述业务处理请求进行处理的区块链,并将该业务处理请求提供给该区块链的处理,上述步骤S420具体可以包括:根据上述资源调用消息调用相应的资源;通过第一区块链和第二区块链,基于调用的资源,对待处理业务进行跨链业务处理。
上述步骤S420的处理可以多种多样,以下再提供一种可选的处理方式,具体可以包括以下步骤A2~A8的处理。
在步骤A2中,获取第一区块链上的跨链请求。
其中,该跨链请求可以基于上述待处理业务确定,具体地,可以获取从业务处理请求中拆分出的业务发起方的数字身份信息和目标方的数字身份信息,以及待处理业务的相关信息,并可以基于上述信息生成跨链请求。
在步骤A4中,基于上述跨链请求向第二区块链发起请求,并接收第二区块链返回的响应数据和链上证明。
其中,响应数据可以是待处理业务相关的数据。链上证明可以对响应数据进行验证,例如可以确定该响应数据存在于第二区块链的区块链账本中等。
在步骤A6中,根据上述链上证明对上述响应数据进行验证,并在验证通过后根据已配置的可信证明转化技术生成相应的证明信息。
其中,生成的相应的证明信息可以是上述实施例中提到的中继器证明。可信证明转化技术可以如TEE(Trusted Execution Environment,可信执行环节技术)技术、POA(Proof of Authority,权威证明共识)技术、MPC(Secure Multi-Party Computation,安全多方计算)技术、零知识证明(Zero-Knowledge Proof)技术等,本说明书并不对此进行限制。由于不同的可信证明转化技术所实现的性能模型、安全边界等均不同,因而可以满足不同场景下的应用需求。
在步骤A8中,将上述响应数据和上述证明信息返回第一区块链,以对待处理业务进行跨链业务处理。
上述步骤S420的处理完成后,还可以通过以下方式继续处理,具体可以包括以下内容:将预设的信任根发送给第一区块链,以使第一区块链根据该信任根对上述响应数据和证明信息进行验证。
上述具体处理过程可以参见上述相关内容,在此不再赘述。
本说明书实施例提供一种业务处理的方法,在对待处理业务进行处理的过程中,可以在相应的业务处理请求中携带业务发起方的数字身份信息和目标方的数字身份信息,这样,可以基于业务发起方的数字身份信息,获取业务发起方的第一子数字身份信息,进而可以确定业务发起方执行待处理业务所相关的第一区块链,同样的,可以基于目标方的数字身份信息,获取目标方的第二子数字身份信息,进而可以确定目标方执行待处理业务所相关的第二区块链,然后,在第一区块链与第二区块链之间具备进行跨链交互的权限的情况下,通过第一区块链和第二区块链,对待处理业务进行跨链业务处理,从而实现了对待处理业务的跨链处理,提高了业务处理效率。
实施例五
如图5所示,本说明书实施例提供一种业务处理的方法,该方法的执行主体可以为上述实施例一或实施例二中提供的业务处理系统,该业务处理系统可以基于服务器构建,其中,该服务器可以是一个独立的服务器,还可以是由多个服务器构成的服务器集群等。该业务处理系统可以实现对某业务进行跨区块链的业务处理,上述提到的区块链可以是用于提供某项业务(如进行交易的业务等)服务的区块链等。该业务处理系统的具体结构,可以参见上述相关内容,在此不再赘述。该方法具体可以包括以下步骤:
在步骤S502中,获取待处理业务的业务处理请求,该业务处理请求用于请求处理业务发起方与目标方之间的待处理业务,该业务处理请求中包括业务发起方的数字身份信息和目标方的数字身份信息。
在实际应用中,业务处理请求中除了可以包括业务发起方的数字身份信息和目标方的数字身份信息外,还可以包括如业务处理请求所属的类型,例如转账类、扫码支付类或离线支付类等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在步骤S504中,确定业务发起方和目标方的数字身份信息的有效性,并根据该业务处理请求所属的类型确定该业务处理请求是否符合预定消息格式规则。
在步骤S506中,如果业务发起方和目标方的数字身份信息有效,且该业务处理请求符合预定消息格式规则,则根据业务发起方的数字身份信息,获取业务发起方的第一子数字身份信息,以及,根据目标方的数字身份信息,获取目标方的第二子数字身份信息。
在实际应用中,如果业务发起方和目标方的数字身份信息有效,且该业务处理请求符合预定消息格式规则,则还可以为该业务处理请求分配相应的区块链,通过分配的区块链对该业务处理请求进行处理,具体可以包括以下内容:分配对上述业务处理请求进行处理的区块链,并将该业务处理请求提供给该区块链,以使在该区块链对该业务处理请求进行消息拆分处理,生成资源调用消息。
此外,在执行上述分配对上述业务处理请求进行处理的区块链,并将该业务处理请求提供给该区块链的处理中,还可以包括以下内容:业务处理请求中还可以包括可验证声明,则对可验证声明的有效性进行验证;如果验证通过,则分配对该业务处理请求进行处理的区块链,并将该业务处理请求提供给该区块链。
在实际应用中,确定业务发起方执行待处理业务所相关的第一区块链和目标方执行待处理业务所相关的第二区块链的处理方式可以多种多样,本实施例中可以通过执行待处理业务所需的中间件类型的方式实现,具体可以参见下述步骤S508和步骤S510的处理。
在步骤S508中,根据上述待处理业务、第一子数字身份信息和第二子数字身份信息,确定业务发起方与目标方之间执行待处理业务所需的预选中间件类型。
其中,中间件类型可以是执行待处理业务的过程中需要使用或经历的中间件所属的类型,中间件类型可以根据实际情况设定,具体如,可以包括Mychain、Fabric、C3S和Data等。
在实施中,通过上述步骤得到第一子数字身份信息和第二子数字身份信息,可以基于上述待处理业务,从第一子数字身份信息出发,执行待处理业务直到到达目标方的第二子数字身份信息,获取上述执行待处理业务的过程中所需的中间件类型,并可以将获取的中间件类型作为预选中间件类型。
在步骤S510中,根据确定的预选中间件类型、第一子数字身份信息对应的访问权限和第二子数字身份信息对应的访问权限,分别确定业务发起方执行待处理业务所相关的第一区块链和目标方执行待处理业务所相关的第二区块链。
其中,第一子数字身份信息对应的访问权限可以包括第一子数字身份信息对应的业务发起方对预选中间件类型对应的中间件的访问权限,第二子数字身份信息对应的访问权限可以包括第二子数字身份信息对应的目标方对预选中间件类型对应的中间件的访问权限。
在实施中,可以基于确定的预选中间件类型、第一子数字身份信息对应的业务发起方对各类型对应的中间件的访问权限和第二子数字身份信息对应的目标方对各类型对应的中间件的访问权限,从中选取第一子数字身份信息对应的业务发起方和第二子数字身份信息对应的目标方均具备访问权限的中间件类型,并可以基于选取的中间件类型确定业务发起方执行待处理业务所相关的第一区块链和目标方执行待处理业务所相关的第二区块链。
在步骤S512中,从预先存储的跨链交互权限信息中,查找第一区块链与第二区块链之间进行跨链交互的跨链交互权限信息。
其中,跨链交互权限信息可以是预先设定的多个区块链之间能够进行跨区块链交互的权限的信息,具体如,预先存储有区块链1与区块链2的跨链交互权限信息,则表明区块链1与区块链2之间可以进行跨链交互。
在步骤S514中,如果查找到第一区块链与第二区块链之间进行跨链交互的跨链交互权限信息,则确定第一区块链与第二区块链之间具备进行跨链交互的权限。
在步骤S516中,通过第一区块链和第二区块链,对待处理业务进行跨链业务处理。
上述步骤S516的处理可以多种多样,以下提供一种可选的处理方式,具体可以包括:根据上述资源调用消息调用相应的资源;通过第一区块链和第二区块链,基于调用的资源,对待处理业务进行跨链业务处理。
上述步骤S516的处理可以多种多样,以下再提供一种可选的处理方式,具体可以包括以下步骤B2~B8的处理。
在步骤B2中,获取第一区块链上的跨链请求。
其中,该跨链请求可以基于上述待处理业务确定。
在步骤A4中,基于上述跨链请求向第二区块链发起请求,并接收第二区块链返回的响应数据和链上证明。
在步骤A6中,根据上述链上证明对上述响应数据进行验证,并在验证通过后根据已配置的可信证明转化技术生成相应的证明信息。
在步骤A8中,将上述响应数据和上述证明信息返回第一区块链,以对待处理业务进行跨链业务处理。
上述步骤S516的处理完成后,还可以通过以下方式继续处理,具体可以包括以下内容:将预设的信任根发送给第一区块链,以使第一区块链根据该信任根对上述响应数据和证明信息进行验证。
上述具体处理过程可以参见上述相关内容,在此不再赘述。
本说明书实施例提供一种业务处理的方法,在对待处理业务进行处理的过程中,可以在相应的业务处理请求中携带业务发起方的数字身份信息和目标方的数字身份信息,这样,可以基于业务发起方的数字身份信息,获取业务发起方的第一子数字身份信息,进而可以确定业务发起方执行待处理业务所相关的第一区块链,同样的,可以基于目标方的数字身份信息,获取目标方的第二子数字身份信息,进而可以确定目标方执行待处理业务所相关的第二区块链,然后,在第一区块链与第二区块链之间具备进行跨链交互的权限的情况下,通过第一区块链和第二区块链,对待处理业务进行跨链业务处理,从而实现了对待处理业务的跨链处理,提高了业务处理效率。
实施例六
以上为本说明书实施例提供的业务处理的方法,基于同样的思路,本说明书实施例还提供一种业务处理的装置,如图6所示。
该业务处理的装置包括:业务请求模块601、数字身份获取模块602、区块链确定模块603和跨链处理模块604,其中:
业务请求模块601,获取待处理业务的业务处理请求,所述业务处理请求用于请求处理业务发起方与目标方之间的所述待处理业务,所述业务处理请求中包括所述业务发起方的数字身份信息和所述目标方的数字身份信息;
数字身份获取模块602,根据所述业务发起方的数字身份信息,获取所述业务发起方的第一子数字身份信息;以及,根据所述目标方的数字身份信息,获取所述目标方的第二子数字身份信息;
区块链确定模块603,根据所述业务处理请求和所述第一子数字身份信息,确定所述业务发起方执行所述待处理业务所相关的第一区块链;以及,根据所述业务处理请求和所述第二子数字身份信息,确定所述目标方执行所述待处理业务所相关的第二区块链;
跨链处理模块604,如果所述第一区块链与所述第二区块链之间具备进行跨链交互的权限,则通过所述第一区块链和所述第二区块链,对所述待处理业务进行跨链业务处理。
本说明书实施例中,所述装置还包括:
分配模块,用分配对所述业务处理请求进行处理的区块链,并将所述业务处理请求提供给所述区块链,以使在所述区块链对所述业务处理请求进行消息拆分处理,生成资源调用消息;
所述跨链处理模块604,包括:
资源获取单元,根据所述资源调用消息调用相应的资源;
跨链处理模块,通过所述第一区块链和所述第二区块链,基于调用的所述资源,对所述待处理业务进行跨链业务处理。
本说明书实施例中,所述业务处理请求中还包括可验证声明,所述分配模块,包括:
验证单元,对所述可验证声明的有效性进行验证;
分配单元,如果验证通过,则分配对所述业务处理请求进行处理的区块链,并将所述业务处理请求提供给所述区块链。
本说明书实施例中,所述区块链确定模块603,包括:
第一预选单元,获取每个所述第一子数字身份信息对应的第一预选区块链,得到至少一个所述第一预选区块链;
第一区块链确定单元,从至少一个所述第一预选区块链中,获取与所述待处理业务相匹配的第一预选区块链,将获取的与所述待处理业务相匹配的第一预选区块链确定为所述业务发起方执行所述待处理业务所相关的第一区块链;和/或,
所述区块链确定模块603,包括:
第二预选单元,获取每个所述第二子数字身份信息对应的第二预选区块链,得到至少一个所述第二预选区块链;
第二区块链确定单元,从至少一个所述第二预选区块链中,获取与所述待处理业务相匹配的第二预选区块链,将获取的与所述待处理业务相匹配的第二预选区块链确定为所述目标方执行所述待处理业务所相关的第二区块链。
本说明书实施例中,所述第一预选单元,根据所述资源调用消息所属的类型,从至少一个所述第一预选区块链中,获取处理所述类型的消息的第一预选区块链,将获取的处理所述类型的消息的第一预选区块链获取为与所述待处理业务相匹配的第一预选区块链;和/或,
所述第二预选单元,根据所述资源调用消息所属的类型,从至少一个所述第二预选区块链中,获取处理所述类型的消息的第二预选区块链,将获取的处理所述类型的消息的第二预选区块链获取为与所述待处理业务相匹配的第二预选区块链。
本说明书实施例中,所述数字身份获取模块602,包括:
验证单元,确定所述业务发起方和所述目标方的数字身份信息的有效性,并根据所述业务处理请求所属的类型确定所述业务处理请求是否符合预定消息格式规则;
数字身份获取单元,如果所述业务发起方和所述目标方的数字身份信息有效,且所述业务处理请求符合预定消息格式规则,则根据所述业务发起方的数字身份信息,获取所述业务发起方的第一子数字身份信息,以及,根据所述目标方的数字身份信息,获取所述目标方的第二子数字身份信息。
本说明书实施例中,所述装置还包括:
权限查找模块,从预先存储的跨链交互权限信息中,查找所述第一区块链与所述第二区块链之间进行跨链交互的跨链交互权限信息;
跨链权限确定模块,如果查找到所述第一区块链与所述第二区块链之间进行跨链交互的跨链交互权限信息,则确定所述第一区块链与所述第二区块链之间具备进行跨链交互的权限。
本说明书实施例中,所述跨链处理模块604,包括:
跨链请求单元,获取所述第一区块链上的跨链请求,所述跨链请求基于所述待处理业务确定;
信息接收单元,基于所述跨链请求向所述第二区块链发起请求,并接收所述第二区块链返回的响应数据和链上证明;
验证单元,根据所述链上证明对所述响应数据进行验证,并在验证通过后根据已配置的可信证明转化技术生成相应的证明信息;
跨链处理单元,将所述响应数据和所述证明信息返回所述第一区块链,以对所述待处理业务进行跨链业务处理。
本说明书实施例中,所述装置还包括:
信任根发送模块,将预设的信任根发送给所述第一区块链,以使所述第一区块链根据所述信任根对所述响应数据和所述证明信息进行验证。
本说明书实施例中,所述区块链确定模块603,包括:
类型确定单元,根据所述待处理业务、所述第一子数字身份信息和所述第二子数字身份信息,确定所述业务发起方与所述目标方之间执行所述待处理业务所需的预选中间件类型;
区块链确定单元,根据确定的所述预选中间件类型、所述第一子数字身份信息对应的访问权限和所述第二子数字身份信息对应的访问权限,分别确定所述业务发起方执行所述待处理业务所相关的第一区块链和所述目标方执行所述待处理业务所相关的第二区块链。
本说明书实施例提供一种业务处理的装置,在对待处理业务进行处理的过程中,可以在相应的业务处理请求中携带业务发起方的数字身份信息和目标方的数字身份信息,这样,可以基于业务发起方的数字身份信息,获取业务发起方的第一子数字身份信息,进而可以确定业务发起方执行待处理业务所相关的第一区块链,同样的,可以基于目标方的数字身份信息,获取目标方的第二子数字身份信息,进而可以确定目标方执行待处理业务所相关的第二区块链,然后,在第一区块链与第二区块链之间具备进行跨链交互的权限的情况下,通过第一区块链和第二区块链,对待处理业务进行跨链业务处理,从而实现了对待处理业务的跨链处理,提高了业务处理效率。
实施例七
以上为本说明书实施例提供的业务处理的装置,基于同样的思路,本说明书实施例还提供一种业务处理的设备,如图7所示。
所述业务处理的设备可以为上述实施例提供的业务处理系统对应的设备。
业务处理的设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对业务处理的设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在业务处理的设备上执行存储器702中的一系列计算机可执行指令。业务处理的设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706。
具体在本实施例中,业务处理的设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对业务处理的设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取待处理业务的业务处理请求,所述业务处理请求用于请求处理业务发起方与目标方之间的所述待处理业务,所述业务处理请求中包括所述业务发起方的数字身份信息和所述目标方的数字身份信息;
根据所述业务发起方的数字身份信息,获取所述业务发起方的第一子数字身份信息;以及,根据所述目标方的数字身份信息,获取所述目标方的第二子数字身份信息;
根据所述业务处理请求和所述第一子数字身份信息,确定所述业务发起方执行所述待处理业务所相关的第一区块链;以及,根据所述业务处理请求和所述第二子数字身份信息,确定所述目标方执行所述待处理业务所相关的第二区块链;
如果所述第一区块链与所述第二区块链之间具备进行跨链交互的权限,则通过所述第一区块链和所述第二区块链,对所述待处理业务进行跨链业务处理。
本说明书实施例中,还包括:
分配对所述业务处理请求进行处理的区块链,并将所述业务处理请求提供给所述区块链,以使在所述区块链对所述业务处理请求进行消息拆分处理,生成资源调用消息;
所述通过所述第一区块链和所述第二区块链,对所述待处理业务进行跨链业务处理,包括:
根据所述资源调用消息调用相应的资源;
通过所述第一区块链和所述第二区块链,基于调用的所述资源,对所述待处理业务进行跨链业务处理。
本说明书实施例中,所述业务处理请求中还包括可验证声明,所述分配对所述业务处理请求进行处理的区块链,并将所述业务处理请求提供给所述区块链,包括:
对所述可验证声明的有效性进行验证;
如果验证通过,则分配对所述业务处理请求进行处理的区块链,并将所述业务处理请求提供给所述区块链。
本说明书实施例中,所述根据所述业务处理请求和所述第一子数字身份信息,确定所述业务发起方执行所述待处理业务所相关的第一区块链,包括:
获取每个所述第一子数字身份信息对应的第一预选区块链,得到至少一个所述第一预选区块链;
从至少一个所述第一预选区块链中,获取与所述待处理业务相匹配的第一预选区块链,将获取的与所述待处理业务相匹配的第一预选区块链确定为所述业务发起方执行所述待处理业务所相关的第一区块链;和/或,
所述根据所述业务处理请求和所述第二子数字身份信息,确定所述目标方执行所述待处理业务所相关的第二区块链,包括:
获取每个所述第二子数字身份信息对应的第二预选区块链,得到至少一个所述第二预选区块链;
从至少一个所述第二预选区块链中,获取与所述待处理业务相匹配的第二预选区块链,将获取的与所述待处理业务相匹配的第二预选区块链确定为所述目标方执行所述待处理业务所相关的第二区块链。
本说明书实施例中,所述从至少一个所述第一预选区块链中,获取与所述待处理业务相匹配的第一预选区块链,包括:
根据所述资源调用消息所属的类型,从至少一个所述第一预选区块链中,获取处理所述类型的消息的第一预选区块链,将获取的处理所述类型的消息的第一预选区块链获取为与所述待处理业务相匹配的第一预选区块链;和/或,
所述从至少一个所述第二预选区块链中,获取与所述业务处理请求相匹配的第二预选区块链,包括:
根据所述资源调用消息所属的类型,从至少一个所述第二预选区块链中,获取处理所述类型的消息的第二预选区块链,将获取的处理所述类型的消息的第二预选区块链获取为与所述待处理业务相匹配的第二预选区块链。
本说明书实施例中,所述根据所述业务发起方的数字身份信息,获取所述业务发起方的第一子数字身份信息,以及,根据所述目标方的数字身份信息,获取所述目标方的第二子数字身份信息,包括:
确定所述业务发起方和所述目标方的数字身份信息的有效性,并根据所述业务处理请求所属的类型确定所述业务处理请求是否符合预定消息格式规则;
如果所述业务发起方和所述目标方的数字身份信息有效,且所述业务处理请求符合预定消息格式规则,则根据所述业务发起方的数字身份信息,获取所述业务发起方的第一子数字身份信息,以及,根据所述目标方的数字身份信息,获取所述目标方的第二子数字身份信息。
本说明书实施例中,还包括:
从预先存储的跨链交互权限信息中,查找所述第一区块链与所述第二区块链之间进行跨链交互的跨链交互权限信息;
如果查找到所述第一区块链与所述第二区块链之间进行跨链交互的跨链交互权限信息,则确定所述第一区块链与所述第二区块链之间具备进行跨链交互的权限。
本说明书实施例中,所述通过所述第一区块链和所述第二区块链,对所述待处理业务进行跨链业务处理,包括:
获取所述第一区块链上的跨链请求,所述跨链请求基于所述待处理业务确定;
基于所述跨链请求向所述第二区块链发起请求,并接收所述第二区块链返回的响应数据和链上证明;
根据所述链上证明对所述响应数据进行验证,并在验证通过后根据已配置的可信证明转化技术生成相应的证明信息;
将所述响应数据和所述证明信息返回所述第一区块链,以对所述待处理业务进行跨链业务处理。
本说明书实施例中,还包括:
将预设的信任根发送给所述第一区块链,以使所述第一区块链根据所述信任根对所述响应数据和所述证明信息进行验证。
本说明书实施例中,所述根据所述待处理业务和所述第一子数字身份信息,确定所述业务发起方执行所述待处理业务所相关的第一区块链,以及,根据所述待处理业务和所述第二子数字身份信息,确定所述目标方执行所述待处理业务所相关的第二区块链,包括:
根据所述待处理业务、所述第一子数字身份信息和所述第二子数字身份信息,确定所述业务发起方与所述目标方之间执行所述待处理业务所需的预选中间件类型;
根据确定的所述预选中间件类型、所述第一子数字身份信息对应的访问权限和所述第二子数字身份信息对应的访问权限,分别确定所述业务发起方执行所述待处理业务所相关的第一区块链和所述目标方执行所述待处理业务所相关的第二区块链。
本说明书实施例提供一种业务处理的设备,在对待处理业务进行处理的过程中,可以在相应的业务处理请求中携带业务发起方的数字身份信息和目标方的数字身份信息,这样,可以基于业务发起方的数字身份信息,获取业务发起方的第一子数字身份信息,进而可以确定业务发起方执行待处理业务所相关的第一区块链,同样的,可以基于目标方的数字身份信息,获取目标方的第二子数字身份信息,进而可以确定目标方执行待处理业务所相关的第二区块链,然后,在第一区块链与第二区块链之间具备进行跨链交互的权限的情况下,通过第一区块链和第二区块链,对待处理业务进行跨链业务处理,从而实现了对待处理业务的跨链处理,提高了业务处理效率。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程业务处理的设备的处理器以产生一个机器,使得通过计算机或其他可编程业务处理的设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程业务处理的设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程业务处理的设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。