平衡资源的方法、装置、设备和计算机可读介质与流程

未命名 09-01 阅读:176 评论:0


1.本发明涉及大数据技术领域,尤其涉及一种平衡资源的方法、装置、设备和计算机可读介质。


背景技术:

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.图1是根据本发明实施例的平衡资源的方法的主要流程示意图;
45.图2是根据本发明实施例的将数据分配事务后库存资源的变化量发送至聚合事件队列中的流程示意图;
46.图3是根据本发明实施例的发送数据分片的资源调拨指令的流程示意图;
47.图4是根据本发明实施例的筛选出数据分片的输出资源和数据分片的输入资源的流程示意图;
48.图5是根据本发明实施例的资源调拨池调拨数据的示意图;
49.图6是根据本发明实施例的采用资源调拨池处理调拨资源的流程示意图;
50.图7是根据本发明实施例的平衡资源的装置的主要结构示意图;
51.图8是本发明实施例可以应用于其中的示例性系统架构图;
52.图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
53.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
54.在分布式数据架构下,热点数据被拆分以存储在多个数据分片中。为获得数据高并发度的访问,通常对资源消耗类交易的数据访问策略是随机选取数据分片。
55.但是这也带来了问题,一是热点数据被拆成多个数据资源并被分散在不同的数据分片上,其分布情况难以统计,二是在不做特殊处理的情况下,交易服务访问的数据分片通
常是随机的,这就会面临各个分片中的库存资源消耗情况不同而导致资源分布不平衡的状况。
56.当系统选择的数据分片资源不够时,就需要去下一个数据分片中补扣,在这个过程中就需要解决分布式事务一致性及幂等性的问题,分布式事务也将带来更大的处理时延,极端情况下更容易导致交易失败或产生错账。同时,由于热点资源过度集中,系统支持的并发量也会降低。
57.一种方式可以在交易执行之前做平衡处理。具体地,每收到一笔交易请求,都会检查库存资源的分布情况,根据交易的不同类型,通过特定的算法去选择数据分片,尽量以平衡方向选择数据分片。使消耗库存资源的交易发生在资源较多的几个数据分片中,而在资源较少的几个数据分片中进行能让资源数增加的交易。以此来保证库存资源的平衡,减少分布式事务的发生。
58.上述方式虽然可以解决分布式资源不平衡的问题,但是平衡的过程主要依靠交易本身来完成,与原业务逻辑耦合性较高。此外在交易发生时,对资源分布情况进行查询会增加数据库的访问压力。由于对数据分片进行了筛选,可能导致并发量过度集中在某几个数据分片中,从而限制系统的并发性能。当并发量较大时,仍可能导致资源分布不平衡的情况。
59.另一种方式,随机选择数据分片和事后平衡。不是根据交易类型、资源分布去选择数据分片,而是通过交易信息的某个特征值随机选择数据分片。当交易金额超过了某一阈值或者某一库存比例之后触发事后平衡的逻辑。平衡过程中先查询资源的分布情况,后将资源较多的数据分片中的资源转移到当前数据分片中。
60.由于分布式资源的平衡依旧需要基于交易本身触发,与原交易还是存在一定的耦合性。此外通过遍历每个数据分片来获取资源的分布情况同样会消耗大量的时间和资源。
61.综上,各个数据分片中的库存资源消耗情况不同而导致资源分布不平衡。
62.为了解决资源分布不平衡的技术问题,可以采用以下本发明实施例中的技术方案。
63.参见图1,图1是根据本发明实施例的平衡资源的方法主要流程示意图,利用队列更新数据分片的库存资源分布,实现数据分片的资源平衡。如图1所示,具体包括以下步骤:
64.s101、在数据分片事务执行成功后,采用交易消息队列,将数据分片事务后库存资源的变化量发送至聚合事件队列中。
65.在分布式数据架构下,热点数据被拆分在多个数据分片中。数据分片中存储数据称为库存资源。在本发明的实施例中,库存资源包括商品库存数量或账户余额。
66.在本发明的实施例中,从数据分片出发,通过消息队列实现资源平衡。数据分片在执行数据分片事务的情况下,数据分片的库存资源会发生变化。数据分片事务是导致数据分片库存资源发生变化的操作。作为一个示例,数据分片事务包括下单购买物品。作为另一个示例,数据分片事务包括上架补货。
67.在数据分片事务执行成功后,说明数据分片的库存资源发生变化,则需要通过交易消息队列发送库存资源的变化量。
68.在本发明的实施例中,在数据分片事务执行成功后,为了保障多个数据分片之间的资源平衡,可以向交易消息队列发送事件执行成功消息。
69.具体地,在数据分片事务执行成功后,向交易消息队列发送原子事件执行成功消息,原子事件执行成功消息包括数据分片的标识和库存资源的变化量。采用原子事件执行成功消息能够确保数据分片事务执行成功后一定有消息可以被发送出去,以保障后续对各数据分片的统计准确性。
70.参见图2,图2是根据本发明实施例的将数据分配事务后库存资源的变化量发送至聚合事件队列中的流程示意图。具体包括以下步骤:
71.s201、在数据分片事务执行成功后,周期性汇总数据分片库存资源的变化量。
72.数据分片事务执行成功后,则说明数据分片的库存资源发生变化,为了及时获知库存资源的变化情况,可以周期性汇总数据分片库存资源的变化量。即,按照预设周期统计数据分片库存资源变化。
73.s202、采用交易消息队列,将数据分配事务后库存资源的变化量发送至聚合事件队列中。
74.获知数据分片库存资源的变化量后,可以采用交易消息队列,将数据分配事务后库存资源的变化量发送至聚合事件队列中。作为一个示例,交易消息队列包括apache kafka消息队列。
75.可以理解的是,交易消息队列是一个数据分片库存资源发生变化后发送库存资源的变化量的消息队列。在有多个数据分片库存资源发生变化的情况下,则需要通过消息队列发送对应数据分片库存资源的变化量。
76.聚合事件队列中用于接收数据分片库存资源的变化量。可以理解的是,聚合事件队列中可以接收多个数据分片库存资源的变化量。
77.在图2的实施例中,采用交易消息队列能够及时发送库存资源的变化量。
78.s102、通过监听聚合事件队列,更新数据分片的库存资源分布,并按照库存资源分布,发送数据分片的资源调拨指令。
79.在聚合事件队列中记载多个数据分片库存资源的变化量,通过监听聚合事件队列,就可能给获知多个数据分片库存资源的变化量。进而,更新数据分片的库存资源分配,以调拨数据分片中的库存资源。
80.参见图3,图3是根据本发明实施例的发送数据分片的资源调拨指令的流程示意图。具体包括以下步骤:
81.s301、监听聚合事件队列中数据分片库存资源的变化量,以监听到是库存资源的变化量,更新数据分片的库存资源分布。
82.通过监听聚合事件队列中数据分片库存资源的变化量,以监听到是库存资源的变化量。利用库存资源的变化量更新数据分片的库存资源分布。作为一个示例,库存资源分布包括表格库存资源分布或图像库存资源分布。
83.作为一个示例,库存资源分布包括表格库存资源分布,起初表格库存资源分布记录每一个数据分片的初始资源量,通过不断监听聚合事件队列中数据分片库存资源的变化量,更新表格库存资源分布中每一个数据分片的库存资源。
84.在本发明的一个实施例中,更新资源表中数据分片的资源量,以得到数据分片的库存资源分布,库存资源分布包括库存资源的全局分布视图。
85.库存资源的全局分布视图包括多个数据分片的库存资源分布。通过库存资源的全
局分布视图能够获知数据分片相对于其他数据分片的库存资源情况。作为一个示例,多个数据分片的库存资源分布包括数据分片的离散程度。
86.s302、按照库存资源分布,筛选出数据分片的输出资源和数据分片的输入资源,并根据输出资源和输入资源发送数据分片的资源调拨指令。
87.库存资源分配能够体现出数据分片中库存资源的多少。因此,可以按照库存资源分布,筛选出数据分片的输出资源和数据分片的输入资源,并根据输出资源和输入资源发送数据分片的资源调拨指令。
88.参见图4,图4是根据本发明实施例的筛选出数据分片的输出资源和数据分片的输入资源的流程示意图。具体包括以下步骤:
89.s401、按照库存资源分布中的数据分片平均库存资源,以及库存资源分配中的每个数据分片的库存资源,筛选出数据分片的输出资源和数据分片的输入资源。
90.参见图5,图5是根据本发明实施例的资源调拨池调拨数据的示意图。本发明实施例中,资源调拨池是一个单独的库存资源分片,用于存放库存调拨资源。调拨资源即数据分片的输出资源。
91.资源调拨池的资源不直接参与交易服务。数据分片a中的库存资源数大于阈值或比例,则将部分库存资源从数据分片a调拨至资源调拨池中,该过程称为“输出”;若数据分片b中的库存资源数小于阈值或比例,则将资源调拨池中的库存资源调拨至数据分片b中,该过程称为“输入”。
92.在本发明的实施例中,可以按照库存资源分布中的数据分片平均库存资源,以及库存资源分配中的每个数据分片的库存资源,筛选出数据分片的输出资源和数据分片的输入资源。
93.作为一个示例,将库存资源大于数据分片平均库存资源的数据分片作为输出资源的数据分片;将库存资源小于数据分片平均库存资源的数据分片作为输入资源的数据分片。然后,将大于数据分片平均库存资源的库存资源,作为数据分片的输出资源;将小于数据分片平均库存资源的库存资源,作为数据分片的输入资源。需要说明的是,输出资源的数据分片可以是一个,也可以是多个。输入资源的数据分片可以是一个,也可以是多个。
94.作为另一个示例,按照平均库存资源和数据分片最大库存计算库存阈值。将库存比例大于库存阈值的数据分片作为输出资源的数据分片;将库存比例小于库存阈值的数据分片作为输入资源的数据分片。然后,将大于库存阈值的库存资源,作为数据分片的输出资源;将小于库存阈值的库存资源,作为数据分片的输入资源。需要说明的是,输出资源的数据分片可以是一个,也可以是多个。输入资源的数据分片可以是一个,也可以是多个。
95.s402、根据输出资源的数据量、输出资源的数据分片、输入资源的数据量和输入资源的数据分片,发送数据分片的资源调拨指令。
96.数据分片的输出资源和数据分片的输入资源确定后,就可以获知输出资源的数据量、输出资源的数据分片、输入资源的数据量和输入资源的数据分片。
97.作为一个示例,数据分片a作为输出资源的数据分片;数据分片a与数据分片平均库存资源的差值作为输出资源的数据量。数据分片b作为输入资源的数据分片;数据分片b与数据分片平均库存资源的差值作为输入资源的数据量。
98.进而,根据输出资源的数据量、输出资源的数据分片、输入资源的数据量和输入资
源的数据分片,发送数据分片的资源调拨指令。数据分片的资源调拨指令中包括:输出资源的数据量、输出资源的数据分片的标识、输入资源的数据量和输入资源的数据分片的标识。
99.在图4的实施例中,在数据分片中确定输出资源和输入资源,以奠定资源平衡的基础。
100.在本发明的一个实施例中,通过监听聚合事件队列,按照平衡周期更新数据分片的库存资源分布,平衡周期是由数据分片的数量和数据分片的存储时间确定的。
101.可以基于平衡周期实施本发明实施例中的技术方案。也就是说,将数据分片中调拨资源存储至资源调拨池中,以及将资源调拨池中的调拨资源存储至其他数据分片中需要在当前平衡周期内完成,否则可能会导致重新发送调拨资源,使得库存资源变得不平衡。
102.作为一个示例,数据分片的数量为n,据分片的存储时间为k。即,数据分片调拨数据的时间为k;以及,数据分片存储调拨数据的时间为k。平衡周期为n
×
k+m,m是延迟时间。通过设置平衡周期避免重复在数据分片中处理调拨资源。
103.s103、基于资源调拨指令,将数据分片中调拨资源存储至资源调拨池中,以及将资源调拨池中的调拨资源存储至其他数据分片中,以使多个数据分配的库存资源分布平衡。
104.资源调拨指令包括输出资源的数据量、输出资源的数据分片的标识、输入资源的数据量和输入资源的数据分片的标识。从而,可以将输出资源作为调拨资源以存储在资源调拨池中,然后将资源调拨池中的调拨资源存储至其他数据分片中。
105.参见图6,图6是根据本发明实施例的采用资源调拨池处理调拨资源的流程示意图。具体包括以下步骤:
106.s601、基于资源调拨指令,将数据分片中调拨资源存储至资源调拨池中,采用交易消息队列,将数据分片事务后库存资源的变化量发送至聚合事件队列中。
107.可以基于资源调拨指令调拨资源。对于输出资源的数据分片来说,可以将数据分片中调拨资源存储至资源调拨池中。为了及时发送库存资源的变化量,采用交易消息队列,将数据分片事务后库存资源的变化量发送至聚合事件队列中。
108.s602、将资源调拨池中的调拨资源存储至其他数据分片中,采用交易消息队列,将数据分片事务后库存资源的变化量发送至聚合事件队列中。
109.对于输入资源的数据分片来说,可以将资源调拨池中的调拨资源存储至其他数据分片中。为了及时发送库存资源的变化量,采用交易消息队列,将数据分片事务后库存资源的变化量发送至聚合事件队列中。
110.在图6的实施例中,在数据分片的库存资源因输入资源或输出资源发生变化的情况下,可以采用交易消息队列及时发送库存资源的变化量。
111.在本发明的一个实施例中,将资源调拨池中的调拨资源存储至其他数据分片中的过程中,为了保障调拨数据存储。可以向多个数据分片分布发送对应的原子指令,以将资源调拨池中的调拨资源分别存储至多个数据分片中。
112.在上述本发明的实施例中,在数据分片事务执行成功后,采用交易消息队列,将所述数据分片事务后库存资源的变化量发送至聚合事件队列中;通过监听所述聚合事件队列,更新数据分片的库存资源分布,并按照所述库存资源分布,发送数据分片的资源调拨指令;基于所述资源调拨指令,将数据分片中调拨资源存储至资源调拨池中,以及将所述资源调拨池中的调拨资源存储至其他数据分片中,以使多个数据分配的库存资源分布平衡。采
用监听队列,更新数据分片的库存资源分布,进而能够提高各个数据分片中的资源分布平衡。
113.参见图7,图7是根据本发明实施例的平衡资源的装置的主要结构示意图,平衡资源的装置可以实现平衡资源的方法,如图7所示,平衡资源的装置具体包括:
114.消息模块701,用于在数据分片事务执行成功后,采用交易消息队列,将所述数据分片事务后库存资源的变化量发送至聚合事件队列中;
115.更新模块702,用于通过监听所述聚合事件队列,更新数据分片的库存资源分布,并按照所述库存资源分布,发送数据分片的资源调拨指令;
116.调拨模块703,用于基于所述资源调拨指令,将数据分片中调拨资源存储至资源调拨池中,以及将所述资源调拨池中的调拨资源存储至其他数据分片中,以使多个数据分配的库存资源分布平衡。
117.在本发明的一个实施例中,消息模块701,具体用于在所述数据分片事务执行成功后,向所述交易消息队列发送原子事件执行成功消息,所述原子事件执行成功消息包括所述数据分片的标识和所述库存资源的变化量。
118.在本发明的一个实施例中,所述库存资源包括:商品库存数量或账户余额。
119.在本发明的一个实施例中,消息模块701,具体用于在数据分片事务执行成功后,周期性汇总所述数据分片库存资源的变化量;
120.采用交易消息队列,将所述数据分配事务后库存资源的变化量发送至聚合事件队列中。
121.在本发明的一个实施例中,所述交易消息队列包括apache kafka消息队列。
122.在本发明的一个实施例中,更新模块702,具体用于监听所述聚合事件队列中数据分片库存资源的变化量,以监听到是库存资源的变化量,更新数据分片的库存资源分布;
123.按照所述库存资源分布,筛选出数据分片的输出资源和数据分片的输入资源,并根据所述输出资源和所述输入资源发送所述数据分片的资源调拨指令。
124.在本发明的一个实施例中,更新模块702,具体用于更新资源表中数据分片的资源量,以得到所述数据分片的库存资源分布,所述库存资源分布包括库存资源的全局分布视图。
125.在本发明的一个实施例中,更新模块702,具体用于按照所述库存资源分布中的数据分片平均库存资源,以及所述库存资源分配中的每个数据分片的库存资源,筛选出数据分片的输出资源和数据分片的输入资源;
126.根据所述输出资源的数据量、所述输出资源的数据分片、所述输入资源的数据量和所述输入资源的数据分片,发送所述数据分片的资源调拨指令。
127.在本发明的一个实施例中,调拨模块703,具体用于基于所述资源调拨指令,将数据分片中调拨资源存储至资源调拨池中,采用所述交易消息队列,将所述数据分片事务后库存资源的变化量发送至聚合事件队列中;
128.将所述资源调拨池中的调拨资源存储至其他数据分片中,采用所述交易消息队列,将所述数据分片事务后库存资源的变化量发送至聚合事件队列中。
129.在本发明的一个实施例中,调拨模块703,具体用于向多个数据分片分布发送对应的原子指令,以将所述资源调拨池中的调拨资源分别存储至所述多个数据分片中。
130.在本发明的一个实施例中,更新模块702,具体用于通过监听所述聚合事件队列,按照平衡周期更新数据分片的库存资源分布,所述平衡周期是由数据分片的数量和数据分片的存储时间确定的。
131.图8示出了可以应用本发明实施例的平衡资源的方法或平衡资源的装置的示例性系统架构800。
132.如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
133.用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
134.终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
135.服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息
‑‑
仅为示例)反馈给终端设备。
136.需要说明的是,本发明实施例所提供的平衡资源的方法一般由服务器805执行,相应地,平衡资源的装置一般设置于服务器805中。
137.应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
138.本发明实施例的一种计算程序产品,包括计算机程序,所述程序被处理器执行时实现本发明实施例提供的平衡资源的方法。
139.下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
140.如图9所示,计算机系统900包括中央处理单元(cpu)901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram 903中,还存储有系统900操作所需的各种程序和数据。cpu 901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
141.以下部件连接至i/o接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
142.特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机
可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(cpu)901执行时,执行本发明的系统中限定的上述功能。
143.需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
144.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
145.描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括消息模块、更新模块和调拨模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,消息模块还可以被描述为“用于在数据分片事务执行成功后,采用交易消息队列,将所述数据分片事务后库存资源的变化量发送至聚合事件队列中”。
146.作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
147.在数据分片事务执行成功后,采用交易消息队列,将所述数据分片事务后库存资源的变化量发送至聚合事件队列中;
148.通过监听所述聚合事件队列,更新数据分片的库存资源分布,并按照所述库存资源分布,发送数据分片的资源调拨指令;
149.基于所述资源调拨指令,将数据分片中调拨资源存储至资源调拨池中,以及将所述资源调拨池中的调拨资源存储至其他数据分片中,以使多个数据分配的库存资源分布平衡。
150.根据本发明实施例的技术方案,在数据分片事务执行成功后,采用交易消息队列,将所述数据分片事务后库存资源的变化量发送至聚合事件队列中;通过监听所述聚合事件队列,更新数据分片的库存资源分布,并按照所述库存资源分布,发送数据分片的资源调拨指令;基于所述资源调拨指令,将数据分片中调拨资源存储至资源调拨池中,以及将所述资源调拨池中的调拨资源存储至其他数据分片中,以使多个数据分配的库存资源分布平衡。采用监听队列,更新数据分片的库存资源分布,进而能够提高各个数据分片中的资源分布平衡。
151.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
152.需要说明的是,本发明的技术方案中,所涉及的用户个人信息的采集、分析、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法且合理的用途,不在这些合法使用等方面之外共享、泄露或出售,并且接受监管部门的监督管理。应当对用户个人信息采取必要措施,以防止对此类个人信息数据的非法访问,确保有权访问个人信息数据的人员遵守相关法律法规的规定,确保用户个人信息安全。一旦不再需要这些用户个人信息数据,应当通过限制甚至禁止数据收集和/或删除数据的方式将风险降至最低。
153.当适用时,包括在某些相关应用程序中,通过对数据去标识来保护用户隐私,例如在适用时通过移除特定标识符(例如,出生日期等)、控制所存储数据的量或特异性(例如,在城市级别而不是在具体地址级别收集位置数据)、控制数据如何被存储、和/或其他方法去标识。

技术特征:
1.一种平衡资源的方法,其特征在于,包括:在数据分片事务执行成功后,采用交易消息队列,将所述数据分片事务后库存资源的变化量发送至聚合事件队列中;通过监听所述聚合事件队列,更新数据分片的库存资源分布,并按照所述库存资源分布,发送数据分片的资源调拨指令;基于所述资源调拨指令,将数据分片中调拨资源存储至资源调拨池中,以及将所述资源调拨池中的调拨资源存储至其他数据分片中,以使多个数据分配的库存资源分布平衡。2.根据权利要求1所述平衡资源的方法,其特征在于,所述在数据分片事务执行成功,包括:在所述数据分片事务执行成功后,向所述交易消息队列发送原子事件执行成功消息,所述原子事件执行成功消息包括所述数据分片的标识和所述库存资源的变化量。3.根据权利要求1所述平衡资源的方法,其特征在于,所述库存资源包括:商品库存数量或账户余额。4.根据权利要求1所述平衡资源的方法,其特征在于,所述在数据分片事务执行成功后,采用交易消息队列,将所述数据分配事务后库存资源的变化量发送至聚合事件队列中,包括:在数据分片事务执行成功后,周期性汇总所述数据分片库存资源的变化量;采用交易消息队列,将所述数据分配事务后库存资源的变化量发送至聚合事件队列中。5.根据权利要求1所述平衡资源的方法,其特征在于,所述通过监听所述聚合事件队列,更新数据分片的库存资源分布,并按照所述库存资源分布,发送数据分片的资源调拨指令,包括:监听所述聚合事件队列中数据分片库存资源的变化量,以监听到是库存资源的变化量,更新数据分片的库存资源分布;按照所述库存资源分布,筛选出数据分片的输出资源和数据分片的输入资源,并根据所述输出资源和所述输入资源发送所述数据分片的资源调拨指令。6.根据权利要求1所述平衡资源的方法,其特征在于,所述更新数据分片的库存资源分布,包括:更新资源表中数据分片的资源量,以得到所述数据分片的库存资源分布,所述库存资源分布包括库存资源的全局分布视图。7.根据权利要求5所述平衡资源的方法,其特征在于,所述按照所述库存资源分布,筛选出数据分片的输出资源和数据分片的输入资源,并根据所述输出资源和所述输入资源发送所述数据分片的资源调拨指令,包括:按照所述库存资源分布中的数据分片平均库存资源,以及所述库存资源分配中的每个数据分片的库存资源,筛选出数据分片的输出资源和数据分片的输入资源;根据所述输出资源的数据量、所述输出资源的数据分片、所述输入资源的数据量和所述输入资源的数据分片,发送所述数据分片的资源调拨指令。8.根据权利要求1所述平衡资源的方法,其特征在于,所述基于所述资源调拨指令,将数据分片中调拨资源存储至资源调拨池中,以及将所述资源调拨池中的调拨资源存储至其
他数据分片中,包括:基于所述资源调拨指令,将数据分片中调拨资源存储至资源调拨池中,采用所述交易消息队列,将所述数据分片事务后库存资源的变化量发送至聚合事件队列中;将所述资源调拨池中的调拨资源存储至其他数据分片中,采用所述交易消息队列,将所述数据分片事务后库存资源的变化量发送至聚合事件队列中。9.根据权利要求8所述平衡资源的方法,其特征在于,所述将所述资源调拨池中的调拨资源存储至其他数据分片中,包括:向多个数据分片分布发送对应的原子指令,以将所述资源调拨池中的调拨资源分别存储至所述多个数据分片中。10.根据权利要求1所述平衡资源的方法,其特征在于,所述通过监听所述聚合事件队列,更新数据分片的库存资源分布,包括:通过监听所述聚合事件队列,按照平衡周期更新数据分片的库存资源分布,所述平衡周期是由数据分片的数量和数据分片的存储时间确定的。11.一种平衡资源的装置,其特征在于,包括:消息模块,用于在数据分片事务执行成功后,采用交易消息队列,将所述数据分片事务后库存资源的变化量发送至聚合事件队列中;更新模块,用于通过监听所述聚合事件队列,更新数据分片的库存资源分布,并按照所述库存资源分布,发送数据分片的资源调拨指令;调拨模块,用于基于所述资源调拨指令,将数据分片中调拨资源存储至资源调拨池中,以及将所述资源调拨池中的调拨资源存储至其他数据分片中,以使多个数据分配的库存资源分布平衡。12.一种平衡资源的电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-10中任一所述的方法。

技术总结
本发明公开了平衡资源的方法、装置、设备和计算机可读介质,涉及大数据技术领域。该方法的一具体实施方式包括:在数据分片事务执行成功后,采用交易消息队列,将所述数据分片事务后库存资源的变化量发送至聚合事件队列中;通过监听所述聚合事件队列,更新数据分片的库存资源分布,并按照所述库存资源分布,发送数据分片的资源调拨指令;基于所述资源调拨指令,将数据分片中调拨资源存储至资源调拨池中,以及将所述资源调拨池中的调拨资源存储至其他数据分片中,以使多个数据分配的库存资源分布平衡。该实施方式能够提高各个数据分片中的资源分布平衡。的资源分布平衡。的资源分布平衡。


技术研发人员:刘小齐 周仕杰 何鑫尧
受保护的技术使用者:建信金融科技有限责任公司
技术研发日:2023.05.15
技术公布日:2023/8/24
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐