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

一种业务处理的方法及装置

文献发布时间:2023-06-19 10:52:42


一种业务处理的方法及装置

技术领域

本申请实施例涉及区块链技术领域,尤其涉及一种业务处理的方法及装置。

背景技术

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。

然而,现有技术下,单一的区块链往往只能处理单一的业务,无法满足用户的复杂业务的需求。

发明内容

本申请实施例提供了一种业务处理的方法及装置,可以处理用户的复杂业务。

本申请实施例第一方面提供了一种业务处理的方法,包括:

接收请求方发送的业务处理请求,所述业务处理请求中携带有目标业务的信息;

从策略表中获取与所述目标业务相匹配的目标策略;

根据所述目标策略,将所述目标业务拆分为至少一个与所述目标业务相关联的子业务;

确定处理所述子业务中每一个子业务的区块链;

将所述每一个子业务分发至对应的区块链进行处理;

判断所有子业务是否全部处理成功;

若是,则汇总所有子业务的执行结果,生成所述目标业务的执行结果并返回给所述请求方。

可选的,所述确定处理所述子业务中每一个子业务的区块链包括:

获取所述子业务中任一个未确定区块链的子业务作为目标子业务;

确定处理所述目标子业务所需区块链的最低数量N,所述N为整数且N≥1;

根据预设规则确定N个区块链作为处理所述目标子业务的区块链;

重复执行上述步骤,直至确定所有子业务的区块链。

可选的,所述根据预设规则确定N个区块链作为处理所述目标子业务的区块链包括:

判断区块链池中是否存在具备处理所述目标子业务能力的预选区块链;

当所述区块链池中存在具备处理所述目标子业务能力的预选区块链时,则判断所述预选区块链中负载情况低于预设值的数量是否≥N;若是,则从所述预选区块链中选取N个作为处理所述目标子业务的区块链;

当所述区块链池中不存在具备处理所述目标子业务能力的预选区块链或所述预选区块链中负载情况低于预设值的数量

可选的,所述从所述预选区块链中选取N个作为处理所述目标子业务的区块链包括:

从所述预选区块链中选取负载情况最低的N个作为处理所述目标子业务的区块链。

可选的,所述判断所有子业务是否全部处理成功包括:

从所述每一个子业务对应的区块链中获取执行状态;

判断所述执行状态是否全都为成功;

若是,则确定所有子业务全部处理成功。

可选的,所述接收请求方发送的业务处理请求之前,所述方法还包括:

接收请求方调用策略下发软件开发工具包SDK发送的自定义策略;

将所述自定义策略存入策略表。

本申请实施例第二方面提供了一种业务处理的装置,包括:

接收单元,用于接收请求方发送的业务处理请求,所述业务处理请求中携带有目标业务的信息;

获取单元,用于从策略表中获取与所述目标业务相匹配的目标策略;

拆分单元,用于根据所述目标策略,将所述目标业务拆分为至少一个与所述目标业务相关联的子业务;

确定单元,用于确定处理所述子业务中每一个子业务的区块链;

分发单元,用于将所述每一个子业务分发至对应的区块链进行处理;

判断单元,用于判断所有子业务是否全部处理成功;

生成单元,用于当所述判断单元确定所有子业务全部处理成功时,汇总所有子业务的执行结果,生成所述目标业务的执行结果并返回给所述请求方。

可选的,所述确定单元具体用于:

获取所述子业务中任一个未确定区块链的子业务作为目标子业务;

确定处理所述目标子业务所需区块链的最低数量N,所述N为整数且N≥1;

判断区块链池中是否存在具备处理所述目标子业务能力的预选区块链;

当所述区块链池中存在具备处理所述目标子业务能力的预选区块链时,则判断所述预选区块链中负载情况低于预设值的数量是否≥N;若是,则从所述预选区块链中选取负载情况最低的N个作为处理所述目标子业务的区块链;

当所述区块链池中不存在具备处理所述目标子业务能力的预选区块链或所述预选区块链中负载情况低于预设值的数量

重复执行上述步骤,直至确定所有子业务的区块链。

可选的,所述判断单元具体用于:

从所述每一个子业务对应的区块链中获取执行状态;

判断所述执行状态是否全都为成功;

若是,则确定所有子业务全部处理成功。

可选的,所述装置还包括策略存储单元;

所述策略存储单元具体用于:

接收请求方调用策略下发SDK发送的自定义策略;

将所述自定义策略存入策略表。

本申请实施例第三方面提供了一种业务处理的装置,包括:

理器、存储器、输入输出单元、总线;

所述处理器与所述存储器、所述输入输出单元以及所述总线相连;

所述处理器具体执行如下操作:

接收请求方发送的业务处理请求,所述业务处理请求中携带有目标业务的信息;

从策略表中获取与所述目标业务相匹配的目标策略;

根据所述目标策略,将所述目标业务拆分为至少一个与所述目标业务相关联的子业务;

确定处理所述子业务中每一个子业务的区块链;

将所述每一个子业务分发至对应的区块链进行处理;

判断所有子业务是否全部处理成功;

若是,则汇总所有子业务的执行结果,生成所述目标业务的执行结果并返回给所述请求方。

可选的,所述处理器用于执行如第一方面及第一方面任意一种可能的实施方式中的方法。

本申请实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,当所述程序在计算机上执行时,使得所述计算机执行如第一方面及第一方面任意一种可能的实施方式中的方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例提供的方法,首先接收请求方发送的业务处理请求,然后从策略表中获取与业务处理请求中携带的目标业务相匹配的目标策略,并根据目标策略将目标业务拆分为至少一个与目标业务相关联的子业务,然后确定处理每一个子业务的区块链,接着将每一个子业务分发至对应的区块链进行处理,当每一个子业务都处理成功时,则汇总所有子业务的执行结果,最终生成目标业务的执行结果并返回给请求方。本申请实施例提供的方法通过将复杂业务按照相应的策略拆分为单一的子业务,然后再分别交给对应的区块链进行处理,为用户提供了用区块链处理复杂业务的方案。

附图说明

图1为本申请实施例中业务处理的方法一个实施例的流程示意图;

图2为本申请实施例中业务处理的方法另一个实施例的流程示意图;

图3为本申请实施例中业务处理的装置一个实施例的结构示意图;

图4为本申请实施例中业务处理的装置另一个实施例的结构示意图;

图5为本申请实施例中业务处理的装置另一个实施例的结构示意图。

具体实施方式

本申请实施例提供了一种业务处理的方法及装置,用于处理复杂业务。

在实际应用中,本申请实施例提供的方法既可以应用于服务器,也可以应用于终端设备,具体此处不做限定。为方便描述,本申请实施例使用服务器作为执行主体举例描述。

请参阅图1,本申请实施例中业务处理的方法一个实施例包括:

101、服务器接收请求方发送的业务处理请求,所述业务处理请求中携带有目标业务的信息;

在实际应用中,当请求方有处理目标业务的需求时,可以向服务器发送业务处理请求,并使该业务处理请求携带目标业务的信息,包括目标业务的业务类型和对应的策略类型等。在请求方发送业务处理请求之后,处理器可以接收到该业务处理请求。

102、服务器从策略表中获取与所述目标业务相匹配的目标策略;

由于,业务处理请求中携带有目标业务的信息,因此服务器可以根据目标业务的信息,在策略表中进行匹配,然后获取与目标业务相匹配的目标策略。

103、服务器根据所述目标策略,将所述目标业务拆分为至少一个与所述目标业务相关联的子业务;

服务器从策略表中获取到目标策略之后,可以对目标策略进行解析,然后根据目标策略对目标业务进行处理,包括分类、解析和拆分等,最后将目标业务拆分为至少一个与目标业务相关联的子业务。

104、服务器确定处理所述子业务中每一个子业务的区块链;

服务器对目标业务拆分为至少一个与目标业务相关联的子业务之后,可以根据子业务的业务类型以及并发量等确定处理每一个子业务的区块链。

105、服务器将所述每一个子业务分发至对应的区块链进行处理;

服务器确定处理每一个子业务的区块链之后,可以通过路由转发的方式将每一个子业务分发到对应的区块链,由对应的区块链对子业务进行处理。

需要说明的是,本申请实施例中,如果某个子业务依赖于另一个子业务的执行结果,则先将后者路由转发至对应的区块链进行处理,然后获取并保存后者的执行结果,再将该执行结果以及前者路由转发到对应的区块链进行处理。例如,子业务A依赖子业务B的执行结果,则先将子业务B路由转发到对应的区块链进行处理,并获取子业务B的执行结果,然后将该执行结果保存,并将该执行结果以及子业务A路由转发到对应的区块链进行处理。

106、服务器判断所有子业务是否全部处理成功,若是,则执行步骤107;

服务器将每一个子业务分发给对应的区块链之后,可以判断所有的子业务是否全部处理成功,在确定子业务全部都处理成功后,则可以执行步骤107。

107、服务器汇总所有子业务的执行结果,生成所述目标业务的执行结果并返回给所述请求方。

服务器确定所有的子业务都处理成功之后,可以从对应的区块链中获取每一个子业务的执行结果并将其汇总,生成目标业务的执行结果,然后将目标业务的执行结果返回给请求方,完成对请求方发送的业务处理请求的响应。

本实施例中,服务器首先接收请求方发送的业务处理请求,然后从策略表中获取与业务处理请求中携带的目标业务相匹配的目标策略,并根据目标策略将目标业务拆分为至少一个与目标业务相关联的子业务,然后确定处理每一个子业务的区块链,接着将每一个子业务分发至对应的区块链进行处理,当每一个子业务都处理成功时,则汇总所有子业务的执行结果,最终生成目标业务的执行结果并返回给请求方。本实施例中服务器通过将复杂业务按照相应的策略拆分为单一的子业务,然后再分别交给对应的区块链进行处理,为请求方提供了用区块链处理复杂业务的方案。

请参阅图2,本申请实施例中业务处理的方法另一个实施例包括:

201、服务器接收请求方调用策略下发软件开发工具包(SDK,SoftwareDevelopment Kit)发送的自定义策略;

在实际应用中,如果请求方希望用自定义策略处理业务,那么可以在发送业务处理请求之前,先调用本方法提供的策略下发SDK向服务器发送自定义策略。在请求方调用策略下发SDK向服务器发送自定义策略之后,服务器可以接收到该自定义策略。

202、服务器将所述自定义策略存入策略表;

服务器接收到请求方调用策略下发SDK发送的自定义策略之后,可以利用相应的解析器对自定义策略进行解析,然后将解析后的自定义策略存入策略表。

本实施例中,为请求方提供了策略下发SDK,使得请求方可以通过策略下发SDK向服务器发送自定义策略,为请求方提供了便利,提高了请求方的用户体验。

203、服务器接收请求方发送的业务处理请求,所述业务处理请求中携带有目标业务的信息;

204、服务器从策略表中获取与所述目标业务相匹配的目标策略;

205、服务器根据所述目标策略,将所述目标业务拆分为至少一个与所述目标业务相关联的子业务;

本实施例中的步骤203至205与前述实施例中的步骤101至103类似,此处不再赘述。

206、服务器获取所述子业务中任一个未确定区块链的子业务作为目标子业务;

服务器按照目标策略对目标业务进行拆分之后,可以从拆分得到的子业务中获取任意一个还未确定区块链的子业务作为目标子业务,以对目标子业务作进一步处理。

207、服务器确定处理所述目标子业务所需区块链的最低数量N,所述N为整数且N≥1;

服务器获取目标子业务之后,可以根据目标子业务的并发量确定处理目标子业务所需要的区块链的最低数量N,N是整数并且N≥1。

208、服务器判断区块链池中是否存在具备处理所述目标子业务能力的预选区块链,若是,则执行步骤209;若否,则执行步骤211;

接着,服务器可以根据目标子业务对区块链池进行遍历,判断区块链池中是否存在具备处理目标子业务能力的预选区块链,当确定存在具备处理目标子业务能力的预选区块链,则执行步骤209。当确定不存在具备处理目标子业务能力的预选区块链时,则执行步骤211。

209、服务器判断所述预选区块链中负载情况低于预设值的数量是否≥N,若是则执行步骤210;若否,则执行步骤211;

服务器可以实时地获取预选区块链的负载情况,然后将预选区块链的负载情况与预设值进行比较,统计出负载情况低于预设值的预选区块链的数量,再判断该数量是否≥N,如果该数量≥N,则说明预选区块链已经可以满足处理目标子业务的需求,此时服务器可以执行步骤210。如果该数量不≥N,则说明预选区块链不能满足处理目标子业务的需求,此时服务器需要执行步骤211。

210、服务器从所述预选区块链中选取负载情况最低的N个作为处理所述目标子业务的区块链;

当确定预选区块链可以满足处理目标子业务的需求时,服务器可以对预选区块链的负载情况进行排序,然后按照负载情况从低到高的顺序从中选择N个区块链作为处理目标子业务的区块链。

本实施例中,服务器可以将负载情况最低的N个预选区块链作为处理目标子业务的区块链,实现了负载均衡,缓解了区块链的压力,提高了处理目标子业务的效率。

211、服务器根据欠缺数量为所述目标子业务创建新区块链;

当区块链池中不存在具备处理目标子业务能力的预选区块链,或者预选区块链中负载情况低于预设值的区块链的数量不≥N时,说明此时区块链池中的区块链不能满足处理目标子业务的需求,此时服务器可以统计出欠缺数量,然后动态地创建出欠缺数量个具备处理目标子业务能力的新区块链,以此满足处理目标子业务的需求。

212、服务器将所述新区块链和所述预选区块链中负载情况低于预设值的区块链确定为处理所述目标子业务的区块链;

服务器根据实际需求创建欠缺数量个新区块链之后,将新区块链以及预选区块链中负载情况低于预设值的区块链作为处理目标子业务的区块链。

本实施例中,服务器可以根据实际需求创建新区块链,方便灵活,非常高效。

213、服务器判断所述子业务中是否存在未确定区块链的子业务,若是,则执行步骤206;若否,则执行步骤214;

服务器在为任一个未确定区块链的子业务确定区块链之后,可以判断目标业务拆分而来的子业务中是否还存在为确定区块链的子业务,如果还存在,则执行步骤206。如果不存在,则说明已经确定了处理每一个子业务的区块链,此时可以执行步骤214。

214、服务器将所述每一个子业务分发至对应的区块链进行处理;

本实施例中的步骤214与前述实施例中的步骤105类似,此处不再赘述。

215、服务器从所述每一个子业务对应的区块链中获取执行状态;

服务器可以根据预估计的处理时间,从每一个子业务对应的区块链中获取执行状态,通过执行状态判断对应的子业务是否处理成功。

216、服务器判断所述执行状态是否全都为成功,若是,则执行步骤217;

如果服务器从对应的区块链中获取到的子业务的执行状态都为成功,则说明已经完成对目标业务的处理,此时可以执行步骤217。如果服务器从对应的区块链中获取到的子业务的执行状态不是全部都为成功,则说明还没有完成对目标业务的处理,此时服务器可以预先设定的规则对执行状态不为成功的子业务进行再次处理,例如对子业务进行回滚、重新为子业务分配区块链以及其他操作等。

本实施例中,服务器可以根据预先设定的规则对执行状态不为成功的子业务进行处理,提高了服务器处理业务的健壮性。

217、服务器确定所有子业务全部处理成功;

当区块链中子业务的执行状态都为成功时,服务器可以确定所有的子业务全部处理成功。

218、服务器汇总所有子业务的执行结果,生成所述目标业务的执行结果并返回给所述请求方。

本实施例中的步骤218与前述实施例中的步骤107类似,此处不再赘述。

上面对本申请实施例中业务处理的方法进行了描述,下面对本申请实施例中业务处理的装置进行详细描述。

请参阅图3,本申请实施例中业务处理的装置一个实施例包括:

接收单元301,用于接收请求方发送的业务处理请求,业务处理请求中携带有目标业务的信息;

获取单元302,用于从策略表中获取与目标业务相匹配的目标策略;

拆分单元303,用于根据目标策略,将目标业务拆分为至少一个与目标业务相关联的子业务;

确定单元304,用于确定处理所有子业务中每一个子业务的区块链;

分发单元305,用于将每一个子业务分发至对应的区块链进行处理;

判断单元306,用于判断所有子业务是否全部处理成功;

生成单元307,用于当判断单元306确定所有子业务全部处理成功时,汇总所有子业务的执行结果,生成目标业务的执行结果并返回给请求方。

本实施例中,接收单元301首先接收请求方发送的业务处理请求,然后获取单元302从策略表中获取与业务处理请求中携带的目标业务相匹配的目标策略,拆分单元303并根据目标策略将目标业务拆分为至少一个与目标业务相关联的子业务,然后确定单元304确定处理每一个子业务的区块链,接着分发单元305将每一个子业务分发至对应的区块链进行处理,当每一个子业务都处理成功时,生成单元307则汇总所有子业务的执行结果,最终生成目标业务的执行结果并返回给请求方,以此完成目标业务的处理,为请求方提供了用区块链处理复杂业务的方案。

下面对本申请实施例中业务处理的装置进行详细描述,请参阅图4,本申请实施例中业务处理的装置另一个实施例包括:

接收单元401,用于接收请求方发送的业务处理请求,业务处理请求中携带有目标业务的信息;

获取单元402,用于从策略表中获取与目标业务相匹配的目标策略;

拆分单元403,用于根据目标策略,将目标业务拆分为至少一个与目标业务相关联的子业务;

确定单元404,用于确定处理所有子业务中每一个子业务的区块链;

分发单元405,用于将每一个子业务分发至对应的区块链进行处理;

判断单元406,用于判断所有子业务是否全部处理成功;

生成单元407,用于当判断单元406确定所有子业务全部处理成功时,汇总所有子业务的执行结果,生成目标业务的执行结果并返回给请求方。

本实施例中,业务处理的装置还可以进一步包括策略存储单元408。

策略存储单元408具体用于:

接收请求方调用策略下发SDK发送的自定义策略;

将自定义策略存入策略表。

本实施例中,确定单元404具体用于:

获取子业务中任一个未确定区块链的子业务作为目标子业务;

确定处理目标子业务所需区块链的最低数量N,N为整数且N≥1;

判断区块链池中是否存在具备处理目标子业务能力的预选区块链;

当区块链池中存在具备处理目标子业务能力的预选区块链时,则判断预选区块链中负载情况低于预设值的数量是否≥N;若是,则从预选区块链中选取负载情况最低的N个作为处理目标子业务的区块链;

当区块链池中不存在具备处理目标子业务能力的预选区块链或预选区块链中负载情况低于预设值的数量

重复执行上述步骤,直至确定所有子业务的区块链。

本实施例中,各单元的功能与前述图2所示实施例中的步骤对应,此处不再赘述。

下面对本申请实施例中业务处理的装置进行详细描述,请参阅图5,本申请实施例中业务处理的装置另一个实施例包括:

处理器501、存储器502、输入输出单元503、总线504;

处理器501与存储器502、输入输出单元503以及总线504相连;

处理器501具体执行如下操作:

接收请求方发送的业务处理请求,业务处理请求中携带有目标业务的信息;

从策略表中获取与目标业务相匹配的目标策略;

根据目标策略,将目标业务拆分为至少一个与目标业务相关联的子业务;

确定处理所述子业务中每一个子业务的区块链;

将每一个子业务分发至对应的区块链进行处理;

判断所有子业务是否全部处理成功;

若是,则汇总所有子业务的执行结果,生成目标业务的执行结果并返回给请求方。

本实施例中,处理器501的功能与前述图1至图2所示实施例的步骤对应,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 一种业务处理模块、业务处理系统及业务处理方法
  • 一种业务处理系统、确定业务处理方式的方法及装置
技术分类

06120112717968