发明内容
有鉴于此,本申请实施例一种基于区块链的资源匹配方法、装置及设备,能够实现资源提供方和资源使用方之间的信息的安全共享,提高双方资源匹配的效率。
为解决上述问题,本申请实施例提供的技术方案如下:
第一方面,本申请提供一种基于区块链的资源匹配方法,所述方法应用于资源匹配系统,所述资源匹配系统基于区块链建立,所述方法包括:
响应于由请求使用用户或请求提供用户触发的资源匹配请求,确定目标使用用户;所述请求使用用户对应于所述区块链中的区块链节点;所述请求提供用户对应于所述区块链中的区块链节点;
获取目标使用用户的用户信息,根据所述用户信息确定所述目标使用用户中的待匹配使用用户;
若具有所述待匹配使用用户,根据由所述待匹配使用用户发送的第一匹配请求和向所述待匹配使用用户发送的第二匹配请求,确定待匹配提供用户;
根据所述待匹配提供用户的数量和所述待匹配使用用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户。
在一种可能的实现方式中,所述若具有所述待匹配使用用户,根据由所述待匹配使用用户发送的第一匹配请求和向所述待匹配使用用户发送的第二匹配请求,确定待匹配提供用户,包括:
若具有所述待匹配使用用户,将第一匹配请求所要发送至的提供用户和发送第二匹配请求的提供用户作为待匹配提供用户;所述第一匹配请求是由所述待匹配使用用户发送的;所述第二匹配请求是向所述待匹配使用用户发送的。
在一种可能的实现方式中,所述根据所述待匹配提供用户的数量和所述待匹配使用用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户,包括:
若所述待匹配使用用户的数量为一个,且所述待匹配提供用户的数量为一个,确定目标待匹配使用用户与目标待匹配提供用户匹配;所述目标待匹配使用用户为所述待匹配使用用户;所述目标待匹配提供用户为所述待匹配提供用户。
在一种可能的实现方式中,所述根据所述待匹配提供用户的数量和所述待匹配使用用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户,包括:
若所述待匹配使用用户的数量为一个,且所述待匹配提供用户的数量为多个,获取所述待匹配提供用户的资源提供信息;
获取所述资源提供信息中的预设排序参数,根据所述预设排序参数的数值对所述待匹配提供用户进行排序;
根据排序结果从所述待匹配提供用户中选取目标待匹配提供用户,确定目标待匹配使用用户与所述目标待匹配提供用户匹配;所述目标待匹配使用用户为所述待匹配使用用户;
若所述待匹配使用用户的数量为多个,且所述待匹配提供用户的数量为一个,获取所述待匹配使用用户的资源使用信息;
获取所述资源使用信息中的预设排序参数,根据所述预设排序参数的数值对所述待匹配使用用户进行排序;
根据排序结果从所述待匹配使用用户中选取目标待匹配使用用户,确定所述目标待匹配使用用户与目标待匹配提供用户匹配;所述目标待匹配提供用户为所述待匹配提供用户。
在一种可能的实现方式中,所述根据所述待匹配提供用户的数量和所述待匹配使用用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户,包括:
若所述待匹配使用用户的数量为多个,且所述待匹配提供用户的数量为多个,获取所述待匹配提供用户的资源提供信息和所述待匹配使用用户的资源使用信息;
分别获取所述资源提供信息和所述资源使用信息中的预设排序参数,将所述预设排序参数作为双向拍卖模型的输入数据,得到所述双向拍卖模型输出的所述待匹配使用用户和所述待匹配提供用户的排序结果;
根据所述排序结果在所述待匹配使用用户中选取目标待匹配使用用户,在所述待匹配提供用户中选取目标待匹配提供用户;确定所述目标待匹配使用用户和所述目标待匹配使用用户匹配。
在一种可能的实现方式中,所述响应于由请求使用用户或请求提供用户触发的资源匹配请求,确定目标使用用户,包括:
响应于由请求使用用户触发的资源匹配请求,获取向所述请求使用用户发送的第三匹配请求和所述请求使用用户发送的第四匹配请求;
将发送所述第三匹配请求的提供用户和所述第四匹配请求所要发送至的提供用户作为目标提供用户;
获取所述目标提供用户发送的第五匹配请求和向所述目标提供用户发送的第六匹配请求;
将所述第五匹配请求所要发送至的使用用户和发送所述第六匹配请求的使用用户作为目标使用用户;
或者,
响应于由请求提供用户触发的资源匹配请求,获取所述提供用户发送的第七匹配请求,和发送至所述提供用户的第八匹配请求;
将所述第七匹配请求所要发送至的使用用户和发送所述第八匹配请求的使用用户作为目标使用用户。
在一种可能的实现方式中,所述方法还包括:
若所述资源匹配请求由请求使用用户发布,且所述请求使用用户具有匹配的目标待匹配提供用户,调用智能合约生成资源使用许可信息,将所述资源使用许可信息发送至所述请求使用用户和所述目标待匹配提供用户,以使所述请求使用用户和所述目标待匹配提供用户对所述资源使用许可信息进行确认;
接收到所述请求使用用户的确认信息和所述目标待匹配提供用户的确认信息,将确认后的资源使用许可信息进行上链储存;
若所述资源匹配请求由请求提供用户发布,且所述请求提供用户具有匹配的目标待匹配使用用户,调用智能合约生成资源使用许可信息,将所述资源使用许可信息发送至所述请求提供用户和所述目标待匹配使用用户,以使所述请求提供用户和所述目标待匹配使用用户对所述资源使用许可信息进行确认;
接收到所述请求提供用户的确认信息和所述目标待匹配使用用户的确认信息,将确认后的资源使用许可信息进行上链储存。
第二方面,本申请提供一种基于区块链的资源匹配装置,所述装置包括:
响应单元,用于响应于由请求使用用户或请求提供用户触发的资源匹配请求,确定目标使用用户;所述请求使用用户对应于所述区块链中的区块链节点;所述请求提供用户对应于所述区块链中的区块链节点;
获取单元,用于获取目标使用用户的用户信息,根据所述用户信息确定所述目标使用用户中的待匹配使用用户;
确定单元,用于若具有所述待匹配使用用户,根据由所述待匹配使用用户发送的第一匹配请求和向所述待匹配使用用户发送的第二匹配请求,确定待匹配提供用户;
匹配单元,用于根据所述待匹配提供用户的数量和所述待匹配使用用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户。
在一种可能的实现方式中,所述确定单元,具体用于若具有所述待匹配使用用户,将第一匹配请求所要发送至的提供用户和发送第二匹配请求的提供用户作为待匹配提供用户;所述第一匹配请求是由所述待匹配使用用户发送的;所述第二匹配请求是向所述待匹配使用用户发送的。
在一种可能的实现方式中,所述匹配单元,包括:
第一匹配子单元,用于若所述待匹配使用用户的数量为一个,且所述待匹配提供用户的数量为一个,确定目标待匹配使用用户与目标待匹配提供用户匹配;所述目标待匹配使用用户为所述待匹配使用用户;所述目标待匹配提供用户为所述待匹配提供用户。
在一种可能的实现方式中,所述匹配单元,包括:
第一获取子单元,用于若所述待匹配使用用户的数量为一个,且所述待匹配提供用户的数量为多个,获取所述待匹配提供用户的资源提供信息;
第二获取子单元,用于获取所述资源提供信息中的预设排序参数,根据所述预设排序参数的数值对所述待匹配提供用户进行排序;
第二匹配子单元,用于根据排序结果从所述待匹配提供用户中选取目标待匹配提供用户,确定目标待匹配使用用户与所述目标待匹配提供用户匹配;所述目标待匹配使用用户为所述待匹配使用用户;
第三获取子单元,用于若所述待匹配使用用户的数量为多个,且所述待匹配提供用户的数量为一个,获取所述待匹配使用用户的资源使用信息;
第四获取子单元,用于获取所述资源使用信息中的预设排序参数,根据所述预设排序参数的数值对所述待匹配使用用户进行排序;
第三匹配子单元,用于根据排序结果从所述待匹配使用用户中选取目标待匹配使用用户,确定所述目标待匹配使用用户与目标待匹配提供用户匹配;所述目标待匹配提供用户为所述待匹配提供用户。
在一种可能的实现方式中,所述匹配单元,包括:
第五获取子单元,用于若所述待匹配使用用户的数量为多个,且所述待匹配提供用户的数量为多个,获取所述待匹配提供用户的资源提供信息和所述待匹配使用用户的资源使用信息;
第六获取子单元,用于分别获取所述资源提供信息和所述资源使用信息中的预设排序参数,将所述预设排序参数作为双向拍卖模型的输入数据,得到所述双向拍卖模型输出的所述待匹配使用用户和所述待匹配提供用户的排序结果;
第四匹配子单元,用于根据所述排序结果在所述待匹配使用用户中选取目标待匹配使用用户,在所述待匹配提供用户中选取目标待匹配提供用户;确定所述目标待匹配使用用户和所述目标待匹配使用用户匹配。
在一种可能的实现方式中,所述响应单元,包括:
第七获取子单元,用于响应于由请求使用用户触发的资源匹配请求,获取向所述请求使用用户发送的第三匹配请求和所述请求使用用户发送的第四匹配请求;
第一确定子单元,用于将发送所述第三匹配请求的提供用户和所述第四匹配请求所要发送至的提供用户作为目标提供用户;
第八获取子单元,用于获取所述目标提供用户发送的第五匹配请求和向所述目标提供用户发送的第六匹配请求;
第二确定子单元,用于将所述第五匹配请求所要发送至的使用用户和发送所述第六匹配请求的使用用户作为目标使用用户;
或者,
第九获取子单元,用于响应于由请求提供用户触发的资源匹配请求,获取所述提供用户发送的第七匹配请求,和发送至所述提供用户的第八匹配请求;
第三确定子单元,用于将所述第七匹配请求所要发送至的使用用户和发送所述第八匹配请求的使用用户作为目标使用用户。
在一种可能的实现方式中,所述装置还包括:
第一确认单元,用于若所述资源匹配请求由请求使用用户发布,且所述请求使用用户具有匹配的目标待匹配提供用户,调用智能合约生成资源使用许可信息,将所述资源使用许可信息发送至所述请求使用用户和所述目标待匹配提供用户,以使所述请求使用用户和所述目标待匹配提供用户对所述资源使用许可信息进行确认;
第一接收单元,用于接收到所述请求使用用户的确认信息和所述目标待匹配提供用户的确认信息,将确认后的资源使用许可信息进行上链储存;
第二确认单元,用于若所述资源匹配请求由请求提供用户发布,且所述请求提供用户具有匹配的目标待匹配使用用户,调用智能合约生成资源使用许可信息,将所述资源使用许可信息发送至所述请求提供用户和所述目标待匹配使用用户,以使所述请求提供用户和所述目标待匹配使用用户对所述资源使用许可信息进行确认;
第二接收单元,用于接收到所述请求提供用户的确认信息和所述目标待匹配使用用户的确认信息,将确认后的资源使用许可信息进行上链储存。
第三方面,本申请提供一种资源匹配设备,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述实施例所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述实施例所述的方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例提供的基于区块链的资源匹配方法,可以实现在基于区块链上建立的资源匹配系统,响应于请求使用用户或者是请求提供用户触发的资源匹配请求,先确定目标使用用户。利用目标使用用户的用户信息对目标使用用户进行筛选,得到可以进行资源匹配的待匹配使用用户。使得确定的待匹配使用用户可以满足基本的资源匹配条件,提高资源匹配的效率和成功率。再基于确定的待匹配使用用户发送和接收的匹配请求,将需要与待匹配使用用户进行资源匹配的或者是待匹配使用用户所要匹配的提供用户作为待匹配提供用户。最后,根据待匹配使用用户和待匹配提供用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户。实现了在区块链上基于提供用户和使用用户所发布的信息和匹配请求,确定匹配的目标待匹配提供用户和目标待匹配资源用户。通过建立在区块链上的资源匹配系统,可以实现资源的提供用户和资源的使用用户的信息安全共享,匹配条件以及规则的透明,以及根据提供用户和使用用户的匹配请求和相关匹配条件的自动匹配,提高了资源提供方和资源使用方的互信程度以及资源匹配的效率。
具体实施方式
为了便于理解和解释本申请实施例提供的技术方案,下面将先对本申请的背景技术进行说明。
发明人在对传统的资源匹配过程进行研究后发现,当前的资源匹配双方所提供的匹配的条件不同。并且,资源匹配双方难以获取到对方的基本信息,难以对进行资源匹配的对方进行是否可信的判断,以及是否满足自身匹配条件的判断。由于资源匹配双方之间的基本信息和匹配条件不能实现可信的共享,导致资源匹配的成功率较低。此外,目前的资源匹配双方在进行资源匹配的过程中,大多是资源匹配的双方自身推进资源匹配的流程,资源匹配的过程较为繁琐,资源匹配的效率较低。尤其是针对新能源企业的资源匹配,基于新能源企业的运行情况可能受到环境、气候的影响,运行信息的波动较大,不确定性较高。导致资源提供方可能不容易获得新能源企业的相关信息,导致对新能源企业的信息的可信度不高,难以基于相关信息对新能源企业进行全面的评估,实现资源的匹配。
基于此,本申请实施例提供一种基于区块链的资源匹配方法,该方法应用于资源匹配系统,所述资源匹配系统基于区块链建立。资源匹配系统响应于由请求使用用户或请求提供用户触发的资源匹配请求,确定目标使用用户;获取目标使用用户的用户信息,根据所述用户信息确定所述目标使用用户中的待匹配使用用户;若具有所述待匹配使用用户,根据由所述待匹配使用用户发送的第一匹配请求和向所述待匹配使用用户发送的第二匹配请求,确定待匹配提供用户;根据所述待匹配提供用户的数量和所述待匹配使用用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户。
为了便于理解本申请实施例提供的技术方案,下面结合附图对本申请实施例提供的一种基于区块链的资源匹配方法进行说明。
参见图1所示,该图为本申请实施例提供的一种基于区块链的资源匹配方法的流程图,该方法包括步骤S101-S104。
首先需要说明的是。本申请实施例提供的基于区块链的资源匹配方法可以应用于基于区块链建立的资源匹配系统。资源匹配系统可以基于区块链底层技术实现对于资源信息的监测和处理、流程处理、资源匹配、规则提供、信息储存、数据追溯等功能。
基于区块链建立的资源匹配系统可以实现信息的安全共享,以及匹配过程、匹配规则的透明,使得资源匹配的双方的可信任程度较高,便于资源匹配的双方实现资源匹配。
S101:响应于由请求使用用户或请求提供用户触发的资源匹配请求,确定目标使用用户;所述请求使用用户对应于所述区块链中的区块链节点;所述请求提供用户对应于所述区块链中的区块链节点。
请求使用用户具体可以是指在资源匹配系统中预先注册的使用用户,请求使用用户可以为请求使用资源进行匹配的使用用户。请求使用用户对应于区块链中的区块链节点,以便实现在资源匹配系统中的信息发布、交互、查询、储存以及资源匹配等功能。
在一种可能的实现方式中,请求使用用户可以预先通过将注册信息发送至资源匹配系统,以便实现对应的账户的注册。请求使用用户的注册信息具体可以为请求使用用户对应的企业或者是个人的基本信息。例如,请求使用用户对应的企业或者个人,可以为发电企业、设备制造企业、运维企业、运营企业、施工企业和电站业主等。请求使用用户的注册信息具体可以为企业的基本登记信息等。资源匹配系统可以对请求使用用户的注册信息进行审核,审核条件可以是预先设置的。当审核通过后,资源匹配系统可以对应的建立区块链节点账户,并将该账户分配至请求使用用户,实现请求使用用户在资源匹配系统中的注册,使得请求使用用户与区块链节点进行对应。
请求提供用户具体可以是指在资源匹配系统中预先注册的提供用户,请求提供用户可以为请求进行提供资源匹配的提供用户。请求提供用户对应于区块链中的区块链节点,以便实现在资源匹配系统中的信息发布、交互、查询、储存以及资源匹配等功能。
在一种可能的实现方式中,请求提供用户在注册时需要通过资源匹配系统的审核。请求提供用户可以对应于金融机构、贷款公司、具有放款能力和意愿的个人、能源提供企业以及相关审核部门等。请求提供用户可以将注册信息发送至资源匹配系统中,注册信息具体可以为请求提供用户对应的企业或者个人具有提供资源的资质证明。比如,资源是资金时,对应的请求提供用户需要将资金借贷资质发送至资源匹配系统中,以便资源匹配系统实现对请求提供用户资质的审核。审核条件可以是预先设置的,审核通过后,资源匹配系统可以对应的建立区块链节点账户,并将该账户分配至请求提供用户,实现请求提供用户在资源匹配系统中的注册。
需要说明的是,在用户注册成功之后,资源匹配系统对应的为各个用户生成一对公钥和私钥,作为该用户启动账户和进行资源匹配的凭证。
在一种可能的实现方式中,同一个账号可以对应于请求提供用户和请求使用用户,用户在使用账号时,可以根据资源匹配的需要进行不同种类用户的切换。
使用用户可以在资源匹配系统中发布资源使用信息,资源使用信息中具有资源使用的相关条件以及使用方式等相关信息。提供用户可以根据资源匹配系统中的资源使用信息,选择所想要进行匹配的使用用户。对应的,提供用户可以在资源匹配系统中发布资源提供信息,资源提供信息中具有可以提供的资源的数量、以及使用用户需要满足的条件。使用用户可以根据资源匹配系统中的资源提供信息,选择所想要进行匹配的提供用户。资源使用信息和资源提供信息可以通过智能合约进行上链存证,实现防止篡改以及信息追溯。
请求使用用户或者是请求提供用户可以在需要进行资源匹配时触发资源匹配请求。
在一种可能的实现方式中,资源匹配请求具体可以是请求使用用户向所要匹配的提供用户发送的匹配请求,或者是请求提供用户想所要匹配的使用用户发送的匹配请求。例如,当请求使用用户点击触发提供用户对应的“匹配”按键时,资源匹配系统接收到请求使用用户触发的匹配请求后,确定目标使用用户。
在另一种可能的实现方式中,资源匹配请求可以是请求使用用户或者是请求提供用户需要开始进行资源匹配时发布的开始匹配请求。例如,请求使用用户或者提供用户可以先选择所想要进行资源匹配的对应的用户,在选择完成之后,通过点击触发“开始匹配”按键,发布资源匹配请求。资源匹配系统接收到请求使用用户触发的资源匹配请求,确定目标使用用户。
目标使用用户为根据发布资源匹配请求的请求使用用户或者是请求提供用户确定的,所要进行资源匹配的使用用户。
本申请实施例提供一种响应于由请求使用用户或请求提供用户触发的资源匹配请求,确定目标使用用户的具体实现方式,请参见下文。
S102:获取目标使用用户的用户信息,根据所述用户信息确定所述目标使用用户中的待匹配使用用户。
目标使用用户是初步确定的参与资源匹配的使用用户,基于使用用户的用户情况较为多变,需要对使用用户进行筛选,使得使用用户可以满足资源匹配的条件。
获取目标使用用户的用户信息,目标使用用户的用户信息可以是预先储存在区块链中的。用户信息中具体可以包括使用用户的用户基本信息和运行信息。用户基本信息具体可以是指与使用用户身份相关的信息,用于验证使用用户的可信程度的信息。运行信息可以是使用用户对应的企业的运行状态信息或者是使用用户对应的个人的相关状态信息。例如,使用用户为新能源企业,比如,发电企业、设备制造企业、运维企业、运营企业、施工企业、电站业主等,对应的用户信息中包括用户基本信息和运行信息。用户基本信息包括工商登记注册基本资料、变更记录、年检结果、企业工商行政处罚信息、企业税务登记、欠缴税款以及行政处罚、法定代表人身份证、企业注册登记证件、营业执照、企业信用代码、企业资质等信息。运行信息可以为与该企业的运行情况相关的信息,运行信息可以与新能源企业的具体类型相对应。比如,新能源企业范围内的发电企业、电站业主,对应的运行信息具体可以包括:持有电站数量、单个电站装机容量、单个电站累计发电量、单个电站日/月平均发电量、单个电站各设备生产厂家、单个电站建设位置、单个电站当地的风光资源、单个电站的并网运行时间、单个电站的电费收入情况、单个电站的补贴情况、单个电站的运维情况。新能源企业范围内的设备制造企业对应的运行信息具体可以包括:制造设备类型、制造设备名称、投运设备容量(规模)、在运设备容量(规模)、设备故障信息、设备维修信息。新能源企业范围内的运维企业、运营企业、施工企业对应的运行信息具体可以包括:累计服务电站装机容量、正在服务电站容量、累计服务电站数量、正在服务电站数量。
根据使用用户的用户信息确定目标使用用户中可以进行资源匹配的待匹配使用用户。
在一种可能的实现方式中,可以通过预先设置在资源匹配系统中的大数据、人工智能等技术先对目标使用用户的用户信息进行分析,得到分析结果。资源匹配系统可以根据分析结果对目标使用用户进行筛选。资源匹配系统还可以将目标使用用户的用户信息的分析结果发送至与目标使用用户进行资源匹配的提供用户,通过提供用户反馈的审核结果实现待匹配使用用户的筛选。
S103:若具有所述待匹配使用用户,根据由所述待匹配使用用户发送的第一匹配请求和向所述待匹配使用用户发送的第二匹配请求,确定待匹配提供用户。
如果具有待匹配使用用户,则需要确定与待匹配使用用户进行资源匹配的待匹配提供用户。待匹配使用用户可以与多个提供用户进行资源匹配,也可以具有多个提供用户要与待匹配使用用户进行资源匹配。根据与待匹配使用用户相关的第一匹配请求和第二匹配请求确定与待匹配使用用户对应的待匹配提供用户。
本申请实施例提供一种确定待匹配提供用户的具体实施方式,请参见下文。
需要说明的是,提供用户相对于使用用户,提供用户的状态较为稳定。一般来说,在提供用户进行注册时可以进行提供用户的相关信息的审核。注册成功的提供用户可以直接作为待匹配提供用户。在另一种可能的实现方式中,也可以对根据第一匹配请求和第二匹配请求确定的使用用户进行对应的审核,在审核完成之后,将通过审核的使用用户作为待匹配使用用户。
S104:根据所述待匹配提供用户的数量和所述待匹配使用用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户。
待匹配提供用户和待匹配使用用户的数量可以确定匹配的方式,根据待匹配提供用户和待匹配使用用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户。
在一种可能的实现方式中,本申请实施例提供一种确定匹配的目标待匹配使用用户和目标待匹配提供用户的实现方式,请参见下文。
需要说明的是,匹配的目标待匹配使用用户和目标待匹配提供用户,是参与资源匹配的待匹配使用用户和待匹配提供用户中的资源匹配的用户。在一种可能的实现方式中,可以针对参与每个资源匹配的待匹配使用用户和待匹配提供用户,确定对应的资源匹配的用户。
在确定匹配的目标待匹配使用用户和目标待匹配提供用户之后,在一种可能的实现方式中,可以将触发资源匹配请求的请求使用用户或者请求提供用户的匹配结果发送至对应的用户,以便触发资源请求的用户可以根据匹配结果确定匹配的用户。在另一种可能的实现方式中,可以直接进行资源匹配,自动进行后续流程。
基于上述S101至S104的内容可知,在本申请实施例中,实现在基于区块链上建立的资源匹配系统,响应于请求使用用户或者是请求提供用户触发的资源匹配请求,先确定目标使用用户。利用目标使用用户的用户信息对目标使用用户进行筛选,得到可以进行资源匹配的待匹配使用用户。使得确定的待匹配使用用户可以满足基本的资源匹配条件,提高资源匹配的效率和成功率。再基于确定的待匹配使用用户发送和接收的匹配请求,将需要与待匹配使用用户进行资源匹配的或者是待匹配使用用户所要匹配的提供用户作为待匹配提供用户。最后,根据待匹配使用用户和待匹配提供用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户。实现了在区块链上基于提供用户和使用用户所发布的信息和匹配请求,确定匹配的目标待匹配提供用户和目标待匹配资源用户。通过建立在区块链上的资源匹配系统,可以实现资源的提供用户和资源的使用用户的信息安全共享,匹配条件以及规则的透明,以及根据提供用户和使用用户的匹配请求和相关匹配条件的自动匹配,提高了资源提供方和资源使用方的互信程度以及资源匹配的效率。
使用用户和提供用户可以在资源匹配系统中浏览或者查询其他用户发布的资源提供信息或者资源使用信息,进而可以进行所要资源匹配的用户的选择。各个用户可以被其他用户选择进行资源匹配,也可以选择其他用户进行资源匹配。
对应的,本申请提供一种若具有所述待匹配使用用户,根据由所述待匹配使用用户发送的第一匹配请求和向所述待匹配使用用户发送的第二匹配请求,确定待匹配提供用户的具体实施方式,包括:
若具有所述待匹配使用用户,将第一匹配请求所要发送至的提供用户和发送第二匹配请求的提供用户作为待匹配提供用户;所述第一匹配请求是由所述待匹配使用用户发送的;所述第二匹配请求是向所述待匹配使用用户发送的。
第一匹配请求是待匹配使用用户向对应的提供用户发送的匹配请求,根据待匹配使用用户发送的第一匹配请求可以确定待匹配使用用户所要请求资源匹配的提供用户。第二匹配请求是向待匹配使用用户发送的第二匹配请求,根据向待匹配使用用户发送的第二匹配请求,可以确定请求待匹配使用用户进行资源匹配的提供用户。将第一匹配请求发送至的提供用户和发送第二匹配请求的提供用户作为待匹配提供用户。
基于上述内容可知,根据第一匹配请求和第二匹配请求,可以确定待匹配使用用户所要资源匹配的提供用户,和所要对于待匹配使用用户进行资源匹配的提供用户,从而确定待匹配提供用户。实现将参与资源匹配的提供用户作为待匹配提供用户,使得更为准确的匹配的目标待匹配使用用户和目标待匹配提供用户。
确定的待匹配使用用户和待匹配提供用户的数量可能为一个或者多个,对应于不同的待匹配使用用户和待匹配提供用户的数量,具有对应的匹配方式。
在一种可能的实现方式中,所述根据所述待匹配提供用户的数量和所述待匹配使用用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户,包括:
若所述待匹配使用用户的数量为一个,且所述待匹配提供用户的数量为一个,确定目标待匹配使用用户与目标待匹配提供用户匹配;所述目标待匹配使用用户为所述待匹配使用用户;所述目标待匹配提供用户为所述待匹配提供用户。
若待匹配使用用户的数量为一个,并且待匹配提供用户的数量为一个时,可以直接将该待匹配使用用户与该待匹配提供用户进行匹配。
基于上述内容可知,在当待匹配使用用户和待匹配提供用户的数量均为一个时,无需从待匹配使用用户和待匹配提供用户中分别选择目标待匹配使用用户和目标待匹配提供用户,满足一对一的情况,将对应的待匹配使用用户和待匹配提供用户分别作为目标待匹配使用用户和目标待匹配提供用户,实现资源的匹配。
在一种可能的实现方式中,所述根据所述待匹配提供用户的数量和所述待匹配使用用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户,包括以下步骤:
A1:若所述待匹配使用用户的数量为一个,且所述待匹配提供用户的数量为多个,获取所述待匹配提供用户的资源提供信息。
如果待匹配使用用户的数量为一个,并且待匹配提供用户的数量为多个时,待匹配使用用户为目标待匹配使用用户,由于待匹配提供用户的数量为多个,需要从多个待匹配提供用户中选取目标待匹配提供用户。
获取各个待匹配提供用户对应的资源提供信息,资源提供信息可以是待匹配提供用户在进行资源匹配时发布的所能提供的资源的相关信息。资源提供信息中具体可以包括待匹配提供用户可以提供的资源的信息以及对应的使用用户需要满足的条件。例如,当资源为资金资源时,对应的资源提供信息可以为待匹配提供用户可以提供的资金金额、资金使用利率范围、资金使用时长、资金交易款方式。当资源为能源资源时,对应的资源提供信息可以为待匹配提供用户可以提供的资源种类、资源数量、资源交易方式等等。
A2:获取所述资源提供信息中的预设排序参数,根据所述预设排序参数的数值对所述待匹配提供用户进行排序。
资源提供信息中包括可以用于进行排序的预设排序参数。预设排序参数可以根据资源匹配的需要进行设置,预设排序参数可以是资源匹配时用户需要发布的必要的参数。
以上述匹配的资源为资金资源为例,预设排序参数可以为放款利率。
获取各个资源提供信息中的预设排序参数,基于预设排序参数的数值,可以对待匹配提供用户进行排序。比如,可以根据预设排序参数的数值从大到小的顺序对对应的待匹配提供用户进行排序。
需要说明的是,在预设排序参数的数值相同时,可以按照其他的匹配参数进行排序,例如,可以利用发送匹配请求的时间,确定预设排序参数的数值相同的待匹配提供用户的排序顺序。
A3:根据排序结果从所述待匹配提供用户中选取目标待匹配提供用户,确定目标待匹配使用用户与所述目标待匹配提供用户匹配;所述目标待匹配使用用户为所述待匹配使用用户。
根据得到的排序结果,从待匹配提供用户中选取目标待匹配提供用户。在一种可能的实现方式中,可以将排序第一的待匹配提供用户作为目标待匹配提供用户。
将确定的目标待匹配使用用户和目标待匹配提供用户进行资源匹配。
A4:若所述待匹配使用用户的数量为多个,且所述待匹配提供用户的数量为一个,获取所述待匹配使用用户的资源使用信息。
对应的,若待匹配提供用户的数量为一个,并且待匹配使用用户的数量为多个时,待匹配提供用户为目标待匹配提供用户,由于待匹配使用用户的数量为多个,需要从多个待匹配使用用户中选取目标待匹配使用用户。
获取各个待匹配使用用户对应的资源使用信息,资源使用信息可以是待匹配使用用户在进行资源匹配时发布的需要使用的资源的相关信息。资源使用信息中具体可以包括待匹配使用用户需要使用的资源的信息以及对应的提供用户需要满足的条件。例如,当资源为资金资源时,对应的资源使用信息可以为资金金额、资金使用利率范围、使用时长、偿还方式等。
A5:获取所述资源使用信息中的预设排序参数,根据所述预设排序参数的数值对所述待匹配使用用户进行排序。
资源使用信息中包括可以用于进行排序的预设排序参数。预设排序参数可以根据资源匹配的需要进行设置,预设排序参数可以是资源匹配时用户需要发布的必要的参数。
以上述匹配的资源为资金资源为例,预设排序参数可以为资金使用利率范围。
获取各个资源使用信息中的预设排序参数,基于预设排序参数的数值,可以对待匹配使用用户进行排序。比如,可以根据预设排序参数的数值从大到小的顺序对对应的待匹配使用用户进行排序。
需要说明的是,在预设排序参数的数值相同时,可以按照其他的匹配参数进行排序,例如,可以利用发送匹配请求的时间,确定预设排序参数的数值相同的待匹配使用用户的排序顺序。
A6:根据排序结果从所述待匹配使用用户中选取目标待匹配使用用户,确定所述目标待匹配使用用户与目标待匹配提供用户匹配;所述目标待匹配提供用户为所述待匹配提供用户。
根据得到的排序结果,从待匹配使用用户中选取目标待匹配使用用户。在一种可能的实现方式中,可以将排序第一的待匹配使用用户作为目标待匹配使用用户。
将确定的目标待匹配提供用户和目标待匹配使用用户进行资源匹配。
在本申请实施例中,当待匹配提供用户与待匹配使用用户之间为一对多或者是多对一的数量关系时,需要进行对应的目标待匹配提供用户或者目标待匹配使用用户的选取。通过获取预设排序参数的数值以及基于数值进行排序,可以确定得到更为匹配的用户,实现资源的自动匹配。
在另一种可能的实现方式中,待匹配提供用户与待匹配使用用户之间为多对多的数量关系。
对应的,本申请实施例提供一种所述根据所述待匹配提供用户的数量和所述待匹配使用用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户,具体包括以下三个步骤:
B1:若所述待匹配使用用户的数量为多个,且所述待匹配提供用户的数量为多个,获取所述待匹配提供用户的资源提供信息和所述待匹配使用用户的资源使用信息。
如果待匹配使用用户的数量为多个,并且待匹配提供用户的数量为多个时,需要从多个待匹配提供用户中选取目标待匹配提供用户,从多个待匹配使用用户中选取目标待匹配使用用户。
获取各个待匹配提供用户对应的资源提供信息,以及各个待匹配使用用户对应的资源使用信息。
B2:分别获取所述资源提供信息和所述资源使用信息中的预设排序参数,将所述预设排序参数作为双向拍卖模型的输入数据,得到所述双向拍卖模型输出的所述待匹配使用用户和所述待匹配提供用户的排序结果。
分别获取资源提供信息和资源使用信息中的预设排序参数。以资源为资金资源为例,各个用户对应的预设排序参数可以用tj=(mj,ij)表示,其中,tj表示第j个用户的预设排序参数,j的取值为大于0小于等于N的正整数,N为待匹配提供用户和待匹配使用用户的数量的总和。mj表示第j个用户的资金金额,mj<0代表待匹配提供用户提供的资金金额,mj>0代表待匹配使用用户提出的使用的资金的金额。ij代表第j个用户的利率,ij<0代表待匹配提供用户提出的资金使用利率,ij>0代表待匹配使用用户提出的资金使用利率。
将得到的预设排序参数输入至双向拍卖模型中,双向拍卖模型用于确定多对多关系中的最优匹配对象。
在一种参与资源匹配的为涉及到新能源领域的用户的具体应用场景中,仍以资源为资金资源为例,参与资源匹配的待匹配使用用户和待匹配提供用户的总数为g个,其中包含k个待匹配使用用户及g-k个待匹配提供用户。其中,g为正整数,k为小于g大于0的正整数。涉及资源匹配的用户所涉及的新能源类型集合为S,由h个不同的新能源类型组成,例如光伏、风电、生物质能、储能等。资源匹配系统获取的资源提供信息和资源使用信息的信息集合为T,且T={T1,T2,…,Tj,…,Tp}。其中,p为资源提供信息和资源使用信息的数量总和。Tj=(mij,nj),i∈S,mij代表信息集合T中第j个信息中涉及第i种新能源类型的资金金额,mij<0代表待匹配提供用户提供的资金金额,mij>0代表待匹配使用用户所需要的资金金额。nj代表第j个信息中的利率,nj<0代表待匹配提供用户提出的资金使用利率,nj>0代表待匹配使用用户提出的资金使用利率。
对应的,涉及到新能源的资源匹配的双向拍卖模型的公式如下:
如公式(1)所示,Z为目标函数,max表示求
的极大值,代表该双向拍卖模型的目标是实现资源匹配的最大化,x
j代表决策变量。
公式(2)为约束条件,用来表示当进行新能源领域的资源匹配时,待匹配提供用户至少需要保证其提供的资金金额可以满足资源匹配所需要的资金金额。
公式(3)为约束条件,决策变量xj取值为0或1,实现将双向拍卖模型简化为0或1的整数规划问题,便于求解。
在开始进行资源匹配时,资源匹配系统分别获取待匹配使用用户和待匹配提供用户对应的资源提供信息和资源使用信息中的预设排序参数,即Tj。资源匹配系统调用预设的双向拍卖模型,计算得到各个决策变量xj。基于计算得到的决策变量xj的数值,资源匹配系统可以对待匹配使用用户和待匹配提供用户进行排序,便于后续选择目标待匹配使用用户和目标待匹配提供用户。
在一种可能的实现方式中,资源匹配系统可以先根据决策变量xj的数值,从待匹配使用用户和待匹配提供用户中选择可以使得资源匹配最大化的用户作为潜在使用用户和潜在提供用户。再按照各个用户的资金使用利率nj,对潜在使用用户和潜在提供用户分别进行排序。对潜在使用用户可以按照资金使用利率nj由大到小进行排序,得到排列列表B1。对潜在提供用户可以按照资金使用利率nj由小到大进行排序,得到排列列表B2。如果存在资金使用利率相同的情况,则按在资源匹配系统中提交的时间顺序进行排序。
鉴于不同的新能源领域的资源匹配存在不同,将排列列表B2中的潜在提供用户,按照涉及的不同的新能源类型进行分类,得到对应于h个的新能源类型的h个潜在提供用户列表B2i。
B3:根据所述排序结果在所述待匹配使用用户中选取目标待匹配使用用户,在所述待匹配提供用户中选取目标待匹配提供用户;确定所述目标待匹配使用用户和所述目标待匹配使用用户匹配。
根据双向拍卖模型输出的排序结果,选取目标待匹配使用用户和对应匹配的目标待匹配提供用户。
仍以上述具体应用场景为例,根据列表B1和B2中各个用户的排序顺序,可以生成资源匹配矩阵MT(r,s),其中,r表示B1中第r个潜在使用用户为目标待匹配使用用户,s表示B2中第s个潜在提供用户为目标待匹配提供用户。根据资源匹配矩阵,确定目标待匹配使用用户与目标待匹配提供用户进行资源匹配。
在本申请实施例中,当待匹配提供用户与待匹配使用用户之间为多对多的数量关系时,通过双向拍卖模型确定匹配的目标待匹配使用用户和目标待匹配提供用户,实现在多个待匹配提供用户和多个待匹配使用用户需要进行资源匹配时,自动实现用户之间的资源匹配。
触发的资源匹配请求的用户种类不同,对应的确定目标使用用户的方式不同。对应的,本申请实施例提供一种所述响应于由请求使用用户或请求提供用户触发的资源匹配请求,确定目标使用用户的具体实施方式,包括以下步骤:
在当请求使用用户发布资源匹配请求时:
C1:响应于由请求使用用户触发的资源匹配请求,获取向所述请求使用用户发送的第三匹配请求和所述请求使用用户发送的第四匹配请求。
资源匹配系统响应与由请求使用用户触发的资源匹配请求,获取与请求使用用户相关的匹配请求。
具体的,获取向请求使用用户发送的第三匹配请求和请求使用用户发送的第四匹配请求。第三匹配请求可以用于确定需要与请求使用用户进行资源匹配的提供用户。第四匹配请求可以用于确定请求使用用户需要进行资源匹配的提供用户。
C2:将发送所述第三匹配请求的提供用户和所述第四匹配请求所要发送至的提供用户作为目标提供用户。
发送第三匹配请求的提供用户是需要与请求使用用户进行资源匹配的提供用户。第四匹配请求所要发送到的提供用户为请求使用用户需要进行资源匹配的提供用户。
发送第三匹配请求的提供用户和第四匹配请求所要发送至的提供用户为与请求使用用户资源匹配的提供用户,将发送第三匹配请求的提供用户和第四匹配请求所要发送至的提供用户确定为目标提供用户。
C3:获取所述目标提供用户发送的第五匹配请求和向所述目标提供用户发送的第六匹配请求。
目标提供用户可能还选择了其他的使用用户,或者被其他的使用用户选择。与目标提供用户相关的使用用户可能会影响到提供用户与使用用户进行资源匹配的过程。
获取目标提供用户发送的第五匹配请求以及向目标提供用户发送的第六匹配请求。
C4:将所述第五匹配请求所要发送至的使用用户和发送所述第六匹配请求的使用用户作为目标使用用户。
第五匹配请求所发送至的使用用户为目标提供用户所选择的所要进行资源匹配的使用用户。发送第六匹配请求的使用用户为所要和目标提供用户进行资源匹配的使用用户。将第五匹配请求所要发送至的使用用户和发送第六匹配请求的使用用户作为目标使用用户。
或者,在当请求提供用户发布资源匹配请求时:
C5:响应于由请求提供用户触发的资源匹配请求,获取所述请求提供用户发送的第七匹配请求,和发送至所述请求提供用户的第八匹配请求。
资源匹配系统响应与由请求提供用户触发的资源匹配请求,获取与请求提供用户相关的匹配请求。
具体的,获取向请求提供用户发送的第八匹配请求和请求提供用户发送的第七匹配请求。第八匹配请求可以用于确定需要与请求提供用户进行资源匹配的使用用户。第七匹配请求可以用于确定请求提供用户需要进行资源匹配的使用用户。
C6:将所述第七匹配请求所要发送至的使用用户和发送所述第八匹配请求的使用用户作为目标使用用户。
将第七匹配请求所要发送至的使用用户和发送第八匹配请求的使用用户作为目标使用用户。
基于上述内容可知,通过针对不同类型触发资源匹配请求的用户,对应的获取匹配请求,确定目标使用用户。如此可以实现确定触发资源匹配请求的请求使用用户或者请求提供用户相关的目标使用用户,实现后续的待匹配使用用户的筛选和更为准确的资源匹配。
在一种可能的实现方式中,在确定了匹配的目标待匹配使用用户和目标待匹配提供用户之后,还可以继续实现匹配的用户之间的资源交易流程。
本申请实施例提供的基于区块链的资源匹配方法,除了上述S101-S104以外,所述方法还包括:
D1:若所述资源匹配请求由请求使用用户发布,且所述请求使用用户具有匹配的目标待匹配提供用户,调用智能合约生成资源使用许可信息,将所述资源使用许可信息发送至所述请求使用用户和所述目标待匹配提供用户,以使所述请求使用用户和所述目标待匹配提供用户对所述资源使用许可信息进行确认。
需要说明的是,确定匹配的目标待匹配使用用户和目标待匹配提供用户为参与资源匹配的使用用户和提供用户,目标待匹配使用用户可能不包括请求使用用户,也就是说,存在请求使用用户不能参与资源匹配的可能。
如果资源匹配请求是由请求使用用户发布,需要确定请求使用用户是否具有对应匹配的目标待匹配提供用户。若请求使用用户具有匹配的目标待匹配提供用户,则请求使用用户与和其对应的目标待匹配提供用户资源匹配。
而确定资源匹配后,匹配的双方还需要确定需要遵守的资源使用许可信息,以实现后续依据资源使用许可信息进行资源的提供和使用。
资源匹配系统在确定请求使用用户具有匹配的目标待匹配提供用户后,触发调用智能合约,通过智能合约生成资源使用许可信息。智能合约可以预先定义有对应的资源使用许可信息的模板。基于智能合约可以生成标准的资源使用许可信息。
智能合约生成的资源使用许可信息还需要进一步确认才可以确定使用。资源匹配系统将生成的资源使用许可信息发送至请求使用用户和目标待匹配提供用户,以便对资源使用许可信息进行确认。
D2:接收到所述请求使用用户的确认信息和所述目标待匹配提供用户的确认信息,将确认后的资源使用许可信息进行上链储存。
请求使用用户和目标待匹配提供用户可以对接收到的资源使用许可信息进行确认。
在一种可能的实现方式中,若请求使用用户或目标待匹配提供用户对应的使用者比如企业,不同意该资源使用许可信息,可以触发修改流程,对资源使用许可信息进行修改。修改的一方将修改后的资源使用许可信息发送至对应的另一方,以便另一方进行确认。
在请求使用用户的使用者确认资源使用许可信息后,可以触发请求使用用户向资源匹配系统发送确认信息。在目标待匹配提供用户的使用者确认资源使用许可信息后,可以触发目标待匹配提供用户向资源匹配系统发送确认信息。确认信息中可以包括请求使用用户或者目标待匹配提供用户确认的资源使用许可信息的具体内容,以便资源匹配系统根据确认信息确定资源匹配双方最终确认的资源使用许可信息。
在资源匹配系统接收到请求使用用户的确认信息和目标待匹配提供用户的确认信息后,可以确认资源匹配双方同意本次资源匹配,将确认后的资源使用许可信息进行上链储存。
在一种可能的实现方式中,在预设时间内,若资源匹配系统未接收到请求使用用户或者对应的目标待匹配提供用户发送的确认信息,则说明并不同意进行本次资源匹配。资源匹配系统可以取消请求使用用户和对应的目标待匹配提供用户的匹配关系,结束本次资源匹配。
D3:若所述资源匹配请求由请求提供用户发布,且所述请求提供用户具有匹配的目标待匹配使用用户,调用智能合约生成资源使用许可信息,将所述资源使用许可信息发送至所述请求提供用户和所述目标待匹配使用用户,以使所述请求提供用户和所述目标待匹配使用用户对所述资源使用许可信息进行确认。
对应的,请求提供用户可能不存在匹配的目标待匹配使用用户。如果资源匹配请求是由请求提供用户发布,需要确定请求提供用户是否具有对应匹配的目标待匹配使用用户。若请求提供用户具有匹配的目标待匹配使用用户,则请求提供用户与和其对应的目标待匹配使用用户资源匹配。
而确定资源匹配后,匹配的双方还需要确定需要遵守的资源使用许可信息,以实现后续依据资源使用许可信息进行资源的提供和使用。
资源匹配系统在确定请求提供用户具有匹配的目标待匹配使用用户后,触发调用智能合约,通过智能合约生成资源使用许可信息。智能合约可以预先定义有对应的资源使用许可信息的模板。基于智能合约可以生成标准的资源使用许可信息。
智能合约生成的资源使用许可信息还需要进一步确认才可以确定使用。资源匹配系统将生成的资源使用许可信息发送至请求提供用户和目标待匹配使用用户,以便对资源使用许可信息进行确认。
D4:接收到所述请求提供用户的确认信息和所述目标待匹配使用用户的确认信息,将确认后的资源使用许可信息进行上链储存。
请求提供用户和目标待匹配使用用户可以对接收到的资源使用许可信息进行确认。
在一种可能的实现方式中,若请求提供用户或目标待匹配使用用户对应的使用者不同意该资源使用许可信息,可以触发修改流程,对资源使用许可信息进行修改。修改的一方将修改后的资源使用许可信息发送至对应的另一方,以便另一方进行确认。
在请求提供用户的使用者确认资源使用许可信息后,可以触发请求提供用户向资源匹配系统发送确认信息。在目标待匹配使用用户的使用者确认资源使用许可信息后,可以触发目标待匹配使用用户向资源匹配系统发送确认信息。确认信息中可以包括请求提供用户或者目标待匹配使用用户确认的资源使用许可信息的具体内容,以便资源匹配系统根据确认信息确定资源匹配双方最终确认的资源使用许可信息。
在资源匹配系统接收到请求提供用户的确认信息和目标待匹配使用用户的确认信息后,可以确认资源匹配双方同意本次资源匹配,将确认后的资源使用许可信息将以点对点形式在资源匹配系统中进行传播,系统会将某一设定时间段内最新产生的资源使用许可信息进行打包,存入最新的区块中,并以区块形式链入资源匹配系统的区块链中,并实现分布式存储。
资源匹配的双方在确认资源使用许可信息之后,可以基于资源使用许可信息实现资源交易。资源匹配系统可以获取相关资源交易的信息,根据时间顺序依次将规定时间段内的资源交易的信息生成相关区块,其中每笔资源交易的信息通过哈希算法生成相应的哈希函数值,并由此建立一棵默克尔树,且生成唯一的默克尔树根,并存入区块的区块头和区块体中。
在资源交易完成后,相关区块信息传输到与交易相关的各节点当中也就是资源匹配的双方,基于DPOS(Delegated Proof of Stake,委托权益证明)共识机制使交易相关的各节点在该去中心化的资源匹配系统中,快速有效地达成共识,并经过各节点验证,实现上链存证及分布式存储。
为了保证资源匹配的安全,资源匹配可以采用由公开密钥和私有密钥组成的非对称加密算法,参与资源匹配的双方需使用自己的密钥来解密信息,才可以达成资源匹配,其他未授权或未参与资源匹配的用户则无法实现解密,从而保证资源匹配的安全性、所有权验证等需求。
在一种可能的实现方式中,资源匹配系统还可以设置预设时间作为匹配时间,在预设时间内,若资源匹配系统未接收到请求提供用户或者对应的目标待匹配使用用户发送的确认信息,则说明双方中的一方或者双方并不同意进行本次资源匹配。资源匹配系统可以取消请求提供用户和对应的目标待匹配使用用户的匹配关系,本次资源匹配失败。
需要说明的是,资源匹配系统实现的资源匹配是基于用户选择的范围内,确定较优的资源匹配对象。若用户实现资源匹配之后,仍存在剩余的提供的资源或者是使用的资源未得到利用,可以对应的更新用户发布的资源提供信息或者资源使用信息,以便用户与其他的用户再进行资源匹配。
基于上述内容可知,通过在确定匹配的双方后,资源匹配系统自动进行资源使用许可信息的确认流程,以便资源匹配的双方对资源使用许可信息共同确认,实现后续的资源交易。如此可以提高完成资源匹配和资源交易的效率。
本申请实施例还提供一种利用资源匹配系统实现资源匹配的具体场景。
参见图2所示,该图为本申请实施例提供的一种资源匹配系统的结构示意图。
资源匹配系统基于区块链建立,提供用户和使用用户可以在资源匹配系统中实现对应的资源提供信息和资源使用信息的发布。进而根据用户触发的资源匹配请求,资源匹配系统可以实现自动的资源匹配。并且,利用智能合约,可以实现相关信息的上链储存。
参见图3所示,该图为本申请实施例提供的资源匹配双方实现资源匹配的方法的流程图。使用用户以及提供用户先在资源匹配系统中进行注册,注册成功后,资源匹配系统为注册用户分配区块链节点、账号以及密钥对。注册后的用户可以对应的发送匹配请求。之后,用户可以通过触发资源匹配请求,使得资源匹配系统进行资源匹配。若资源匹配系统得到与用户资源匹配的其他用户,资源匹配系统触发智能合约,生成对应的资源使用许可信息,并将生成的资源使用许可信息发送至资源匹配的双方进行确认。资源匹配系统在接收到资源匹配双方发送的确认信息之后,确定确认后的资源使用许可信息有效。资源匹配的双方可以按照资源使用许可信息进行后续的资源交易。若资源匹配的双方中的任意一方或者是双方未在预设时间内反馈确认信息,则本次资源匹配失败。
基于上述方法实施例提供的一种基于区块链的资源匹配方法,本申请实施例还提供了一种基于区块链的资源匹配装置,下面将结合附图对基于区块链的资源匹配装置进行说明。
参见图4所示,该图为本申请实施例提供的一种基于区块链的资源匹配装置的结构示意图。如图4所示,该资源匹配装置包括:
响应单元401,用于响应于由请求使用用户或请求提供用户触发的资源匹配请求,确定目标使用用户;所述请求使用用户对应于所述区块链中的区块链节点;所述请求提供用户对应于所述区块链中的区块链节点;
获取单元402,用于获取目标使用用户的用户信息,根据所述用户信息确定所述目标使用用户中的待匹配使用用户;
确定单元403,用于若具有所述待匹配使用用户,根据由所述待匹配使用用户发送的第一匹配请求和向所述待匹配使用用户发送的第二匹配请求,确定待匹配提供用户;
匹配单元404,用于根据所述待匹配提供用户的数量和所述待匹配使用用户的数量,确定匹配的目标待匹配使用用户和目标待匹配提供用户。
在一种可能的实现方式中,所述确定单元403,具体用于若具有所述待匹配使用用户,将第一匹配请求所要发送至的提供用户和发送第二匹配请求的提供用户作为待匹配提供用户;所述第一匹配请求是由所述待匹配使用用户发送的;所述第二匹配请求是向所述待匹配使用用户发送的。
在一种可能的实现方式中,所述匹配单元404,包括:
第一匹配子单元,用于若所述待匹配使用用户的数量为一个,且所述待匹配提供用户的数量为一个,确定目标待匹配使用用户与目标待匹配提供用户匹配;所述目标待匹配使用用户为所述待匹配使用用户;所述目标待匹配提供用户为所述待匹配提供用户。
在一种可能的实现方式中,所述匹配单元404,包括:
第一获取子单元,用于若所述待匹配使用用户的数量为一个,且所述待匹配提供用户的数量为多个,获取所述待匹配提供用户的资源提供信息;
第二获取子单元,用于获取所述资源提供信息中的预设排序参数,根据所述预设排序参数的数值对所述待匹配提供用户进行排序;
第二匹配子单元,用于根据排序结果从所述待匹配提供用户中选取目标待匹配提供用户,确定目标待匹配使用用户与所述目标待匹配提供用户匹配;所述目标待匹配使用用户为所述待匹配使用用户;
第三获取子单元,用于若所述待匹配使用用户的数量为多个,且所述待匹配提供用户的数量为一个,获取所述待匹配使用用户的资源使用信息;
第四获取子单元,用于获取所述资源使用信息中的预设排序参数,根据所述预设排序参数的数值对所述待匹配使用用户进行排序;
第三匹配子单元,用于根据排序结果从所述待匹配使用用户中选取目标待匹配使用用户,确定所述目标待匹配使用用户与目标待匹配提供用户匹配;所述目标待匹配提供用户为所述待匹配提供用户。
在一种可能的实现方式中,所述匹配单元404,包括:
第五获取子单元,用于若所述待匹配使用用户的数量为多个,且所述待匹配提供用户的数量为多个,获取所述待匹配提供用户的资源提供信息和所述待匹配使用用户的资源使用信息;
第六获取子单元,用于分别获取所述资源提供信息和所述资源使用信息中的预设排序参数,将所述预设排序参数作为双向拍卖模型的输入数据,得到所述双向拍卖模型输出的所述待匹配使用用户和所述待匹配提供用户的排序结果;
第四匹配子单元,用于根据所述排序结果在所述待匹配使用用户中选取目标待匹配使用用户,在所述待匹配提供用户中选取目标待匹配提供用户;确定所述目标待匹配使用用户和所述目标待匹配使用用户匹配。
在一种可能的实现方式中,所述响应单元401,包括:
第七获取子单元,用于响应于由请求使用用户触发的资源匹配请求,获取向所述请求使用用户发送的第三匹配请求和所述请求使用用户发送的第四匹配请求;
第一确定子单元,用于将发送所述第三匹配请求的提供用户和所述第四匹配请求所要发送至的提供用户作为目标提供用户;
第八获取子单元,用于获取所述目标提供用户发送的第五匹配请求和向所述目标提供用户发送的第六匹配请求;
第二确定子单元,用于将所述第五匹配请求所要发送至的使用用户和发送所述第六匹配请求的使用用户作为目标使用用户;
或者,
第九获取子单元,用于响应于由请求提供用户触发的资源匹配请求,获取所述提供用户发送的第七匹配请求,和发送至所述提供用户的第八匹配请求;
第三确定子单元,用于将所述第七匹配请求所要发送至的使用用户和发送所述第八匹配请求的使用用户作为目标使用用户。
在一种可能的实现方式中,所述装置还包括:
第一确认单元,用于若所述资源匹配请求由请求使用用户发布,且所述请求使用用户具有匹配的目标待匹配提供用户,调用智能合约生成资源使用许可信息,将所述资源使用许可信息发送至所述请求使用用户和所述目标待匹配提供用户,以使所述请求使用用户和所述目标待匹配提供用户对所述资源使用许可信息进行确认;
第一接收单元,用于接收到所述请求使用用户的确认信息和所述目标待匹配提供用户的确认信息,将确认后的资源使用许可信息进行上链储存;
第二确认单元,用于若所述资源匹配请求由请求提供用户发布,且所述请求提供用户具有匹配的目标待匹配使用用户,调用智能合约生成资源使用许可信息,将所述资源使用许可信息发送至所述请求提供用户和所述目标待匹配使用用户,以使所述请求提供用户和所述目标待匹配使用用户对所述资源使用许可信息进行确认;
第二接收单元,用于接收到所述请求提供用户的确认信息和所述目标待匹配使用用户的确认信息,将确认后的资源使用许可信息进行上链储存。
基于上述方法实施例提供的一种基于区块链的资源匹配方法,本申请提供一种资源匹配设备,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述实施例所述的方法。
基于上述方法实施例提供的一种基于区块链的资源匹配方法,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述实施例所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。