数据处理方法及装置与流程

文档序号:30348334发布日期:2022-06-08 09:55阅读:64来源:国知局
数据处理方法及装置与流程

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.图1是本技术一实施例提供的一种数据处理方法的流程图;
27.图2是本技术一实施例提供的一种分布式数据库集群中写数据库的确定方法流程图;
28.图3是本技术一实施例提供的一种数据处理装置的结构示意图;
29.图4是本技术一实施例提供的一种分布式数据库集群中写数据库的确定装置的结构示意图;
30.图5是本技术一实施例提供的一种计算设备的结构框图。
具体实施方式
31.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
32.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
33.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
34.首先,对本技术一个或多个实施例涉及的名词术语进行解释。
35.异地多活:在不同的城市机房同时部署服务实例,确保一个机房出了问题,其他机房还能正常向用户提供服务。
36.一致性:不同机房的服务的不同实例对用户提供的数据保持一致。
37.主从同步:把数据从一个节点同步到其他从节点的过程。
38.消息队列:消息的传输过程中保存消息的容器。
39.数据冲突:在同一时间对一个对象写入不同的值,不能确定该以哪个值为准。
40.随着服务质量的不断提升,许多服务都需要保证异地多活,进行跨机房的部署。对于一些无状态的服务很容易跨机房部署不需要额外考虑别的问题。但是有状态的服务进行跨机房多活部署一直是相关技术人员的难题。因为很难解决数据冲突,多机房的主从读写切换时状态的一致性问题等。
41.在本技术中,提供了一种数据处理方法,本技术同时涉及一种数据处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
42.图1示出了根据本技术一实施例提供的一种数据处理方法的流程图,具体包括以下步骤:
43.步骤102:接收数据读取请求,其中,所述数据读取请求中携带有查询参数和目标数据标识,所述查询参数基于目标数据的时效信息确定。
44.本实施例中的分布式数据库集群是指由每个机房的数据库组成的集群;在实际应用中,异地多活是指在不同城市的机房同时部署服务实例,服务实例为部署在服务器上的具体服务,如查询服务、地图服务等等,本技术不做具体限定;目前的异地多活方案为在多个机房部署服务实例,并且将数据存储在核心机房中,在其他机房存在读写请求后,需要将请求转发至核心机房,由核心机房实现读写需求;然而,采用这种方式,若核心机房出现宕机等影响正常使用的情况发生,则其他机房也无法实现数据的读写;并且,目前的方案缺少对数据变更的监听,导致机房服务无法使用缓存。
45.为了解决上述技术问题,本实施例的方案为每个机房部署对应的数据库实例,使每个机房均可存储全量数据,从而保证机房的正常工作。
46.在每个机房部署数据库实例后,可以由每个机房对应的数据库组成分布式数据库集群,为保证数据库之间数据的一致性,需要进行数据库之间的数据同步,然而,为了尽可能的降低数据冲突,本实施例的方案在接收数据读取请求之前,仅在分布式数据库集群中设置了一个写数据库,由一个写数据库进行数据的写入操作,再将写数据库中的数据同步到集群中的其他数据库中。
47.但无论采用何种方式实现数据库的同步,数据库的同步都需要消耗一定的时间,为了使用户可以在分布式数据库集群中获取到及时性较强的数据,如,账户余额、处理时间等数据,则需要在写数据库中获取。而对及时性要求较低的数据,如,视频数量、弹幕数量等
数据,可以直接在接收到读取请求的数据库中直接读取。
48.具体的,数据读取请求是指在分布式数据库集群中读取数据的请求,如,在分布式数据库集群的数据库a中读取学生成绩数据;本技术的数据读取请求中包含查询参数和目标数据标识,查询参数是指用于在分布式数据库集群中确定读取目标数据的数据库的参数,基于目标数据标识可以查询目标数据;由于查询目标数据的时效需求不同,故可以基于目标数据的时效信息生成数据读取请求中的查询参数;时效信息是指根据查询需求确定的针对目标数据的与时效相关的信息,若目标数据为视频数量、弹幕数量等时效性要求较低的数据,则可以为其设置查询时效性低的查询参数;若目标数据为账户余额、处理时间等时效较高的数据,则可以为其设置查询时效性高的查询参数。
49.基于查询参数的参数值的不同可以确定从分布式数据库集群中的不同的数据库中获取数据,若获取的目标数据对时效性要求较高,则可以从写数据库中获取数据,若获取的目标数据对时效性要求较低,则可以从接收数据读取请求的数据库中直接获取目标数据,从而避免所有数据都在写数据库中查询,提高目标数据的获取效率。
50.目标数据标识是指可唯一表示目标数据的字段,如,数据id、数据编号等等;基于查询参数可以在分布式数据库集群中确定目标数据库,在确定的目标数据库中,可以基于目标数据标识获取目标数据。
51.例如,分布式数据库集群接收数据读取请求a,其中,数据读取请求a中包含查询参数“a”以及目标数据标识“34”。
52.在实际应用中,可以基于用户的实际查询需求生成携带有查询参数的数据读取请求,即具体接收数据读取请求的方法可以包括:
53.接收基于业务数据查询请求生成的数据读取请求。
54.其中,业务数据查询请求是指在分布式数据库集群中查询业务数据的请求,业务数据可以是在某业务场景下的具体数据,如,在直播场景下的在线人数数据、弹幕数据等等。
55.具体的,基于不同的业务数据查询请求,可以为数据读取请求设置不同的参数;若业务数据请求中请求查询的数据为及时性要求较高的数据,则可以为数据读取请求设置及时性高的参数,若业务数据请求中请求查询的数据及时性要求低的数据,则可以为数据读取请求设置及时性低的标签;此外,还可以基于预设划分规则,确定业务数据请求中请求查询的数据的划分类别,基于划分类别为数据读取请求设置查询参数,如,基于预设划分规则确定查询的在线人数数据为一类数据,则可以对数据读取请求设置一类数据对应的查询参数。
56.例如,业务查询请求为查询目标直播间的在线人数数据,根据预设划分规则将在线人数数据划分类型一类数据,则可以基于一类数据对应的查询参数生成数据读取请求。
57.通过接收包含查询参数以及目标数据标识的数据读取请求,以便后续基于查询参数确定可以读取目标数据的数据库,并可以基于目标数据标识在数据库中读取数据,进而实现基于用户需求保证数据的一致性,提升用户体验。
58.在实际应用中,为了保证分布式数据库集群中数据库数据的一致性,需要在分布式数据库集群中确定写数据库,即接收数据读取请求之前本技术的方法还包括:
59.接收数据写入请求,并基于所述数据写入请求确定待写入数据;
60.获取分布式数据库集群中的写数据库标识,基于所述写数据库标识确定写数据库,并将所述待写入数据写入所述写数据库。
61.其中,数据写入请求是指在分布式数据库集群的数据库中写入数据请求,如,在分布式数据库集群中的数据库a中写入数据;数据写入请求中包含待写入数据,对数据写入请求进行解析,可以获得待写入数据,其中,待写入数据是指写入分布式数据库集群的写数据库的数据。
62.在实际应用中,可以在分布式数据库集群中获取写数据库标识,其中,写数据库标识是指可以唯一标识写数据库的字段;基于写数据库标识在分布式数据库集群中确定写数据库,并将从数据写入请求中解析得到的待写入数据写入至写数据库中。
63.例如,分布式数据库集群中的数据库b接收到数据写入请求;对数据写入请求进行解析得到待写入数据d;在分布式数据库集群中获取到写数据库标识为“p”,则根据写数据库标识为“p”确定写数据库p,并将待写入数据d写入写数据库p中。
64.通过在分布式数据库集群中确定写数据库标识,再基于写数据库标识确定写数据库,以便分布式数据库集群中的任意数据库接收到数据写入请求后,可以确定用于写入的写数据库,并及时由写数据库执行写入操作。
65.在实际应用中,若在分布式数据库集群中的数据库设置写数据库之前,接收到数据写入请求,则需要基于写入请求在分布式数据库集群中设定写数据库,具体的,获取分布式数据库集群中的写数据库标识,基于所述写数据库标识确定写数据库的方法可以包括:
66.在获取到写数据库标识的情况下,基于所述写数据库标识在分布式数据库集群中确定目标数据库,并将所述目标数据库作为写数据库;
67.在未获取到写数据库标识的情况下,为所述读数据库设置写数据库标识,并将所述读数据库作为写数据库。
68.其中,写数据库标识是指可以确定写数据库的标识;目标数据库是指基于写数据库标识在分布式数据库集群中确定的数据库;读数据库是指在分布式数据库集群中接收数据写入请求的数据库;获取到写数据库标识的情况是在接收数据写入请求之前,为分布式数据库集群设置了写数据库,则此时可以在分布式数据库集群中获取预先保存的写数据库标识,基于写数据库标识确定分布式数据库集群中的目标数据库,例如,通过元数据声明数据库f为写数据库,则可以基于元数据确定分布式数据库集群中的数据库f为目标数据库;将确定的目标数据库作为写数据库,并由写数据库执行写入操作。
69.在未获取到写数据库标识的情况下,则可以将接收数据写入请求的数据库作为写数据库,具体为:在分布式数据库集群中未查询到写数据库标识的情况下,为接收数据写入请求的数据库设置写数据库标识,并将该数据库作为写数据库,后续再次接收到数据写入请求后,则可以转发到该数据库中进行数据写入的操作。
70.例如,分布式数据库集群中保存了元数据(即写数据库标识),声明数据库k为写数据库;在数据库a接收到数据写入请求的情况下,可以获取到声明数据库k为写数据库的元数据;基于元数据确定数据库k,并将数据库k作为写数据库,用于后续对数据写入请求进行处理。
71.再如,在分布式数据库集群中的数据库g接收到数据写入请求后,未获取到写数据库标识,则为数据库g设置写数据库标识,并将数据库g作为写数据库,以便数据库g执行接
收到的数据写入请求。
72.通过在分布式数据库集群中获取写数据库标识,并基于写数据库标识确定写数据数据库,以便分布式数据库中的数据库在接收到数据写入请求后,都可以将数据写入请求转发至写数据库进行执行,避免多数据库中写数据的冲突,保证数据的一致性。
73.在写数据库执行写操作后,将待写入数据存入了写数据库中,然而,当前分布式数据库集群中的其他数据库并未进行写操作,故需要将写数据库中的数据同步存入其他数据库。
74.在实际应用中,为了解决上述数据库数据的同步问题,在为异地多活架构下的机房部署数据库实例的同时,可以设置数据库之间的主从同步功能,即在对写数据库进行修改、删除、插入操作时,将对应的操作语句存储至消息队列,基于消息队列同步到分布式数据库集群中的其他数据库中即可,从而使其他数据库可以基于消息队列中的变更消息通知其他数据库进行数据库变更。
75.具体的,将所述待写入数据写入所述写数据库之后,还包括:
76.接收数据同步请求,并基于所述数据同步请求确定目标消息队列;
77.将所述目标消息队列中的目标消息发送至所述分布式数据库集群中的每个数据库。
78.其中,数据同步请求是指在分布式数据库集群中的写数据库完成写操作后,生成的数据同步请求;在数据同步请求中包含消息队列标识,基于消息队列标识可以确定记录了目标消息队列,其中,目标消息队列中包含变更笑死,变更消息是指写数据库基于处理请求对数据库进行处理对应的消息,如,数据写入消息;目标消息是指目标消息队列中的消息之一。
79.具体的,接收数据同步请求;对接收的数据同步请求进行解析,得到消息队列标识;基于消息队列标识可以确定记录写数据库变更消息的目标消息队列;通过将目标消息队列中的目标消息发送至分布式数据库集群中的每个数据库,以便每个数据库基于目标消息执行对自身数据库的变更,从而保证数据库之间数据的一致性。
80.例如,接收数据同步请求,并对接收的数据同步请求进行解析,确定数据同步请求中的消息队列标识;基于消息队列标识确定消息队列a,并将消息队列a中的变更消息发送至分布式数据库中的每个数据库中;数据库在接收到变更消息后,基于变更消息对数据库进行变更。
81.通过在写数据库处理完成写入操作后,对分布式数据库集群中的其他数据库进行数据同步,避免了数据冲突,保证了不同数据库的数据间的一致性。
82.在实际应用中,为了保证数据写入请求的及时性,使数据写入请求可以尽快被处理,故基于所述写数据库标识确定写数据库之后,还包括:
83.基于预设专线将所述数据写入请求转发至所述写数据库。
84.其中,预设专线是指为向写数据库传输请求预留的带宽,或在设备间铺设专用线路。
85.具体的,在读数据库接收到数据写入请求,并确定分布式数据库集群中的写数据库并非当前接收请求的读数据库的情况下,通过预设专线将数据写入请求转发至写数据库。
86.通过基于预设专线将数据写入请求转发至写数据库,保证了请求转发的效率,进而提高的写数据库的请求处理效率。
87.步骤104:根据所述查询参数在所述分布式数据库集群中确定目标数据库。
88.在接收到数据读取请求后,即可基于数据读取请求中的查询参数确定目标数据库,在分布式数据库集群中包含写数据库的情况下,具体根据所述查询参数在所述分布式数据库集群中确定目标数据库,包括:
89.在所述查询参数对应的参数值为第一查询值的情况下,确定所述读数据库为目标数据库,其中,所述第一查询值对应的目标数据的时效信息为第一时效信息;
90.在所述查询参数对应的参数值为第二查询值的情况下,确定所述分布式数据库集群中的写数据库为目标数据库,其中,所述第二查询值对应的目标数据的时效信息为第二时效信息。
91.其中,第一时效信息和第二时效信息为根据实际业务确定的目标数据的时效信息,在实际业务对目标数据的及时性要求较低的情况下,可以为目标数据设置第一时效信息,如,将直播在线观看人数、弹幕数量等对及时性要求不高,即使发生延迟也不会影响用户体验的数据对应的时效信息设置为第一时效信息;将账户余额、当前商品剩余量等及时性要求高,发生延迟后会影响用户体验的数据对应的时效信息设置为第二时效信息。
92.查询参数对应的参数值是指查询参数的具体数值,如,查询参数flag的参数值可以是true或是false;第一查询值是指表示可以在当前数据库进行数据查询并且与第二查询值不一致的参数值,在目标数据的时效信息为第一时效信息的情况下,可以设置查询请求中的参数值为第一查询值,第二参数值是指需要在写数据库中进行数据查询,并且与第二查询值不一致的参数值,在目标数据的时效信息为第二时效信息的情况下,可以设置查询请求中的参数值为第二查询值,如,查询参数flag的第一查询值true、第二查询值false。
93.具体的,在查询参数对应的参数值为第一查询值的情况下,将接收数据读取请求的读数据库作为目标数据库,即后续可以在读数据库中获取目标数据;在查询参数对应的参数值为第二查询值的情况下,需要确定分布式数据库集群中的写数据库,后续可以在写数据库中获取目标数据;需要注意的是,若读数据库即为写数据库,则在查询参数对应的参数值为第二查询值的情况下,将读数据库作为目标数据库即可。
94.通过根据查询参数确定目标数据库,以便后续可以在目标数据库中查询到符合用户数据需求的数据。
95.步骤106:基于所述目标数据标识在所述目标数据库中获取目标数据。
96.在确定了目标数据库后,根据数据读取请求中的目标数据库标识在目标数据库中获取目标数据即可。
97.例如,确定分布式数据库集群中的数据库k为目标数据库,则可以根据目标数据标识“a2”在数据库k中获取目标数据。
98.本技术的数据处理方法,接收数据读取请求,其中,所述数据读取请求中携带有查询参数和目标数据标识,所述查询参数基于目标数据的时效信息确定;根据所述查询参数在所述分布式数据库集群中确定目标数据库;基于所述目标数据标识在所述目标数据库中获取目标数据。通过接收携带有查询参数的数据读取请求,从而实现了基于查询参数确定读取数据的目标数据库,在目标数据库中获取目标数据,保证了目标数据的实时性,提高了
目标数据的获取效率。
99.为了保证数据读取的一致性,在基于读取请求读取前,要保证数据库间的数据同步,以便读取到一致性高的数据;为了提高数据的一致性,本技术提供了一种分布式数据库集群中写数据库的确定方法,如图2所示,图2示出了本技术一实施例提供的一种分布式数据库集群中写数据库的确定方法的流程图,应用于分布式数据库集群中的任意一个目标数据库,具体包括以下步骤:
100.步骤202:接收数据写入请求,响应于所述数据写入请求确定写数据库标识。
101.具体的,数据写入请求是指将待写入数据写入数据库的请求;响应于数据写入请求在分布式数据库集群中查询是否包含写数据库标识,若获取到写数据库标识,则执行步骤204;若未获取到写数据库标识,则执行步骤206,需要注意的是,本实施例中的目标数据库为分布式数据库集群中的任意一个数据库。
102.步骤204:在基于所述写数据库标识确定目标数据库为写数据库的情况下,在所述目标数据库中执行写操作。
103.具体的,在分布式数据库集群中获取到写数据库标识,基于写数据库标识确定目标数据库,则将接收数据写入请求的目标数据库作为写数据库,并由目标数据库执行数据写入请求,即对数据写入请求进行解析,获得待写入数据,并将待写入数据写入目标数据库。
104.在分布式数据库集群中获取到写数据库标识,基于写数据库标识在分布式数据库集群中确定未接收到数据写入请求的目标数据库,则将该目标数据库作为写数据库,并将数据库写入请求转发至该目标数据库,由该目标数据库对数据写入请求进行执行。
105.步骤206:在基于所述写数据库标识未确定到目标数据库的情况下,将目标数据库作为写数据库,并在所述目标数据库中执行写操作。
106.具体的,在写数据库标识中未确定到目标数据库的情况下,为接收数据写入请求的目标数据库设置写数据库标识,并将目标数据库作为写数据库,执行数据写入请求。
107.上述均为可正常执行的写数据库,在写数据库不能正常运行的情况下,则需要切换分布式数据库集群中的写数据库,保证分布式数据库集群可正常为用户提供服务。具体包括:
108.在所述写数据库未响应所述数据写入请求的情况下,获取所述分布式数据库集群中的每个数据库的数据库标识;
109.基于所述数据库标识将拒绝写入请求发送至分布式数据库集群中的每个数据库。
110.其中,写数据库未响应数据写入请求的情况是指写数据库不能正常提供服务的情况;在写数据库未响应数据写入请求时,或监控到写数据库服务异常时,则查询分布式数据库集群中每个数据库的数据库标识,其中,数据库标识是指可以标识数据库的字段,如,数据库ip地址、mac地址等等;基于数据库标识确定数据库后,可以基于数据库标识向每个数据库发送拒接写入请求,其中,拒绝写入请求是指拒绝向数据库中写入数据的请求;为了保证在切换写数据库时,数据库之间数据的一致性,故需要向分布式数据库集群中的每个数据库发送拒绝写入请求。
111.例如,在分布式数据库集群中设置的写数据库为数据库a;数据库a接收到数据写入请求后,未对数据写入请求进行响应,则确定数据库a存在问题,需要切换分布式数据库
集群的写数据库;获取分布式数据库集群中每个数据库的数据库标识,并根据每个数据库标识将拒绝写入请求发送至每个数据库。
112.通过在写数据库存在问题的情况下,查询分布式数据库集群中每个数据库的数据库标识,基于数据库标识将拒绝写入请求发送至每个数据库,从而避免切换写数据库时可能发生的数据冲突。
113.在向每个数据库发送拒绝写入请求后,需要根据分布式数据库集群中其他数据库的实际状态确定新的写数据库,具体为基于所述数据库标识将拒绝写入请求发送至分布式数据库集群中的每个数据库之后,还包括:
114.在预设时间点基于预设选取规则在所述分布式数据库集群中选取当前写数据库,并生成写数据库切换消息;
115.将所述写数据库切换消息发送至所述分布式数据库集群中的每个数据库。
116.其中,预设时间点是指基于预设时间阈值确定的时间点,预设时间阈值是指预先设定的对数据库之间数据进行同步的阈值,例如,设定预设时间阈值为10s,则发现写数据库异常的情况下,在等待10s后的时间点,切换新的写数据库作为分布式数据库集群的数据库;预设选取规则是指在分布式数据库集群中选取新的写数据库的规则,基于预设选取规则选取服务质量较好的数据库作为新的写数据库,新的写数据库即当前写数据库。
117.写数据库切换消息是指对写数据库切换过程进行记录得到的消息;在生成写数据切换消息后,将写数据切换消息发送至分布式集群中的每个数据库,使非写数据库可以确定新的写数据库为哪个数据库。
118.上述均为对写数据库发生问题时的解决方法,若分布式数据库集群中的非写数据库发生问题、数据库之间创建的网络专线出现问题或者数据库之间的同步出现问题的情况下,均存在对应的解决方法,保证分布式数据库集群和正常提供服务。
119.在非写数据库发生问题的情况下,确定发生问题的数据库,停止该数据库对应的服务即可,即停止向用户提供服务。
120.在数据库之间的数据同步存在问题的情况下,可以确定具体存在数据同步问题的数据库,并停止对应数据库的服务;此外,为了进一步提升服务质量,还可以直接停止除写数据库外的所有数据库,仅保留写数据库提供服务。
121.在数据库之间的网络专线存在问题的情况下,可以确定存在问题的网络专线,并停止网络专线对应的数据库的服务;进一步的,为了提升服务质量,还可以在网络专线出现问题的情况下,直接停止所有非写数据库的服务,仅保留写数据库提供服务。
122.本技术应用于分布式数据库集群中的任意一个目标数据库的写数据库确定方法,在确定目标数据库为写数据库的情况下,执行写操作,在目标数据库为非数据库的情况下,将目标数据库设置为写数据库,从而实现确定分布式数据库集群中的写数据库,并且在未获取到写数据库的情况下,或当前写数据库无法使用的情况下确定新的写数据库,保证服务的正常提供。
123.与上述方法实施例相对应,本技术还提供了数据处理装置实施例,图3示出了本技术一实施例提供的一种数据处理装置的结构示意图。如图3所示,该装置包括:
124.接收模块302,被配置为接收数据读取请求,其中,所述数据读取请求中携带有查询参数和目标数据标识,所述查询参数基于目标数据的时效信息确定;
125.确定模块304,被配置为根据所述查询参数在所述分布式数据库集群中确定目标数据库;
126.获取模块306,被配置为基于所述目标数据标识在所述目标数据库中获取目标数据。
127.本技术一具体实施方式中,所述确定模块304,进一步被配置为:
128.根据所述查询参数在所述分布式数据库集群中确定目标数据库,包括:
129.在所述查询参数对应的参数值为第一查询值的情况下,确定所述读数据库为目标数据库,其中,所述第一查询值对应的目标数据的时效信息为第一时效信息;
130.在所述查询参数对应的参数值为第二查询值的情况下,确定所述分布式数据库集群中的写数据库为目标数据库,其中,所述第二查询值对应的目标数据的时效信息为第二时效信息。
131.本技术一具体实施方式中,所述接收模块302,进一步被配置为:
132.接收基于业务数据查询请求生成的数据读取请求。
133.本技术一具体实施方式中,所述装置还包括接收子模块,被配置为:
134.接收数据写入请求,并基于所述数据写入请求确定待写入数据;
135.获取分布式数据库集群中的写数据库标识,基于所述写数据库标识确定写数据库,并将所述待写入数据写入所述写数据库。
136.本技术一具体实施方式中,所述接收子模块,进一步被配置为:
137.在获取到写数据库标识的情况下,基于所述写数据库标识在分布式数据库集群中确定目标数据库,并将所述目标数据库作为写数据库;
138.在未获取到写数据库标识的情况下,为所述读数据库设置写数据库标识,并将所述读数据库作为写数据库。
139.本技术一具体实施方式中,所述装置还包括同步模块,被配置为:
140.接收数据同步请求,并基于所述数据同步请求确定目标消息队列;
141.将所述目标消息队列中的目标消息发送至所述分布式数据库集群中的每个数据库。
142.本技术一具体实施方式中,所述装置还包括转发模块,被配置为:
143.基于预设专线将所述数据写入请求转发至所述写数据库。
144.本技术的数据处理装置,接收模块,被配置为接收数据读取请求,其中,所述数据读取请求中携带有查询参数和目标数据标识,所述查询参数基于目标数据的时效信息确定;确定模块,被配置为根据所述查询参数在所述分布式数据库集群中确定目标数据库;获取模块,被配置为基于所述目标数据标识在所述目标数据库中获取目标数据。通过接收携带有查询参数的数据读取请求,从而实现了基于查询参数确定读取数据的目标数据库,在目标数据库中获取目标数据,保证了目标数据的实时性,提高了目标数据的获取效率。
145.上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
146.与上述方法实施例相对应,本技术还提供了分布式数据库集群中写数据库的确定装置实施例,图4示出了本技术一实施例提供的一种分布式数据库集群中写数据库的确定
装置的结构示意图。如图4所示,该装置包括:
147.接收模块402,被配置为接收数据写入请求,响应于所述数据写入请求确定写数据库标识;
148.第一执行模块404,被配置为在基于所述写数据库标识确定目标数据库为写数据库的情况下,在所述目标数据库中执行写操作;
149.第二执行模块406,被配置为在基于所述写数据库标识未确定到目标数据库的情况下,将目标数据库作为写数据库,并在所述目标数据库中执行写操作。
150.本技术一具体实施方式中,所述装置还包括获取子模块,被配置为:
151.在所述写数据库未响应所述数据写入请求的情况下,获取所述分布式数据库集群中的每个数据库的数据库标识;
152.基于所述数据库标识将拒绝写入请求发送至分布式数据库集群中的每个数据库。
153.在本技术一具体实施方式中,所述装置还包括选取子模块,被配置为:
154.在预设时间点基于预设选取规则在所述分布式数据库集群中选取当前写数据库,并生成写数据库切换消息;
155.将所述写数据库切换消息发送至所述分布式数据库集群中的每个数据库。
156.本技术的分布式数据库集群中写数据库的确定装置,接收模块,被配置为接收数据写入请求,响应于所述数据写入请求确定写数据库标识;第一执行模块,被配置为在基于所述写数据库标识确定目标数据库为写数据库的情况下,在所述目标数据库中执行写操作;第二执行模块,被配置为在基于所述写数据库标识未确定到目标数据库的情况下,将目标数据库作为写数据库,并在所述目标数据库中执行写操作。通过在接收读取请求之前,保证写入数据后数据之间的一致性,进而进一步保证了后续读取目标数据时目标数据库的实时性。
157.上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该分布式数据库集群中写数据库的确定装置的技术方案与上述的分布式数据库集群中写数据库的确定方法的技术方案属于同一构思,分布式数据库集群中写数据库的确定装置的技术方案未详细描述的细节内容,均可以参见上述分布式数据库集群中写数据库的确定方法的技术方案的描述。
158.图5示出了根据本技术一实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
159.计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
160.在本技术的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部
件。
161.计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
162.其中,处理器520执行所述计算机指令时实现所述的数据处理方法的步骤。
163.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
164.本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述数据处理方法的步骤。
165.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
166.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
167.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,randomaccess memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
168.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
169.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
170.以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1