发明内容
本说明书一个或多个实施例提供一种链上资产转让方法、装置、设备以及存储介质,用以解决如下技术问题:针对多级供应商的场景,需要更加可靠可信、稳定的资产转让的方案。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
本说明书一个或多个实施例提供的一种链上资产转让方法,包括:
区块链平台的智能合约接收上级供应商发送的哈希,所述哈希是由下级供应商根据私有信息生成,并发送给所述上级供应商的;
所述智能合约冻结所述上级供应商账户的链上资产,所述链上资产是通过所述发行企业发行应付账款而形成的;
所述智能合约根据所述哈希,若验证确定所述区块链平台能够提供所述私有信息,则将所述链上资产从所述上级供应商账户转让至所述区块链平台账户,以及,若验证确定所述下级供应商能够提供所述私有信息,则将所述链上资产再从所述区块链平台账户转让至所述下级供应商账户;
其中,所述区块链平台提供的所述私有信息获取自所述下级供应商。
本说明书一个或多个实施例提供的一种链上资产转让装置,包括:
哈希接收模块,区块链平台的智能合约接收上级供应商发送的哈希,所述哈希是由下级供应商根据私有信息生成,并发送给所述上级供应商的;
冻结模块,所述智能合约冻结所述上级供应商账户的链上资产,所述链上资产是通过所述发行企业发行应付账款而形成的;
转让模块,所述智能合约根据所述哈希,若验证确定所述区块链平台能够提供所述私有信息,则将所述链上资产从所述上级供应商账户转让至所述区块链平台账户,以及,若验证确定所述下级供应商能够提供所述私有信息,则将所述链上资产再从所述区块链平台账户转让至所述下级供应商账户;
其中,所述区块链平台提供的所述私有信息获取自所述下级供应商。
本说明书一个或多个实施例提供的一种链上资产转让设备,区块链网络中包括发行企业、上级供应商、下级供应商、区块链平台,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
接收上级供应商发送的哈希,所述哈希是由下级供应商根据私有信息生成,并发送给所述上级供应商的;
冻结所述上级供应商账户的链上资产,所述链上资产是通过所述发行企业发行应付账款而形成的;
根据所述哈希,若验证确定区块链平台能够提供所述私有信息,则将所述链上资产从所述上级供应商账户转让至所述区块链平台账户,以及,若验证确定所述下级供应商能够提供所述私有信息,则将所述链上资产再从所述区块链平台账户转让至所述下级供应商账户;
其中,所述区块链平台提供的所述私有信息获取自所述下级供应商。
本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
接收上级供应商发送的哈希,所述哈希是由下级供应商根据私有信息生成,并发送给所述上级供应商的;
冻结所述上级供应商账户的链上资产,所述链上资产是通过所述发行企业发行应付账款而形成的;
根据所述哈希,若验证确定区块链平台能够提供所述私有信息,则将所述链上资产从所述上级供应商账户转让至所述区块链平台账户,以及,若验证确定所述下级供应商能够提供所述私有信息,则将所述链上资产再从所述区块链平台账户转让至所述下级供应商账户;
其中,所述区块链平台提供的所述私有信息获取自所述下级供应商。
本说明书一个或多个实施例采用的上述至少一个技术方案能够达到以下有益效果:通过发行应付账款,使转让资产为虚拟资产(类似于欠条)而未实际落地为真金白银(为了便于描述,称为实际资产),有利于促进各级供应商之间的资产转让的更及时顺利地进行,减少上级供应商向下级供应商转让资产时存在的拖欠、欺骗情况,有利于促进交易。通过发行企业对实际资产进行集中管理,使各级供应商均能够直接与发行企业进行实际资产的对接,有利于保障各级的应得利益。在资产转让过程中,基于作为中介的区块链平台,以及相应之间事先约定的智能合约,自动执行资产在相应之间的转让操作,且通过私有信息和哈希的验证,确定智能合约执行的条件,保障资产转让的正确性,消除了对区块链平台本身可能不可靠的担忧,使得各级之间无需信任关系即可实现链上资产的有效转让,增加了信息的透明性,增强了资产转让的可靠可信性与便利性。
具体实施方式
本说明书实施例提供一种链上资产转让方法、装置、设备以及存储介质。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
在本说明书一个或多个实施例中,基于上级供应商、下级供应商以及区块链平台之间预先约定的智能合约,在上级供应商向下级供应商转让应付账款对应的链上资产的过程中,根据上级供应商持有的哈希,先对区块链平台提供的信息进行验证,以确定是否将链上资产由上级供应商账户转让至区块链平台账户,再对下级供应商提供的信息进行验证,以确定是否将链上资产由区块链平台账户转让至下级供应商账户。这种方式无需上级供应商、下级供应商与区块链平台之间存在信任关系,能够安全、可靠可信地实现链上资产的转让。并且,由于链上资产仅为应付账款,而非实际账款,上级供应商在不需要实际支付款项的情况下,有利于促进真实、稳定地向下级供应商进行资产转让。下面基于这样的思路,具体进行说明。
图1为本说明书一个或多个实施例提供的一种链上资产转让方法的流程示意图。该方法可以应用于不同的业务领域,比如,互联网金融业务领域、电商业务领域、公务业务领域等。该流程可以由相应领域的计算设备(比如,支付业务对应的风控服务器或者智能移动终端等)执行,流程中的某些输入参数或者平台结果允许人工干预调节,以帮助提高准确性。
在本说明书一个或多个实施例中,应用了区块链技术,涉及了多种角色,比如包括发行企业、上级供应商、下级供应商(上下级是相对的,供应商有两级或者更多级)、区块链平台等,这些角色可以作为区块链网络中的节点或者与节点相连接的用户端,这些角色分别有自己的区块链账户,通过账户来进行链上资产的转让和接收。
发行企业、上级供应商、下级供应商之间构成存在资产转让关系的资产转让链,区块链平台作为上级企业和下级企业之间进行链上资产转让的中间方。上级供应商、下级供应商、区块链平台之间存在基于资产转让的智能合约,并部署于各中。
发行企业通过发行应付账款形成链上资产,并将链上资产转让至资产转让链中与其进行链上资产直接对接的上级供应商账户,以便上级供应商向对应的下级供应商进行链上资产转让。应付账款是虚拟资产,而不是实际的真金白银,其表示发行企业对区块链网络中其他存在的债务。
在一种可能的实现方式中,区块链为联盟链,根据联盟链中参与的不同,包括上述发行企业、上级供应商、下级供应商,各可分别对应区块链网络中的一个节点。但在实际应用中,一个节点也可对应多个角色。在联盟链的场景下,并非是完全去中心化的,因此区块链平台本身未必是可靠的,由此会引发用户担忧,用户需要无条件信任区块链平台,以便链上业务顺利进行,本方案也致力于消除这种担忧。
图1中的流程可以包括以下步骤:
S102:区块链平台的智能合约接收上级供应商发送的哈希,所述哈希是由下级供应商根据私有信息(比如,下级供应商自行生成的随机值等)生成,并发送给所述上级供应商的。
区块链平台的智能合约由区块链平台与上级供应商和/或下级供应商预先约定,具体数量可以有一个或者多个。在多个的情况下,所涉及一些具体的动作分别由这多个智能合约中预定的智能合约来执行。
上级供应商在向下级供应商转让链上资产的过程中,向下级供应商发送转让请求,以获得下级供应商针对本次资产转让生成的哈希。上级供应商可将获得的哈希发送至区块链平台,以启动资产转让过程。
S104:所述智能合约冻结所述上级供应商账户的链上资产。
上级供应商与区块链平台之间存在智能合约,由智能合约在接收到上级供应商发送的哈希时,对上级供应商账户的链上资产进行冻结,以便于区块链平台能够从上级供应商账户中获得足够的链上资产,在上级供应商账户的资产稳定的情况下实现向下级供应商的资产转让。并且,智能合约在从上级供应商账户中扣除相应的待转让资产后,可对上级供应商账户的链上资产进行解冻。
S106:所述智能合约根据所述哈希,若验证确定所述区块链平台能够提供所述私有信息,则将所述链上资产从所述上级供应商账户转让至所述区块链平台账户,以及,若验证确定所述下级供应商能够提供所述私有信息,则将所述链上资产再从所述区块链平台账户转让至所述下级供应商账户。
智能合约可根据哈希,确定区块链平台能够提供与该哈希验证匹配的私有信息,以表示区块链平台的行为得到下级供应商的许可,为合法行为,则在验证通过后,可将链上资产从上级供应商账户转让至区块链平台账户。
同样,智能合约可根据哈希,确定下级供应商能够提供与该哈希验证匹配的私有信息,以表示下级供应商为合法的接受资产转让的,则在验证通过后,可再将链上资产从区块链平台账户转让至下级供应商账户。
在本说明书中一个或多个实施例中,通过发行应付账款,使转让资产为虚拟资产而未实际落地为真金白银,有利于促进各级供应商之间的资产转让的顺利进行,减少上级供应商向下级供应商转让资产时存在的拖欠、欺骗情况,有利于促进交易。通过发行企业对实际资产进行集中管理,使各级供应商均直接与发行企业进行实际资产的对接,有利于保障各级的应得利益。在资产转让过程中,基于相应之间事先约定的智能合约,自动执行资产在相应之间的转让操作,且通过随机信息和哈希的验证,确定智能合约执行的条件,保障资产转让的正确性,使得各级之间无需信任关系即可实现链上资产的有效转让,增强了资产转让的可靠性与便利性。
基于图1的方法,本说明书还提供了该方法的一些具体实施方案和扩展方案,下面继续进行说明。
在本说明书一个或多个实施例中,智能合约包括第一智能合约和第二智能合约。第一智能合约由上级供应商和区块链平台约定,在上级供应商向第一智能合约发送哈希后,区块链平台提供第一待验证信息,由第一智能合约根据哈希,对该待验证信息进行验证,确定第一验证信息的哈希与该哈希是否一致。若一致,表示第一验证信息即为私有信息,则第一智能合约将链上资产从上级供应商账户转让至区块链平台账户。第二智能合约由下级供应商和区块链平台约定。下级供应商向第二智能合约提供第二待验证信息,由第二智能合约根据接收到的哈希,对第二待验证信息进行验证,确定第二验证信息的哈希与该哈希是否一致。若一致,表示第二验证信息即为私有信息,则第二合约可将得到的链上资产再从区块链平台账户转让至下级供应商账户,由此完成上级供应商向下级供应商的资产转让。
通过第一智能合约,由上级供应商对区块链平台的合法性进行验证,实现链上资产从上级供应商账户向区块链平台账户的转让,再通过第二智能合约,由区块链平台对下级供应商的合法性进行验证,实现链上资产从区块链平台账户向下级供应商账户的转让,完成链上资产的转让过程。这样加强了资产转让的可靠性,使各级之间无需信任关系即可实现链上资产的安全转让。
具体地,上级供应商通过向下级供应商发送转让请求,获取来自下级供应商的哈希,发起资产转让过程。之后,下级供应商向第二智能合约发送私有信息,作为下级供应商自身提供给区块链平台的第二待验证信息,由第二智能合约进行验证。区块链平台通过第二智能合约,获取该私有信息,作为提供给第一智能合约的第一待验证信息,由第一智能合约进行验证,以完成资产转让过程。
进一步地,智能合约可设定一个或者多个超时时间,用于判定以下至少一个时间是否超时,并根据判定结果进行相应的业务处理:链上资产的冻结时间,等待区块链平台提供私有信息的时间,等待下级供应商提供私有信息的时间。其中,链上资产的冻结时间超时,则对链上资产解冻。等待区块链平台提供私有信息的时间超时,则确定上级供应商向区块链平台的资产转让失败。等待下级供应商提供私有信息的时间超时,则确定区块链平台向下级供应商的资产转让失败。
上述不同动作对应的超时时间可相等,比如链上资产的冻结的超时时间与等待区块链平台提供私有信息的超时时间相等,则若区块链平台超时未提供私有信息,即对链上资产解冻。不同动作对应的超时时间也可不相等,比如设定区块链平台提供私有信息的超时时间大于链上资产的冻结时间,若链上资产已因超时解冻后,上级供应商才接收到私有信息,可重新对链上资产进行冻结。
通过设置超时时间,能够把控资产转让的速度,促进资产转让效率的提高,同时防止不法分子利用充足的时间暴力破解哈希算法,以提高资产转让的安全性。
下级供应商还可根据待转让资产的金额,确定采用的私有信息的长度与采用的哈希算法。其中,待转让资产的金额数量与私有信息的长度成正相关关系,待转让资产的金额数量与哈希算法对应的可暴力破解空间的大小成负相关关系。这样加大不法分子暴力破解哈希算法的难度,有利于提高资产转让的安全性、可靠性。
在本说明书一个或多个实施例中,由于链上资产仅表示虚拟资产,而不表示实际资产,不能实际使用,因此,区块链平台可与下级供应商进行约定,当下级供应商应得的链上资产已到账至区块链平台账户时,由区块链平台通知下级供应商,并对该链上资产进行暂时存储,而不再转让至下级供应商账户。当下级供应商作为资产转让链中的上级,向其他下级供应商进行资产转让时,可不再执行上文中提到的上级供应商向区块链平台转让链上资产的过程,直接由区块链平台对该其他下级供应商进行验证,并进行链上资产的转让。区块链平台可根据其暂存的属于下级供应商的链上资产,等待与发行企业兑换实际资产,再将兑换成功得到的实际资产转让至下级供应商账户。这样能够节省链上资产转让的步骤,减少区块链平台的工作量,有利于提高资产转让的效率。
另外,区块链平台作为上级供应商和下级供应商之间资产转让的中介,可通过智能合约,与上级供应商和/或下级供应商约定收取一定比例的服务费。则智能合约可根据与上级供应商和/或下级供应商约定的比例,从链上资产中扣除对应的链上资产后,再对剩余的链上资产进行转让。若区块链平台与上级供应商和/或下级供应商约定有服务费,则资产转让过程中实际转让的链上资产为扣除服务费的剩余资产。这样能够提高区块链平台作为资产转让的中介的积极性,有利于资产转让的顺利进行。
结合前面的说明,本说明书一个或多个实施例提供了另一种链上资产转让方法流程示意图,如图2所示。
在图2的流程中,上级供应商基于本拥有的应付账款对应的链上资产,向区块链平台发起资产转让请求。区块链平台冻结上级供应商账户的链上资产,并设置超时时间。在超时时间内,区块链平台向下级供应商转发上级供应商的资产转让请求,在接收到下级供应商的接受资产请求后,区块链平台将上级供应商账户的链上资产转让至下级供应商账户,并向上级供应商返回转让成功的通知。若转让动作超时,则返回转让失败的通知。
本方案通过发行应付账款,使转让资产为虚拟资产而不是实际资产,有利于促进各级供应商之间的资产转让的顺利进行,减少上级供应商向下级供应商转让资产时存在的拖欠、欺骗情况,有利于促进交易。
结合前面的说明,本说明书一个或多个实施例提供了对应于图1中方法的一种详细流程示意图,该流程中使用了前面一些可选的方案,该流程如图3所示。
在图3的流程中,上级供应商基于本拥有的应付账款对应的链上资产,向下级供应商发起资产转让请求。下级供应商生成私有信息,并生成对应的哈希,返回给上级供应商。上级供应商将获得的哈希发送至区块链平台,区块链平台上的智能合约冻结上级供应商的链上资产,并设置超时时间。第一智能合约接收下级供应商在超时时间内提供的私有信息,根据获得的哈希对其进行验证。若验证通过,则第一智能合约将上级供应商账户的链上资产转让至区块链平台账户。之后,第二智能合约根据哈希和下级供应商提供的私有信息,对其进行验证。若验证通过,则第二智能合约将区块链平台账户的链上资产转让至下级供应商账户,实现上级供应商向下级供应商的资产转让。区块链平台可向上级供应商返回转让成功的通知,若超时则返回转让失败的通知。
本方案通过发行应付账款,使转让资产为虚拟资产而不是实际资产,有利于促进各级供应商之间的资产转让的顺利进行,减少上级供应商向下级供应商转让资产时存在的拖欠、欺骗情况,有利于促进交易。并且,本方法基于随机信息和哈希的验证,确定智能合约执行的条件,保障资产转让的正确性,使得各级之间无需信任关系即可实现链上资产的有效转让,增强了资产转让的可靠性与便利性。
基于同样的思路,本说明书一个或多个实施例还提供了上述图1的方法对应的装置和设备,如图4、图5所示。
图4为本说明书一个或多个实施例提供的一种链上资产转让装置的结构示意图,图中的虚线方框表示可选的模块,所述装置包括:
哈希接收模块402,区块链平台的智能合约接收上级供应商发送的哈希,所述哈希是由下级供应商根据私有信息生成,并发送给所述上级供应商的;
冻结模块404,所述智能合约冻结所述上级供应商账户的链上资产,所述链上资产是通过所述发行企业发行应付账款而形成的;
转让模块406,所述智能合约根据所述哈希,若验证确定所述区块链平台能够提供所述私有信息,则将所述链上资产从所述上级供应商账户转让至所述区块链平台账户,以及,若验证确定所述下级供应商能够提供所述私有信息,则将所述链上资产再从所述区块链平台账户转让至所述下级供应商账户;
其中,所述区块链平台提供的所述私有信息获取自所述下级供应商。
可选地,所述智能合约包括第一智能合约,所述第一智能合约由所述上级供应商和所述区块链平台约定;所述转让模块406,所述第一智能合约接收所述区块链平台提供的第一待验证信息,验证所述哈希是否与所述第一待验证信息的哈希一致,若是,则确定所述第一待验证信息即为所述私有信息,进而将所述链上资产从所述上级供应商账户转让至所述区块链平台账户。
可选地,所述智能合约包括第二智能合约,所述第二智能合约由所述下级供应商和所述区块链平台约定;所述转让模块406,所述第二智能合约接收所述下级供应商提供的第二待验证信息,验证所述哈希是否与所述第二待验证信息的哈希一致,若是,则确定所述第二待验证信息即为所述私有信息,进而将所述链上资产再从所述区块链平台账户转让至所述下级供应商账户。
可选地,所述装置还包括超时处理模块408,所述智能合约设定一个或者多个超时时间,用于判定以下至少一个时间是否超时,并根据判定结果进行相应的业务处理:所述链上资产的冻结时间;等待所述区块链平台提供所述私有信息的时间;等待所述下级供应商提供所述私有信息的时间。
可选地,所述装置还包括信息发送模块410,所述下级供应商将所述私有信息作为所述第二待验证信息,提供给所述第二智能合约进行验证;所述区块链平台通过所述第二智能合约,获得所述私有信息,并将所述私有信息作为所述第一待验证信息,提供给所述第一智能合约进行验证。
可选地,所述装置还包括暂存模块412,所述智能合约通知所述下级供应商已到账,并确定不将所述链上资产转让至所述下级供应商账户,而是暂存在所述区块链平台账户;根据所述区块链平台账户暂存的属于所述下级供应商的链上资产,等待与所述发行企业兑换实际资产,并在成功进行所述兑换后,将所述实际资产转让至所述下级供应商账户。
可选地,所述装置还包括扣除模块414,所述智能合约若确定将所述链上资产从所述上级供应商账户转让至所述区块链平台账户,和/或确定将所述链上资产再从所述区块链平台账户转让至所述下级供应商账户,则执行:根据与所述上级供应商和/或所述下级供应商的约定比例,从所述链上资产中扣除所述比例对应的资产后再进行相应转让。
图5为本说明书一个或多个实施例提供的一种链上资产转让设备的结构示意图,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
接收上级供应商发送的哈希,所述哈希是由下级供应商根据私有信息生成,并发送给所述上级供应商的;
冻结所述上级供应商账户的链上资产,所述链上资产是通过所述发行企业发行应付账款而形成的;
根据所述哈希,若验证确定区块链平台能够提供所述私有信息,则将所述链上资产从所述上级供应商账户转让至所述区块链平台账户,以及,若验证确定所述下级供应商能够提供所述私有信息,则将所述链上资产再从所述区块链平台账户转让至所述下级供应商账户;
其中,所述区块链平台提供的所述私有信息获取自所述下级供应商。
处理器与存储器之间可以通过总线通信,设备还可以包括与其他设备通信的输入/输出接口。
基于同样的思路,本说明书一个或多个实施例还提供了对应于上述方法的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
接收上级供应商发送的哈希,所述哈希是由下级供应商根据私有信息生成,并发送给所述上级供应商的;
冻结所述上级供应商账户的链上资产,所述链上资产是通过所述发行企业发行应付账款而形成的;
根据所述哈希,若验证确定区块链平台能够提供所述私有信息,则将所述链上资产从所述上级供应商账户转让至所述区块链平台账户,以及,若验证确定所述下级供应商能够提供所述私有信息,则将所述链上资产再从所述区块链平台账户转让至所述下级供应商账户;
其中,所述区块链平台提供的所述私有信息获取自所述下级供应商。
在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)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、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),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。