一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

交互任务的数据处理方法、装置、电子设备、存储介质与流程

2021-10-09 02:49:00 来源:中国专利 TAG:互联网 计算机 数据处理 电子设备 交互


1.本公开涉及互联网技术领域,尤其涉及一种交互任务的数据处理方法、装置、电子设备、计算机可读存储介质、计算机程序产品。


背景技术:

2.目前,各个应用程序平台通过向用户提供需多人组队、多队比赛完成的交互任务,例如,多人组队pk(作战)类游戏,以实现强大的社交互动,从而达到延长用户时长、提高用户粘性等目的。
3.以多人组队pk类游戏为例,相关技术中,多人组队pk类游戏的系统在处理客户端的请求时,系统中的交互和数据库中的数据查询、存储有关。例如,当系统处理任一客户端的比赛数据查询请求时,通过数据访问层从数据库获取比赛数据,然后,通过数据传输对象将查询到的比赛数据传输至表示层。当系统处理任一客户端的比赛数据更新请求时,通过数据传输对象将比赛数据传输至对象模型,然后,通过数据访问层将比赛数据写回数据库。而对于多人组队pk类游戏,由于交互过程中存在大数据量同时访问系统的情况,采用相关技术中的系统架构比较容易产生性能瓶颈。


技术实现要素:

4.本公开提供一种交互任务的数据处理方法、装置、电子设备、计算机可读存储介质、计算机程序产品,以至少解决相关技术中多人组队pk时系统架构比较容易产生性能瓶颈的问题。本公开的技术方案如下:
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.资源奖励分配模块,被配置为执行当所述第一总虚拟资源值大于所述第二总虚拟资源值时,向属于所述第一帐户集的帐户分配资源奖励;当所述第二总虚拟资源值大于所述第一总虚拟资源值时,向属于所述第二帐户集的帐户分配所述资源奖励。
55.在其中一个实施例中,所述装置还包括:
56.任务获取模块,被配置为执行定时从已存在的虚拟资源变更任务中获取当前状态为未完成状态的虚拟资源变更任务;
57.事件重新生成模块,被配置为执行重新执行所述未完成状态的虚拟资源变更任务,生成与所述未完成状态的虚拟资源变更任务对应的虚拟资源变更事件;
58.更新模块,被配置为执行将所述虚拟资源变更事件存储至所述第一数据库中,以及,根据所述虚拟资源变更事件对所述第二数据库进行更新。
59.在其中一个实施例中,所述第一帐户集和所述第二帐户集在至少一个预设时间段内进行交互;所述装置还包括:
60.任务获取模块,被配置为执行在非所述预设时间段内,从所述已存在的虚拟资源变更任务中获取当前状态为已完成状态的虚拟资源变更任务;
61.删除模块,被配置为执行删除所述已完成状态的虚拟资源变更任务。
62.在其中一个实施例中,所述存储模块,被配置为执行将所述数据处理事件异步同步至第一消息队列,所述第一消息队列用于为与所述第一消息队列对应的视图处理器存储所述数据处理事件,所述视图处理器用于对所述数据处理事件进行处理,生成所述第一帐户对应的第一视图数据,并将所述第一视图数据更新至所述第二数据库中。
63.在其中一个实施例中,所述装置还包括:
64.帐户匹配模块,被配置为执行响应于所述第一帐户集中任一帐户发送的帐户集匹配请求,将所述帐户集匹配请求中携带的帐户集信息发送至第二消息队列,所述第二消息队列用于为帐户集匹配服务存储所述帐户集信息,所述帐户集匹配服务用于从候选帐户集池中确定与所述第一帐户集匹配的所述第二帐户集;
65.任务启动模块,被配置为执行响应于第三帐户发送的帐户集匹配确认请求,启动所述第一帐户集和所述第二帐户集将要共同执行的所述交互任务,所述第三帐户为所述第一帐户集或者所述第二帐户集中的任一帐户。
66.在其中一个实施例中,所述帐户集匹配确认请求是所述任一帐户定时主动发送的
请求。
67.在其中一个实施例中,所述数据查询请求是所述第二帐户定时主动发送的请求。
68.根据本公开实施例的第三方面,提供一种电子设备,包括:
69.处理器;
70.用于存储所述处理器可执行指令的存储器;
71.其中,所述处理器被配置为执行所述指令,以实现如上述第一方面任一项实施例所述的交互任务的数据处理方法。
72.根据本公开实施例的第四方面,提供一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上述第一方面任一项实施例所述的交互任务的数据处理方法。
73.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述第一方面任一项实施例所述的交互任务的数据处理方法。
74.本公开的实施例提供的技术方案至少带来以下有益效果:
75.通过引入cqrs(command query responsibility seperation,命令查询的责任分离)思想,并结合event sourcing(事件溯源)模式进行系统架构实现设计和实现,在第一帐户集和第二帐户集执行交互任务的过程中,响应于第一帐户发送的数据处理请求,创建与数据处理请求对应的数据处理任务,执行数据处理任务,生成与数据处理任务对应数据处理事件,使用事件作为状态改变的引擎,可以实现多任务并发处理。将数据处理事件存储至第一数据库中,以及,根据数据处理事件,生成与第一帐户对应的第一数据,并将第一数据更新至第二数据库中。在接收到数据查询请求后,从第二数据库中查询得到目标数据,并将目标数据返回至第二帐户。通过进行读写分离处理,使系统具备处理需多人执行的交互任务时产生的高并发的数据处理请求和数据查询请求的能力,从而提高了系统架构的整体性能,使系统架构具备高内聚低耦合、边界清晰扩展性强的特点。
76.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
77.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
78.图1是根据一示例性实施例示出的一种交互任务的数据处理方法的应用环境图。
79.图2是根据一示例性实施例示出的一种交互任务领域的模型示意图。
80.图3是根据一示例性实施例示出的一种交互任务的数据处理方法的流程图。
81.图4是根据一示例性实施例示出的一种处理虚拟资源变更请求的流程图。
82.图5是根据一示例性实施例示出的一种处理未完成状态下的虚拟资源变更任务的流程图。
83.图6是根据一示例性实施例示出的一种交互播报台的示意图。
84.图7是根据一示例性实施例示出的一种帐户集匹配的交互示意图。
85.图8是根据一示例性实施例示出的一种交互任务的数据处理方法的流程图。
86.图9是根据一示例性实施例示出的一种多人组队pk系统的示意图。
87.图10是根据一示例性实施例示出的一种多人组队pk过程的交互图。
88.图11是根据一示例性实施例示出的一种pk阶段更新积分值的示意图。
89.图12是根据一示例性实施例示出的一种交互任务的数据处理装置的框图。
90.图13是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
91.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
92.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
93.还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
94.本公开所提供的交互任务的数据处理方法,可以应用于如图1所示的应用环境中。该应用环境包括属于第一队伍的n个第一终端110、服务器120、属于第二队伍的m个第二终端130。其中,n,m为大于1的任意整数。第一终端110通过网络与服务器120进行交互;第二终端130通过网络与服务器120进行交互。第一终端110和第二终端130中安装有能够用于执行交互任务的应用程序。第一终端110和第二终端130中安装的用于执行交互任务的应用程序可以是相同的应用程序;也可以是不同的应用程序,例如,第一终端130中用于执行交互任务的应用程序为小视频类应用程序,而第二终端130中用于执行交互任务的应用程序为绑定在即时通信类应用程序上的小程序。
95.服务器120预先部署有支撑交互任务运行的交互任务系统。该交互任务系统的整体设计基于微服务架构并借鉴了领域驱动设计的思想,例如,基于领域驱动设计中的cqrs模式,并结合event sourcing(事件溯源)模式进行设计和实现。
96.其中,领域既可以表示整合交互任务系统,也可以表示其中的某个核心域或者支撑域。在领域驱动设计中,一个领域被分成若干子域,领域模型在限界上下文中完成开发。
97.子域是领域更细粒度的划分,根据重要性与功能将领域分为大致三类的多个子域,分别是核心子域、支撑子域、通用子域。核心子域是业务成功的主要促成因素,主要竞争力,数量可以为一个。支撑子域用于支撑核心子域,数量可以为多个。而通用子域是业务系统的公用部分。当然,除了核心子域外,其他子域不是必要子域。
98.限界上下文包含的是一个系统、一个应用、一种业务服务以及一系列实现业务的复杂组件。一个限界上下文可能被包含在一个子域里,也可能被包含在多个子域里,比如交互任务系统包括交互核心子域、匹配子域、队伍子域、虚拟资源值子域、钱包子域、关卡子域等。其中,
99.交互核心子域(即pk子域),用于完成交互模型核心数据管理;
100.匹配子域,用于完成队伍关系匹配;
101.队伍子域,用于完成队伍、成员管理以及群聊管理等;
102.虚拟资源值子域,用于完成任务完成、虚拟资源值管理等;
103.钱包子域:用于完成帐户钱包管理、队伍钱包管理等;
104.关卡子域:用于完成场次、级别维护管理等。
105.若将交互任务系统的后台领域分为:交互上下文(即pk上下文)、匹配上下文、队伍上下文、虚拟资源值上下文、钱包上下文、关卡上下文,那么交互任务领域的建模可以如图2所示。参照图2,通过领域驱动设计的思想对各模块限界上下文进行合理划分,让每个限界上下文在系统中都高度的内聚,这也为开发人员各自开发功能、接口设计和依赖方式确立了清晰的边界。
106.具体地,在创建第一队伍和第二队伍的交互任务后,服务器130根据属于第一队伍的多个帐户生成第一帐户集,根据属于第二队伍的多个帐户生成第二帐户集。在第一队伍和第二队伍执行交互任务的过程中,当服务器120接收来自于第一帐户集中第一帐户发送的数据处理请求时,创建与数据处理请求对应的数据处理任务;执行数据处理任务,生成与数据处理任务对应数据处理事件。服务器120将数据处理事件存储至第一数据库中,以及,根据数据处理事件,生成与第一帐户对应的第一数据,并将第一数据更新至第二数据库中。服务器120响应于第二帐户的数据查询请求,从第二数据库中查询得到目标数据,并将目标数据返回至第二帐户,其中,第二帐户可以为第一帐户集或者第二帐户集中的任一帐户。
107.其中,第一终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备;服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现;第二终端130可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备。
108.当然,本公开所述的交互任务的数据处理方法还可以应用于多于两个队伍执行的交互任务。对于服务器而言,应用于多于两个队伍的数据处理过程和数据查询过程,与应用于两个队伍的过程相似,因此,在此不进行具体描述。
109.图3是根据一示例性实施例示出的一种交互任务的数据处理方法的流程图,如图3所示,交互任务的数据处理方法用于服务器中,包括以下步骤。
110.在步骤s310中,在第一帐户集和第二帐户集执行交互任务的过程中,响应于第一帐户集中第一帐户发送的数据处理请求,创建与数据处理请求对应的数据处理任务。
111.其中,第一帐户集是指包括第一队伍的所有帐户的集合,相应地,第二帐户集是指包括第二队伍的所有帐户的集合。第一队伍和第二队伍是一个相对的概念,参与交互任务的两个队伍中,其中一个为第一队伍,则另一个为第二队伍。
112.第一帐户可以是第一帐户集中的任一帐户。可以理解的是,本实施例是以第一帐户集中的第一帐户发送的数据处理请求为例进行示例性说明,对于来自于第一帐户集或者第二帐户集中的任一帐户的数据处理请求,服务器都可以按照本实施例的方式对数据处理请求进行并行处理。
113.数据处理请求是客户端发送的请求进行数据处理的消息。数据处理的具体类型有多种,视交互任务的当前执行场景而定,例如,第一帐户所在客户端获取当前第一帐户完成
一个交互任务,则向服务器发送针对第一帐户的虚拟资源变更请求,以请求服务器对第一帐户增加相应的虚拟资源值。或者,第一帐户所在客户端获取第一帐户发送的队伍名称变更操作,向服务器发送队伍名称变更请求,以请求服务器对第一队伍的名称进行变更。
114.具体地,在第一帐户集和第二帐户集执行交互任务的过程中,服务器接收第一帐户集中第一帐户发送的数据处理请求,第一数据处理请求携带第一帐户的帐户信息、上下文信息等内容。服务器通过预设的命令处理器对数据处理请求进行解析,以确定数据处理聚合实例(即数据处理任务)。数据处理任务使用唯一性数据处理任务标识表征。
115.在步骤s320中,执行数据处理任务,生成与数据处理任务对应数据处理事件。
116.具体地,服务器执行数据处理任务,并在执行数据处理任务的过程中,生成一系列与数据处理任务对应的数据处理事件。
117.举例说明,数据处理请求为第一队伍的队伍名称更改请求。在服务器接收队伍名称更改请求后,通过命令处理器创建队伍名称更改任务。服务器执行队伍名称更改任务,生成队伍名称开始更改事件,并创建队伍名称更改命令,以进行队伍名称的更改操作。在服务器执行更改操作完毕后,再产生队伍名称更改事件。
118.在步骤s330中,将数据处理事件存储至第一数据库中,以及,根据数据处理事件,生成与第一帐户对应的第一数据,并将第一数据更新至第二数据库中。
119.其中,第一数据库可以是用于写入数据的数据库,可以采用关系型数据库、非关系型数据库等中的其中一种实现。第一数据库中存储有对多个数据处理任务进行处理所产生的数据处理事件。
120.第二数据库可以是用于读取数据的数据库,可以采用关系型数据库、非关系型数据库等中的其中一种实现。第二数据库可以存储有能够直接向客户端返回的数据,例如,更改后的第一队伍的名称。
121.具体地,服务器在得到与数据处理任务对应的至少一个数据处理事件后,对数据处理事件进行持久化处理,可以按照数据处理事件发生的时间先后顺序,将与数据处理任务对应的数据处理事件存储至第一数据库中。
122.在对数据处理事件进行持久化处理后,服务器异步将与数据处理任务对应的数据处理事件发送至事件处理器。通过事件处理器根据数据处理事件生成第一数据,并将第一数据存储至第二数据库中。
123.在步骤s340中,响应于第二帐户的数据查询请求,从第二数据库中查询得到目标数据,并将目标数据返回至第二帐户。
124.其中,第二帐户可以为第一帐户集或者第二帐户集中的任一帐户,第二帐户与第一帐户可以相同,也可以不同。
125.数据查询请求可以是第二帐户所在客户端自动发送的请求,例如,周期性自动发送的虚拟资源值查询请求;也可以是响应于用户的触发操作发送的请求,例如,检测到用户点击历史记录控件,向服务器发送交互任务的历史记录查询请求。
126.具体地,当服务器接收到来自第二帐户的数据查询请求后,通过查询处理器对数据查询请求进行解析,以得到数据查询请求中携带的相关索引信息。查询处理器根据相关索引信息,从第二数据库中检索到与相关索引信息对应的目标数据,将目标数据返回至第二帐户,以使第二帐户所在的客户端显示目标数据。
127.上述交互任务的数据处理方法中,通过引入cqrs思想,并结合event sourcing模式进行系统架构实现设计和实现,在第一帐户集和第二帐户集进行交互的过程中,响应于第一帐户发送的数据处理请求,创建与数据处理请求对应的数据处理任务,执行数据处理任务,生成与数据处理任务对应数据处理事件,使用事件作为状态改变的引擎,可以实现多任务并发处理。将数据处理事件存储至第一数据库中,以及,根据数据处理事件,生成与第一帐户对应的第一数据,并将第一数据更新至第二数据库中。在接收到数据查询请求后,从第二数据库中查询得到目标数据,并将目标数据返回至第二帐户。通过进行读写分离处理,使系统具备处理需多人执行的交互任务时产生的高并发的数据处理请求和数据查询请求的能力,从而提高了系统的整体性能,使系统具备高内聚低耦合、边界清晰扩展性强的特点。
128.在一示例性实施例中,数据查询请求是第二帐户定时主动发送的请求。
129.具体地,由于交互任务的前端页面(例如html5页面,超文本标记语言5页面)切换比较频繁,用户留时间较短,对业务数据的实时性要求没有特别严格,因此,本实施例中,使前端通过http(hypertext transfer protocol,超文本传输协议)定时轮询的方式与服务器交互。例如,默认10秒触发一次数据查询请求,以请求刷新交互任务主页面的数据。通过采用定时轮询的方式实现客户端和服务器之间的交互,同时从用户量级、服务器成本、实现的难易程度等方面综合考量,可以提升交互任务系统的可实现性。
130.在一示例性实施例中,如图4所示,当数据查询请求为第一帐户执行交互任务后发送的虚拟资源变更请求时,对虚拟资源变更请求进行处理可以通过以下步骤实现:
131.步骤s410,响应于第一帐户执行交互任务后发送的虚拟资源变更请求,确定第一帐户执行交互任务得到的第一虚拟资源值,创建虚拟资源变更任务。
132.其中,参加交互的每个帐户所要执行的交互任务的数量可以为一个或者多个,例如,设置每个帐户需完成三个交互任务。虚拟资源值可以通过积分值、虚拟币等表征。预先在服务器中配置交互任务和虚拟资源值的对应关系,使服务器根据该对应关系便可快速查询到与当前执行完毕的交互任务对应的虚拟资源值,作为第一虚拟资源值。
133.具体地,第一帐户每完成一个交互任务,第一帐户所在的客户端可以向服务器发送虚拟资源变更请求,虚拟资源变更请求中携带与当前完成的交互任务相对应的上下文信息。服务器根据该上下文信息查询与当前完成的交互任务对应的虚拟资源值,通过命令处理器对虚拟资源变更请求进行解析,以确定虚拟资源变更聚合实例(即虚拟资源变更任务)。虚拟资源变更任务可以通过唯一性虚拟资源变更任务标识表征。
134.步骤s420,执行虚拟资源变更任务,对第一帐户的虚拟资源变更第一虚拟资源值,并在执行过程中,生成与虚拟资源变更任务对应的虚拟资源变更事件。
135.其中,变更虚拟资源值可以是减少或者增加虚拟资源值,视交互任务的具体执行情况而定。例如,第一帐户优先完成某个交互任务,则可以对第一帐户增加第一虚拟资源值;若第二帐户集中的帐户优先完成该个交互任务,则可以对第一帐户减少第一虚拟资源值。
136.具体地,服务器在执行虚拟资源变更任务的过程中,生成与虚拟资源变更任务对应的至少一个虚拟资源变更事件。举例说明,在服务器接收虚拟资源变更请求后,通过命令处理器创建虚拟资源变更任务。服务器在执行虚拟资源变更任务,生成虚拟资源变更开始
事件,并创建虚拟资源变更命令,以进行虚拟资源值的变更操作,对第一帐户虚拟资源变更第一虚拟资源值。在变更操作完成后,再产生虚拟资源变更事件。
137.在本实施例中,步骤s320,将数据处理事件存储至第一数据库中,以及,根据数据处理事件,生成与第一帐户对应的第一数据,并将第一数据更新至第二数据库中,包括:
138.步骤s430,将虚拟资源变更事件存储至第一数据库中。
139.具体地,服务器在得到虚拟资源变更事件后,对虚拟资源变更事件进行持久化处理,可以按照虚拟资源变更事件发生的时间先后顺序,将与虚拟资源变更任务标识对应的虚拟资源变更事件存储至第一数据库中。
140.步骤s440,根据虚拟资源变更事件,异步生成与第一帐户对应的第二虚拟资源值,并将与第一帐户对应的第二虚拟资源值更新至第二数据库中。
141.具体地,在对虚拟资源变更事件进行持久化处理后,服务器异步将与虚拟资源变更任务标识对应的虚拟资源变更事件发送至事件处理器。通过事件处理器根据虚拟资源变更事件生成与第二帐户对应的第二虚拟资源值,并将与第二帐户对应的第二虚拟资源值存储至第二数据库中。
142.本实施例中,通过使用事件作为状态改变的引擎,可以实现多个虚拟资源变更任务的并发处理,提升虚拟资源变更任务的处理效率和准确性。将虚拟资源变更事件存储至第一数据库中,以及,根据虚拟资源变更事件,生成与第一帐户对应的第二虚拟资源值,并将第二虚拟资源值更新至第二数据库中,通过对虚拟资源的变更进行读写分离处理,可以提高系统处理高并发的虚拟资源变更任务的能力。
143.在一示例性实施例中,第一帐户集和第二帐户集在至少一个预设时间段内进行交互。例如,交互任务的有效时长为交互任务启动后的一个月。在这一个月内,第一帐户集和第二帐户集在每天的预设时间段(例如上午9点至下午22点)进行交互,其余时间不进行交互。所述方法还包括第一帐户集的第一总虚拟资源值和第二帐户集的第二总虚拟资源值的校验过程。
144.具体地,第一帐户集的第一总虚拟资源值可以是对第二数据库中当前已产生的属于第一帐户集的所有第二虚拟资源值进行求和得到。例如,第一帐户集中包含帐户1和帐户2,当前已产生的所有与帐户1对应的第二虚拟资源值为a1、a2,当前已产生的所有与帐户2对应的第二虚拟资源值为b,那么第一帐户集的第一总虚拟资源值可以为a1、a2与b之和。每当服务器执行一次与第一帐户集中的帐户对应的虚拟资源变更任务后,可以同步对第一帐户集对应的第一总虚拟资源值进行变更。
145.相应地,第二帐户集的第二总虚拟资源值可以是对第二数据库中当前已产生的属于第二帐户集的所有第三虚拟资源值进行求和得到。第三虚拟资源值的具体获取方式可以参照上述第一帐户集的第二虚拟资源值的获取方式,在此不做具体描述。例如,第二帐户集中包含帐户3和帐户4,当前已产生的所有与帐户3对应的第三虚拟资源值为c1、c2,当前已产生的所有与帐户4对应的第三虚拟资源值为d1、d2,那么第二帐户集的第二总虚拟资源值可以为c1、c2、d1、d2之和。每当服务器执行一次与第二帐户集中的帐户对应的虚拟资源变更任务后,可以同步对第二帐户集对应的第一总虚拟资源值进行变更。
146.在每个预设时段结束后,例如,每天的上午9点至下午22点进行交互,那么在每天的22点后,服务器从第一数据库中获取当前已产生的与第一帐户集中与每个帐户对应的所
有的第一虚拟资源值,并获取所有的第一虚拟资源值之和。服务器将第一虚拟资源值之和与第二虚拟资源值之和进行比较,当第一虚拟资源值之和与第二虚拟资源值之和不同时,将第二数据库中的第一总虚拟资源值替换为第一帐户集的第一虚拟资源值之和。
147.相应地,在每个预设时段结束后,服务器从第一数据库中获取当前已产生的与第二帐户集中与每个帐户对应的所有的第四虚拟资源值,并获取所有的第四虚拟资源值之和。第四虚拟资源值的具体获取方式可以参照上述第一帐户集的第一虚拟资源值的获取方式,在此不做具体描述。服务器将第三虚拟资源值之和与第四虚拟资源值之和进行比较,当第三虚拟资源值之和与第四虚拟资源值之和不同时,将第二数据库中的第二总虚拟资源值替换为第二帐户集的第四虚拟资源值之和。
148.本实施例中,每个预设时段结束后对每个帐户集对应的总虚拟资源值进行校验,可以减轻服务器在预设时间段的运行压力,不占用服务器过多的处理资源;在总虚拟资源值与标准值(即第一虚拟资源值)不同时,对帐户集对应的总虚拟资源值进行更新,可以确保数据的一致性和准确性。
149.在一示例性实施例中,所述方法还包括:在每个预设时间段结束后,将第一总虚拟资源值与第二总虚拟资源值进行比较;当第一总虚拟资源值大于第二总虚拟资源值时,向属于第一帐户集的帐户分配资源奖励;当第二总虚拟资源值大于第一总虚拟资源值时,向属于第二帐户集的帐户分配资源奖励。
150.其中,资源奖励可以为红包奖励、礼品奖励、道具奖励等。预先在服务器中配置虚拟资源值和资源奖励的对应关系,使服务器根据该对应关系便可快速查询到需要分配的资源奖励。
151.具体地,在每个预设时间段结束后,服务器将第一帐户集对应的第一总虚拟资源值与第二帐户集对应的第二总虚拟资源值进行比较。可以理解的是,此处的第一总虚拟资源值和第二总虚拟资源值是经过校验的值。若第一总虚拟资源值大于第二总虚拟资源值,则第一队伍为胜利方,向属于第一帐户集的帐户分配与第一总虚拟资源值对应的资源奖励。若第一总虚拟资源值小于第二总虚拟资源值,则第二队伍为胜利方,向属于第二帐户集的帐户分配与第二总虚拟资源值对应的资源奖励。
152.进一步地,服务器在确定胜利方后,还可以计算胜利方的帐户集中,每个帐户的虚拟资源值与总虚拟资源值的比例,根据该比例对资源奖励进行划分,将划分得到的资源奖励分配至每个帐户。
153.本实施例中,在每个预设时段结束后进行资源奖励的分配,可以减轻服务器在预设时间段的运行压力,不额外占用服务器过多的处理资源。通过进行资源奖励,可以提升用户参与交互的积极性,有助于提升用户留存时长。
154.在一示例性实施例中,如图5所示,所述方法还包括:
155.在步骤s510中,定时从已存在的虚拟资源变更任务中获取当前状态为未完成状态的虚拟资源变更任务。
156.具体地,在虚拟资源变更任务执行的过程中,会随着当前处理进度标注虚拟资源变更任务对应的当前状态,例如,虚拟资源变更开始时,当前状态为开始处理;虚拟资源变更操作进行时,当前状态为进行中;虚拟资源变更操作完成后,当前状态为已完成。服务器定时(例如,每隔2秒)扫描已存在的虚拟资源变更任务的状态,从已存在的虚拟资源变更任
务中获取当前状态为未完成状态的虚拟资源变更任务。未完成状态可以是指除已完成状态外的其他状态。
157.在步骤s520中,重新执行未完成状态的虚拟资源变更任务,生成与未完成状态的虚拟资源变更任务对应的虚拟资源变更事件。
158.具体地,服务器重新执行未完成状态的虚拟资源变更任务,并在执行过程中生成与虚拟资源变更任务对应的一系列虚拟资源变更事件。其中,虚拟资源变更任务的具体执行过程可以按照上述实施例,在此不作具体阐述。
159.在步骤s530中,将虚拟资源变更事件存储至第一数据库中,以及,根据虚拟资源变更事件对第二数据库进行更新。
160.具体地,服务器在得到虚拟资源变更事件后,对虚拟资源变更事件进行持久化处理,可以按照虚拟资源变更事件发生的时间先后顺序,将与虚拟资源变更任务标识对应的虚拟资源变更事件存储至第一数据库中。在对虚拟资源变更事件进行持久化处理后,服务器异步将与虚拟资源变更任务标识对应的虚拟资源变更事件发送至事件处理器。通过事件处理器根据虚拟资源变更事件生成与第二帐户对应的第二虚拟资源值,并将与第二帐户对应的第二虚拟资源值存储至第二数据库中。
161.进一步地,服务器还可以通过唯一性的虚拟资源变更任务标识等保证幂等,从而确保任务重复执行都不会导致数据出错。
162.进一步地,对于其他类型任务,同样可以参照本实施例所述的方式对其他类型的任务进行扫描和重新执行。
163.本实施例中,通过增加任务扫描和重新执行机制,确保所创建的每个任务都能够被完整执行,从而可以确保数据库中数据的准确性。
164.在一示例性实施例中,所述方法还包括:在非预设时间段内,从已存在的虚拟资源变更任务中获取当前状态为已完成状态的虚拟资源变更任务;删除已完成状态的虚拟资源变更任务。
165.其中,非预设时间段内可以是指交互任务有效期间内,除预设时间段之外的任意时间段,例如,预设时间段为每天的上午9点至下午22点,那么非预设时间段内可以为每天下午22点至次日上午9点。具体地,在非预设时间段内,服务器扫描已存在的虚拟资源变更任务的当前状态。获取当前状态为已完成状态的虚拟资源变更任务,删除当前状态为已完成状态的虚拟资源变更任务。
166.进一步地,对于其他类型任务,同样可以参照本实施例所述的方式对已完成状态下的其他类型任务进行删除。
167.本实施例中,通过对已完成状态的虚拟资源变更任务进行硬删,可以为服务器清理出更多的空间,有助于提升服务器的执行速度。
168.在一示例性实施例中,将数据处理事件存储至第一数据库中,以及,根据数据处理事件,生成与第一帐户对应的第一数据,并将第一数据更新至第二数据库中,包括:将数据处理事件异步同步至第一消息队列,第一消息队列用于为与第一消息队列对应的视图处理器存储数据处理事件,视图处理器用于对数据处理事件进行处理,生成第一帐户对应的第一视图数据,并将第一视图数据更新至第二数据库中。
169.其中,事件回溯的主要特点是不保存对象的最新状态,而是保存对象产生的所有
事件,通过事件回溯得到对象最新的状态。对于基于事件回溯存储的数据,可以以视图快照的形式进行存储,从而可以实现高效地数据查询。视图的类型可以包括多种,例如,交互播报台视图、比赛详情视图、队伍战绩视图、场次详情视图等。
170.具体地,事件处理器可以包括至少一个视图处理器。在服务器对数据处理事件持久化处理后,服务器异步将与数据处理任务对应的数据处理事件发送至第一消息队列,以使第一消息队列存储与数据处理任务对应的数据处理事件。视图处理器通过消费第一消息队列中的数据处理事件,按照数据处理事件的生成时间对数据处理事件进行事件回溯,生成第一帐户对应的第一视图数据,并将第一视图数据更新至第二数据库中。例如,应用程序中包括交互播报台功能,那么可以利用第一帐户集和第二帐户集中每个帐户对应的已完成任务的事件,构造出基于事件的播报台流水。由于事件回溯往往需要一定的时间,通过订阅任务完成事件来生成交互播报台数据视图快照(如图6所示),同时将交互播报台数据视图快照中的数据存储在缓存中,从而可以提高查询效率,改善用户了解交互任务执行过程的方式。
171.在一示例性实施例中,对第一帐户集和第二帐户集的匹配过程进行说明。在步骤s310,响应于第一帐户集中第一帐户发送的数据处理请求之前,还包括:响应于第一帐户集中任一帐户发送的帐户集匹配请求,将帐户集匹配请求中携带的帐户集信息发送至第二消息队列,第二消息队列用于为帐户集匹配服务存储帐户集信息,帐户集匹配服务用于从候选帐户集池中确定与第一帐户集匹配的第二帐户集;响应于第三帐户发送的帐户集匹配确认请求,启动第一帐户集和第二帐户集将要共同执行的交互任务,第三帐户为第一帐户集或者第二帐户集中的任一帐户。
172.其中,候选帐户集池中包括至少一个已提交帐户集匹配请求,且正等待匹配结果的帐户集。帐户集相关信息可以但不限于包括帐户集中帐户的数量、帐户的属性信息(例如,性别、地区、年龄等)等信息。帐户匹配服务是指用于确定互相匹配的两个帐户集的服务。第三帐户为第一帐户集或者第二帐户集中的任一帐户。
173.具体地,帐户集的匹配过程采用同步提交请求以及异步匹配的方式。以第一帐户集视角为例进行说明。在第一队伍创建成功后,第一帐户集中的任一帐户可以向服务器发送帐户集匹配请求,帐户集匹配请求中包括第一帐户集的帐户集相关信息。进一步地,在该任一帐户发送帐户集匹配请求后,该任一帐户所在的客户端可以根据预设策略向服务器发送帐户集匹配确认请求,以获取中帐户集匹配结果。其中,预设策略可以是定时主动发送,例如,每隔10秒主动向服务器发送帐户集匹配确认请求。
174.服务器在接收帐户集匹配请求后,将第一帐户集的帐户集相关信息发送至第二消息队列,以使第二消息队列为帐户集匹配服务存储帐户集相关信息。帐户集匹配服务中预先部署有帐户匹配策略,帐户匹配策略可以基于深度学习理论、查找理论等实现。以深度学习理论为例,可以根据每个帐户集的帐户集相关信息生成对应的帐户集特征向量。采用深度学习模型计算第一帐户集的帐户集特征向量与候选帐户集池中每个帐户集对应的帐户集特征向量之间的相似度。将相似度最高的帐户集作为第二帐户集。当服务器接收到来自第三帐户发送的帐户集匹配确认请求后,启动第一帐户集和第二帐户集将要共同执行的交互任务,并向第一帐户集和第二帐户集中的各个帐户发送交互任务的启动通知。
175.图7示例性示出了匹配帐户集的示意图。如图7所示,第一帐户集中的任一帐户上
报帐户集匹配请求后,服务器基于异步匹配策略在候选帐户集池中为第一帐户集匹配第二帐户集。与此同时,当第一帐户集和第二帐户集中的任一帐户轮询到匹配结果时,服务器启动本轮交互任务。
176.进一步地,在启动本轮交互任务后,服务器还可以自动初始化交互任务数据,例如,为每个帐户发放启动虚拟资源值等。
177.本实施例中,通过采用同步提交请求以及异步匹配的方式为第一帐户集匹配到对应的第二帐户集,可以提升服务器的并行处理能力,从而加快帐户集匹配的速度,减少用户等待的时长。
178.图8是根据一示例性实施例示出的一种交互任务的数据处理方法的流程图,以该交互任务的数据处理方法应用于图9所示的多人组队pk系统为例。如图9所示,多人组队pk系统基于领域驱动设计中的cqrs模式,并结合event sourcing模式进行设计和实现。多人组队pk系统的读模型和写模型差别较大,例如,写模型可以用于处理单个帐户的助力数据、组队数据、积分值数据、退出帐户集数据、修改帐户集名称等;而读模型可以用于处理当前轮次比赛中双方帐户集的相关数据,包括帐户集详情、积分值详情、pk播报台、场次信息等。
179.结合图10示出的多人组队pk过程中客户端和服务器的多个交互阶段进行说明,如图8所示,包括以下步骤。
180.帐户集创建阶段:
181.在步骤s802中,创建第一帐户集和第二帐户集。
182.具体地,可以通过分享队伍链接、二维码邀请入队等方式向其他帐户发送入队请求,当接收来自其他帐户的入队确认消息后,确定第一帐户集和第二帐户集。
183.帐户集匹配阶段:
184.在步骤s804中,响应于第一帐户集中任一帐户发送的帐户集匹配请求,将帐户集匹配请求中携带的帐户集信息发送至第二消息队列,第二消息队列用于为帐户集匹配服务存储帐户集信息,帐户集匹配服务用于从候选帐户集池中确定与第一帐户集匹配的第二帐户集。
185.在步骤s806中,响应于第三帐户发送的帐户集匹配确认请求,启动第一帐户集和第二帐户集的组队pk任务。第三帐户为第一帐户集或者第二帐户集中的任一帐户。
186.pk阶段(参照图11示例性示出的一种pk阶段更改积分值的示意图):
187.在步骤s808中,响应于第一帐户执行pk任务后发送的积分值变更请求,确定第一帐户执行pk任务得到的第一积分值,创建积分变更任务。
188.在步骤s810中,执行积分变更任务对第一帐户的积分增加第一积分值,并在执行过程中,生成与积分变更任务对应的积分变更事件。
189.在步骤s812中,将积分变更事件存储至第一数据库中。
190.在步骤s814中,将积分变更事件异步同步至第一消息队列,第一消息队列用于为与第一消息队列对应的视图处理器存储积分变更事件,视图处理器用于对积分变更事件进行处理,生成第一帐户对应的第一视图数据,并将第一视图数据更新至第二数据库中。
191.在步骤s816中,定时获取当前状态为未完成状态的积分变更任务,并重新执行未完成状态的积分变更任务,根据所得到的积分变更事件对第一数据库和第二数据库进行更新。
192.在步骤s818中,在每个预设时间段结束后,对第二数据库中与第一帐户集对应的第一总积分值,以及与第二帐户集对应的第二总积分值进行校验。
193.结算阶段:
194.在步骤s820中,在每个预设时间段结束后,将第一总积分值与第二总积分值进行比较;当第一总积分值大于第二总积分值时,向属于第一帐户集的帐户分配资源奖励;当第二总积分值大于第一总积分值时,向属于第二帐户集的帐户分配资源奖励。
195.应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
196.图12是根据一示例性实施例示出的一种交互任务的数据处理装置1200框图。参照图12,该装置包括任务创建模块1202、事件生成模块1204、存储模块1206、查询模块1208。
197.任务创建模块1202,被配置为执行在第一帐户集和第二帐户集执行交互任务的过程中,响应于第一帐户集中第一帐户发送的数据处理请求,创建与数据处理请求对应的数据处理任务;事件生成模块1204,被配置为执行执行数据处理任务,生成与数据处理任务对应数据处理事件;存储模块1206,被配置为执行将数据处理事件存储至第一数据库中,以及,根据数据处理事件,生成与第一帐户对应的第一数据,并将第一数据更新至第二数据库中;查询模块1208,被配置为执行响应于第二帐户的数据查询请求,从第二数据库中查询得到目标数据,并将目标数据返回至第二帐户,第二帐户为第一帐户集或者第二帐户集中的任一帐户。
198.在一示例性实施例中,数据处理请求为虚拟资源变更请求,事件生成模块1204,被配置为执行执行与虚拟资源变更请求对应的虚拟资源变更任务,对第一帐户的虚拟资源增加第一虚拟资源值,生成与虚拟资源变更任务对应的虚拟资源变更事件。
199.在一示例性实施例中,存储模块1206,包括:第一存储单元,被配置为执行将虚拟资源变更事件存储至第一数据库中;虚拟资源值生成单元,被配置为执行根据虚拟资源变更事件,异步生成与第一帐户对应的第二虚拟资源值;第二存储单元,被配置为执行将与第一帐户对应的第二虚拟资源值更新至第二数据库中。
200.在一示例性实施例中,第一帐户集和第二帐户集在至少一个预设时间段内进行交互;装置1200还包括:第一获取模块,被配置为执行从第二数据库中获取已产生的与第一帐户集的帐户对应的第二虚拟资源值,并获取第二虚拟资源值之和,作为第一帐户集的第一总虚拟资源值;第二获取模块,被配置为执行在每个预设时间段结束后,获取第一帐户集的第一虚拟资源值之和;替换模块,被配置为执行当第一虚拟资源值之和与第二虚拟资源值之和不同时,将第一总虚拟资源值替换为第一虚拟资源值之和。
201.在一示例性实施例中,第一帐户集和第二帐户集在至少一个预设时间段内进行交互;装置1200还包括:第三获取模块,被配置为执行在每个预设时间段结束后,获取第一帐户集的第一总虚拟资源值,以及第二帐户集的第二总虚拟资源值,所述第二总虚拟资源值根据所述第一数据库和所述第二数据库中所述第二帐户集的帐户对应的虚拟资源值确定;
比较模块,被配置为执行比较第一总虚拟资源值与第二总虚拟资源值;资源奖励分配模块,被配置为执行当第一总虚拟资源值大于第二总虚拟资源值时,向属于第一帐户集的帐户分配资源奖励;当第二总虚拟资源值大于第一总虚拟资源值时,向属于第二帐户集的帐户分配资源奖励。
202.在一示例性实施例中,装置1200还包括:任务获取模块,被配置为执行定时从已存在的虚拟资源变更任务中获取当前状态为未完成状态的虚拟资源变更任务;事件重新生成模块,被配置为执行重新执行未完成状态的虚拟资源变更任务,生成与未完成状态的虚拟资源变更任务对应的虚拟资源变更事件;更新模块,被配置为执行将虚拟资源变更事件存储至第一数据库中,以及,根据虚拟资源变更事件对第二数据库进行更新。
203.在一示例性实施例中,第一帐户集和第二帐户集在至少一个预设时间段内进行交互;装置1200还包括:任务获取模块,被配置为执行在非预设时间段内,从已存在的虚拟资源变更任务中获取当前状态为已完成状态的虚拟资源变更任务;删除模块,被配置为执行删除已完成状态的虚拟资源变更任务。
204.在一示例性实施例中,存储模块1206,被配置为执行将数据处理事件异步同步至第一消息队列,第一消息队列用于为与第一消息队列对应的视图处理器存储数据处理事件,视图处理器用于对数据处理事件进行处理,生成第一帐户对应的第一视图数据,并将第一视图数据更新至第二数据库中。
205.在一示例性实施例中,装置1200还包括:帐户匹配模块,被配置为执行响应于第一帐户集中任一帐户发送的帐户集匹配请求,将帐户集匹配请求中携带的帐户集信息发送至第二消息队列,第二消息队列用于为帐户集匹配服务存储帐户集信息,帐户集匹配服务用于从候选帐户集池中确定与第一帐户集匹配的第二帐户集;任务启动模块,被配置为执行响应于第三帐户发送的帐户集匹配确认请求,启动第一帐户集和第二帐户集将要共同执行的交互任务,第三帐户为第一帐户集或者第二帐户集中的任一帐户。
206.在一示例性实施例中,帐户集匹配确认请求是任一帐户定时主动发送的请求。
207.在一示例性实施例中,数据查询请求是第二帐户定时主动发送的请求。
208.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
209.图13是根据一示例性实施例示出的一种用于交互任务的数据处理的电子设备s00的框图。例如,电子设备s00可以为一服务器。参照图13,电子设备s00包括处理组件s20,其进一步包括一个或多个处理器,以及由存储器s22所代表的存储器资源,用于存储可由处理组件s20的执行的指令,例如应用程序。存储器s22中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件s20被配置为执行指令,以执行上述交互任务的数据处理的方法。
210.电子设备s00还可以包括一个电源组件s24被配置为执行电子设备s00的电源管理,一个有线或无线网络接口s26被配置为将电子设备s00连接到网络,和一个输入输出(i/o)接口s28。电子设备s00可以操作基于存储在存储器s22的操作系统,例如windows server,mac os x,unix,linux,freebsd或类似。
211.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器s22,上述指令可由电子设备s00的处理器执行以完成上述方法。存储介质可以
是计算机可读存储介质,例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd

rom、磁带、软盘和光数据存储设备等。
212.在示例性实施例中,还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一项实施例所述的交互任务的数据处理方法。
213.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
214.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜