云环境下的数据查询方法、设备及存储介质与流程
未命名
10-09
阅读:145
评论:0
1.本技术涉及计算机技术领域,具体涉及一种云环境下的数据查询方法、设备及存储介质。
背景技术:
2.云计算和云容器作为现代企业运用越来越多的技术,能够将计算任务拆解到多个容器中,同时随着计算任务数量和要求的提高,对于访问数据库中数据的需求也越来越多。
3.现有技术中对数据库通常进行一次连接实现对数据的访问和处理,然而随着云计算和云容器的应用场景数量增多,每个应用都需要单独访问数据库,进行数据读取,同时当数据库的数据发生修改更新时,对于云计算和云容器的应用并不能及时的读取数据库更新后的数据,从而可能造成由于数据库访问连接过度和网络压力较大,使得网络开销增加的问题。
4.现有技术在数据库访问连接过度和网络压力较大,使得网络开销增加的问题方面仍有所欠缺。
技术实现要素:
5.本技术提供一种云环境下的数据查询方法、设备及存储介质,用以解决现有技术在数据库访问连接过度和网络压力较大,使得网络开销增加的问题方面有所欠缺的问题。
6.第一方面,本技术提供一种云环境下的数据查询方法,包括:
7.获取数据库发送的修改指令,所述修改指令包括修改类型和修改内容标识,根据所述修改内容标识在sqlite数据库中获取对应的中间数据表,并将所述对应的中间数据表标记为中间脏表,根据所述修改类型对所述中间脏表进行数据修改,其中,所述sqlite数据库用于为物理主机中多个容器提供数据查询;
8.获取容器的访问请求,所述访问请求包括至少一个目标数据和各自对应的请求数据标识,所述请求数据标识用于指示所述目标数据所在的中间数据表,根据所述请求数据标识检测所述目标数据所在的中间数据表是否为中间脏表;
9.若所述目标数据所在的中间数据表不为所述中间脏表,则将所述sqlite数据库中所述目标数据所在的中间数据表确认为目标数据表,以便所述容器访问操作。
10.在一种可能的设计中,若未获取到所述数据库发送的修改指令,包括:在所述sqlite数据库中查找与所述请求数据标识相同的检索标识,根据所述检索标识确认所述目标数据所在的中间数据表,并将所述目标数据所在的中间数据表作为目标数据表,其中,所述检索标识与中间表信息关联存储于所述sqlite数据库,所述中间表信息用于指示对应的中间数据表。
11.在一种可能的设计中,若所述目标数据所在的中间数据表为所述中间脏表,则不将所述中间脏表确认为目标数据表,所述容器不对所述中间脏表进行访问操作。
12.在一种可能的设计中,获取所述目标数据表的数量,若所述目标数据表的数量等
于所述访问请求中目标数据的数量,则所述容器根据至少一个目标数据表进行访问操作,若所述目标数据表的数量小于所述访问请求中目标数据的数量,则确认所述容器不能进行访问操作,直至将所述访问请求中的中间赃表标记取消,使得所述目标数据表的数量等于所述访问请求中目标数据的数量。
13.在一种可能的设计中,所述将所述访问请求中的中间赃表标记取消,包括:获取所述数据库发送的修改完成信号,所述修改完成信号包括至少一个修改完成标识,根据所述修改完成标识在所述sqlite数据库中获取修改完成的中间数据表,并取消所述修改完成的中间数据表的中间脏表标记,若在取消所述修改完成的中间数据表的中间脏表标记后,所述目标数据表的数量等于所述访问请求中目标数据的数量,则确认所述容器根据目标数据表进行访问操作。
14.在一种可能的设计中,在所述物理主机中开辟有共享磁盘空间,并使得所述物理主机中的多个容器包含所述共享磁盘空间,所述sqlite数据库设置于所述共享磁盘空间中,以使得所述sqlite数据库中修改完成的中间数据表的数据内容,所述物理主机中的多个容器能够进行访问。
15.在一种可能的设计中,所述修改类型包括插入数据、更新数据和删除数据,其中,所述插入数据用于指示在所述中间脏表中增加新的数据类型或者新的数据信息,所述更新数据用于指示在所述中间脏表中将原有的数据类型或者数据信息替换为新的数据类型或者数据信息,所述删除数据用于指示在所述中间脏表中删除原有的数据类型或者数据信息。
16.第二方面,本技术提供一种云环境下的数据查询装置,包括:
17.获取模块,用于获取数据库发送的修改指令,所述修改指令包括修改类型和修改内容标识,根据所述修改内容标识在sqlite数据库中获取对应的中间数据表,并将所述对应的中间数据表标记为中间脏表,根据所述修改类型对所述中间脏表进行数据修改,其中,所述sqlite数据库用于为物理主机中多个容器提供数据查询;
18.处理模块,用于获取容器的访问请求,所述访问请求包括至少一个目标数据和各自对应的请求数据标识,所述请求数据标识用于指示所述目标数据所在的中间数据表,根据所述请求数据标识检测所述目标数据所在的中间数据表是否为中间脏表;
19.执行模块,用于若所述目标数据所在的中间数据表不为所述中间脏表,则将所述sqlite数据库中所述目标数据所在的中间数据表确认为目标数据表,以便所述容器访问操作。
20.第三方面,本技术提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
21.所述存储器存储计算机执行指令;
22.所述处理器执行所述存储器存储的计算机执行指令,以实现云环境下的数据查询方法。
23.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现云环境下的数据查询方法。
24.本技术提供的云环境下的数据查询方法、设备及存储介质,通过获取物理数据库
发送的修改指令中的修改类型和修改内容标识,在sqlite数据库中获取对应的中间数据表,并将对应的中间数据表标记为中间脏表,并根据修改类型对中间脏表进行数据修改,从而及时的更新sqlite中的数据,当获取到容器发送的包括目标数据和对应的请求数据标识的访问请求时,若检测到请求数据标识指示目标数据所在的中间数据表为中间脏表时,则不能响应容器发送的访问请求,直至中间脏表的数据修改完成,从而在容器请求数量较多的情况下,并且当数据库中的数据发生修改时,避免了数据库访问连接过度和访问数据错误,提高了系统工作的稳定性。
附图说明
25.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1为本技术实施例提供的系统架构图;
27.图2为本技术实施例提供的云环境下的数据查询方法的流程示意图一;
28.图3为本技术实施例提供的云环境下的数据查询方法的流程示意图二;
29.图4为本技术实施例提供的云环境下的数据查询装置的结构示意图;
30.图5为本技术实施例提供的电子设备的硬件结构示意图。
具体实施方式
31.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
32.sqlite作为一款轻型数据库,能够将数据文件创建成为一个简单的磁盘文件,并可以使用sql语句对磁盘的文件进行查询,由于sqlite只有单一数据文件,使得起耗用空间资源很小,却又能支持庞大的大容积数据文件,然而sqlite对于数据更新的频率不高,对于数据更新一般是通过创建一个新的文本文件进行的。
33.容器作为一个进程集合,它将系统的其他资源隔离开来,具有自己独立的资源视图,而一台物理主机上可以启动多个容器访问sqlite或者其他物理数据库,多个物理机可以组合为资源云,对外提供云容器,因此云容器本质上是一个视图隔离、资源可限制、独立文件系统的进程集合。
34.随着应用场景的不断细化发展,对于计算任务的数量和要求也在不断提高,需要将计算任务拆解到多个容器中进行处理,而容器在处理任务调用数据时,需要访问并调用数据库中的数据,现有技术中对数据库一般进行一次连接进行数据访问和处理,每个容器或者应用都需要单独访问数据库,而在需要访问数据的容器或者应用较多时,一般需要大量的数据库连接和网络带宽,每个物理主机中设置有多个容器和对应的sqlite,从而避免
在出现意外情况如网络波动或者数据库连接超过限制时,可能造成容器或者应用中的程序报错或退出,但是在数据库中的数据发生修改时,不能够及时的对sqlite中的数据不能及时根据数据库中的修改数据进行更新,从而造成容器访问的数据错误,因此现有技术在容器或者应用数量较多的情况下,并且当数据库中的数据发生修改时,可能造成数据库访问连接过度和访问数据错误的问题。
35.本技术提供了一种云环境下的数据查询方法,如图1所示,在多个容器与数据库亦即物理数据库之间设置有sqlite以供对应的容器进行访问,其中,数据库亦即物理数据库与多个对应的物理主机进行数据交换,通过获取物理数据库发送的修改指令中的修改类型和修改内容标识在sqlite数据库中获取对应的中间数据表,并将对应的中间数据表标记为中间脏表,并根据修改类型对中间脏表进行数据修改,从而及时的更新sqlite中的数据,当获取到容器发送的包括目标数据和对应的请求数据标识的访问请求时,若检测到请求数据标识指示目标数据所在的中间数据表为中间脏表时,则不能响应容器发送的访问请求,直至中间脏表的数据修改完成,从而在容器请求数量较多的情况下,并且当数据库中的数据发生修改时,避免了数据库访问连接过度和访问数据错误,提高了系统工作的稳定性。
36.下面采用具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
37.实施例一
38.图2为本技术实施例提供的云环境下的数据查询方法流程示意图一。如图2所示,该方法包括:
39.s201、获取数据库发送的修改指令,所述修改指令包括修改类型和修改内容标识,根据所述修改内容标识在sqlite数据库中获取对应的中间数据表,并将所述对应的中间数据表标记为中间脏表,根据所述修改类型对所述中间脏表进行数据修改,其中,所述sqlite数据库用于为物理主机中多个容器提供数据查询;
40.具体来说,当物理数据库中的数据发生修改时,向对应物理主机发送包括修改类型和修改内容标识的修改指令,以实现物理主机中的sqlite数据库中的数据更新修改,其中,sqlite数据库作为物理主机上的中间数据库,用以存放物理数据库中的数据,当物理主机中的容器需要访问数据时,通过本地物理主机上的sqlite数据库替代网络上的物理数据库,从而在提高读写效率的同时,减少物理主机的网络开销。
41.s202、获取容器的访问请求,所述访问请求包括至少一个目标数据和各自对应的请求数据标识,所述请求数据标识用于指示所述目标数据所在的中间数据表,根据所述请求数据标识检测所述目标数据所在的中间数据表是否为中间脏表;
42.具体来说,当获取到物理主机中容器发出的访问请求时,检测物理数据库中的数据是否发生修改,亦即检测是否获取到物理数据库发出的修改指令,若物理数据库中的数据未发生修改,则根据访问请求中的目标数据和对应的请求数据标识查找到对应的中间数据表,并确认物理主机中的容器能够访问对应的中间数据表中的数据,若物理数据库中的数据发生修改,若确认根据目标数据和对应的请求数据标识查找到的对应中间数据表为中间脏表,则确认物理主机中的容器不能够访问对应的中间数据表中的数据。
43.s203、若所述目标数据所在的中间数据表不为所述中间脏表,则将所述sqlite数
据库中所述目标数据所在的中间数据表确认为目标数据表,以便所述容器访问操作;
44.具体来说,当确认物理数据库中的数据发生修改,亦即获取到物理数据库发出的修改指令后,若确认根据目标数据和对应的请求数据标识查找到的对应中间数据表不为中间脏表,则确认物理主机中的容器能够访问对应的中间数据表中的数据,并将sqlite数据库中对应的中间数据表确认为目标数据表,以供发出访问请求的对应容器进行访问操作。
45.本技术提供了一种云环境下的数据查询方法,通过获取修改指令中的修改类型和修改内容标识在sqlite数据库中获取对应的中间数据表,并将对应的中间数据表标记为中间脏表,并根据修改类型对中间脏表进行数据修改,从而及时的更新sqlite中的数据,当获取到容器发送的包括目标数据和对应的请求数据标识的访问请求时,若检测到请求数据标识指示目标数据所在的中间数据表为中间脏表时,则不能响应容器发送的访问请求,直至中间脏表的数据修改完成,从而在容器请求数量较多的情况下,并且当数据库中的数据发生修改时,避免了数据库访问连接过度和访问数据错误,提高了系统工作的稳定性。
46.下面采用一个具体的实施例,对本技术的云环境下的数据查询方法进行详细说明。
47.实施例二
48.图3为本技术实施例提供的云环境下的数据查询方法流程示意图二。如图3所示,所述方法包括:
49.s301、获取容器的访问请求,所述访问请求包括至少一个目标数据和各自对应的请求数据标识;
50.具体来说,当物理主机中的容器请求调用多个目标数据时,其多个目标数据可能涉及对应多个不同的中间数据表,因此通过访问请求中对应的请求数据标识获取各自目标数据所在的对应中间数据表。
51.s302、若未获取到所述数据库发送的修改指令,在所述sqlite数据库中查找与所述请求数据标识相同的检索标识;
52.具体来说,当物理数据库中的数据未发生修改,亦即物理主机未获取到物理数据库发送的修改指令时,在sqlite数据库中查找是否存在与请求数据标识相同的检索标识,若查找到与请求数据标识相同的检索标识,则确认物理主机中的容器能够访问对应的中间数据表中的数据,若未查找到与请求数据标识相同的检索标识,则返回提示信息,以提醒与物理数据库关联对应的用户端进行更新修改数据。
53.s303、根据所述检索标识确认所述目标数据所在的中间数据表,并将所述目标数据所在的中间数据表作为目标数据表;
54.具体来说,在sqlite数据库中查找到存在与请求数据标识相同的检索标识,根据访问请求中的目标数据和对应的请求数据标识查找到对应的中间数据表,亦即将目标数据所在的中间数据表作为目标数据表,其中,检索标识与中间表信息关联存储于sqlite数据库,中间表信息用于指示对应的中间数据表。
55.s304、获取数据库发送的修改指令,所述修改指令包括修改类型和修改内容标识;
56.具体来说,当物理数据库中的数据发生修改,亦即物理主机获取到物理数据库发送的包括修改类型和修改内容标识的修改指令时,根据修改内容标识确定需要修改的中间数据表,根据修改类型对确定需要修改的中间数据表中的数据进行修改,其中,修改类型包
括插入数据、更新数据和删除数据;
57.进一步的,插入数据用于指示在需要修改的中间数据表中增加新的数据类型或者新的数据信息,更新数据用于指示在需要修改的中间数据表中将原有的数据类型或者数据信息替换为新的数据类型或者数据信息,删除数据用于指示在需要修改的中间数据表中删除原有的数据类型或者数据信息。
58.s305、根据所述修改内容标识在sqlite数据库中获取对应的中间数据表,并将所述对应的中间数据表标记为中间脏表;
59.具体来说,在获取到物理数据库发送的包括修改类型和修改内容标识的修改指令后,在sqlite数据库中查找与修改内容标识相同的检索标识,并根据与修改内容标识相同的检索标识关联的中间表信息,获取sqlite数据库中对应的中间数据表,并将获取的中间数据表标记为中间脏表。
60.s306、根据所述修改类型对所述中间脏表进行数据修改,其中,所述sqlite数据库用于为物理主机中多个容器提供数据查询;
61.具体来说,在根据修改内容标识在sqlite数据库中将对应的中间数据表标记为中间脏表后,根据修改类型中的插入数据、更新数据或者删除数据对中间脏表中的数据进行修改更新,其中,sqlite数据库设置于在物理主机中开辟的共享磁盘空间,并将物理主机中的多个容器包含共享磁盘空间,使得sqlite数据库中修改完成的中间数据表的数据内容,物理主机中的多个容器能够进行访问。
62.s307、根据所述请求数据标识检测所述目标数据所在的中间数据表是否为中间脏表;
63.具体来说,在根据修改类型和修改内容标识对sqlite数据库中的中间脏表进行修改时,获取到物理主机中容器发出的访问请求,通过访问请求中的请求数据标识获取各自目标数据所在的对应中间数据表,其中,若在sqlite数据库中,请求数据标识与修改内容标识指向同一个检索标识,则确认目标数据所在的中间数据表为中间脏表,否则确认目标数据所在的中间数据表不为中间脏表。
64.s308、若所述目标数据所在的中间数据表不为所述中间脏表,则将所述sqlite数据库中所述目标数据所在的中间数据表确认为目标数据表,以便所述容器访问操作;
65.具体来说,在获取到物理数据库发出的修改指令和物理主机中容器发出的访问请求后,若访问请求中的请求数据标识与修改内容标识未指向同一个检索标识,则确认目标数据所在的中间数据表不为中间脏表,此时将目标数据所在的中间数据表确认为容器能够进行访问操作的目标数据表。
66.s309、若所述目标数据所在的中间数据表为所述中间脏表,则不将所述中间脏表确认为目标数据表,所述容器不对所述中间脏表进行访问操作;
67.具体来说,在获取到物理数据库发出的修改指令和物理主机中容器发出的访问请求后,请求数据标识与修改内容标识指向同一个检索标识,确认目标数据所在的中间数据表为中间脏表,此时物理主机中容器不能够对目标数据所在的中间数据表亦即中间脏表进行访问操作,直至对中间脏表的数据修改完成,并取消中间脏表的标识后,容器能够对目标数据所在的中间数据表进行访问操作。
68.s310、获取所述目标数据表的数量,若所述目标数据表的数量等于所述访问请求
中目标数据的数量,则所述容器根据至少一个目标数据表进行访问操作;
69.具体来说,当物理主机中的容器请求调用多个目标数据时,并将根据与各自目标数据对应的请求数据标识获取的中间数据表确认为目标数据表后,将目标数据表的数量与访问请求中目标数据的数量进行比较,若检测到目标数据表的数量等于所述访问请求中目标数据的数量,则确认此时访问请求中的多个目标数据对应的多个中间数据表均未发生修改,容器能够访问操作其中至少一个目标数据表的数据。
70.s311、若所述目标数据表的数量小于所述访问请求中目标数据的数量,则确认所述容器不能进行访问操作,直至将所述访问请求中的中间赃表标记取消,使得所述目标数据表的数量等于所述访问请求中目标数据的数量;
71.具体来说,将目标数据表的数量与访问请求中目标数据的数量进行比较,检测到目标数据表的数量小于访问请求中目标数据的数量时,则确认此时访问请求中的多个目标数据对应的多个中间数据表中存在中间脏表,亦即多个目标数据对应的多个中间数据表存在发生数据修改的情况,此时确认不能响应物理主机中的容器发出的访问请求;
72.进一步的,当获取到数据库发送的包括至少一个修改完成标识的修改完成信号,根据修改完成标识在sqlite数据库中获取修改完成的中间数据表,并取消修改完成的中间数据表的中间脏表标记,若在取消修改完成的中间数据表的中间脏表标记后,目标数据表的数量等于访问请求中目标数据的数量,则确认容器根据目标数据表进行访问操作。
73.本技术提供了一种云环境下的数据查询方法,通过获取修改指令中的修改类型和修改内容标识在sqlite数据库中获取对应的中间数据表,并将对应的中间数据表标记为中间脏表,并根据修改类型对中间脏表进行数据修改,从而及时的更新sqlite中的数据,当获取到容器发送的包括目标数据和对应的请求数据标识的访问请求时,若检测到请求数据标识指示目标数据所在的中间数据表为中间脏表时,则不能响应容器发送的访问请求,直至中间脏表的数据修改完成,从而在容器请求数量较多的情况下,并且当数据库中的数据发生修改时,避免了数据库访问连接过度和访问数据错误,提高了系统工作的稳定性。
74.本发明实施例可以根据上述方法示例对电子设备或主控设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
75.图4为本技术实施例提供的云环境下的数据查询装置的结构示意图。如图4所示,该装置40包括:
76.获取模块401,用于获取数据库发送的修改指令,所述修改指令包括修改类型和修改内容标识,根据所述修改内容标识在sqlite数据库中获取对应的中间数据表,并将所述对应的中间数据表标记为中间脏表,根据所述修改类型对所述中间脏表进行数据修改,其中,所述sqlite数据库用于为物理主机中多个容器提供数据查询;
77.处理模块402,用于获取容器的访问请求,所述访问请求包括至少一个目标数据和各自对应的请求数据标识,所述请求数据标识用于指示所述目标数据所在的中间数据表,根据所述请求数据标识检测所述目标数据所在的中间数据表是否为中间脏表;
78.执行模块403,用于若所述目标数据所在的中间数据表不为所述中间脏表,则将所
述sqlite数据库中所述目标数据所在的中间数据表确认为目标数据表,以便所述容器访问操作。
79.进一步的,获取模块401,具体用于若未获取到所述数据库发送的修改指令,在所述sqlite数据库中查找与所述请求数据标识相同的检索标识,根据所述检索标识确认所述目标数据所在的中间数据表,并将所述目标数据所在的中间数据表作为目标数据表,其中,所述检索标识与中间表信息关联存储于所述sqlite数据库,所述中间表信息用于指示对应的中间数据表。
80.进一步的,执行模块403,具体用于若所述目标数据所在的中间数据表为所述中间脏表,则不将所述中间脏表确认为目标数据表,所述容器不对所述中间脏表进行访问操作。
81.进一步的,执行模块403,具体用于获取所述目标数据表的数量,若所述目标数据表的数量等于所述访问请求中目标数据的数量,则所述容器根据至少一个目标数据表进行访问操作,若所述目标数据表的数量小于所述访问请求中目标数据的数量,则确认所述容器不能进行访问操作,直至将所述访问请求中的中间赃表标记取消,使得所述目标数据表的数量等于所述访问请求中目标数据的数量。
82.进一步的,执行模块403,具体用于获取所述数据库发送的修改完成信号,所述修改完成信号包括至少一个修改完成标识,根据所述修改完成标识在所述sqlite数据库中获取修改完成的中间数据表,并取消所述修改完成的中间数据表的中间脏表标记,若在取消所述修改完成的中间数据表的中间脏表标记后,所述目标数据表的数量等于所述访问请求中目标数据的数量,则确认所述容器根据目标数据表进行访问操作。
83.进一步的,获取模块401,还用于在所述物理主机中开辟有共享磁盘空间,并使得所述物理主机中的多个容器包含所述共享磁盘空间,所述sqlite数据库设置于所述共享磁盘空间中,以使得所述sqlite数据库中修改完成的中间数据表的数据内容,所述物理主机中的多个容器能够进行访问。
84.进一步的,获取模块401,用于指示修改类型包括插入数据、更新数据和删除数据,其中,所述插入数据用于指示在所述中间脏表中增加新的数据类型或者新的数据信息,所述更新数据用于指示在所述中间脏表中将原有的数据类型或者数据信息替换为新的数据类型或者数据信息,所述删除数据用于指示在所述中间脏表中删除原有的数据类型或者数据信息。
85.本实施例提供的电子设备,可执行上述实施例的云环境下的数据查询方法,其实现原理和技术效果类似,本实施例此处不再赘述。
86.在前述的云环境下的数据查询方法装置的具体实现中,各模块可以被实现为处理器,处理器可以执行存储器中存储的计算机执行指令,使得处理器执行上述的云环境下的数据查询方法。
87.图5为本技术实施例提供的电子设备的结构示意图。如图5所示,该电子设备50包括:至少一个处理器501和存储器502。该电子设备50还包括通信部件503。其中,处理器501、存储器502以及通信部件503通过总线504连接。
88.在具体实现过程中,至少一个处理器501执行所述存储器502存储的计算机执行指令,使得至少一个处理器501执行如上电子设备侧所执行的云环境下的数据查询方法。
89.处理器501的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,
本实施例此处不再赘述。
90.在上述实施例中,应理解,处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
91.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器。
92.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
93.上述针对电子设备以及主控设备所实现的功能,对本发明实施例提供的方案进行了介绍。可以理解的是,电子设备或主控设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的技术方案的范围。
94.本技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上云环境下的数据查询方法。
95.上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
96.一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于电子设备或主控设备中。
97.本技术还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
98.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
99.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
技术特征:
1.一种云环境下的数据查询方法,所述方法包括:获取数据库发送的修改指令,所述修改指令包括修改类型和修改内容标识,根据所述修改内容标识在sqlite数据库中获取对应的中间数据表,并将所述对应的中间数据表标记为中间脏表,根据所述修改类型对所述中间脏表进行数据修改,其中,所述sqlite数据库用于为物理主机中多个容器提供数据查询;获取容器的访问请求,所述访问请求包括至少一个目标数据和各自对应的请求数据标识,所述请求数据标识用于指示所述目标数据所在的中间数据表,根据所述请求数据标识检测所述目标数据所在的中间数据表是否为中间脏表;若所述目标数据所在的中间数据表不为所述中间脏表,则将所述sqlite数据库中所述目标数据所在的中间数据表确认为目标数据表,以便所述容器访问操作。2.根据权利要求1所述的云环境下的数据查询方法,其特征在于,若未获取到所述数据库发送的修改指令,所述方法包括:在所述sqlite数据库中查找与所述请求数据标识相同的检索标识,根据所述检索标识确认所述目标数据所在的中间数据表,并将所述目标数据所在的中间数据表作为目标数据表,其中,所述检索标识与中间表信息关联存储于所述sqlite数据库,所述中间表信息用于指示对应的中间数据表。3.根据权利要求1所述的云环境下的数据查询方法,其特征在于,所述方法包括:若所述目标数据所在的中间数据表为所述中间脏表,则不将所述中间脏表确认为目标数据表,所述容器不对所述中间脏表进行访问操作。4.根据权利要求1所述的云环境下的数据查询方法,其特征在于,获取所述目标数据表的数量,若所述目标数据表的数量等于所述访问请求中目标数据的数量,则所述容器根据至少一个目标数据表进行访问操作;若所述目标数据表的数量小于所述访问请求中目标数据的数量,则确认所述容器不能进行访问操作,直至将所述访问请求中的中间赃表标记取消,使得所述目标数据表的数量等于所述访问请求中目标数据的数量。5.根据权利要求4所述的云环境下的数据查询方法,其特征在于,所述将所述访问请求中的中间赃表标记取消,所述方法还包括:获取所述数据库发送的修改完成信号,所述修改完成信号包括至少一个修改完成标识,根据所述修改完成标识在所述sqlite数据库中获取修改完成的中间数据表,并取消所述修改完成的中间数据表的中间脏表标记;若在取消所述修改完成的中间数据表的中间脏表标记后,所述目标数据表的数量等于所述访问请求中目标数据的数量,则确认所述容器根据目标数据表进行访问操作。6.根据权利要求1所述的云环境下的数据查询方法,其特征在于,所述方法包括:在所述物理主机中开辟有共享磁盘空间,并使得所述物理主机中的多个容器包含所述共享磁盘空间,所述sqlite数据库设置于所述共享磁盘空间中,以使得所述sqlite数据库中修改完成的中间数据表的数据内容,所述物理主机中的多个容器能够进行访问。7.根据权利要求1所述的云环境下的数据查询方法,其特征在于,所述修改类型包括插入数据、更新数据和删除数据;其中,所述插入数据用于指示在所述中间脏表中增加新的数据类型或者新的数据信
息,所述更新数据用于指示在所述中间脏表中将原有的数据类型或者数据信息替换为新的数据类型或者数据信息,所述删除数据用于指示在所述中间脏表中删除原有的数据类型或者数据信息。8.一种云环境下的数据查询装置,其特征在于,包括:获取模块,用于获取数据库发送的修改指令,所述修改指令包括修改类型和修改内容标识,根据所述修改内容标识在sqlite数据库中获取对应的中间数据表,并将所述对应的中间数据表标记为中间脏表,根据所述修改类型对所述中间脏表进行数据修改,其中,所述sqlite数据库用于为物理主机中多个容器提供数据查询;处理模块,用于获取容器的访问请求,所述访问请求包括至少一个目标数据和各自对应的请求数据标识,所述请求数据标识用于指示所述目标数据所在的中间数据表,根据所述请求数据标识检测所述目标数据所在的中间数据表是否为中间脏表;执行模块,用于若所述目标数据所在的中间数据表不为所述中间脏表,则将所述sqlite数据库中所述目标数据所在的中间数据表确认为目标数据表,以便所述容器访问操作。9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7中任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7任一项所述的方法。
技术总结
本申请提供一种云环境下的数据查询方法、设备及存储介质,涉及计算机技术领域。该方法通过获取修改指令中的修改类型和修改内容标识在SQLite数据库中获取对应的中间数据表,并将对应的中间数据表标记为中间脏表,并根据修改类型对中间脏表进行数据修改,从而及时的更新SQLite中的数据,当获取到容器发送的包括目标数据和对应的请求数据标识的访问请求时,若检测到请求数据标识指示目标数据所在的中间数据表为中间脏表时,则不能响应容器发送的访问请求,直至中间脏表的数据修改完成,从而在容器请求数量较多的情况下,并且当数据库中的数据发生修改时,避免了数据库访问连接过度和访问数据错误,提高了系统工作的稳定性。提高了系统工作的稳定性。提高了系统工作的稳定性。
技术研发人员:王飞 毛聪 李光明
受保护的技术使用者:中国联合网络通信集团有限公司
技术研发日:2023.06.29
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
