一种资源分配方法与流程
未命名
07-23
阅读:125
评论:0
一种资源分配方法
1.本技术要求于2022年11月17日提交国家知识产权局、申请号为202211441624.8、发明名称为“一种资源分配方法”的发明专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本说明书涉及计算机技术领域,尤其涉及一种资源分配方法。
背景技术:
3.随着互联网技术的发展,线上业务得到了快速的发展和广泛的关注。在执行线上业务的过程中,可根据用户执行的业务分配相应的业务资源。
4.目前,业务资源的分配方案通常由服务提供方制定,并在分配时由服务提供方根据自己制定的分配方案确定每个用户分配到的业务资源。
5.但是,业务资源的分配可能涉及到大量用户,服务提供方难以保证分配方案能够精准执行。并且,目前的分配方案不够公开透明,用户无法监督资源分配的公平性。
技术实现要素:
6.本说明书提供一种资源分配方法,以部分的解决现有技术存在的上述问题。
7.本说明书采用下述技术方案:
8.本说明书提供了一种资源分配方法,包括:
9.所述业务服务器,用于确定待执行的业务活动的智能合约内容,并生成携带所述智能合约内容的智能合约创建请求,发送给区块链节点设备;
10.所述区块链节点设备,用于响应于所述智能合约创建请求,根据所述智能合约创建请求中携带的智能合约内容创建目标智能合约,并存储至区块链中;
11.所述客户端,用于将用户执行业务的业务数据发送给所述业务服务器;
12.所述业务服务器,用于接收所述业务数据,并在确定所述目标智能合约上链存储时,将所述业务数据转发给所述区块链节点设备;
13.所述区块链节点设备,用于根据接收到的所述业务数据,调用所述目标智能合约;通过运行所述目标智能合约,根据所述业务数据,确定符合所述目标智能合约的合约条件的业务;当达到所述目标智能合约的资源分配时间时,根据确定出的符合所述合约条件的业务,为执行所述符合合约条件的业务的用户分配业务资源。
14.可选地,所述客户端,还用于响应于用户的操作,根据所述用户的标识生成参与请求,并发送给所述业务服务器;
15.所述业务服务器,还用于响应于所述参与请求,获取活动合约模板,根据所述参与请求携带的所述用户的标识以及所述活动合约模板,生成活动合约并发送给所述客户端,所述活动合约用于提示所述用户参与所述目标智能合约对应的业务活动;
16.所述客户端,还用于展示所述活动合约;响应于所述用户的操作,向所述业务服务
器发送签约请求;
17.所述业务服务器,还用于根据所述签约请求,将所述用户的标识发送给所述区块链节点设备;
18.所述区块链节点设备,还用于接收所述用户的标识,建立所述用户的标识与所述目标智能合约的对应关系,并存储在所述区块链中。
19.可选地,所述用户执行业务的业务数据包括:所述用户的目标标识;
20.所述区块链节点设备,还用于当根据所述区块链中存储的所述用户的标识与所述目标智能合约的对应关系,确定所述目标标识与所述目标智能合约存在对应关系时,调用所述目标智能合约。
21.可选地,所述智能合约内容包括所述待执行的业务活动的指定时间周期和指定关键词;所述业务数据包括业务的执行时间和业务文本;
22.所述区块链节点设备,用于通过运行所述目标智能合约,判断所述业务数据包含的执行时间是否落入所述指定时间周期,以及所述业务数据包含的业务文本是否命中所述指定关键词;若判断结果均为是,则确定所述业务数据对应的业务为符合所述目标智能合约的合约条件的业务。
23.可选地,所述区块链节点设备,用于将符合所述合约条件的业务存储在区块链中;当达到所述目标智能合约的资源分配时间时,调用所述目标智能合约,并通过运行所述目标智能合约,确定所述区块链中存储的符合所述合约条件的业务,分别为执行符合所述合约条件的业务的用户分配业务资源。
24.可选地,所述区块链节点设备,还用于当达到所述目标智能合约的资源分配时间时,调用所述目标智能合约,并通过运行所述目标智能合约,向所述业务服务器发送数据获取请求;
25.所述业务服务器,用于响应于所述数据获取请求,将符合所述合约条件的业务发送给所述区块链节点设备;
26.所述区块链节点设备,还用于根据接收到的符合所述合约条件的业务,为执行符合所述合约条件的业务的用户分配业务资源。
27.可选地,所述智能合约内容还包括第一业务资源量;
28.所述区块链节点设备,还用于执行所述目标智能合约,根据所述第一业务资源量生成冻结指令,并发送给资源平台;
29.所述资源平台,用于响应于所述冻结指令,冻结所述资源平台中所述业务服务器对应的账户中所述第一业务资源量对应的业务资源。
30.可选地,所述智能合约内容还包括第二业务资源量;
31.所述区块链节点设备,用于当达到所述目标智能合约的资源分配时间时,调用所述目标智能合约,并通过运行所述目标智能合约,根据符合所述合约条件的各业务,确定执行符合所述合约条件的业务的各目标用户;针对每个目标用户,根据该目标用户执行的符合所述合约条件的业务以及所述第二业务资源量,确定分配给该目标用户的目标资源分配量;根据所述目标资源分配量,为该目标用户分配业务资源。
32.可选地,所述区块链节点设备,具体用于根据所述目标资源分配量生成分配指令,将所述分配指令发送给资源平台;
33.所述资源平台,具体用于响应于所述分配指令,将所述业务服务器对应的账户中,所述目标资源分配量对应的业务资源分配到所述目标用户对应的账户中。
34.可选地,所述业务资源为数字人民币。
35.本说明书提供了一种资源分配装置,所述装置应用于客户端,所述装置包括:
36.业务数据确定模块,用于根据用户执行的业务,确定业务数据;
37.第一发送模块,用于将所述业务数据发送给业务服务器,使所述业务服务器将所述业务数据转发给所述区块链节点设备,由所述区块链节点设备基于预先上链存储的目标智能合约,判断所述业务数据是否符合合约条件,并在符合所述合约条件时,确定分配给所述用户的目标业务资源并分配。
38.本说明书提供了一种资源分配装置,所述装置应用于业务服务器,所述装置包括:
39.智能合约内容确定模块,用于确定待执行的业务活动的智能合约内容;
40.第二发送模块,用于生成携带所述智能合约内容的智能合约创建请求,并发送给区块链节点设备,使得所述区块链节点设备响应于所述智能合约创建请求,根据所述智能合约创建请求中携带的智能合约内容创建目标智能合约,并存储至区块链中;
41.第一接收模块,用于接收由所述客户端发送的用户执行业务的业务数据;
42.第三发送模块,用于在确定所述目标智能合约上链存储时,将所述业务数据转发给区块链节点设备,使得所述区块链节点设备根据接收到的所述业务数据,调用所述目标智能合约,以便通过运行所述目标智能合约,根据所述业务数据确定符合所述目标智能合约的合约条件的业务,并当达到所述目标智能合约的资源分配时间时,根据确定出的符合所述合约条件的业务,为执行所述符合合约条件的业务的用户分配业务资源。
43.本说明书提供了一种资源分配装置,所述装置应用于区块链节点设备,所述装置包括:
44.创建模块,用于响应于业务服务器发送的智能合约创建请求,根据所述智能合约创建请求中携带的智能合约内容创建目标智能合约,并存储至区块链中;所述智能合约创建请求是由所述业务服务器根据待执行的业务活动的智能合约内容生成的;
45.第二接收模块,用于接收所述业务服务器发送的用户执行业务的业务数据;
46.调用模块,用于根据所述业务数据,调用所述目标智能合约;
47.业务确定模块,用于通过运行所述目标智能合约,根据所述业务数据,确定符合所述目标智能合约的合约条件的业务;
48.分配模块,用于当达到所述目标智能合约的资源分配时间时,根据确定出的符合所述合约条件的业务,为执行所述符合合约条件的业务的用户分配业务资源。
49.本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述资源分配方法。
50.本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述资源分配方法。
51.本说明书采用的上述至少一个技术方案能够达到以下有益效果:
52.在本说明书提供的资源分配方法中,由业务服务器确定待执行的业务活动的智能合约内容并以此生成智能合约创建请求,发送给区块链节点设备,区块链节点设备根据智能合约创建请求中携带的智能合约内容创建目标智能合约,进而在接收到的用户执行业务
的业务数据时,调用目标智能合约,通过运行目标智能合约,根据接收到的业务数据没确定符合合约条件的业务,并在达到目标智能合约的资源分配时间时,根据符合合约条件的业务为用户分配业务资源。可见,利用区块链中的目标智能合约自动完成资源的分配,合约条件和分配环节相对透明,用户可以监督资源分配的公平性,避免服务提供方对业务资源分配不均。
附图说明
53.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
54.图1为本说明书中一种资源分配方法的流程示意图;
55.图2为本说明书中一种资源分配方法的流程示意图;
56.图3为本说明书提供的一种资源分配装置的示意图;
57.图4为本说明书提供的一种资源分配装置的示意图;
58.图5为本说明书提供的一种资源分配装置的示意图;
59.图6为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
60.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
61.另外,需要说明的是,本发明中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
62.随着互联网技术的发展,越来越多的用户开始进行线上业务。用户在进行线上业务的过程中,业务平台可根据用户执行的业务分配相应的业务资源。而在不同的应用场景下,在用户执行不同的线上业务的过程中,可能都会涉及分配业务资源的问题。
63.例如,在业务平台为向企业用户提供云盘存储资源的云盘提供平台时,用户为存储资源需求方,其执行的业务可以是在云盘提供平台提供的网盘中存储数据。当用户为算力需求方,其执行的业务需要通过算力资源执行时,业务平台可根据用户执行的历史业务所需的历史算力为用户下一次执行的业务合理分配算力资源,以保证业务能够正常执行,而又不浪费算力资源。又如,当用户为电力资源需求方式,用户所执行的业务需要使用电力资源时,可由业务平台可预测用户所执行的业务的实际电力负载,为用户分配电力资源,以保证用户有充足的电力资源能够正常执行业务。再如,在基于电子货币的交易场景中,业务平台可根据用户的历史交易为用户分配电子货币。
64.由此可见,分配业务资源的问题广泛存在于各种不同类型的业务场景中,如何提高资源分配的合理性成为了亟待解决的问题。
65.目前,业务资源的分配方案通常由服务提供方制定,并在分配时由服务提供方根
据自己制定的分配方案确定每个用户分配到的业务资源。但是,业务资源的分配可能涉及到大量用户,服务提供方难以保证分配方案能够精准执行。并且,目前的分配方案不够公开透明,用户无法监督资源分配的公平性。
66.基于此,本说明书提供的资源分配方法中,通过在区块链节点设备中创建目标智能合约的方式,由区块链节点设备执行目标智能合约,根据用户执行业务的业务数据确定符合目标智能合约的合约条件的业务,进而在资源分配事件达到时,根据符合合约条件的业务,分配业务资源。采用区块链节点设备中创建的智能合约对业务资源进行公开透明的分配,避免服务提供方在活动过程中篡改互动规则,或者分配不公的情况发生。
67.以下结合附图,详细说明本说明书各实施例提供的技术方案。
68.在本说明书提供的资源分配方法中,可由业务服务器、客户端和区块链节点设备共同执行资源分配方法的交互过程。其中,业务服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。客户端可以是现有的任意形式的支持接收业务服务器信息的电子设备,如笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等。业务服务器可以与客户端通过无线网络交互,以接受或发送信息。
69.图1为本说明书中一种资源分配方法的流程示意图,具体包括以下步骤:
70.s100:业务服务器确定待执行的业务活动的智能合约内容,并生成携带所述智能合约内容的智能合约创建请求。
71.在实际应用中,业务服务器可以作为服务提供方发起业务活动,用户在通过客户端执行业务时,可以参与业务服务器发起的业务活动,同时业务服务器可为参与业务活动的用户分配业务资源,如存储资源、算力资源、电力资源、数字货币等现有的可分配的业务资源。为了保证业务活动的分配方案和分配过程的公开透明,并提高分配的准确性,可以基于区块链技术对业务资源进行分配。
72.由此,可由业务服务器确定待执行的业务活动的智能合约内容,并根据智能合约内容生成智能合约创建请求,其中,智能合约内容可包括业务活动的资源分配方案、智能合约条件和资源分配时间,还可以包括业务活动的待分配的业务资源量、指定时间周期等内容。其中,智能合约内容可以是预先存储在业务服务器的,也可以是由操作人员输入到业务服务器中的,本说明书对此不做限定。
73.本说明书提供的一个或多个实施例中,以业务服务器为云盘服务器,用户为存储资源需求方,用户执行的业务为在云盘服务器中存储数据为例进行说明。
74.在此场景中,云盘服务器可以为用户提供一定的存储资源,以供用户上传并存储数据。如果当前云盘服务器提供的存储资源不满足用户的存储需求,云盘服务器可以为用户再次分配存储资源。具体的实施方式就可以是通过由区块链节点设备创建并执行的目标智能合约自动进行存储资源的分配。此时,智能合约内容可包括存储资源的分配方案、待分配的存储资源量等等。
75.s102:业务服务器将智能合约创建请求发送给区块链节点设备。
76.在实际应用中,智能合约通过用计算机语言取代法律语言记录条款,并由区块链网络上的程序自动执行,因其合约内容公开透明且不可篡改的特征,在本说明书实施例中,业务服务器通过向区块链节点设备发送智能合约创建请求的方式,由区块链节点设备创建目标智能合约并将目标智能合约存储上链,通过目标智能合约执行本说明书实施例中的业
务资源分配的方式,基于对取卵链中代码的信任,可以经济高效地根据合约中写明的资源分配方案来自动执行业务资源的分配。目标智能合约一旦创建并上链存储,业务服务器无法对目标智能合约的内容进行篡改,也不能干涉资源分配过程,并且,参与业务活动的用户也能监督分配过程,无需第三方仲裁,降低了在各个环节中分配纠纷发生的可能性。
77.s104:区块链节点设备响应于所述智能合约创建请求,根据所述智能合约创建请求中携带的智能合约内容创建目标智能合约,并存储至区块链中。
78.智能合约内容可以是执行智能合约所需的程序代码,区块链中的区块链节点设备接收智能合约创建请求,并从中解析出智能合约内容,并将执行智能合约所需的程序代码作为交易内容,创建共识目标智能合约的交易,通过发起交易,使区块链各节点设备对智能合约内容进行共识,共识通过后,实现了将智能合约存储在区块链中。
79.目标智能合约存储在区块链中,可由区块链上的各个区块链节点设备自动执行。
80.s106:客户端将用户执行业务的业务数据发送给所述业务服务器。
81.在实际应用中,目标用户在执行业务时,客户端可根据目标用户执行的业务生成业务数据,业务数据可以包括业务执行的时间、业务文本、业务中的交易对象,执行业务的用户的标识等数据。
82.以业务服务器为云盘服务器,用户为存储资源需求方,用户执行的业务为在云盘中存储数据,占用存储资源的场景为例,可根据用户在云盘中存储数据这一业务,确定业务数据包括存储的时间,存储数据的数据量大小和名称,以及用户的标识等数据。其中,在此场景中,业务数据中的业务文本可以是来源于存储数据的名称。比如在用户向云盘上传文件的场景中,云盘服务器可以对共享了知识文件的用户分配额外的存储空间,因此,如果用户上传的文件的名称包含了“科普资料”等能够指示该文件为共享知识文件的文本,则可以对该用户分配额外的存储空间,以避免用户共享知识文件时还受限于存储资源的数量。
83.客户端将业务数据发送给业务服务器一方面可由业务服务器记录用户执行的业务的数据,另一方面可以通过业务服务器将业务数据转发给区块链节点设备以参加业务活动。
84.s108:业务服务器接收客户端发送的业务数据。
85.在实际应用中,业务服务器可将用户执行业务的业务数据存储,以便后续其他业务中需要查询用户执行业务的细节时,可以通过调用业务数据以查询。
86.在本说明书实施例中,业务服务器接收客户端发送的业务数据后,可将其存储,并转发给区块链节点设备,以便区块链节点设备根据业务数据执行目标智能合约。
87.s110:业务服务器在确定所述目标智能合约上链存储时,转发业务数据至区块链节点设备。
88.通常情况下,可以将目标智能合约上链存储作为目标智能合约开始生效的时机,此时,业务服务器将业务数据转发给区块链节点设备时,区块链节点设备才能够执行目标智能合约。在实际应用中,目标智能合约会部署在区块链上,并由区块链节点设备自动执行,目标智能合约的执行时机可以被写在智能合约内容中,如智能合约内容中包括目标智能合约的执行时间节点。
89.当然,在本说明书一个或多个实施例中,为了防止业务数据上链存储导致的数据泄露,可以将业务数据的摘要存储在区块链中。
90.s112:区块链节点设备根据接收到的所述业务数据,调用所述目标智能合约,通过运行所述目标智能合约,根据所述业务数据,确定符合所述目标智能合约的合约条件的业务。
91.目前传统的资源分配方案容易在资源分配方案制定过程中出现信息不对称、信息支离和难以追溯等情况,如活动发起方在资源分配时不按照预定的分配方案执行,这导致对资源分配的可靠性较低。
92.针对上述问题,在本说明书实施例中,由区块链节点设备根据业务数据判断是否符合目标智能合约的合约条件的方式,利用区块链的不可抵赖以及可追溯的特性,既能够使得事先约定的分配方案公开透明,同时保证在基于智能合约的资源分配过程中提高分配的准确性和可信度。
93.具体的,目标智能合约中包含合约条件,仅当业务数据满足目标智能合约的条件时,才能够确定该业务数据对应的业务为符合目标智能合约的合约条件的业务。以用户执行的业务为在云盘中存储数据为例,如果目标智能合约中的合约条件规定业务的执行时间在每天的0时至20时,则当用户在云盘中存储数据的存储时间为晚上21时,则能够确定用户在云盘存储数据这一业务不符合合约条件。
94.s114:当达到所述目标智能合约的资源分配时间时,区块链节点设备根据确定出的符合所述合约条件的业务,为执行所述符合合约条件的业务的用户分配业务资源。
95.具体的,区块链节点设备可根据目标智能合约中预先设定的业务资源分配规则,确定每个符合合约条件的业务的用户分配到的目标资源量,并将目标资源量对应的资源分配给用户。例如在用户的存储资源账户中的剩余存储资源的基础上,增加目标资源量对应的存储资源。
96.区块链节点设备判断业务数据是否符合合约条件的时机可以是预先设定的资源分配时间,如在每天的19时,区块链节点设备都可开始根据接收到的业务数据开始逐一确定符合合约条件的业务。上述举例中,触发区块链节点设备执行目标智能合约的资源分配时间为每天的19时。需要说明的是,资源分配时间为区块链节点设备执行目标智能合约的时间节点,合约条件中的执行时间为判断业务数据是否符合合约条件的规则,两者没有必然的关系,也就是说,资源分配时间可以早于、晚于或者等于执行时间,本说明书对此不做限定。
97.基于图1所示的资源分配方法,由业务服务器确定待执行的业务活动的智能合约内容并以此生成智能合约创建请求,发送给区块链节点设备,区块链节点设备根据智能合约创建请求中携带的智能合约内容创建目标智能合约,进而在接收到的用户执行业务的业务数据时,调用目标智能合约,通过运行目标智能合约,根据接收到的业务数据没确定符合合约条件的业务,并在达到目标智能合约的资源分配时间时,根据符合合约条件的业务为用户分配业务资源。可见,利用区块链中的目标智能合约自动完成资源的分配,合约条件和分配环节相对透明,用户可以监督资源分配的公平性,避免服务提供方对业务资源分配不均。
98.在本说明书一个或多个实施例中,由于目标智能合约的执行过程中需要基于用户执行业务的业务数据,为确保目标智能合约的执行是在用户的许可下进行的,用户对目标智能合约签约,以保证区块链节点设备调用用户的业务数据执行目标智能合约的合规性,
具体通过下述步骤实施,如图2所示。
99.s200:客户端响应于用户的操作,根据用户的标识生成参与请求。
100.在如图1步骤s104所示的创建目标智能合约并存储在区块链中之后,区块链节点设备可以向业务服务器发送创建响应,以提示业务服务器目标智能合约已创建完毕。此时业务服务器可向客户端发送业务活动消息,以提示用户通过执行业务参与业务活动的资源分配。
101.仍然以用户为存储资源需求方,用户执行的业务为在云盘中存储数据为例,云盘服务器可以向客户端发送业务活动消息,以提示用户可以通过参与业务活动分配到存储资源。用户可以根据自身需要选择是否参与该业务活动,进而,客户端可响应于用户的操作,根据用户的标识生成参与请求,该参与请求可以表征用户参与该业务活动。
102.可选的,在业务活动消息中还可以携带目标智能合约的合约条件,以使用户监督目标智能合约的执行。当然,用户还能够访问区块链查找存储的目标智能合约,以达到上述目的。本说明书对用户监督目标智能合约的方式不做限定。
103.用户可通过客户端向业务服务器发送参与请求,其中,参与请求可以是根据用户的标识生成的,用以表示哪个参与请求是哪个用户通过客户端发送的。
104.s202:将参与请求发送给业务服务器。
105.s204:业务服务器响应于参与请求,获取活动合约模板,根据参与请求携带的所述用户的标识以及所述活动合约模板,生成活动合约。
106.具体的,业务服务器预先存储有业务活动对应的活动合约模板,通过该活动合约模板生成的活动合约用以请求获取用户的业务数据去执行目标智能合约,以参加业务活动。通过根据用户的标识和活动合约模板生成活动合约的方式,用户的标识与活动合约一一对应。
107.s206:将活动合约返回给客户端。
108.s208:客户端展示活动合约。
109.活动合约中可以约定业务活动的类型和规则,还可以约定需要获取用户的何种数据,如约定仅获取用户执行的业务对应的业务数据,而不获取其他类型的数据。
110.s210:响应于用户的操作,客户端向业务服务器发送签约请求。
111.具体的,客户端的输入界面中可包括用于提示用户签订活动合约的控件,以及取消签订活动合约的控件,以提示用户针对展示的活动合约进行操作。当用户对用于提示用户签订活动合约的控件进行操作时,客户端可根据该操作生成签约请求,并发送给业务服务器,以使业务服务器根据签约请求执行后续操作。当用户对用于提示用户取消签订活动合约的控件进行操作时,客户端可根据该操作生成取消签约请求,并发送给业务服务器,以使业务服务器根据取消签约请求确定用户不对所述活动合约签约,进而取消区块链节点设备获取该用户的业务数据的权限,避免用户的业务数据被违规调用从而发生的数据泄露。
112.s212:业务服务器根据签约请求,将所述用户的标识发送给所述区块链节点设备。
113.s214:区块链节点设备接收所述用户的标识,建立所述用户的标识与所述目标智能合约的对应关系,并存储在所述区块链中。
114.通过上述方案,在区块链节点设备基于业务数据执行目标智能合约之前,通过业务服务器与客户端之间的交互,使得用户在已知活动合约的前提下,通过客户端发送签约
请求,并在区块链节点设备接收到签约请求时,将用户的标识与目标智能合约的对应关系存在区块链中,标志着用户对目标智能合约的签约,确保了区块链节点设备执行目标智能合约的合规性。
115.在本说明书一个或多个实施例中,基于图2所示的一种资源分配方法的交互流程,在确保区块链节点设备执行目标智能合约的合规性的前提下,区块链节点设备执行目标智能合约时,可以根据用户执行业务的业务数据中包含的目标标识,先确认执行当前业务数据对应的业务的用户已经与目标智能合约签约。
116.首先,可从用户执行业务的业务数据中解析出用户的目标标识。
117.具体的,如图1步骤s106所述,用户执行业务时记录下的业务数据中可包含用户的标识,用户的标识可以作为表征用户身份的唯一标识。
118.其次,根据用户的目标标识,从存储在区块链中的用户的标识与目标智能合约的对应关系中查找是否存在目标标识与目标智能合约的对应关系。
119.为确保区块链节点设备执行基于业务数据执行目标智能合约的合规性,在本说明书一个或多个实施例中,当用户签约目标智能合约时,才能够使用该签约用户的业务数据执行目标智能合约。这就需要区块链节点设备在调用目标智能合约之前,前确定执行该业务数据对应的业务的用户是否已经签约。
120.基于图2所示的资源分配方法的交互流程,区块链中已经存储有已对目标智能合约签约的用户的标识,与目标智能合约的对应关系。只要是该对应关系中存在的用户的标识,区块链节点设备都能够调用这些用户的业务数据执行目标智能合约。
121.然后,在确定目标标识与目标智能合约之间存在对应关系时,调用目标智能合约并执行。
122.在本说明书一个或多个实施例中,在如图1步骤s112所示根据所述业务数据,确定符合所述目标智能合约的合约条件的业务,具体的,当智能合约内容包括所述待执行的业务活动的指定时间周期和指定关键词,业务数据包括业务的执行时间和业务文本时,区块链节点设备可根据上述数据判断业务数据对应的业务是否符合合约条件。
123.具体的,区块链节点设备运行所述目标智能合约,判断业务数据包含的执行时间是否落入所述指定时间周期,以及所述业务数据包含的业务文本是否命中所述指定关键词。
124.在实际应用中,目标智能合约的合约条件可以是:业务的执行时间落入指定时间周期,并且业务文本命中指定关键词。当上述两个合约条件均满足时,才能够确定该业务为符合目标智能合约的合约条件的业务。
125.仍以用户为存储资源需求方,用户执行的业务为在云盘中存储数据为例,目标智能合约的智能合约内容中,业务活动的指定时间周期为每天的0时至20时,指定关键词为“科普资料”,则业务数据中记录的执行时间在0时至20时之内,且,业务文本中包含“科普资料”时,才能够确定该业务数据对应的业务为符合目标智能合约的合约条件的业务。当上述两个条件有一个不满足时,则该业务数据对应业务都不符合目标智能合约的合约条件。
126.基于上述示例,如果业务数据中包含的业务的执行时间为17时,且业务文本为“环保科普资料”,则可以确定该业务数据中包含的执行时间落入指定时间周期,且业务文本命中指定关键词,此时,可以确定该业务数据对应的业务符合目标智能合约的合约条件。反
之,如果业务数据中包含的业务的执行时间为21时,业务文本为“环保科普资料”,由于执行时间没有落入指定时间周期内,即使业务文本命中指定关键词,也确定该业务数据对应的业务不符合合约条件。
127.当然,上述智能合约内容包含的指定时间周期和指定关键词仅为本说明书一个或多个实施例中给出的范例,智能合约内容中还可以包含其他内容,如业务执行的频次上限。智能合约内容可以是在业务服务器向区块链节点设备发送智能合约创建请求之前确定的,本说明书对此不做限定。
128.另外,在此需要说明的是,智能合约内容在区块链节点设备创建目标智能合约之前是可更改的,但在目标智能合约创建并存储在区块链上之后即不能更改。
129.在本说明书一个或多个实施例中,区块链节点设备基于业务数据执行目标智能合约的方式有以下两种:
130.其一为将符合合约条件的业务存储在区块链中,在达到资源分配时间时,直接通过区块链中存储的业务运行目标智能合约。
131.在此方案中,需要在区块链中存储与用户相关的数据,由于业务数据上链存储可能存在隐私安全的问题,可以只存业务数据的摘要以及用户账户标识,在区块链节点设备分配业务资源时,查找用户账户标识即可,后续可以根据摘要验证,无需将业务数据本身上链存储,避免隐私数据的泄露。
132.其二为业务数据存储在业务服务器,在达到资源分配时间时,区块链节点设备访问业务服务器调用业务数据,确定所述区块链中存储的符合所述合约条件的业务,并分别为执行符合所述合约条件的业务的用户分配业务资源。
133.具体的,在此方案中,业务数据存储在业务服务器,区块链节点设备可以在业务服务器发送业务数据时,根据业务数据先判断该业务数据对应的业务是否符合合约条件,并将各业务数据的判断结果的标识返回给业务服务器,业务服务器将业务数据及其判断结果绑定。当达到所述目标智能合约的资源分配时间时,区块链节点设备调用所述目标智能合约,并通过运行所述目标智能合约,根据确定出的判断结果,生成请求获取符合合约条件的业务对应的业务数据的数据获取请求,并发送给业务服务器。业务服务器响应于数据获取请求,将符合所述合约条件的业务发送给所述区块链节点设备,以便区块链节点设备根据接收到的符合所述合约条件的业务,为执行符合所述合约条件的业务的用户分配业务资源。
134.在本说明书一个可选的实施例中,在如图1步骤s104所示区块链节点设备根据所述智能合约创建请求中携带的智能合约内容创建目标智能合约,并存储至区块链中的同时,还可以根据智能合约内容中包含的第一业务资源量,将业务服务器在资源平台中的账户中,第一业务资源量对应的业务资源冻结,以避免在区块链节点设备分配业务资源时,资源量不够的情况发生。
135.具体的,区块链节点设备执行所述目标智能合约,根据所述第一业务资源量生成冻结指令,并发送给所述资源平台,所述资源平台在接收到冻结指令后,响应于所述冻结指令,冻结所述资源平台中所述业务服务器对应的账户中所述第一业务资源量对应的业务资源。可选的,冻结后的第一业务资源量对应的业务资源仅能由区块链节点设备在指定的时间节点调用并分配,如智能合约内容中包含的资源分配时间。当然还可以是在智能合约内
容中写明的其他触发时间,本说明书对此不做限定。
136.在本说明书一个或多个的实施例中,如图1步骤s114区块链节点设备根据确定出的符合所述合约条件的业务,为执行所述符合合约条件的业务的用户分配业务资源,其中,区块链节点设备所分配的业务资源可以是智能合约内容中包含的第二业务资源量,具体可通过以下方式实施;
137.首先,区块链节点设备当达到所述目标智能合约的资源分配时间时,调用所述目标智能合约,并通过运行所述目标智能合约,根据符合所述合约条件的各业务,确定执行符合所述合约条件的业务的各用户。
138.具体的,由于业务数据中可包含用户的标识,而用户的标识可以是用于表征用户身份的标识,通过符合合约条件的业务对应的业务数据中的用户的标识,可以确定执行了符合合约条件的业务的各目标用户。通常,一项业务是由一个用户执行的,但一个用户可以执行多项符合合约条件的业务。
139.其次,针对每个目标用户,根据该目标用户执行的符合所述合约条件的业务以及所述第二业务资源量,确定分配给该目标用户的目标资源分配量。
140.进一步的,可根据目标智能合约的智能合约内容中的资源分配方案,确定没给目标用户分配到的目标资源分配量。其中,资源分配方案是预先设置在智能合约内容中的,在目标智能合约的执行过程中不可更改。资源分配方案可以是按照业务数量平均分配,也可以是根据执行时间的先后分配,当然也可以是其他形式的分配方案,可根据具体的应用场景预先设置在智能合约内容中,本说明书对此不做限定。
141.仍以用户为存储资源需求方,用户执行的业务为在云盘中存储数据为例,针对指定时间周期内执行的所有符合合约条件的业务,每项业务对应于一份存储资源,如果共有100项业务符合合约条件,某一个目标用户在指定时间周期内执行了10项符合合约条件的存储数据的业务,则可以为该目标用户分配第二业务资源量的10%对应的存储资源。
142.然后,根据所述目标资源分配量,为该目标用户分配业务资源。
143.具体的,客户端还可以将用户的资源账户标识和用户的用户标识携带在业务数据中共同发送给业务服务器。其中,客户端发送用户的资源账户标识的目的在于当区块链节点设备分配资源时,可将分配给目标用户的资源分配到用户的资源账户中。而用户的用户标识可用于当区块链节点设备分配资源时,验证用户参与资源分配的有效性。
144.另外,用户的资源账户可以是在资源平台中开通的电子账户,也可以在区块链中的电子账户,本说明书对用户的资源账户的类型不做限定。
145.在本说明书一个可选地实施例中,在如图1步骤s114所示区块链节点设备为执行所述符合合约条件的业务的用户分配业务资源时,还可以通过区块链节点设备与资源平台之间的交互执行业务资源的分配,具体通过以下两种方式实现。
146.第一种方式为由业务服务器与资源平台之间进行交互执行业务资源的分配:
147.区块链节点设备根据所述目标资源分配量生成第一分配指令,将所述第一分配指令发送给所述业务服务器,所述业务服务器响应于所述第一分配指令,根据所述第一分配指令携带的所述目标资源分配量生成第二分配指令,并发送给所述资源平台,所述资源平台响应于所述第二分配指令,将所述业务服务器对应的账户中,所述目标资源分配量对应的业务资源分配到所述目标用户对应的账户中。
148.第二种方式为区块链节点设备与资源平台之间的交互执行业务资源的分配:
149.所述区块链节点设备根据所述目标资源分配量生成分配指令,将所述分配指令发送给所述资源平台,所述资源平台响应于所述分配指令,将所述业务服务器对应的账户中,所述目标资源分配量对应的业务资源分配到所述目标用户对应的账户中。
150.在本说明书一个可选地实施例中,在如图1步骤s114所示执行所述符合合约条件的业务的用户分配业务资源之前,还可以通过区块链上的共识节点设备对区块链节点设备得出的分配结果进行共识,以验证区块链节点设备执行目标智能合约进行的业务分配是准确可信的,具体通过下述方案实施:
151.首先,由区块链节点设备在所述区块链上广播所述目标资源分配量。
152.其中,目标资源分配量为区块链节点设备基于符合合约条件的业务确定的分配给每个目标用户的业务资源量。
153.其次,由共识节点设备执行所述目标智能合约,得到分配给该目标用户的指定资源分配量。
154.然后,共识节点设备根据所述指定资源分配量和接收到的目标资源分配量进行共识验证,得到验证结果并在所述区块链上广播。
155.最后,区块链节点设备接收所述验证结果,并在所述验证结果为验证通过时,根据所述目标资源分配量为该目标用户分配业务资源。
156.另外需要说明的是,本说明书对业务资源的类型不做限定,业务资源可以是存储资源、算力资源、电力资源、数字货币等现有的任意可以进行分配的业务资源。
157.在本说明书一个或多个实施例中,业务资源可以是数字人民币。
158.其中,数字人民币是由央行发行的法定数字货币,它由指定运营机构(如数字人民币平台)参与运营并向公众兑换,与纸钞和硬币等价。
159.但是可以理解的是,上述“数字人民币”的业务资源的类型仅为本说明书一种可选的方案,本说明书实施例并不限制进行分配的货币的形式。但由于本说明书实施例可以在用户的线上交易的场景中使用,由此,业务资源可以是可供用户在执行线上交易时使用的数字货币,例如数字人民币。
160.需要说明的是,本说明书中所称的“数字货币”是指数字形式的货币,其相当于流通中的现钞和硬币。此处的“货币”是指真正意义上的货币而非代币。本说明书的基于“数字货币”的技术方案特别是指具有国家主权信息基础的“法定货币”,例如数字人民币。但本说明书也不限制其可扩展到其他信用基础的虚拟数字货币,例如比特币。
161.基于上述业务资源为数字人民币的场景,用户可以通过客户端使用数字人民币进行商品交易业务,业务服务器可以为支持使用数字人民币进行商品交易的交易平台的服务器,用户可以在数字人民币平台中存在账户,在进行商品交易业务时,调用数字人民币平台的账户中的数字人民币进行付款。
162.基于该场景,业务服务器可以发起与数字人民币相关的业务活动,用户可参与该业务活动参与数字人民币的分配。因此,在如图1步骤s100所示的业务服务器确定待执行的业务活动的智能合约内容中,业务服务器确定的智能合约可以包括数字人民币的分配方案、分配时间、待分配的数字人民币的总额,以及合约条件等。其中,合约条件限制了能够参与分配数字人民币的业务或用户的条件。
163.进一步地,在如图1步骤s106客户端将用户执行业务的业务数据发送给所述业务服务器中,结合业务资源为数字人民币的场景,可根据用户执行的数字人民币交易业务,确定交易业务数据,该交易业务数据可包括交易的时间,交易对象的名称、执行交易用户的标识、以及使用的数字人民币的金额等数据。
164.再进一步地,在如图1步骤s112所示区块链节点设备通过运行所述目标智能合约,根据业务数据,确定符合目标智能合约的合约条件的业务中,结合业务资源为数字人民币的场景,可以根据上述用户执行数字人民币交易业务的交易业务数据,确定符合合约条件的数字人民币交易业务。具体的,根据目标智能合约的智能合约内容中约定的合约条件,仅当上述交易业务数据中包含的各类型的数据均满足合约条件时,才确定该交易业务数据对应的数字人民币交易是符合合约条件的数字人民币交易业务。
165.例如,以合约条件中约定了交易的时间周期为例,如果目标智能合约中的合约条件约定的交易业务的执行时间周期为每天的0时至20时,则当用户使用数字人民币进行购买业务的购买时间为19时的时候,能够确定该购买业务符合合约条件。而如果用户使用数字人民币进行购买业务的购买时间为21时的时候,则确定该购买业务不符合合约条件。
166.最后,在如图1步骤s114所示由区块链节点设备根据确定出的符合所述合约条件的业务,为执行所述符合合约条件的业务的用户分配业务资源时,结合业务资源为数字人民币的场景,区块链节点设备可以确定分配给用户的数字人民币的金额,然后根据该金额生成分配指令并发送给数字人民币平台,由数字人民币将分配指令中的数字人民币的金额发放到用户的数字人民币账户中。
167.在本说明书一个或多个实施例中,为确保目标智能合约的执行是在用户的许可下进行的,用户可对目标智能合约签约,以保证区块链节点设备调用用户的业务数据执行目标智能合约的合规性。基于此,在如图2步骤s200所示的客户端根据用户的标识生成参与请求中,结合业务资源为数字人民币的场景,交易服务器可向客户端发送业务活动消息,提示用户可以通过参与业务活动瓜分数字人民币。用户可以根据自身需要选择是否参与瓜分数字人民币的业务活动,进而,客户端可响应于用户的操作,根据用户的标识生成参与请求,该参与请求可以表征用户参与该业务活动。
168.另外,在如图1步骤s112所示确定符合目标智能合约的合约条件的业务的一种可选的实施例中,可采用智能合约内容包括的待执行的业务活动的指定时间周期和指定关键词确定符合目标智能合约的合约条件的业务。在上述实施例中结合业务资源为数字人民币的场景,区块链节点设备可根据用户使用数字人民币进行购买业务的交易数据,以及智能合约内容包括的交易事件周期和交易关键词确定符合合约条件的交易业务。具体的,区块链节点设备运行目标智能合约,判断交易数据包含的交易时间是否落入交易时间周期,以及交易数据包含的交易文本是否命中交易关键词。并且当上述两个条件均满足时,将该交易业务作为符合合约条件的业务。
169.例如,智能合约内容中约定,业务活动的交易时间周期为每天的0时至20时,交易关键词为“数字人民币”,则交易数据中记录的交易时间在0时至20时之内,且,交易文本中包含“数字人民币”时,才能够确定该交易数据对应的数字人民币交易业务为符合合约条件的业务。当上述两个条件有一个不满足时,则该数字人民币交易业务都不符合合约条件。
170.基于上述示例,如果交易数据中包含的交易时间为17时,交易文本为“用数字人民
币购物”,则可以确定该交易数据中包含的执行时间落入交易时间周期,且交易文本命中交易关键词,此时,可以确定数字人民币交易业务符合目标智能合约的合约条件。反之,如果交易数据中包含的业务的执行时间为21时,交易文本为“用数字人民币购物”,由于交易时间没有落入交易时间周期内,即使交易文本命中交易关键词,也确定该数字人民币交易业务不符合合约条件。
171.进一步的,在本说明书一个可选的实施例中,如图1步骤s114区块链节点设备为执行符合合约条件的业务的用户分配业务资源时,可以是根据智能合约内容中包含的第二业务资源量进行的分配。结合业务资源为数字人民币的场景,智能合约内容中包含的可以是待分配的数字人民币的总额。具体的,区块链节点设备首先确定执行符合合约条件的业务的各目标用户,然后针对每个目标用户确定分配给该目标用户的数字人民币金额。例如,区块链节点设备所分配数字人民币的总额为1000元。如果共有100项业务符合合约条件,某一个目标用户在指定时间周期内执行了10项符合合约条件的存储数据的业务,则区块链节点设备执行目标智能合约,确定分配该目标用户的数字人民币的金额为100元。
172.更进一步的,在区块链节点设备确定了分配给每个目标用户的数字人民币的金额后,区块链节点设备可以根据分配给该目标用户的数字人民币金额生成分配指令,此时,区块链节点设备发送分配指令的对象可以是交易服务器,也可以是数字人民币平台。当然,区块链节点设备将分配指令发送给交易服务器后,交易服务器也会将分配指令转发给数字人民币平台。之后,由数字人民币平台根据分配指令中的金额,向该目标用户的数字人民币账户中发放数字人民币。
173.以上为本说明书的一个或多个实施例提供的资源分配方法,基于同样的思路,本说明书还提供了相应的资源分配装置,如图3、4、5所示。
174.图3为本说明书提供的一种资源分配装置示意图,所述装置应用于客户端,具体包括:
175.业务数据确定模块300,用于根据用户执行的业务,确定业务数据;
176.第一发送模块302,用于将所述业务数据发送给业务服务器,使所述业务服务器将所述业务数据转发给所述区块链节点设备,由所述区块链节点设备基于预先上链存储的目标智能合约,判断所述业务数据是否符合合约条件,并在符合所述合约条件时,确定分配给所述用户的目标业务资源并分配。
177.可选地,所述装置还包括:
178.签约模块304,具体用于响应于用户的操作,根据所述用户的标识生成参与请求;将所述参与请求发送给所述业务服务器,使得所述业务服务器响应于由所述参与请求,获取活动合约模板,并根据所述参与请求携带的所述用户的标识以及所述活动合约模板,生成并返回活动合约;展示接收到的活动合约,所述活动合约用于提示所述用户参与所述目标智能合约对应的业务活动;响应于所述用户的操作,向所述业务服务器发送签约请求,使得所述业务服务器根据所述签约请求,将所述目标用户的标识发送给区块链节点设备,以便所述区块链节点设备在所述区块链中存储所述用户的标识与所述目标智能合约的对应关系。
179.可选地,所述装置还包括:
180.响应接收模块306,具体用于接收由所述业务服务器发送的第一资源分配响应;其
中,所述第一资源分配响应用于提示所述用户业务资源分配结果,所述第一资源分配响应由所述业务服务器根据所述区块链节点设备发送的第二资源分配响应生成,所述第二资源分配响应为所述区块链节点设备在进行业务资源分配后生成并发送至所述业务服务器的。
181.图4为本说明书提供的一种资源分配装置示意图,所述装置应用于业务服务器,具体包括:
182.智能合约内容确定模块400,用于确定待执行的业务活动的智能合约内容;
183.第二发送模块402,用于生成携带所述智能合约内容的智能合约创建请求,并发送给区块链节点设备,使得所述区块链节点设备响应于所述智能合约创建请求,根据所述智能合约创建请求中携带的智能合约内容创建目标智能合约,并存储至区块链中;
184.第一接收模块404,用于接收由客户端发送的用户执行业务的业务数据;
185.第三发送模块406,用于在确定所述目标智能合约上链存储时,将所述业务数据转发给所述区块链节点设备,使得所述区块链节点设备根据接收到的所述业务数据,调用所述目标智能合约,以便通过运行所述目标智能合约,根据所述业务数据确定符合所述目标智能合约的合约条件的业务,并当达到所述目标智能合约的资源分配时间时,根据确定出的符合所述合约条件的业务,为执行所述符合合约条件的业务的用户分配业务资源。
186.可选地,所述装置还包括:
187.活动合约生成模块408,具体用于响应于由所述客户端发送的参与请求,获取活动合约模板,根据所述参与请求携带的所述用户的标识以及所述活动合约模板,生成活动合约;其中,所述参与请求是所述客户端响应于用户的操作,根据所述用户的标识生成的;所述活动合约用于提示所述用户参与所述目标智能合约对应的业务活动;将所述活动合约发送给所述客户端,使得所述客户端展示所述活动合约;响应于由所述客户端发送的签约请求,将所述用户的标识发送给所述区块链节点设备,使得所述区块链节点设备在所述区块链中存储所述用户的标识与所述目标智能合约的对应关系。
188.可选地,所述第三发送模块406,具体用于响应于由所述区块链节点设备发送的数据获取请求,将符合所述目标智能合约的合约条件的业务对应的业务数据发送给所述区块链节点设备,使得所述区块链节点设备根据接收到的符合所述合约条件的各业务对应的业务数据,为执行符合所述合约条件的各业务的用户分配业务资源;其中,所述数据获取请求是由所述区块链节点设备在达到所述目标智能合约的资源分配时间时,调用所述目标智能合约发送的。
189.图5为本说明书提供的一种资源分配装置示意图,所述装置应用于区块链节点设备,具体包括:
190.创建模块500,用于响应于业务服务器发送的智能合约创建请求,根据所述智能合约创建请求中携带的智能合约内容创建目标智能合约,并存储至区块链中;所述智能合约创建请求是由所述业务服务器根据待执行的业务活动的智能合约内容生成的;
191.第二接收模块502,用于接收所述业务服务器发送的用户执行业务的业务数据;
192.调用模块504,用于根据所述业务数据,调用所述目标智能合约;
193.业务确定模块506,用于通过运行所述目标智能合约,根据所述业务数据,确定符合所述目标智能合约的合约条件的业务;
194.分配模块508,用于当达到所述目标智能合约的资源分配时间时,根据确定出的符
合所述合约条件的业务,为执行所述符合合约条件的业务的用户分配业务资源。
195.可选地,所述装置还包括:
196.存储模块510,具体用于接收业务服务器发送的用户的标识,建立所述用户的标识与所述目标智能合约的对应关系,并存储在所述区块链中;其中,所述用户的标识是由所述业务服务器响应于客户端发送的签约请求发送的;所述签约请求是所述客户端在展示活动合约时响应于所述用户的操作发送的;所述活动合约是所述业务服务器响应于所述客户端根据用户的操作以及用户的标识生成的参与请求,根据所述参与请求中携带的用户的标识以及活动合约模板生成并发送给客户端的。
197.本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的资源分配方法。
198.本说明书还提供了图6所示的电子设备的示意结构图。如图6所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的资源分配方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
199.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
200.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制
器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
201.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
202.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
203.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
204.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
205.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
206.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
207.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
208.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
209.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法
或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
210.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
211.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
212.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
213.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
214.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
技术特征:
1.一种资源分配方法,其特征在于,包括:业务服务器,用于确定待执行的业务活动的智能合约内容,并生成携带所述智能合约内容的智能合约创建请求,发送给区块链节点设备;所述区块链节点设备,用于响应于所述智能合约创建请求,根据所述智能合约创建请求中携带的智能合约内容创建目标智能合约,并存储至区块链中;客户端,用于将用户执行业务的业务数据发送给所述业务服务器;所述业务服务器,用于接收所述业务数据,并在确定所述目标智能合约上链存储时,将所述业务数据转发给所述区块链节点设备;所述区块链节点设备,用于根据接收到的所述业务数据,调用所述目标智能合约;通过运行所述目标智能合约,根据所述业务数据,确定符合所述目标智能合约的合约条件的业务;当达到所述目标智能合约的资源分配时间时,根据确定出的符合所述合约条件的业务,为执行所述符合合约条件的业务的用户分配业务资源。2.如权利要求1所述的方法,其特征在于,所述客户端,还用于响应于所述用户的操作,根据所述用户的标识生成参与请求,并发送给所述业务服务器;所述业务服务器,还用于响应于所述参与请求,获取活动合约模板,根据所述参与请求携带的所述用户的标识以及所述活动合约模板,生成活动合约并发送给所述客户端,所述活动合约用于提示所述用户参与所述目标智能合约对应的业务活动;所述客户端,还用于展示所述活动合约;响应于所述用户的操作,向所述业务服务器发送签约请求;所述业务服务器,还用于根据所述签约请求,将所述用户的标识发送给所述区块链节点设备;所述区块链节点设备,还用于接收所述用户的标识,建立所述用户的标识与所述目标智能合约的对应关系,并存储在所述区块链中。3.如权利要求2所述的方法,其特征在于,所述用户执行业务的业务数据包括:所述用户的目标标识;所述区块链节点设备,还用于当根据所述区块链中存储的所述用户的标识与所述目标智能合约的对应关系,确定所述目标标识与所述目标智能合约存在对应关系时,调用所述目标智能合约。4.如权利要求1所述的方法,其特征在于,所述智能合约内容包括所述待执行的业务活动的指定时间周期和指定关键词;所述业务数据包括业务的执行时间和业务文本;所述区块链节点设备,用于通过运行所述目标智能合约,判断所述业务数据包含的执行时间是否落入所述指定时间周期,以及所述业务数据包含的业务文本是否命中所述指定关键词;若判断结果均为是,则确定所述业务数据对应的业务为符合所述目标智能合约的合约条件的业务。5.如权利要求1所述的方法,其特征在于,所述区块链节点设备,用于将符合所述合约条件的业务存储在区块链中;当达到所述目标智能合约的资源分配时间时,调用所述目标智能合约,并通过运行所述目标智能合约,确定所述区块链中存储的符合所述合约条件的业务,分别为执行符合所述合约条件的业务的用户分配业务资源。6.如权利要求1所述的方法,其特征在于,所述区块链节点设备,还用于当达到所述目
标智能合约的资源分配时间时,调用所述目标智能合约,并通过运行所述目标智能合约,向所述业务服务器发送数据获取请求;所述业务服务器,用于响应于所述数据获取请求,将符合所述合约条件的业务发送给所述区块链节点设备;所述区块链节点设备,还用于根据接收到的符合所述合约条件的业务,为执行符合所述合约条件的业务的用户分配业务资源。7.如权利要求1所述的方法,其特征在于,所述智能合约内容还包括第一业务资源量;所述区块链节点设备,还用于执行所述目标智能合约,根据所述第一业务资源量生成冻结指令,并发送给资源平台;所述资源平台,用于响应于所述冻结指令,冻结所述资源平台中所述业务服务器对应的账户中所述第一业务资源量对应的业务资源。8.如权利要求1所述的方法,其特征在于,所述智能合约内容还包括第二业务资源量;所述区块链节点设备,用于当达到所述目标智能合约的资源分配时间时,调用所述目标智能合约,并通过运行所述目标智能合约,根据符合所述合约条件的各业务,确定执行符合所述合约条件的业务的各目标用户;针对每个目标用户,根据该目标用户执行的符合所述合约条件的业务以及所述第二业务资源量,确定分配给该目标用户的目标资源分配量;根据所述目标资源分配量,为该目标用户分配业务资源。9.如权利要求8所述的方法,其特征在于,所述区块链节点设备,具体用于根据所述目标资源分配量生成分配指令,将所述分配指令发送给资源平台;所述资源平台,具体用于响应于所述分配指令,将所述业务服务器对应的账户中,所述目标资源分配量对应的业务资源分配到所述目标用户对应的账户中。10.如权利要求1~9任一所述的方法,其特征在于,所述业务资源为数字人民币。
技术总结
本说明书公开了一种资源分配方法,由业务服务器确定待执行的业务活动的智能合约内容并以此生成智能合约创建请求,发送给区块链节点设备,区块链节点设备根据智能合约创建请求中携带的智能合约内容创建目标智能合约,进而在接收到的用户执行业务的业务数据时,调用目标智能合约,通过运行目标智能合约,根据接收到的业务数据没确定符合合约条件的业务,并在达到目标智能合约的资源分配时间时,根据符合合约条件的业务为用户分配业务资源。可见,利用区块链中的目标智能合约自动完成资源的分配,合约条件和分配环节相对透明,用户可以监督资源分配的公平性,避免服务提供方对业务资源分配不均。源分配不均。源分配不均。
技术研发人员:杨雨乔 陈仕棚 武喆 李智渊 刘佳琦 陈曦 曹璞伟 龙智
受保护的技术使用者:北京三快在线科技有限公司
技术研发日:2023.02.21
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
