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

一种数据处理方法、装置、电子设备及存储介质与流程

2022-07-02 07:34:01 来源:中国专利 TAG:


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.占位数据创建模块,被配置为执行若基于账号标识从数据库中得到的数据为空值,在缓存系统中创建账号标识和账号标识对应的预设占位数据;
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.本公开的实施例提供的技术方案至少带来以下有益效果:
76.接收客户端的数据请求,数据请求包括账号标识,确定数据请求所属的业务对应
的缓存系统,业务为缓存系统对应的多个业务中的一个,若基于账号标识从缓存系统中得到的数据为空值,则确定业务对应的数据库,若基于账号标识从数据库中得到的数据为空值,在缓存系统中创建账号标识和账号标识对应的预设占位数据,向客户端发送预设占位数据。本技术实施例中,通过在缓存系统中建立预设占位数据,使得后续的请求可以在缓存系统中得到反馈,避免了大量的攻击请求走到数据库的情况,可以减轻数据库的压力。
77.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
78.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
79.图1是根据一示例性实施例示出的一种应用环境的示意图;
80.图2是根据一示例性实施例示出的一种数据处理方法的流程图;
81.图3是根据一示例性实施例示出的一种数据处理方法的流程图;
82.图4是根据一示例性实施例示出的一种数据创建的流程图;
83.图5是根据一示例性实施例示出的一种数据更新的流程图;
84.图6是根据一示例性实施例示出的一种数据获取的流程图;
85.图7是根据一示例性实施例示出的一种数据处理装置的框图;
86.图8是根据一示例性实施例示出的一种用于数据处理的电子设备的框图。
具体实施方式
87.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
88.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的第一对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
89.本技术中有关用户的所有数据均是用户授权后的数据。
90.请参阅图1,图1是根据一示例性实施例示出的一种数据处理方法的应用环境的示意图,如图1所示,该应用环境可以包括服务器01和客户端02。其中,数据库可以承载在服务器01上,还可以独立于该服务器01,承载在数据库服务器上。
91.在一些可能的实施例中,上述的客户端02可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、智能可穿戴设备等类型的客户端。也可以为运行于上述客户端的软体,例如应用程序、小程序等。可选的,客户端上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、windows、unix等。
92.在一些可能的实施例中,服务器01接收客户端02的数据请求,数据请求包括账号
标识,确定数据请求所属的业务对应的缓存系统,业务为缓存系统对应的多个业务中的一个。若基于账号标识从缓存系统中得到的数据为空值,则确定业务对应的数据库,若基于账号标识从数据库中得到的数据为空值,在缓存系统中创建账号标识和账号标识对应的预设占位数据,向客户端02发送预设占位数据。
93.可选的,服务器01可以包括是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、windows、unix等。
94.可选的,若数据库,缓存系统所在的服务器不是服务器01,则数据库或者缓存系统所在的服务器包括是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、windows、unix等。
95.图1所示的应用环境的示意图为一个可选的环境示意图。在另一些可能的实施例中,应用环境可以包括业务服务器01、客户端02、数据库服务器03和缓存系统04。其中,业务服务器01和客户端02之间存在链接,业务服务器01分别和数据库服务器03、缓存系统04之间存在链接。
96.图2是根据一示例性实施例示出的一种数据处理方法的流程图,如图2所示,数据处理方法可以应用于服务器,也可以应用于其他节点设备,包括以下步骤:
97.在步骤s201中,接收客户端的数据请求;数据请求包括账号标识。
98.本技术实施例中,服务器接收客户端发送的数据请求,该服务器可以是针对某个特定业务的业务服务器。比如,该服务器可以对接某个音乐应用程序,使得用户可以通过客户端上的音乐应用程序从该服务器获取某个音乐。该服务器可以对接某个社交应用程序,使得用户可以通过客户端上的社交应用程序从该服务器获取某些资讯信息。该服务器可以对接某个游戏应用程序,使得用户可以通过客户端上的社交应用程序从该服务器获取某些虚拟宠物的数据。下面以服务器为对接游戏应用程序的业务服务器为例进行本技术实施例中的阐述,其他应用场景请参考此游戏应用程序的业务服务器。
99.在一些可能的实施例中,服务器可以接收客户端的数据请求,该数据请求中携带有账号标识。可选的,账号标识可以包括用户的电话号码,邮箱,用户的账号信息,客户端的标识。
100.在步骤s203中,确定数据请求所属的业务对应的缓存系统;业务为缓存系统对应的多个业务中的一个。
101.在一个可选的实施例中,客户端的应用程序和业务服务器是一一对应的。也就是说,某个游戏应用程序存在专门的服务器和其对接,当服务器接收到数据请求时,就确定了数据请求所属的业务为该游戏应用程序对应的业务。
102.在另一个可选的实施例中,客户端的应用程序和业务服务器不是一一对应的。比如,服务器可以为a应用程序提供服务,还可以为b应用程序提供服务。这种情况下,在数据
请求中,不仅要携带账号标识,还需要携带有应用程序的标识。如此,当服务器接收到数据请求时,可以确定当前为哪个应用程序提供服务。
103.本技术实施例中,缓存系统可以承载在该服务器中,也可以作为单独的设备独立于该服务器,但是只为该服务器提供的业务做数据存储。
104.本技术实施例中,缓存系统可以承载在该服务器中,也可以作为单独的设备独立于该服务器,但是可以为多个服务器提供的业务做数据存储。也就是说,当前的服务器只是缓存系统能够服务的其中一个服务器,即,该数据请求所属的业务可以为缓存系统对应的多个业务中的一个。
105.基于此,当服务器接收数据请求后,可以直接确定数据请求所属的业务对应的缓存系统,或者基于应用程序的标识确定数据请求所属的业务对应的缓存系统。
106.在一些可能的实施例中,上述的缓存系统可以是一个公共的缓存系统,为多个业务或者多个服务器提供数据缓存服务。可选的,缓存系统可以一个远程字典服务(remotedictionary server,redis)型的数据库,是一个键值对key-value的存储系统。可选的,缓存系统可以一个memcached型的数据库,是一个键值对key-value的存储系统。
107.在步骤s205中,若基于账号标识从缓存系统中得到的数据为空值,则确定业务对应的数据库。
108.本技术实施例中,当服务器确定业务对应的缓存系统,可以调用该缓存系统,将账号标识作为key,从缓存系统中获取key对应的数据。可选的,假设从缓存系统中得到的数据为空值,可能是客户端还没有在数据库中创建账号标识对应的数据,因此,在缓存系统中也得不到账号标识对应的数据。可选的,假设从缓存系统中得到的数据为空值,还可能意味着数据库中存在该账号标识对应的数据,但由于一些原因,比如网络延时,集群抖动,不能很及时地在缓存系统中同步账号标识对应的数据,进而使得服务器在缓存系统中得不到账号标识对应的数据。本技术实施例中,空值是指服务器从缓存系统中得不到key对应的数据。
109.基于上述的原因,服务器可以确定业务对应的数据库,进一步地去判断是否可以从数据库中得到账号标识对应的数据。
110.本技术实施例中,数据库可以承载在该服务器中,也可以作为单独的设备独立于该服务器,但是只为该服务器提供的业务做数据存储。
111.本技术实施例中,数据库可以承载在该服务器中,也可以作为单独的设备独立于该服务器,但是可以为多个服务器提供的业务做数据存储。也就是说,当前的服务器只是数据库能够服务的其中一个服务器,即,该数据请求所属的业务可以为数据库对应的多个业务中的一个。
112.在步骤s207中,若基于账号标识从数据库中得到的数据为空值,在缓存系统中创建账号标识和账号标识对应的预设占位数据。
113.本技术实施例中,当服务器确定业务对应的数据库,可以调用该数据库,将账号标识作为key,从数据库中获取key对应的数据。可选的,假设从数据库中得到的数据为空值,可能是客户端还没有在数据库中创建账号标识对应的数据,因此,在数据库也得不到账号标识对应的数据。
114.此种情况下,客户端向服务器发送数据请求的操作可以是客户端对应的用户无意识做出的操作,也可能是网络攻击行为。但是,只要数据库中没有创建该账号标识对应的数
据,服务器接收数据请求后,最终都会走到数据库查询数据这个环节,这势必会对数据库造成较大的压力,影响数据库性能,基于此,服务器可以在缓存系统中创建该账号标识(key) 和该账号标识对应的预设占位数据(value)。
115.举个例子,假设服务器提供的业务是针对某个虚拟宠物的游戏应用程序,数据请求中包含账号信息xxxxxx123,若数据库中没有创建该账号标识对应的数据,则可以在缓存系统中设置该账号信息xxxxxx123以及账号信息对应的预设占位数据,预设占位数据可以包括虚拟宠物的标识,虚拟宠物的属性信息,该属性信息可以包括虚拟宠物的类型和等级等。此外,缓存系统中还可以存储账号标识,以及以键值对的形式保存账号标识和预设占位数据的关系。
116.可选的,预设占位数据中的虚拟宠物的标识、虚拟宠物的类型和等级都可以是预设的。其中,预设占位数据中的虚拟宠物的标识,类型和等级可以是正常创建的虚拟宠物不能用的标识,类型和等级。比如,类型为
“‑
1”,等级为
“‑
1”。
117.在步骤s209中,向客户端发送预设占位数据。
118.可选的,当服务器在缓存系统中创建账号标识对应的预设占位数据后,可以直接将该预设占位数据发送给客户端。
119.可选的,当服务器在缓存系统中创建账号标识对应的预设占位数据后,可以向客户端发送一个反馈信息,该反馈信息表征该账号标识没有对应的数据。
120.在一些可能的实施例中,服务器在缓存系统中创建预设占位数据后,可能再次收到包含有该账号标识的数据请求,可选的,服务器可以直接读取预设占位数据反馈给客户端。
121.图3是根据一示例性实施例示出的一种数据处理方法的流程图,如图3所示,在步骤 s209之后,可以包括以下步骤:
122.在步骤s301中,接收数据请求,数据请求包括账号标识。
123.在步骤s303中,确定数据请求所属的业务对应的缓存系统。
124.在步骤s305中,从缓存系统中获取预设占位数据。
125.在步骤s307中,向客户端发送预设占位数据。
126.本技术实施例中,服务器接收客户端发送的数据请求,从该数据请求中解析得到账号标识,服务器可以直接确定数据请求所属的业务对应的缓存系统,或者基于应用程序的标识确定数据请求所属的业务对应的缓存系统。由于此前已经在缓存系统中创建该账号标识对应的预设占位数据,因此,服务器可以从缓存系统中读取预设占位数据,而不是从数据库中读取数据。随后,服务器可以直接将该预设占位数据发送给客户端,也可以向客户端发送一个反馈信息,该反馈信息表征该账号标识没有对应的数据。
127.由于缓存系统中已经存在预设占位数据,因此,数据请求直接可以在缓存系统中获取数据,并反馈至客户端,不用走到数据库,这可以减轻数据库面对的数据请求量,从而保证数据库的性能。
128.图4是根据一示例性实施例示出的一种数据创建的流程图,如图4所示,在步骤s209 或者步骤s307之后,包括以下步骤:
129.在步骤s401中,接收客户端的目标数据创建指令;目标数据创建指令包含账号标识。
130.本技术实施例中,服务器接收客户端发送的目标数据创建指令,可以从该目标数据创建指令中解析得到账号标识。
131.在步骤s403中,确定目标数据创建指令所属的业务对应的数据库。
132.由于服务器接收的是基于同一个应用程序发送的目标数据创建指令,或者可以称为写指令,服务器可以确定目标数据创建指令所属的业务对应的数据库。
133.在步骤s405中,在数据库中创建账号标识和账号标识对应的目标数据。
134.可选的,当服务器接收到目标数据创建指令后,可以获取该账号标识对应的初始数据,以游戏应用程序举例,比如虚拟宠物的初始数据包括虚拟宠物的宠物标识(比如随机产生的数字或者文字,且和其他虚拟宠物的宠物标识不相同),包括虚拟宠物的类型(比如“0”,“0”表示类型待定),还可以包括虚拟宠物的等级(比如“0”,该“0”表示初始等级)。并将该初始数据作为目标数据存储在数据库中,此外,数据库中还可以保存账号标识,并以键值对的形式保存该账号标识和目标数据的关系。
135.在步骤s407中,在缓存系统中,利用目标数据覆盖预设占位数据。
136.由于此时缓存系统中,该账号标识对应的数据还是预设占位数据,若此时服务器接收到针对该账号标识的数据请求,则依然会反馈预设占位数据,这显然是不合理的。基于此,服务器在数据库中创建账号标识对应的目标数据后,可以,基于目标数据在缓存系统中,对预设占位数据进行覆盖,使得缓存系统中该账号标识对应的也是同样的目标数据。
137.一些可能的实施例中,可以在数据库中设置监听组件binlog,用于对数据库中的插入事件进行监听。当数据库有插入事件时,监听组件可以获取此条目标数据,确定账号标识对应的预设占位数据,利用目标数据对预设占位数据进行覆盖。
138.另一些可能的实施例中,服务器在数据库中创建账号标识对应的目标数据之后,可以向缓存系统发送数据覆盖指令。数据覆盖指令包括目标数据和账号标识,数据覆盖指令可以用于指示缓存系统用目标数据覆盖预设占位数据。可选的,在目标数据覆盖预设占位数据失败的情况下,可以删除缓存系统中的预设占位数据,并且,可以将数据覆盖指令存放于消息队列中,以使消息队列对应的消费端向缓存系统发送数据覆盖指令。
139.如此,当由于网络延时,集群抖动导致的数据覆盖指令发送失败,可以通过消息队列来保证数据覆盖指令的再次发送,实现缓存系统中的数据和数据库中的数据的统一,同时,删除缓存系统中的预设占位数据,还可以保证,若当前有请求账号标识对应的数据时,避免从缓存系统中获取错误的预设占位数据。
140.在一些可能的实施例中,在删除缓存系统中的预设占位数据后,当接收到数据请求时,可以从数据请求中解析得到该账号数据。随后,确定该数据请求所属的业务对应的缓存系统。此时,由于缓存系统中的预设占位数据已经被删除了,从缓存系统中获取的账号标识对应的数据为空值。接着,服务器可以确定业务对应的数据库,从数据库获取账号标识对应的数据为目标数据。
141.这样,即使目标数据覆盖缓存系统中的预设占位数据失败了,且数据覆盖指令还在消息队列时,客户端仍然可以从数据库获取准确的目标数据。
142.在数据库存在账号标识对应的目标数据后,可能还会对目标数据进行修改(比如删除某些字段,或者修改某些字段),基于此,图5是根据一示例性实施例示出的一种数据更新的流程图,如图5所示,在步骤s407之后,包括以下步骤:
143.在步骤s501中,接收客户端的目标数据更新指令;目标数据更新指令包括账号标识和更新数据。
144.本技术实施例中,服务器接收客户端发送的目标数据更新指令,可以从该目标数据更新指令中解析得到账号标识和更新数据。更新数据可以包括要更新的字段以及在目标数据中的更新位置。
145.在步骤s503中,确定数据库。
146.由于服务器接收的是基于同一个应用程序发送的目标数据更新指令,服务器可以确定目标数据更新指令所属的业务(同一业务)对应的数据库。
147.在步骤s505中,基于更新数据对账号标识对应的目标数据进行更新,得到更新后的目标数据。
148.在步骤s507中,删除缓存系统中的目标数据。
149.本技术实施例中,数据库中的数据可以是永久性的数据。缓存系统可以是公共的,需要对接多种业务,或者多个服务器,因此,考虑到缓存系统需要存储的数据量,其存储的数据可以是临时的。可选的,服务器在基于更新数据对账号标识对应的目标数据进行更新,得到更新后的目标数据之后,考虑到缓存系统的数据存储量,可以删除缓存系统中的目标数据。
150.在删除缓存系统中的目标数据之后,若服务器又接收到包含账号标识的数据请求,则可以从数据库中获取更新后的目标数据,并将更新后的目标数据保存至缓存系统中。图6 是根据一示例性实施例示出的一种数据获取的流程图,如图6所示,在步骤s507之后,包括以下步骤:
151.在步骤s601中,接收客户端的数据请求;数据请求包括账号标识。
152.在步骤s603中,从缓存系统中获取的账号标识对应的数据为空值。
153.在步骤s605中,从数据库中获取的账号标识对应的数据为更新后的目标数据。
154.在步骤s607中,将更新后的目标数据作为账号标识对应的数据存储在缓存系统中。
155.在步骤s609中,将更新后的目标数据反馈至客户端。
156.本技术实施例中,服务器接收客户端发送的数据请求,从该数据请求中解析得到账号标识,服务器可以直接确定数据请求所属的业务对应的缓存系统,或者基于应用程序的标识确定数据请求所属的业务对应的缓存系统。
157.由于上文中,在数据库的目标数据更新后,已经将缓存系统中的目标数据进行了删除,因此,服务器从缓存系统中获取的账号标识对应的数据为空值。即服务器不能从缓存系统中获取该账号标识对应的数据。接着服务器可以确定出业务对应的数据库,并从数据库中获取的账号标识对应的数据为更新后的目标数据。为了使得后续接收到的数据请求不会因为缓存系统中没有更新后的目标数据,再次走到数据库,对数据库产生压力,可以将更新后的目标数据作为账号标识对应的数据存储在缓存系统中,同时,可以将更新后的目标数据反馈至客户端。
158.另一种可选的实施例中,当服务器基于更新数据对账号标识对应的目标数据进行更新,得到更新后的目标数据之后,可以利用更新后的目标数据对缓存系统中的目标数据进行覆盖,进而使得缓存系统和数据库中的数据保持统一。然而,考虑到缓存系统需要存储
的数据量和缓存系统中存储的数据的临时性,可以对缓存系统中的数据存储情况进行监控,当缓存系统中的数据存储情况满足预设条件,可以将该数据进行删除。
159.可选的,存系统中的数据存储情况满足预设条件可以包括,预设时长内,服务器没有接收到针对该数据的数据请求。
160.综上,本技术实施例中,在数据库中没有创建账号标识对应的数据时,可以通过在缓存系统中建立预设占位数据,使得后续的请求可以在缓存系统中得到反馈,避免了大量的攻击请求走到数据库的情况,可以减轻数据库的压力。
161.图7是根据一示例性实施例示出的一种数据处理装置框图。参照图7,该装置包括指令接收模块701、缓存系统确定模块702、数据库确定模块703、占位数据创建模块704 和发送模块705。
162.接收模块701,被配置为执行接收客户端的数据请求;数据请求包括账号标识;
163.缓存系统确定模块702,被配置为执行确定数据请求所属的业务对应的缓存系统;业务为缓存系统对应的多个业务中的一个;
164.数据库确定模块703,被配置为执行若基于账号标识从缓存系统中得到的数据为空值,则确定业务对应的数据库;
165.占位数据创建模块704,被配置为执行若基于账号标识从数据库中得到的数据为空值,在缓存系统中创建账号标识和账号标识对应的预设占位数据;
166.发送模块705,被配置为执行向客户端发送预设占位数据。
167.在一些可能的实施例中,装置还包括:
168.接收模块,被配置为执行接收数据请求;数据请求包括账号标识;
169.缓存确定模块,被配置为执行确定数据请求所属的业务对应的缓存系统;
170.占位数据获取模块,被配置为执行从缓存系统中获取预设占位数据;
171.发送模块,被配置为执行向客户端发送预设占位数据。
172.在一些可能的实施例中,装置还包括:
173.接收模块,被配置为执行接收客户端的目标数据创建指令;目标数据创建指令包含账号标识;
174.数据库确定模块,被配置为执行确定目标数据创建指令所属的业务对应的数据库;
175.目标数据创建模块,被配置为执行在数据库中创建账号标识和账号标识对应的目标数据;
176.目标数据覆盖模块,被配置为执行在缓存系统中,利用目标数据覆盖预设占位数据。
177.在一些可能的实施例中,装置还包括:
178.接收模块,被配置为执行接收客户端的目标数据更新指令;目标数据更新指令包括账号标识和更新数据;
179.数据库确定模块,被配置为执行确定数据库;
180.目标数据更新模块,被配置为执行基于更新数据对账号标识对应的目标数据进行更新,得到更新后的目标数据;
181.目标数据删除模块,被配置为执行删除缓存系统中的目标数据。
182.在一些可能的实施例中,装置还包括:
183.接收模块,被配置为执行接收客户端的数据请求;数据请求包括账号标识;
184.目标数据获取模块,被配置为执行从缓存系统中获取的账号标识对应的数据为空值;从数据库中获取的账号标识对应的数据为更新后的目标数据;
185.目标数据存储模块,被配置为执行将更新后的目标数据作为账号标识对应的数据存储在缓存系统中;
186.发送模块,被配置为执行将更新后的目标数据反馈至客户端。
187.在一些可能的实施例中,目标数据覆盖模块,被配置为执行:
188.向缓存系统发送数据覆盖指令;数据覆盖指令包括目标数据和账号标识;数据覆盖指令用于指示缓存系统用目标数数据覆盖预设占位数据;
189.在目标数据覆盖预设占位数据失败的情况下,删除缓存系统中的预设占位数据;
190.将数据覆盖指令存放于消息队列中,以使消息队列对应的消费端向缓存系统发送数据覆盖指令。
191.在一些可能的实施例中,接收模块,被配置为执行接收数据请求;数据请求包括账号标识;
192.目标数据获取模块,被配置为执行从缓存系统中获取的账号标识对应的数据为空值;从数据库中获取的账号标识对应的数据为目标数据。
193.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
194.图8是根据一示例性实施例示出的一种用于数据处理的装置800的框图。例如,装置 800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
195.参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(i/o)的接口812,传感器组件814,以及通信组件816。
196.处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
197.存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
198.电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
199.多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一
些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
200.音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(mic),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
201.i/o接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
202.传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800 一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如cmos或ccd 图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
203.通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置 800可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
204.在示例性实施例中,装置800可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
205.在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
再多了解一些

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

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

相关文献