一种基于区块链智能合约的收账记录处理方法及***
技术领域
本说明书实施例涉及信息技术领域,尤其涉及一种基于区块链智能合约的收账记录处理方法及***。
背景技术
在日常生活中,消费者在商户处进行消费时,商户可以选择通过第三方的支付平台进行收账。例如,消费者可以通过手机扫描包含商户的账户信息的二维码,以触发向商户在支付平台上已注册的账户进行转账的操作。
由于支付平台往往会针对每笔收账抽取手续费(如收账金额的0.1%为手续费),因此,支付平台往往希望尽可能多的商户激活在线收账业务,这就需要发展尽可能多的商户在支付平台上注册账户。
为此,支付平台往往会与诸多分销商(或称代理商)进行合作,由分销商对支付平台的收账业务进行推广,发展越来越多的商户在支付平台上注册账户。支付平台为了激励分销商,会从分销商发展的每个商户的每笔收账的手续费中抽取部分作为分销提成发放给分销商。
支付平台实际上是商户与消费者之间的收账中介,消费者支付的资金会暂时沉淀在支付平台管理的资金池中。而管理机构(如央行)要求支付平台应当有合理的理由才能支取资金池中的资金,否则视为支付平台违规。
通常,管理机构会要求支付平台从资金池中抽取并发放给分销商的每笔分销提成都应当与实际存在的商户收账记录相关联。实践中,管理机构会定期或不定期要求支付平台将近期内产生的每笔收账的收账记录以及每个收账记录关联的分销提成金额上报。然而,支付平台上报的分销提成金额不一定是可信的。
发明内容
为了解决支付平台上报的分销提成信息不可信的问题,本说明书实施例提供一种基于区块链智能合约的收账记录处理方法及***,技术方案如下:
根据本说明书实施例的第1方面,提供一种基于区块链智能合约的收账记录处理方法,组成区块链网络的多个节点中存在服务于至少一个业务方的业务节点与服务于至少一个管理方的管理节点,所述方法包括:
所述业务节点获取任一业务方构建的收账发布交易,并向所述区块链网络广播所述收账发布交易;所述收账发布交易包括该业务方根据监测到的商户收账事件生成的收账记录;
所述多个节点调用预先部署的智能合约,并根据所述收账发布交易中的收账记录,执行所述智能合约中记载的分销提成逻辑,得到分销提成金额;
所述多个节点将所述分销提成金额写入所述收账发布交易对应的执行结果;
所述多个节点将所述收账发布交易与所述收账发布交易对应的执行结果写入区块链,以便所述至少一个管理方通过所述管理节点进行查阅。
根据本说明书实施例的第2方面,提供一种基于区块链智能合约的收账记录处理方法,组成区块链网络的多个节点中存在服务于至少一个业务方的业务节点与服务于至少一个管理方的管理节点,所述方法包括:
所述业务节点获取任一业务方构建的包括该业务方根据监测到的商户收账事件生成的收账记录的收账发布交易,并向所述区块链网络广播所述收账发布交易,以使所述多个节点调用预先部署的智能合约,根据所述收账发布交易中的收账记录,并执行所述智能合约中记载的分销提成逻辑,得到分销提成金额,进而使所述多个节点将所述分销提成金额写入所述收账发布交易对应的执行结果,最终使所述多个节点将所述收账发布交易与所述收账发布交易对应的执行结果写入区块链,以便所述至少一个管理方通过所述管理节点进行查阅。
根据本说明书实施例的第3方面,提供一种基于区块链智能合约的收账记录处理方法,组成区块链网络的多个节点中存在服务于至少一个业务方的业务节点与服务于至少一个管理方的管理节点,所述方法包括:
所述多个节点调用预先部署的智能合约,并根据收账发布交易中的收账记录,执行所述智能合约中记载的分销提成逻辑,得到分销提成金额;所述收账发布交易是所述业务节点获取并向所述区块链网络广播的,所述收账发布交易是任一业务方构建的,所述收账发布交易包括该业务方根据监测到的商户收账事件生成的收账记录;
将所述分销提成金额写入所述收账发布交易对应的执行结果;
将所述收账发布交易与所述收账发布交易对应的执行结果写入区块链,以便所述至少一个管理方通过所述管理节点进行查阅。
根据本说明书实施例的第4方面,提供一种基于区块链智能合约的收账记录处理***,包括由多个节点组成的区块链网络,所述多个节点中存在服务于至少一个业务方的业务节点与服务于至少一个管理方的管理节点;
所述业务节点,获取任一业务方构建的收账发布交易,并向所述区块链网络广播所述收账发布交易;所述收账发布交易包括该业务方根据监测到的商户收账事件生成的收账记录;
所述多个节点,调用预先部署的智能合约,并根据所述收账发布交易中的收账记录,执行所述智能合约中记载的分销提成逻辑,得到分销提成金额;将所述分销提成金额写入所述收账发布交易对应的执行结果;将所述收账发布交易与所述收账发布交易对应的执行结果写入区块链,以便所述至少一个管理方通过所述管理节点进行查阅。
根据本说明书实施例的第5方面,提供一种基于区块链智能合约的收账记录处理装置,组成区块链网络的多个所述装置中存在服务于至少一个业务方的业务节点与服务于至少一个管理方的管理节点,所述装置包括:
获取模块,当所述装置是业务节点时,获取任一业务方构建的包括该业务方根据监测到的商户收账事件生成的收账记录的收账发布交易,并向所述区块链网络广播所述收账发布交易;
执行模块,调用预先部署的智能合约,并根据收账发布交易中的收账记录,执行所述智能合约中记载的分销提成逻辑,得到分销提成金额;所述收账发布交易是所述业务节点获取并向所述区块链网络广播的,所述收账发布交易是任一业务方构建的,所述收账发布交易包括该业务方根据监测到的商户收账事件生成的收账记录;
存证模块,将所述分销提成金额写入所述收账发布交易对应的执行结果;
区块链写入模块,将所述收账发布交易与所述收账发布交易对应的执行结果写入区块链,以便所述至少一个管理方通过管理节点进行查阅。
本说明书实施例所提供的技术方案,在区块链网络中引入服务于至少一个业务方(如支付平台)的业务节点与服务于至少一个管理方(如央行)的管理节点,支付平台可以将商户的收账记录提交给到区块链网络,由区块链网络中的各节点基于预先部署的智能合约来确定该收账记录涉及的分销提成金额,该收账记录以及相应的分销提成金额也会被写入区块链进行存证。
如此可以实现如下效果:
1、区块链网络中的各节点会分布式地执行智能合约中明确记载的分销提成逻辑,可以确保针对同一收账记录计算出的分销提成金额是一致且可信的。
2、由于每个收账记录以及相应的分销提成金额已经存证于区块链中,管理方可以随时通过管理节点进行查阅。也就是说,通过本说明书实施例,能够以更及时、更可信的方式满足针对分销提成的管理需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的一种基于区块链智能合约的收账记录处理方法的流程示意图;
图2是本说明书实施例提供的一种基于区块链智能合约的收账记录处理***的结构示意图;
图3是本说明书实施例提供的另一种基于区块链智能合约的收账记录处理***的结构示意图;
图4是本说明书实施例提供的一种基于区块链智能合约的收账记录处理装置的结构示意图;
图5是用于配置本说明书实施例装置的一种计算机设备的结构示意图。
具体实施方式
在现有的收账记录处理方法中,是由支付平台负责针对每个收账记录,计算应为该收账记录涉及的分销商发放的分销提成金额,并随后将收账记录与关联的分销提成金额上报给管理机构。但是,这种方法存在以下弊端:
1、支付平台向管理机构上报收账记录与相应的分销提成金额往往是滞后的,管理机构难以及时获知每笔收账记录以及与每笔收账记录关联的分销提成金额。
2、由于分销提成金额是由支付平台自行确定的,因此,支付平台上报的分销提成金额不一定是可信的。举例来说,支付平台针对某个收账记录,可以虚报与该收账记录关联的分销提成金额,却实际上不会将虚报部分的资金发放给分销商,而是挪作他用。假设某个收账记录中的收账金额为100元,按照规则(手续费为收账金额的0.1%,分销提成金额为手续费的10%),支付平台应收的手续费为0.1元,支付平台进一步需要发放给分销商的分销提成金额为0.01元。但是,支付平台可以向管理机构虚报该收账记录关联的分销提成金额为0.05元,将虚报部分(0.04元)挪作他用,比如用于投资股票,这事实上是不合规的。
为此,在本说明书的一个或多个实施例中,以去中心化的方式进行收账记录处理,具体地,将收账记录广播给区块链网络中的各节点,其中,各节点中包括服务于业务方的业务节点(如支付平台),也包括服务于管理方的管理节点。区块链网络中的各节点可以根据已经预先部署的智能合约分布式地独立执行分销提成逻辑,计算出可信的分销提成金额。并且,各节点会将收账记录以及收账记录关联的分销提成金额写入区块链进行存证,也就是说,管理节点总是会第一时间将每个收账记录以及可信的分销提成金额存入本地,方便管理方随时进行查阅。
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1是本说明书实施例提供的一种基于区块链智能合约的收账记录处理方法的流程示意图,包括如下步骤:
S100:区块链网络中的业务节点获取任一业务方构建的收账发布交易,并向所述区块链网络广播所述收账发布交易。
在本说明书实施例中,区块链网络具体可以是联盟链网络(也可以是公有链网络),其由多个节点组成。当所述区块链网络是联盟链网络时,网络中至少包括服务于至少一个业务方的业务节点以及服务于至少一个管理方的管理节点。其中,业务方可以是支付平台或其他经营在线收账业务的机构,管理方可以是金融监管机构(如央行)或其他管理机构。
在实际应用中,商户需要在业务方处注册账户,并采用业务方提供的收账工具(如收账二维码、扫码枪、收账客户端等)进行收账。业务方一旦监测到商户收账事件,就会根据监测到的商户收账事件生成收账记录。收账记录一般包括但不限于如下信息:商户的商户标识、收账金额、收账时间、付款人的身份标识。
业务方每当生成一个收账记录时,就会构建包含该收账记录的收账发布交易,将收账发布交易提交给区块链网络中的业务节点。
需要说明的是,在本说明书中所描述的交易(transaction),是指用户通过区块链的客户端创建,并需要最终发布至区块链的分布式数据库中的一笔数据。交易是区块链协议中所约定的一种数据结构,一笔数据要存入区块链,就需要被封装成交易。
S102:组成区块链网络的多个节点调用预先部署的智能合约,并根据所述收账发布交易中的收账记录,执行所述智能合约中记载的分销提成逻辑,得到分销提成金额。
在本说明书实施例中,需要预先在区块链网络中的每个节点上部署智能合约,所述智能合约至少需要记载用于根据一个业务记录生成与该业务记录关联的分销提成金额的代码逻辑(本文将之称为分销提成逻辑)。
由于所述区块链网络中的每个节点上部署的智能合约是一致的,因此,针对同一业务记录,每个节点执行所述智能合约记载的分销提成逻辑所得到的关联于该业务记录的分销提成金额也是一致的,任一节点都难以虚报分销提成金额。
需要说明的是,在本文中,所述多个节点执行XX操作,实际上是指所述多个节点中每个节点都分别执行XX操作。
S104:组成区块链网络的多个节点将所述分销提成金额写入所述收账发布交易对应的执行结果。
S106:组成区块链网络的多个节点将所述收账发布交易与所述收账发布交易对应的执行结果写入区块链。
在区块链领域,众所周知,假设一个交易需要调用智能合约中的至少一个代码逻辑,那么意味着,每个节点以该交易为智能合约的输入,执行智能合约中的至少一个代码逻辑后得到的至少一个输出(或称返回值)即是该交易对应的执行结果。交易对应的执行结果也会随着交易一起被写入区块链进行存证。
在本说明书实施例中,每个节点需要将计算得到的分销提成金额写入所述收账发布交易对应的执行结果,接着,将所述分销提成交易以及所述分销提成交易对应的执行结果写入区块链,以便所述管理节点所服务的至少一个管理方通过所述管理节点查阅所述分销提成交易对应的执行结果,即查阅所述收账记录以及所述收账记录关联的分销提成金额。
通过图1所示的方法,可以实现如下效果:
1、区块链网络中的各节点会分布式地执行智能合约中明确记载的分销提成逻辑,可以确保针对同一收账记录计算出的分销提成金额是一致且可信的。
2、由于每个收账记录以及相应的分销提成金额已经存证于区块链中,管理方可以随时通过管理节点进行查阅。也就是说,通过本说明书实施例,能够以更及时、更可信的方式满足针对分销提成的管理需求。
在本说明书实施例中,所述智能合约中还可以记载分销商标识获取逻辑,用于根据某个业务记录获取该业务记录关联的分销提成所应发放的分销商的分销商标识。如此,所述多个节点在将所述收账发布交易对应的执行结果写入区块链之前,根据所述收账发布交易中的收账记录,执行所述智能合约中记载的分销商标识获取逻辑,以获取应收所述分销提成金额的分销商的分销商标识,并将所述分销商标识写入所述收账发布交易对应的执行结果。这样,所述收账发布交易对应的执行结果中不仅包括了收账记录关联的分销提成金额,还包括了分销提成金额所应发放的分销商的分销商标识。
具体地,获取应收所述分销提成金额的分销商的分销商标识的方式包括但不限于以下两种:
1、可以预先在区块链网络的每个节点本地存储多组商户与分销商的对应关系。针对某个商户,该商户对应的分销商实际上就是发展该商户在支付平台上注册账户的分销商。节点在执行智能合约中的分销商标识获取逻辑时,根据收账记录中记载的商户标识,查询本地的商户与分销商的对应关系,获取收账记录中记载的商户标识对应的分销商标识。
2、可以采用区块链预言机技术(Oracle),节点在执行智能合约中的分销商标识获取逻辑时,从链外获取支付平台存储的应收所述分销提成金额的分销商的分销商标识。
此外,在说明书实施例中,所述管理节点在将所述收账发布交易对应的执行结果写入区块链之后,向至少一个管理方发送收账发布消息进行提示。例如,所述管理节点向管理方发送的收账发布消息可以是“支付平台A提交了一个收账记录,收账金额为100元,关联的分销提成金额为0.01元”。
在实践中,支付平台有时不仅会将手续费的部分作为分销提成发放给分销商,还会将手续费的部分作为商户返利返还给商户。例如,可以规定针对任一笔收账,支付平台的手续费为收账金额的0.1%,分销提成金额为手续费的0.1%,商户返利金额为手续费的0.05%,如此,假设收账金额为100元,那么手续费为0.1元,分销提成金额0.01元,商户返利金额为0.005元。那么,通过这笔收账,支付平台实得0.1-0.01-0.005=0.085元,分销商实得0.1元,商户实得100-0.1+0.005=99.905元。
为此,所述智能合约中还可以记载商户返利逻辑。所述商户返利逻辑是指根据一个业务记录生成与该业务记录关联的商户返利金额的代码逻辑。这样,所述多个节点在将所述收账发布交易对应的执行结果写入区块链之前,根据所述收账发布交易中的收账记录,执行所述智能合约中记载的商户返利逻辑,得到商户返利金额,将所述商户返利金额写入所述收账发布交易对应的执行结果。可见,所述收账发布交易对应的执行结果可以不仅包括分销提成金额,还可以包括商户返利金额。
进一步地,所述智能合约中还可以记载手续费逻辑,所述手续费逻辑是指根据一个业务记录生成与该业务记录关联的手续费金额的代码逻辑。如此,所述收账发布交易对应的执行结果还可以包括手续费金额。
另外,在本说明书实施例中,管理方通过管理节点查询收账发布交易以及收账发布交易对应的执行结果的方式可以有如下两种:
方式1:任一管理方可以向管理节点发送管理查询请求,所述管理查询请求包括该管理方指定的查询条件,管理节点可以根据该查询条件,直接向该管理方返回满足该查询条件的收账发布交易和/或收账发布交易对应的执行结果。
方式2:所述管理节点获取任一管理方构建的管理查询交易,并向所述区块链网络广播所述管理查询交易,所述管理查询交易包括该管理方指定的查询条件;所述多个节点调用预先部署的智能合约,并根据所述管理查询交易中的查询条件,执行所述智能合约中记载的查询逻辑,以在区块链中确定满足所述管理查询交易中的查询条件的收账发布交易和/或收账发布交易对应的执行结果;所述管理节点将查询结果返回给该管理方。
在方式2中,通过智能合约进行查询,可以将管理方查询事件以管理查询交易的形式存证于区块链中。此外,由于智能合约中的代码逻辑的执行过程通常也会以日志的形式写入区块链,因此,相当于也将根据管理方指定的查询条件进行查询的过程存证于区块链中。
在本说明书实施例中,所述区块链网络的多个节点中还可以包括服务于至少一个商户的商户节点。商户可以通过商户节点接收收账发布消息,以及通过商户节点查询收账记录进行对账。
具体地,所述商户节点在将所述收账发布交易对应的执行结果写入区块链之后,向至少一个商户发送收账发布消息进行提示。
与管理方类似,商户通过商户节点查询收账发布交易以及收账发布交易对应的执行结果的方式也有两种。其中,通过智能合约进行查询的方式为:
所述商户节点可以获取任一商户构建的商户查询交易,并向所述区块链网络广播所述商户查询交易;所述商户查询交易包括该商户指定的查询条件;所述多个节点调用预先部署的智能合约,并根据所述商户查询交易中的查询条件,执行所述智能合约中记载的查询逻辑,以在区块链中确定满足所述商户查询交易中的查询条件的收账发布交易和/或收账发布交易对应的执行结果;所述商户节点将查询结果返回给该商户。
通过智能合约进行查询,可以将商户查询事件以商户查询交易的形式存证于区块链中,也可以将根据商户指定的查询条件进行查询的过程存证于区块链中。
另外,所述区块链网络的多个节点中还可以包括服务于至少一个分销商的分销节点。类似的,分销商可以通过分销节点接收收账发布消息,以及通过分销节点查询收账记录关联的分销提成金额。
具体地,所述分销节点在将所述收账发布交易对应的执行结果写入区块链之后,向至少一个分销商发送收账发布消息进行提示。
关于查询,所述分销节点可以获取任一分销商构建的分销查询交易,并向所述区块链网络广播所述分销查询交易;所述分销查询交易包括该分销商指定的查询条件;所述多个节点调用预先部署的智能合约,并根据所述分销查询交易中的查询条件,执行所述智能合约中记载的查询逻辑,以在区块链中确定满足所述分销查询交易中的查询条件的收账发布交易和/或收账发布交易对应的执行结果;所述商户节点将查询结果返回给该分销商。
在本说明书实施例中,分销商还可以通过分销节点申请对应发放给自己的分销提成进行结算。具体地,所述分销节点可以获取任一分销商构建的结算申请交易,并向所述区块链网络广播所述结算申请交易;所述多个节点可以调用预先部署的智能合约,并根据所述结算申请交易,执行所述智能合约中记载的结算校验逻辑,以针对所述结算申请交易指定的收账发布交易进行校验;若校验通过,则所述多个节点指令与该分销商具有合作关系的业务方根据所述结算申请交易向该分销商进行结算,以及将所述结算申请交易写入区块链。
此处需要对以下几种情况进行说明:
情况1:所述结算申请交易中可以包括该分销商指定的结算期间。例如,所述结算期间可以是2019年1月~2019年3月。该分销商向分销节点提交结算申请交易,相当于该分销商申请支付平台将结算期间内创建的、与自己有关的收账发布交易所关联的分销提成金额发放给自己。
在情况1中,所述结算申请交易中的结算期间相当于指定了所要结算的收账发布交易。针对所述结算申请交易指定的收账发布交易进行校验,具体实现为:
确定创建时间落入所述结算期间、且对应的执行结果包含该分销商的分销商标识的收账发布交易;判断确定的各收账发布交易分别对应的执行结果所包含的分销提成金额是否皆未被结算过;若是,则校验通过;若否,则校验不通过。
情况2:所述结算申请交易中可以包括该分销商指定的至少一个交易哈希。针对所述结算申请交易指定的收账发布交易进行校验,具体实现为:
针对所述结算申请交易包括的每个交易哈希,确定该交易哈希对应的收账发布交易;判断确定的各收账发布交易分别对应的执行结果是否皆包含该分销商的分销商标识;若否,则校验不通过;若是,则进一步判断确定的各收账发布交易分别对应的执行结果所包含的分销提成金额是否皆未被结算过,若是,则校验通过,若否,则校验不通过。
也就是所,在情况2中,如果分销商指定了若干待结算的收账发布交易,那么首先应当校验分销商指定的这些收账发布交易是否真的与该分销商有关。如果都有关,还需要进一步校验这些收账发布交易是否被结算过。
情况3:在所述多个节点将指令与该分销商具有合作关系的业务方根据所述结算申请交易向该分销商进行结算之后,支付平台如果结算完成,可以向区块链网络提交结算完成交易,进行存证。所述结算完成交易用于表征已根据所述结算申请交易向该分销商完成结算。通过这种方式,防止分销商针对某个收账发布交易重复要求结算。
具体地,所述业务节点获取与该分销商具有合作关系的业务方构建的结算完成交易,并向所述区块链网络广播所述结算申请交易;所述多个节点将所述结算完成交易写入区块链。
情况4:为了防止分销商针对某个收账发布交易重复要求结算,也可以采用这样的方式,即所述多个节点在将结算申请交易写入区块链之前,需要获得支付平台反馈的结算完成的结果,否则,不会将结算申请交易写入区块链。
具体地,所述多个节点当确定与该分销商具有合作关系的业务方已根据所述结算申请交易向该分销商完成结算时,将所述结算申请交易写入区块链。
综上,对于分销商申请结算的方式,可以对上述的4种情况进行如下组合,得到具体的实施方式:(情况1或情况2)+(情况3或情况4)。
图2是本说明书实施例提供的一种基于区块链智能合约的收账记录处理***的结构示意图。如图2所示,包括由多个节点组成的区块链网络,所述多个节点中存在服务于至少一个业务方的业务节点与服务于至少一个管理方的管理节点;
所述业务节点,获取任一业务方构建的收账发布交易,并向所述区块链网络广播所述收账发布交易;所述收账发布交易包括该业务方根据监测到的商户收账事件生成的收账记录;
所述多个节点,调用预先部署的智能合约,并根据所述收账发布交易中的收账记录,执行所述智能合约中记载的分销提成逻辑,得到分销提成金额;将所述分销提成金额写入所述收账发布交易对应的执行结果;将所述收账发布交易与所述收账发布交易对应的执行结果写入区块链,以便所述至少一个管理方通过所述管理节点进行查阅。
图3是本说明书实施例提供的另一种基于区块链智能合约的收账记录处理***的结构示意图。图3所示的***中,区块链网络中除了存在业务节点与管理节点之外,还存在服务于商户的商户节点与服务于分销商的分销节点。
本说明书实施例还提供了一种基于区块链智能合约的收账记录处理装置,组成区块链网络的多个所述装置中存在服务于至少一个业务方的业务节点与服务于至少一个管理方的管理节点,如图4所示,所述装置包括:
获取模块401,当所述装置是业务节点时,获取任一业务方构建的包括该业务方根据监测到的商户收账事件生成的收账记录的收账发布交易,并向所述区块链网络广播所述收账发布交易;
执行模块402,调用预先部署的智能合约,并根据收账发布交易中的收账记录,执行所述智能合约中记载的分销提成逻辑,得到分销提成金额;所述收账发布交易是所述业务节点获取并向所述区块链网络广播的,所述收账发布交易是任一业务方构建的,所述收账发布交易包括该业务方根据监测到的商户收账事件生成的收账记录;
存证模块403,将所述分销提成金额写入所述收账发布交易对应的执行结果;
区块链写入模块404,将所述收账发布交易与所述收账发布交易对应的执行结果写入区块链,以便所述至少一个管理方通过所述管理节点进行查阅。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图1所示方法的功能。
图5示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1410、存储器1420、输入/输出接口1430、通信接口1440和总线1450。其中处理器1410、存储器1420、输入/输出接口1430和通信接口1440通过总线1450实现彼此之间在设备内部的通信连接。
处理器1410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1420可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1420可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1420中,并由处理器1410来调用执行。
输入/输出接口1430用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1450包括一通路,在设备的各个组件(例如处理器1410、存储器1420、输入/输出接口1430和通信接口1440)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1410、存储器1420、输入/输出接口1430、通信接口1440以及总线1450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图1所示方法的功能。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的***、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。