确定分享用户的方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及数据记录、区块链技术,尤其涉及一种确定分享用户的方法、装置、设备及计算机可读存储介质。
背景技术
随着互联网技术的发展,催生了多种多样的社交网络平台和服务,如QQ、微博、微信、朋友圈、公众号等。用户可以通过这些社交网络平台和服务,能够接触到大量的文章、图片或音频、视频等网络信息。
由于社交网络的信息传播是人们获取消息的重要途径,很多商家在社交网络平台中发布广告。为了鼓励用户分享广告,商家会提供回报给分享广告的分享用户,尤其是分享用户做出了分享,其他用户根据该分享进行消费的情况下,商家需要对该分享用户进行奖励。
但是,现有技术中,商家无法获知用户是看了哪些分享内容才进行了消费,导致商家无法对做出有效分享的用户进行奖励。
发明内容
本发明提供一种确定分享用户的方法、装置、设备及计算机可读存储介质,以解决现有技术中商家无法对做出有效分享的用户进行奖励的问题。
本发明的第一个方面是提供一种确定分享用户的方法,包括:
根据预设规则确定订单的确认信息,并使用商家私钥对所述确认信息进行签名得到第一签名信息;
根据所述第一签名信息以及所述确认信息向所述区块链网络发送确认记录,以使所述区块链中的各个节点根据所述确认记录在区块链数据中确定传播信息,并根据所述传播信息确定分享账户。
本发明的第二个方面是提供一种确定分享用户的方法,包括:
接收商家终端发送的确认记录,根据发送所述确认记录的账户确定第一公钥,并根据所述第一公钥对所述确认记录进行校验;
若校验通过,则根据所述确认记录在区块链中获取与所述确认记录对应的传播信息,并根据所述传播信息确定分享账户;
根据预设奖励规则向所述分享账户发放奖励。
本发明的第三个方面是提供一种确定分享用户的装置,包括:
确定模块,用于根据预设规则确定订单的确认信息,并使用商家私钥对所述确认信息进行签名得到第一签名信息;
发送模块,用于根据所述第一签名信息以及所述确认信息向区块链网络发送确认记录,以使所述区块链中的各个节点根据所述确认记录在区块链数据中确定传播信息,并根据所述传播信息确定分享账户。
本发明的第四个方面是提供一种确定分享用户的装置,包括:
接收模块,用于接收商家终端发送的确认记录;
确定模块,用于根据发送所述确认记录的账户确定第一公钥;
校验模块,用于根据所述第一公钥对所述确认记录进行校验;
获取模块,用于若校验通过,则根据所述确认记录在区块链中获取与所述确认记录对应的传播信息,并根据所述传播信息确定分享账户;
奖励模块,用于根据预设奖励规则向所述分享账户发放奖励。
本发明的第五个方面是提供一种确定分享用户的设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现如上述第一方面所述的确定分享用户的方法。
本发明的第六个方面是提供一种奖励设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现如上述第二方面所述的确定分享用户的方法。
本发明第七方面是提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如上述第一方面所述的确定分享用户的方法。
本发明第八方面是提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如上述第二方面所述的确定分享用户的方法。
本发明提供的确定分享用户的方法、装置、设备及计算机可读存储介质的技术效果是:
本发明提供的第一种确定分享用户的方法、装置、设备及计算机可读存储介质,包括:根据预设规则确定订单的确认信息,并使用商家私钥对确认信息进行签名得到第一签名信息;根据第一签名信息以及确认信息向区块链网络发送确认记录,以使区块链中的各个节点根据确认记录在区块链数据中确定传播信息,并根据传播信息确定分享账户。本发明提供的方法、装置、设备及计算机可读存储介质,商家侧终端能够向区块链网络发送确认记录,从而能够基于区块链技术对交易过程进行存储,达到可追溯的目的,并且,区块链网络中的节点能够根据商家终端发送的确认记录追溯促成这笔交易的分享账户,从而能够对分享账户进行奖励。
本发明提供的第二种确定分享用户的方法、装置、设备及计算机可读存储介质的技术效果是:
本发明提供的确定分享用户的方法、装置、设备及计算机可读存储介质,包括接收商家终端发送的确认记录,根据发送确认记录的账户确定第一公钥,并根据第一公钥对确认记录进行校验;若校验通过,则根据确认记录在区块链中获取与确认记录对应的传播信息,并根据传播信息确定分享用户账户;根据预设奖励规则向分享用户账户发放奖励。本实施例提供的方法、装置、设备及计算机可读存储介质中,可以根据商家终端发送的确认信息以及存储的传播信息确定分享账户,进而对分享账户进行奖励,从而能够有效的对做出分享的用户进行奖励。
附图说明
图1为本实施例一示例性实施例示出的用户购买商品的流程图;
图2为本发明一示例性实施例示出的确定分享用户的方法的流程图;
图3为本发明另一示例性实施例示出的确定分享用户的方法的流程图;
图4为本发明另一示例性实施例示出的确定分享用户的流程图;
图5为本发明另一示例性实施例示出的确定分享用户的方法的流程图;
图6为本发明一示例性实施例示出的确定分享用户的装置的结构图;
图7为本发明另一示例性实施例示出的确定分享用户的装置的结构图;
图8为本发明另一示例性实施例示出的确定分享用户的装置的结构图;
图9为本发明另一示例性实施例示出的确定分享用户的装置的结构图;
图10为本发明一示例性实施例示出的确定分享用户的设备的结构图;
图11为本发明另一示例性实施例示出的确定分享用户的设备的结构图。
具体实施方式
目前,社交网络的分享内容中,可以插入广告。例如,在朋友圈分享商品介绍的页面,其他用户可以点击进入广告页了解商品详情,并与商家进行交易购买该商品。还可以在公众号文章中插入广告,浏览这篇文章的用户可以看到文章中设置的广告。为了鼓励更多的用户在社交网络中分享广告,商家可以对有效分享的用户做出回报,例如,用户通过分享使得其他用户购买了商品,则该分享用户做出的分享有效,对该分享用户做出回报。但是,商家无法获知用户是浏览了哪些用户分享的广告,才决定进行消费的,因此,商家无法做出有效分享的用户进行奖励。
图1为本实施例一示例性实施例示出的用户购买商品的流程图。
如图1所示,用户A可以向用户B分享某商品介绍网页,例如,可以通过微信将商品介绍网页发送给用户B,用户A的终端可以获取网页信息以及用户A信息,并根据网页信息、用户A信息生成分享指令,再将分享指令发送给用户B的终端,该指令中携带用户A信息、商品介绍网页信息,商品介绍网页信息可以包括网页的链接地址。用户B接收到指令后,可以打开这个商品介绍网页,用户B看到商品后若有购买意向,则可以直接或通过交易平台向商家C发送购买请求,商家C可以反馈同意交易的请求,从而达成交易。在这个过程中,商家C只能够获知用户B购买了这件商品,但是,不知道用户B是看到了用户A分享的信息才购买的商品,因此,商家C无法对用户A做出奖励。
图2为本发明一示例性实施例示出的确定分享用户的方法的流程图。
如图2所示,本实施例提供的确定分享用户的方法包括:
步骤201,根据预设规则确定订单的确认信息,并使用商家私钥对确认信息进行签名得到第一签名信息。
其中,本实施例提供的方法可以由商家侧的终端执行,如商家使用的手机、平板电脑、计算机等。该终端能够连接互联网,并且能够接入区块链网络。
具体的,可以将本实施例提供的方法封装在软件中,并在商家终端中安装该软件,可以通过软件设置的功能使终端与区块链网络连接,例如,区块链客户端,可以在区块链浏览器客户端中进行与用户的交易。
进一步的,可以设定预设规则,若商家终端确定订单符合预设规则,则确定订单的确认信息。例如,预设规则可以是订单在无条件退货期间没有发生退货行为,或者,在未发生退换货的情况下,用户对订单进行了确认等。当商家终端检测到消费信息对应订单符合预设规则后,可以确定该订单对应的确认信息。商家终端可以监控各个订单的状态,也可以由交易平台向商家终端反馈各个订单的状态。
具体的,若符合预设规则,则可以获取订单对应的信息,并根据信息生成确认信息。例如,可以获取订单对应的消费信息,再根据消费信息生成确认信息。具体可以获取消费信息中包括的订单号、商品的源链接、商家账户等信息。
进一步的,可以在在用户终端支付完毕后,商家终端生成订单的消费信息。商家终端可以将其存储在本地,并使其与订单具有对应关系,例如,用户B与商家C进行交易,用户B支付完毕后,商家C的终端能够收到支付完毕的指令,则商家C的终端可以获取该笔订单对应的详细信息,再根据详细信息生成消费信息。详细信息中就可以包括订单号、商品的源链接、购买商品的用户账户。
实际应用时,商家终端还可以对消费信息进行签名,并根据签名以及消费信息生成消费记录,并广播至区块链网络,使得用户与商家间的交易过程可以追溯。
其中,商家终端还可以使用商家私钥对确认信息进行签名得到第一签名信息。具体的签名过程可以是先对确认信息进行哈希运算得到第一哈希值,再对该第一哈希值进行签名得到第一签名信息。
具体的,商家可以预先注册成为区块链用户,注册成功后,区块链平台可以向商家分配公钥和私钥,还可以根据公钥确定商家的账户。商家在商家终端登录账户时,商家终端可以自动存储该账户以及私钥。在需要对确认信息进行签名时,商家终端可以直接获取已存储的私钥,并使用商家私钥对确认信息进行签名。具体的签名过程可以是先对确认信息进行哈希运算得到第一哈希值,再对该第一哈希值进行签名得到第一签名信息。
进一步的,公钥(Public Key)与私钥(Private Key)是通过一种算法得到的密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
步骤202,根据第一签名信息以及确认信息向区块链网络发送确认记录,以使区块链中的各个节点根据确认记录在区块链数据中确定传播信息,并根据传播信息确定分享账户。
商家终端在确定确认信息后,可以获取存储的商家私钥,并使用商家私钥对确认信息进行签名处理得到第一签名信息。商家终端还可以根据确认信息以及第一签名信息生成确认记录,并将确认记录广播至区块链网络。具体可以是将确认信息以及第一签名信息进行拼接处理,得到确认记录。
在确认记录中加入由商家私钥对确认信息进行签名的第一签名信息,使区块链节点能够验证这条信息的确是由该商家发布的。例如,商家A使用商家B的名义发布确认信息时,由于其没有商家B的私钥,则会采用错误的私钥对确认信息进行签名,区块链节点接到该确认信息后,确定确认信息是由商家B的名义发出的,则会使用商家B的公钥解签,则会产生解签失败的问题,此时,可以认为该条确认记录并非商家B发出的,则可以认为这条确认记录未通过验证。
另外,使用商家私钥对确认信息进行签名处理,还能够使得区块链节点能够对接收的确认记录的准确性进行验证。区块链节点接收确认记录后,可以提取其中的确认信息以及第一签名信息,然后对确认信息进行哈希运算得到一个哈希值;并使用公钥对签名进行解签得到;另一个哈希值,可以比对两个哈希值是否同,若相同,则可以认为确认信息是准确无误的。
本实施例提供的方法中,区块链网络中的服务器节点可以存储有获取用户公钥的方法,或者区块链网络要求每条签名信息中包括用户的公钥,即,上述签名信息包括两个部分,第一部分为使用私钥对信息摘要加密获得的密文,第二部分为公钥,服务器节点可以从签名信息中获取用户的公钥。另外,用户的账户也可以为用户公钥,此时,服务器节点可以根据广播确认记录的账户确定公钥;用户账户与公钥还可以具有映射关系,此时,服务器节点中可以存储该映射关系,并在接收到确认记录后,可以确定广播该记录的账户,并获取与该账户对应的公钥。
商家终端还可以对确认记录进行加密处理,再将加密后的确认记录广播至区块链网络,从而保证数据不易泄露。相应的,区块链网络中的节点可以存储有解密方法。
具体的,各个服务器节点可以根据共识机制获取记账权,获取记账权的服务器节点可以对存储的未处理的记录打包,生成区块,并将生成的区块广播至区块链网络,以使区块链网络中的每个服务器节点都能够将该区块记入区块链中。此处,由信息记录生成区块的过程,可以参考比特币中由交易(Transaction)生成区块的过程。确认记录可以是区块中的一条记录。区块链网络中可以记载确认记录,并且,基于区块链技术对确认记录进行存储,使得记录的信息不会被篡改,记录的数据更准确。
区块链网络中各个节点还可以存储有商品的传播记录。可以在用户操作其他用户分享的商品介绍页时,由接收操作该页面的操作指令的用户终端向区块链网络发送该页面的传播记录,区块链中的各个节点可以根据传播记录生成区块。
实际应用时,传播记录中可以包括传播信息以及签名信息,传播信息可以包括分享账户,也就是分享该页面的账户,还可以包括用户账户,即操作该页面的账户,还可以包括页面的源链接。用户操作该分享页面时,用户终端可以获取上述传播信息。用户终端还可以使用用户私钥对传播信息进行签名得到签名信息,再根据传播信息以及签名信息生成传播记录,并广播至区块链网络。
其中,区块链网络中的各个节点接收到确认记录后,可以根据确认记录找到相应的传播记录,从而确定触发用户进行消费的分享用户账户,并对分享账户进行奖励。
例如确认记录中的确认信息包括商家账户、购买商品的用户账户、订单号、源链接;传播记录中的传播信息包括源链接、分享用户账户、用户账户。其中,用户账户操作分享账户分享的页面,即源链接对应的页面,用户账户购买商品,从而与商家账户达成交易,商家侧或交易平台可以生成与交易对应的订单号。
可以在区块链网络中设置智能合约,当区块链节点接收到确认记录后,就根据确认记录在存储的数据中查找促成这笔交易的分享账户,具体可以是先找到相应的传播记录,再从中找到分享账户。另外,区块链节点接收确认记录后,也可以根据确认记录生成区块。
区块链网络节点接收到确认记录后,可以获取其中购买商品的用户账户以及源链接,再找到包括用户账户、源链接的传播记录。再从传播记录中确定出分享账户,可以根据预设的奖励规则从确认记录中包括的商家账户划拨一定费用到传播记录中的分享账户中,从而实现对分享用户的奖励。
本实施例中的账户可以是区块链用户的唯一身份标识,可以是用户的公钥,也可以是用户的公钥经过散列运算后的地址,还可以是与公钥存在映射关系的编号。基于用户公钥作为用户的账户,能够避免用户个人信息泄露。
本实施例提供的方法用于确定分享用户,该方法由安装有本实施例提供的方法的设备执行,该设备通常以硬件和/或软件的方式来实现。
本实施例提供的确定分享用户的方法,包括:根据预设规则确定订单的确认信息,并使用商家私钥对确认信息进行签名得到第一签名信息;根据第一签名信息以及确认信息向区块链网络发送确认记录,以使区块链中的各个节点根据确认记录在区块链数据中确定传播信息,并根据传播信息确定分享账户。本实施例提供的方法,商家侧终端能够向区块链网络发送确认记录,从而能够基于区块链技术对交易过程进行存储,达到可追溯的目的,并且,区块链网络中的节点能够根据商家终端发送的确认记录追溯促成这笔交易的分享账户,从而能够对分享账户进行奖励。
图3为本发明另一示例性实施例示出的确定分享用户的方法的流程图。
如图3所示,本实施例提供的确定分享用户的方法,包括:
步骤301,获取订单的消费信息,使用商家私钥对消费信息进行签名得到第二签名信息。
进一步的,商家可以操作商家终端,或商家终端可以自动完成与用户的交易。例如,用户B可以在终端上选择购买商品,并将相应的购买请求发送给商家C的终端,商家C的终端可以同意该购买请求,并生成订单号反馈该用户B的终端。还可以是交易平台生成订单号,并分别反馈个用户B以及商家C。用户B可以针对该订单进行支付,商家C的终端收到相关费用后,可以获取这笔订单的消费信息。
实际应用时,获取消费信息具体可以是获取商品的源链接,获取购买商品的用户账户,获取消费记录中的订单号等信息。源链接可以是商品介绍页对应的url(UniformResource Locator,统一资源定位符)地址。由于每个网页对应唯一的url地址,因此,可以将该地址作为商品标识。
其中,商家终端还可以获取商家私钥,并使用商家私钥对消费信息进行签名处理得到第二签名信息。具体的签名方式与对确认信息进行签名类似,不再赘述。
具体的,获取消费信息包括:
获取交易商品的源链接;
获取购买交易商品的用户账户;
获取用户账户购买交易商品对应的订单号。
其中,可以在用户终端侧完成支付后,商家终端侧执行步骤301。例如,用户B在看到用户A分享的商品介绍后,决定购买该商品,则用户B在用户终端侧进行购买操作,商家C的终端同意用户B的购买请求,并生成相应的订单,用户B对这笔订单进行支付,商家C的终端接到付款后,可以获取这笔交易的消费信息。
具体的,可以获取交易中交易商品对应的源链接。源链接是指发布这件商品所在的网页地址,用户在发起购买请求时,该购买请求可以携带有源链接地址。例如,同一商家可以在多个平台发布商品信息,例如,可以在京东、天猫商城均发布同一台电视机的出售信息。若用户是通过京东商城购买的,则用户终端向商家侧发送的购买请求中可以携带有该电视机在京东商城的源链接。通过不同的源链接,可以使商家确定同一商品在不同平台的出售情况。
进一步的,还可以获取购买交易商品的用户账户。用户终端向商家终端发送的购买请求中可以携带有用户账户信息,以使商家终端确定购买商品的是哪个用户,因此,商家终端能够获取到该用户账户。例如,用户B从商家C处购买一台电视机,那么用户B的账户即为用户账户。
实际应用时,还可以获取用户账户购买交易商品对应的订单号。在用户终端通过交易平台发送购买请求后,交易平台可以为该笔交易生成订单号,并将订单号分别反馈给商家以及用户。因此,商家终端能够获取订单号。
其中,消费信息中还可以包括消费标识,例如,消费信息可以是<源链接,“消费”,用户账户,订单号>的形式,在其中加入“消费”标识,能够使接收消费信息的节点获取该信息为消费信息。
相应的,使用商家私钥对消费信息进行签名得到第二签名信息,包括:
使用商家私钥对包括源链接、用户账户、订单号的消费信息进行签名得到第二签名信息。
进一步的,本实施例提供的方法中,消费信息包括源链接、用户账户、订单号,商家终端可以使用私钥对获取的源链接、用户账户、订单号的组合进行签名得到第二签名信息。具体可以对这些信息进行哈希计算得到哈希值,再对哈希值进行签名处理得到第二签名信息。
实际应用时,若消费信息中包括消费标识,则商家终端对包括源链接、用户账户、订单号以及消费标识的消费信息进行签名处理,得到第二签名信息。
步骤302,根据第二签名信息以及消费信息向区块链网络发送消费记录,以使区块链网络中的各个节点根据消费记录生成第一区块。
其中,商家终端在获取消费信息后,可以获取存储的商家私钥,并使用商家私钥对消费信息进行签名处理得到第二签名信息。具体的签名过程可以是先对消费信息进行哈希运算得到哈希值,再对该哈希值进行签名得到第二签名信息。
商家终端还可以根据消费信息以及第二签名信息生成消费记录,并将消费记录广播至区块链网络。具体可以是将消费信息以及第二签名信息进行拼接处理,得到消费记录。
在消费记录中加入由商家私钥对消费信息进行签名的第二签名信息,使区块链节点能够验证这条信息的确是由该商家发布的。例如,商家A使用商家B的名义发布消费信息时,由于其没有商家B的私钥,则会采用错误的私钥对消费信息进行签名,区块链节点接到该消费信息后,确定消费信息是由商家B的名义发出的,则会使用商家B的公钥解签,则会产生解签失败的问题,此时,可以认为该条消费记录并非商家B发出的,则可以认为这条消费记录未通过验证。验证通过后,区块链网络可以基于消费记录生成第一区块。
具体的,各个服务器节点可以根据共识机制获取记账权,获取记账权的服务器节点可以对存储的未处理的记录打包,生成第一区块,并将生成的第一区块广播至区块链网络,以使区块链网络中的每个服务器节点都能够将该区块记入区块链中。此处,由信息记录生成区块的过程,可以参考比特币中由交易(Transaction)生成区块的过程。消费记录可以是其中的一条记录。区块链网络中可以记载消费记录,并且,基于区块链技术对消费记录进行存储,使得记录的信息不会被篡改,记录的数据更准确。
本实施例提供的方法,商家终端可以向区块链网络发送订单的消费记录,区块链网络中的节点能够根据商家终端发送的消费记录存储消费信息,使得订单的消费情况可追溯。
步骤303,获取订单对应的订单状态,根据订单状态判断是否符合预设规则。
其中,商家终端还可以获取订单对应的订单状态,如正常、换货、退货等。用户在支付完毕后,可以申请退换货,可以直接向商家发送退换货请求,也可以向交易平台发送退换货请求。若直接向商家发送请求,则商家可以直接根据该请求更新订单状态,若向平台发送请求,则平台可以将请求转发给商家终端,从而使商家终端根据该请求更新订单状态。
具体的,商家终端可以根据消费信息中的订单号获取订单状态。还可以在订单产生之日起预设天数后获取订单状态。例如,在订单生成日起的第7天,获取订单状态。
进一步的,本实施例还可以根据需求设置预设规则,商家终端能够获取该预设规则。可以将预设规则直接存储在商家终端侧,也可以将预设规则存储在云端,商家终端可以从云端获取该预设规则。并且,还可以更新商家终端或云端中的预设规则。例如,预设规则可以是在无条件退货的时间段内没有退货。
实际应用时,商家终端可以根据获取的订单状态,判断是否符合预设规则,例如,若该订单未在无条件退货的时间段内退货,则执行步骤生成订单对应的所述确认信息。若商家终端内没有获取消费信息,或没有存储消费信息,则可以提取订单中的信息,再根据订单信息生成确认信息,若商家终端获取了消费信息,则生成订单对应的确认信息可以为步骤304。
步骤304,获取订单对应的消费信息中的源链接、订单号,获取商家账户;根据源链接、订单号、商家账户生成确认信息。
其中,若订单对应的订单状态满足预设规则,则可以生成该订单的确认信息。例如,可以获取订单号,并生成包括该订单号的确认信息。
进一步的,若商家终端中存储有订单对应的消费信息,则可以直接根据消费信息生成确认信息。
可以获取消费信息中的源链接以及订单号。并获取商家账户,根据源链接、订单号、商家账户生成确认信息。其中,商家终端可以获取其自身存储的商家账户。
进一步的,确认信息中还可以包括确认标识,例如,确认信息可以是<源链接,“确认”,商家账户,订单号>的形式,在其中加入“确认”标识,能够使接收该信息的区块链节点确定该信息为确认信息。
步骤305,使用商家私钥对包括源链接、订单号、商家账户的确认信息进行签名得到第一签名信息。
其中,本实施例提供的方法中,确认信息包括源链接、订单号、商家账户,商家终端可以使用私钥对获取的源链接、订单号、商家账户的组合进行签名得到第一签名信息。具体可以对这些信息进行哈希计算得到哈希值,再对哈希值进行签名处理得到第二签名信息。
实际应用时,若确认信息中包括确认标识,则商家终端对包括源链接、用户账户、订单号以及确认标识的确认信息进行签名处理,得到第一签名信息。
步骤306,根据第一签名信息以及确认信息向区块链网络发送确认记录,以使区块链中的各个节点根据确认记录在区块链数据中确定传播信息,并根据传播信息确定分享账户。
步骤307与步骤202的具体原理和实现方式类似,此处不再赘述。
图4为本发明一另示例性实施例示出的确定分享用户的方法的流程图。
如图4所示,本实施例提供的确定分享用户的方法包括:
步骤401,接收商家终端发送的确认记录,根据发送确认记录的账户确定第一公钥,并根据第一公钥对确认记录进行校验。
具体的,本实施例提供的方法可以由区块链网络中的服务器节点执行。这些服务器节点可以接收商家终端广播的确认记录。
商家终端可以在订单符合预设规则后,生成该订单的确认信息,并获取商家私钥,使用商家私钥对确认信息进行签名处理,得到第一签名信息。商家终端可以根据确认信息以及第一签名信息生成确认记录,再将确认记录广播至区块链网络,从而使区块链中的各个服务器节点能够接收到该确认记录。例如,商家终端可以将确认信息以及第二签名信息进行拼接,得到确认记录。
其中,服务器节点接收到的确认记录中可以包括确认信息以及第一签名信息。确认信息可以包括订单号、商品的源链接、商家账户等信息。确认信息中还可以包括确认标识,以使服务器节点能够基于该标识确定商家终端广播的信息是确认记录。
进一步的,服务器节点可以获取发送确认记录的账户信息,并获取与账户信息对应的第一公钥。例如,商家B的终端向区块链网络广播确认记录,则服务器节点可以获取到发送该记录的是商家B,并获取商家B的第一公钥。
本实施例提供的方法中,区块链网络中的服务器节点可以存储有获取用户公钥的方法,或者区块链网络要求每条签名信息中包括用户的公钥,即,上述签名信息包括两个部分,第一部分为使用私钥对信息摘要加密获得的密文,第二部分为公钥,服务器节点可以从签名信息中获取用户的公钥。另外,用户的账户也可以为用户公钥,此时,服务器节点可以根据广播确认记录的账户确定公钥;用户账户与公钥还可以具有映射关系,此时,服务器节点中可以存储该映射关系,并在接收到确认记录后,可以确定广播该记录的账户,并获取与该账户对应的公钥。
实际应用时,区块链网络中的服务器节点可以用公钥对确认记录进行校验,具体可以使用第一公钥对确认记录中的第一签名信息进行解签得到一个哈希值,再对确认记录中的确认信息进行哈希运算得到另一个哈希值,并判断两个哈希值是否相同,若相同,则校验通过。
步骤402,若校验通过,则根据确认记录在区块链中获取与确认记录对应的传播信息,并根据传播信息确定分享账户。
其中,区块链中可以存储传播信息。传播信息是指信息传播的路径,如用户A分享,用户B打开用户A分享的内容,即由A到B,即为该预设页面的传播信息。用户终端可以根据用户操作指令,获取传播信息,再使用私钥对传播信息进行签名得到签名信息,用户终端还可以根据传播信息及其签名信息生成传播记录,并将传播记录发送至区块链网络,以使区块链网络存储包括传播信息的传播记录。
在一种实施方式中,确认记录中还可以包括购买商品的用户账户,服务器节点可以根据购买商品的用户账户在传播信息中找到向该购买用户账户分享商品的分享用户账户。
在另一种实施方式中,若确认记录不包括购买商品的用户账户,则区块链中还可以存储消费记录,例如,消费记录可以包括购买商品的用户账户、订单号等。服务器节点验证确认记录合法后,则根据确认记录找到订单对应的消费记录,再根据消费记录找到向该购买者账户分享商品传播信息,进而在传播信息中找到分享账户。
实际应用时,可以是商家终端向区块链网络广播的消费记录,当然,也可以是用户终端侧向区块链网络广播消费记录。例如,用户终端在支付完毕后,由商家终端或用户终端向区块链网络广播消费记录,具体可以包括商品的源链接,购买商品的用户账户,订单号等信息。
其中,服务器节点可以获取传播信息中包括的分享账户。
步骤403,根据预设奖励规则向分享账户发放奖励。
其中,可以在区块链网络中预先设置奖励规则。具体可以在智能合约中设置。
具体的,区块链网络中的节点在确定了与确认记录对应的分享账户后,可以从商家账户扣除费用,并发放给分享账户。从而确定分享用户。
进一步的,若确定了多个分享账户,还可以按照比例对扣除的费用进行分配,从而使每个分享用户都能够得到奖励。
实际应用时,区块链网络中的各个节点可以基于共识机制争取记账权,由得到记账权的节点确定具体的扣除费用以及奖励费用,还可以根据这一结果生成区块,并写入区块链。此处,由信息记录生成区块的过程,可以参考比特币中由交易(Transaction)生成区块的过程。
本实施例提供的方法用于确定分享用户,该方法由安装有本实施例提供的方法的设备执行,该设备通常以硬件和/或软件的方式来实现。
本实施例提供的确定分享用户的方法包括,接收商家终端发送的确认记录,根据发送确认记录的账户确定第一公钥,并根据第一公钥对确认记录进行校验;若校验通过,则根据确认记录在区块链中获取与确认记录对应的传播信息,并根据传播信息确定分享用户账户;根据预设奖励规则向分享用户账户发放奖励。本实施例提供的方法中,可以根据商家终端发送的确认信息以及存储的传播信息确定分享账户,进而对分享账户进行奖励,从而能够有效的对做出分享的用户进行奖励。
图5为本发明另一示例性实施例示出的确定分享用户的方法的流程图。
如图5所示,本发明提供的确定分享用户的方法,包括:
步骤501,接收用户终端发送的传播记录,根据发送传播记录的账户确定第三公钥,并根据第三公钥对传播记录进行校验。
其中,用户终端可以通过网络与区块链网络连接,并向区块链网络广播传播记录。用户终端在接收到用户对信息页面的操作指令后,可以根据操作指令获取预设页面的传播信息。传播信息是指预设页面传播的路径,如用户A分享,用户B打开用户A分享的内容,即由A到B,即为该预设页面的传播信息。用户终端获取的传播信息可以包括信息页面的源链接、分享者账户、发送传播记录的用户账户。其中,发送传播信息的用户账户即为发送传播记录的用户终端中的用户账户,即被分享用户账户。
用户终端获取到传播信息后,可以使用私钥对传播信息签名,得到签名信息。用户终端还可以根据传播信息以及签名信息生成传播记录,再将传播记录广播至区块链网络。
服务器节点在接收到传播记录后,可以获取发送该传播记录的账户,并获取该账户对应的第三公钥,然后使用第三公钥对传播记录进行校验。
本实施例提供的方法中,区块链网络中的服务器节点可以存储有获取用户公钥的方法,或者区块链网络要求每条签名信息中包括用户的公钥,即,上述签名信息包括两个部分,第一部分为使用私钥对信息摘要加密获得的密文,第二部分为公钥,服务器节点可以从签名信息中获取用户的公钥。另外,用户的账户也可以为用户公钥,此时,服务器节点可以根据广播传播记录的账户确定公钥;用户账户与公钥还可以具有映射关系,此时,服务器节点中可以存储该映射关系,并在接收到传播记录后,可以确定广播该记录的账户,并获取与该账户对应的公钥。
实际应用时,区块链网络中的服务器节点可以用公钥对传播记录中的签名信息进行解签得到一个哈希值,再对接收的传播信息进行哈希运算得到另一个哈希值,并判断两个哈希值是否相同,若相同,则校验通过。
步骤502,若校验通过,则根据传播记录生成第二区块。
若校验通过,则各个服务器节点可以基于共识机制根据传播记录生成第二区块。服务器节点可以基于共识机制争取记账权,得到记账权的节点可以对传播记录进行打包处理,生成第二区块。第二区块中可以包括多条记录,传播记录可以是其中的一条记录。此处,由信息记录生成区块的过程,可以参考比特币中由交易(Transaction)生成区块的过程。
其中,基于共识机制获得记账权的节点生成第二区块后,还可以向区块链网络广播第二区块,以使其他服务器节点也将第二区块写入区块链。
步骤503,接收商家终端发送的消费记录,根据发送消费记录的账户确定第二公钥,并根据第二公钥对消费记录进行校验。
商家终端可以在用户终端完成支付后,生成该订单的消费信息,并获取商家私钥,使用私钥对消费信息进行签名处理,得到第二签名信息。商家终端可以根据消费信息以及第二签名信息生成消费记录,并将消费记录广播至区块链网络,从而使区块链中的各个服务器节点能够接收到消费记录。
进一步的,商家终端能够与区块链网络连接。消费信息可以包括订单号、商品的源链接、用户账户等信息。消费信息中还可以包括消费标识,以使服务器节点能够基于该标识确定商家终端广播的信息是消费记录。
实际应用时,服务器节点可以获取发送消费记录的账户信息,并获取与账户信息对应的第二公钥。当向区块链网络广播确认记录以及消费记录的账户为同一商家账户时,第一公钥与第二公钥相同。
本实施例提供的方法中,区块链网络中的服务器节点可以存储有获取用户公钥的方法,或者区块链网络要求每条签名信息中包括用户的公钥,即,上述签名信息包括两个部分,第一部分为使用私钥对信息摘要加密获得的密文,第二部分为公钥,服务器节点可以从签名信息中获取用户的公钥。另外,用户的账户也可以为用户公钥,此时,服务器节点可以根据广播消费记录的账户确定公钥;用户账户与公钥还可以具有映射关系,此时,服务器节点中可以存储该映射关系,并在接收到传播记录后,可以确定广播该记录的账户,并获取与该账户对应的公钥。
实际应用时,区块链网络中的服务器节点可以用公钥对消费记录的第一签名信息进行解签得到一个哈希值,再对接收的消费记录中的消费信息进行哈希运算得到另一个哈希值,并判断两个哈希值是否相同,若相同,则校验通过。
步骤504,若校验通过,则根据消费记录生成第一区块。
其中,各个服务器节点可以根据共识机制获取记账权,获取记账权的服务器节点可以生成第一区块,并将生成的第一区块广播至区块链网络,以使区块链网络中的每个服务器节点都能够将该第一区块记入区块链中。此处,由信息记录生成区块的过程,可以参考比特币中由交易(Transaction)生成区块的过程。区块链网络中可以记载消费信息,并且,基于区块链技术对消费信息进行存储,使得信息不会被篡改,记录的数据更准确。
步骤505,接收商家终端发送的确认记录,根据发送确认记录的账户确定第一公钥,并根据第一公钥对确认记录进行校验。
步骤505与步骤401的具体原理和实现方式类似,此处不再赘述。
步骤506,若校验通过,根据确认记录在区块链数据中获取与确认记录对应的消费记录。
具体的,若校验通过,则说明确认记录的确是该确认记录对应的商家发送的,该确认记录合法,则区块链节点可以在区块链数据中根据确认记录找到对应的消费记录。
进一步的,区块链数据中存储有第一区块,其中包括消费记录,服务器节点可以根据确认记录中包括的具体信息找到对应的消费记录。
在一种实施方式中,确认记录包括:源链接、订单号、商家账户。其中,确认记录具体包括确认信息以及签名信息,签名信息是商家终端采用商家私钥对确认信息进行签名得到的,确认信息中可以进一步包括源链接、订单号、商家账户。
服务器节点可以根据确认记录中包括的订单号,在区块链数据中获取包括订单号的消费记录。
实际应用时,消费记录中也可以包括订单号,服务器节点可以提取确认记录中的订单号,并在已存储的区块链数据中找到包括该订单号的消费记录。
步骤507,根据消费记录在区块链数据中获取与消费记录对应的传播信息。
本实施例提供的方法中,区块链数据中还存储有第二区块,第二区块包括传播记录,传播记录中包括具体的传播信息。
服务器节点可以根据获取的消费记录中的具体信息,在存储的区块链数据找到对应的传播记录,从而获取其中的传播信息。
在一种实施方式中,消费记录包括:源链接、用户账户、订单号。其中,传播记录具体可以包括传播信息以及签名信息,签名信息是用户终端采用用户私钥对传播信息进行签名得到的,传播信息中可以进一步包括源链接、用户账户、订单号。服务器节点可以根据消费记录中包括的源链接、用户账户,在区块链数据中获取包括源链接、用户账户的传播记录,并获取传播记录中的传播信息。
实际应用中,传播记录中也可以包括源链接、用户账户信息,从而使服务器节点能够根据这些信息找到对应的传播记录。
步骤508,根据传播信息确定分享账户。
步骤508与步骤403中确定分享账户的具体原理和实现方式类似,此处不再赘述。
步骤509,根据预设奖励规则确定奖励总金额,并根据传播记录确定每个分享用户账户的奖励子金额。
步骤510,根据分享账户对应的奖励子金额,向每个分享账户发放奖励。
其中,本实施例提供的方法中,奖励用的奖品可以是数字代币、通证(Token)等。在确定了分享用户账户后,可以向分享用户账户发放相应的奖励。
具体的,可以预先设置奖励规则,包括确定奖励总金额的方法、奖励分配方法。若消费记录或确认记录中包括订单的交易额度,则可以根据订单交易额度确定奖励总金额,例如,一台电视机的价格是4000元,可以按照交易价格的百分之二作为奖励总金额,即80元。若仅有一个分享账户向购买该电视机的用户分享了商品,则可以直接向该分享用户发放这80元的奖励。并且在商家账户扣除80元。
进一步的,可以从确认记录中提取商家账户,从消费记录中提取用户账户,从而获取扣除以及增加奖励金额的账户。
还有可能存在多个分享账户向购买商品的用户分享过该商品,此时,可以认为每个分享用户都对促成这笔交易做出了贡献,因此,可以向每个分享用户都做出奖励。
在一种实施方式中,可以预先设置分配比例,例如,每个分享用户的比例均是相同的,即可以直接根据分享用户数量平分奖励总金额。
在另一种实施方式中,也可以根据具体的传播记录确定各个分享用户的奖励子金额。具体可以是:
根据传播记录确定传播路径数量,并根据传播路径数量确定每条路径对应的奖励金额,再根据路径对应的奖励金额、路径中包括的分享账户数量确定每个分享账户的奖励子金额。
例如,用户A向用户D分享了一台电视机,用户B向用户C分享这台电视机,用户C向用户D分享了这台电视机,用户D购买了这台电视机。那么此时就可以确定有两条传播路径,A到D,B到C到D。若奖励总金额为80元,那么每条传播路径对应的奖励金额可以是40元,第一条路径中分享用户为A,则A的账户可以增加40元,第二条传播路径中的分享用户为B和C,那么B和C可以均分40元的奖励金额。
在又一种实施方式中,可以将传播路径视为电路,传播路径构成的网络可以视为电路网络。将传播路径上的每两个节点间的连线看做阻值相等的传播电阻,从而能够将传播网络转化为电路网络。例如,传播网络中包括两条不交叉的传播路径,第一条中包括一个分享用户节点,第二条中包括两个分享用户节点,则第一条传播路径中包括从源链接到分享用户,从分享用户到消费用户这两个传播电阻,相似的,第二条传播路径包括三个传播电阻。进而可以基于电路网络中电流分配的原理,分配各个分享用户的分配比例,假设各传播节点输出的电流值为In,n表示传播节点总数,则第i个传播节点的分配比例为:
pi=Ii/(I1+I2+…+In)其中,在增加分享账户中的金额时,应同时扣除商家账户中相应的金额。
下面以一具体的实施例说明本方案。假设有用户A、用户B、商家C,用户A、用户B、商家C为区块链用户,且终端内设置有能够与区块链网络连接的用户端。用户A向用户B分享一网页链接,该网页链接为商品介绍页,用户B打开该网页并购买商品,详细流程如下。
用户A的终端向用户B的终端发送分享指令,用户B的终端能够接收到该分享指令。用户B可以操作该终端,并打开该用户A分享的网页。
用户B终端可以获取用户B打开该网页的操作行为,并根据用户的操作指令获取传播信息,具体可以在分享的内容中提取网页源链接以及用户A账户,用户B的终端还可以获取存储的用户私钥,即用户B的私钥,从使用用户B的私钥对传播信息签名得到签名信息,用户终端B对传播信息以及签名信息进行拼接,生成传播记录,并将传播记录广播至区块链网络。
区块链网络中的服务器节点接收到该传播记录后,可以对该传播记录进行校验。具体可以获取发送该传播记录的用户B的账户,再获取用户B的公钥。并使用用户B的公钥对传播记录进行校验,若校验通过,则可以将传播记录放到待处理池中,在打包时机到时,获得记账权的服务器节点可以对该待处理池中的所有记录进行打包生成区块,并写入区块链。
用户B若对网页中的商品感兴趣,还可以购买该商品,可以通过用户B的终端向交易平台或直接向商家C发送购买请求,交易平台或商家C可以回复同意购买的信息。用户B的终端可以进行支付,从而购买该商品。当用户B支付完毕后,商家C的终端可以获取这笔订单的消费信息,并获取商家C的私钥对消费信息进行签名,再对消费信息以及签名信息进行拼接,生成消费记录,并将消费记录广播至区块链网络。
区块链网络中的服务器节点接收到该消费记录后,可以对消费记录进行校验并生成区块,具体的方式处理传播记录相似。
商家C的终端可以获取这笔订单的状态,并根据订单状态确定是否符合预设规则,若是,则根据生成这笔订单的确认信息,例如,7天内未发生退货,则可以根据消费信息生成这笔订单的确认信息。并获取商家C的私钥对确认信息进行签名,再对确认信息以及签名信息进行拼接,生成确认记录,并将确认记录广播至区块链网络。
区块链网络中的服务器节点接收到该确认记录后,可以对确认记录进行校验,具体的方式处理传播记录相似。校验通过后,还可以根据确认记录获取相应的消费记录,消费记录以及确认记录中都可以包括订单号信息,例如6666,因此,可以获取订单号为6666的消费记录。
服务器节点还可以根据消费记录获取相应的传播记录。消费记录中还可以包括商品的源链接地址、购买商品的用户信息,即用户B,传播记录中也包括这些信息,因此可以通过上述获取与消费记录对应的传播记录。由于传播记录中包括传播信息,传播信息中由包括分享用户信息,即用户A,因此,服务器节点能够获取到促成这笔交易的分享用户账户。
区块链中可以设置智能合约,其中可以设置具体的向分享用户发放奖励的预设规则,因此,还可以根据该预设规则向用户A发放奖励。
图6为本发明一示例性实施例示出的确定分享用户的装置的结构图。
如图6所示,本实施例提供的确定分享用户的装置,包括:
确定模块61,用于根据预设规则确定订单的确认信息,并使用商家私钥对所述确认信息进行签名得到第一签名信息;
发送模块62,用于根据所述第一签名信息以及所述确认信息向所述区块链网络发送确认记录,以使所述区块链中的各个节点根据所述确认记录在区块链数据中确定传播信息,并根据所述传播信息确定分享账户。
本实施例提供的确定分享用户的装置,包括:确定模块,用于根据预设规则确定订单的确认信息,并使用商家私钥对确认信息进行签名得到第一签名信息;发送模块,用于根据第一签名信息以及确认信息向区块链网络发送确认记录,以使区块链中的各个节点根据确认记录在区块链数据中确定传播信息,并根据传播信息确定分享账户。本实施例提供的装置,能够向区块链网络发送确认记录,从而能够基于区块链技术对交易过程进行存储,达到可追溯的目的,并且,区块链网络中的节点能够根据商家终端发送的确认记录追溯促成这笔交易的分享账户,从而能够对分享账户进行奖励。
本实施例提供的确定分享用户的装置的具体原理和实现方式均与图2所示的实施例类似,此处不再赘述。
图7为本发明另一示例性实施例示出的确定分享用户的装置的结构图。
如图7所示,在上述实施例的基础上,本实施例提供的确定分享用户的装置,所述确定模块61,包括:
获取单元611,用于获取所述订单对应的订单状态,根据所述订单状态判断是否符合所述预设规则;
生成单元612,用于若是,则生成所述订单对应的所述确认信息。
可选的,所述装置还包括:获取模块63,用于获取所述订单的所述消费信息,使用所述商家私钥对所述消费信息进行签名得到第二签名信息;
所述发送模块62还用于根据所述第二签名信息以及所述消费信息向区块链网络发送消费记录,以使所述区块链网络中的各个节点根据所述消费记录生成第一区块。
可选的,所述获取模块63具体用于:
获取交易商品的源链接;
获取购买所述交易商品的用户账户;
获取所述用户账户购买所述交易商品对应的订单号。
可选的,所述获取模块63,包括:
第二签名单元631,用于使用商家私钥对包括所述源链接、所述用户账户、所述订单号的所述消费信息进行签名得到所述第二签名信息。
可选的,所述生成单元612具体用于:
获取所述订单对应的所述消费信息中的所述源链接、所述订单号,获取商家账户;
根据所述源链接、所述订单号、所述商家账户生成所述确认信息。
可选的,所述确定模块61,包括:
第一签名单元613,用于使用所述商家私钥对包括所述源链接、所述订单号、所述商家账户的所述确认信息进行签名得到所述第一签名信息。
本实施例提供的装置的具体原理和实现方式均与图3所示的实施例类似,此处不再赘述。
图8为本发明另一示例性实施例示出的确定分享用户的装置的结构图。
如图8所示,本实施例提供的确定分享用户的装置,包括:
接收模块81,用于接收商家终端发送的确认记录;
确定模块82,用于根据发送所述确认记录的账户确定第一公钥;
校验模块83,用于根据所述第一公钥对所述确认记录进行校验;
获取模块84,用于若校验通过,则根据所述确认记录在区块链中获取与所述确认记录对应的传播信息,并根据所述传播信息确定分享账户;
奖励模块85,用于根据预设奖励规则向所述分享账户发放奖励。
本实施例提供的奖励模块,包括接收模块,用于接收商家终端发送的确认记录;确定模块,用于根据发送确认记录的账户确定第一公钥;校验模块,用于根据第一公钥对确认记录进行校验;获取模块,用于若校验通过,则根据确认记录在区块链中获取与确认记录对应的传播信息,并根据传播信息确定分享账户;奖励模块,用于根据预设奖励规则向分享账户发放奖励。本实施例提供的装置,可以根据商家终端发送的确认记录以及存储的传播信息确定分享账户,进而对分享账户进行奖励,从而能够有效的对做出分享的用户进行奖励。
本实施例提供的确定分享用户的装置的具体原理和实现方式均与图4所示的实施例类似,此处不再赘述。
图9为本发明另一示例性实施例示出的确定分享用户的装置的结构图。
所述接收模块81还用于接收所述商家终端发送的消费记录;
所述确定模块82还用于根据发送所述消费记录的账户确定第二公钥;
所述校验模块83还用于根据所述第二公钥对所述消费记录进行校验;
所述装置还包括生成模块86,用于若校验通过,则根据所述消费记录生成第一区块。
可选的,所述获取模块84,包括:
第一获取单元841,用于根据所述确认记录在所述区块链数据中获取与所述确认记录对应的所述消费记录;
第二获取单元842,用于根据所述消费记录在所述区块链数据中获取与所述消费记录对应的所述传播信息。
可选的,所述确认信息包括:源链接、订单号、商家账户;
所述第一获取单元841具体用于:
根据所述确认记录中包括的所述订单号,在所述区块链数据中获取包括所述订单号的所述消费记录。
可选的,所述接收模块81还用于接收用户终端发送的传播记录;
所述确定模块82还用于根据发送所述传播记录的账户确定第三公钥;
所述校验模块83还用于根据所述第三公钥对所述传播记录进行校验;
若校验通过,则所述生成模块86还用于根据所述传播记录生成第二区块。可选的,所述消费记录包括:源链接、用户账户、订单号;
所述第二获取单元842具体用于根据所述消费记录中包括的所述源链接、用户账户,在所述区块链数据中获取包括所述源链接、所述用户账户的所述传播记录,并获取所述传播记录包括的所述传播信息。
可选的,所述奖励模块85包括:
确定单元851,用于根据所述预设奖励规则确定奖励总金额,并根据所述传播记录确定每个所述分享账户的奖励子金额;
奖励单元852,用于根据所述分享账户对应的奖励子金额,向每个所述分享账户发放奖励。
本实施例提供的确定分享用户的装置的具体原理和实现方式均与图5所示的实施例类似,此处不再赘述。
图10为本发明一示例性实施例示出的确定分享用户的设备的结构图。
如图10所示,本实施例提供的确定分享用户的设备包括:
存储器1001;
处理器1002;以及
计算机程序;
其中,所述计算机程序存储在所述存储器1001中,并配置为由所述处理器1002执行以实现如上所述图2-3所示出的任一种确定分享用户的方法。
图11为本发明一示例性实施例示出的确定分享用户的设备的结构图。
如图11所示,本实施例提供的确定分享用户的设备包括:
存储器1101;
处理器1102;以及
计算机程序;
其中,所述计算机程序存储在所述存储器1101中,并配置为由所述处理器1102执行以实现如上所述图4-5所示的任一种确定分享用户的方法。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如上所述图2-3所示的任一种确定分享用户的方法。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如上所述图4-5的任一种确定分享用户的方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。