一种基于多数据库的数据存储方法、存储介质及电子设备技术

技术编号:36987799 阅读:21 留言:0更新日期:2023-03-25 18:05
本发明专利技术提供了一种基于多数据库的数据存储方法、存储介质及电子设备,该方法包括:响应于接收到目标执行事件的目标事件数据,确定出目标执行事件标识和至少包括目标物标识尾号的目标物标识;根据目标执行事件标识获取对应的事件执行时间t

【技术实现步骤摘要】
一种基于多数据库的数据存储方法、存储介质及电子设备


[0001]本专利技术涉及数据处理领域,特别是涉及一种数据存储方法、电子设备及存储介质。

技术介绍

[0002]随着民航发展的需要,ADS

B(广播式自动相关监视)技术被广泛应用于民航系统中。
[0003]在某次航班起飞后,该次航班对应的飞行器上安装的ADS

B机载站会周期性发送飞行数据,ADS

B星载站或ADS

B地面站在接收到每一飞行数据后,会将该飞行数据发送至数据库中进行存储。若需要从数据库中读取目标航班的飞行数据,则会对数据库中的每一飞行数据进行遍历,并确定每一飞行数据是否为目标航班的飞行数据。
[0004]但是,由于单次航班产生的飞行数据的数量较多,且航空公司的航班数量较多,进而数据库中会存储有较多的飞行数据,进而对数据库中的每一飞行数据进行遍历,并确定每一飞行数据是否为目标航班的飞行数据是需要较长的时间和较多的计算资源的,因此,从数据库中读取目标航班的飞行数据较为浪费计算资源,且效率较低。

技术实现思路

[0005]针对上述技术问题,本专利技术采用的技术方案为:根据本公开的一方面,提供了一种基于多数据库的数据存储方法,该方法包括以下步骤:S100,响应于接收到目标执行事件的目标事件数据,从目标事件数据中确定出目标执行事件标识和目标物标识;目标执行事件在执行过程中产生目标执行事件的若干事件数据,目标事件数据为目标执行事件的若干事件数据中的任一;目标物标识为执行目标执行事件的目标物的唯一标识;目标物标识至少包括目标物标识尾号。
[0006]S200,获取执行事件标识与目标执行事件标识相同的候选执行事件的事件执行时间,以得到第一事件执行时间集MOM1=(mom11,mom12,...,mom1
p
,...,mom1
q
),p=1,2,...,q;其中,mom1
p
为执行事件标识与目标执行事件标识相同的第p个候选执行事件标识对应的事件执行时间,q为执行事件标识与目标执行事件标识相同的候选执行事件的数量。
[0007]S300,根据当前时间mom
now
,从MOM1中确定出第二事件执行时间集MOM2=(mom21,mom22,...,mom2
a
,...,mom2
b
),a=1,2,...,b;其中,mom2
a
为MOM1中在mom
now
之前的第a个事件执行时间,b为MOM1中在mom
now
之前的事件执行时间的数量,b≤q。
[0008]S400,根据MOM2获取目标执行事件的事件执行时间t
start
;t
start
=max(mom21,mom22,...,mom2
a
,...,mom2
b
),max()为预设的最大值确定函数。
[0009]S500,获取第一数据库中每一数据表对应的时间窗口,得到时间窗口集ΔT=(Δt1,Δt2,...,Δt
i
,...,Δt
n
),Δt
i
=(t1
i
,t2
i
],i=1,2,...,n;其中,Δt
i
为第一数据库中的第i个数据表对应的时间窗口,n为第一数据库中存储的数据表的数量;t1
i
为Δt
i
的开始时间,t2
i
为Δt
i
的结束时间,t1
i
和t2
i
满足如下条件:t1
i
=(t2
i

Δt1),t2
i
=(t
pre1

(n

i)*Δ
t1),Δt1为预设的第一时长,Δt1=24小时;t
pre1
=t
pre2
+k1*Δt1,t
pre2
为mom
now
所在日期对应的设定时间,k1为第一系数,0≤k1<n;每一数据表包括若干子数据表,每一子数据表具有关联的标识尾号,同一数据表中的任意两个不同的子数据表关联的标识尾号不同。
[0010]S600,将目标事件数据存储于目标子数据表中;目标子数据表为目标数据表中关联的标识尾号与目标物标识尾号相同的子数据表,目标数据表为ΔT中t
start
所在的时间窗口对应的数据表。
[0011]根据本公开的另一方面,还提供了一种非瞬时性计算机可读存储介质,存储介质中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现上述基于多数据库的数据存储方法。
[0012]根据本公开的另一方面,还提供了一种电子设备,包括处理器和上述非瞬时性计算机可读存储介质。
[0013]本专利技术至少具有以下有益效果:本专利技术中在得到目标执行事件的目标事件数据后,可以通过目标事件数据中的目标执行事件标识可以确定出目标执行事件的事件执行时间t
start
,进而根据t
start
可以在第一数据库的若干数据表中确定出目标数据表,并通过目标事件数据中的目标物标识的目标物标识尾号可以在目标数据表中的若干子数据表中确定出目标子数据表,并将该目标事件数据存储于目标子数据表中。
[0014]相比于相关技术中将目标事件数据直接存储于第一数据库中,相关技术中从第一数据库中读取目标执行事件的事件数据时,需要对第一数据库中的每一事件数据进行遍历,并确定每一事件数据是否为目标执行事件的事件数据。而本专利技术中从第一数据库中读取目标执行事件的事件数据时,可以通过目标执行事件的事件执行时间和目标执行事件对应的目标物标识尾号直接确定出用于存储目标执行事件的事件数据的子数据表,此时可以直接从该子数据表中读取目标执行事件的事件数据,无需对第一数据库中的每一事件数据进行遍历并确定是否为目标执行事件的事件数据,以达到从第一数据库中读取事件数据较为节省计算资源,且提升从第一数据库中读取事件数据的效率的目的。
附图说明
[0015]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本专利技术实施例提供的基于多数据库的数据存储方法的流程图。
具体实施方式
[0017]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多数据库的数据存储方法,其特征在于,所述方法包括以下步骤:S100,响应于接收到目标执行事件的目标事件数据,从所述目标事件数据中确定出目标执行事件标识和目标物标识;所述目标执行事件在执行过程中产生目标执行事件的若干事件数据,所述目标事件数据为所述目标执行事件的若干事件数据中的任一;所述目标物标识为执行所述目标执行事件的目标物的唯一标识;所述目标物标识至少包括目标物标识尾号;S200,获取执行事件标识与所述目标执行事件标识相同的候选执行事件的事件执行时间,以得到第一事件执行时间集MOM1=(mom11,mom12,...,mom1
p
,...,mom1
q
),p=1,2,...,q;其中,mom1
p
为执行事件标识与所述目标执行事件标识相同的第p个候选执行事件的事件执行时间,q为执行事件标识与所述目标执行事件标识相同的候选执行事件的数量;S300,根据当前时间mom
now
,从MOM1中确定出第二事件执行时间集MOM2=(mom21,mom22,...,mom2
a
,...,mom2
b
),a=1,2,...,b;其中,mom2
a
为MOM1中在mom
now
之前的第a个事件执行时间,b为MOM1中在mom
now
之前的事件执行时间的数量,b≤q;S400,根据MOM2获取所述目标执行事件的事件执行时间t
start
;t
start
=max(mom21,mom22,...,mom2
a
,...,mom2
b
),max()为预设的最大值确定函数;S500,获取第一数据库中每一数据表对应的时间窗口,得到时间窗口集ΔT=(Δt1,Δt2,...,Δt
i
,...,Δt
n
),Δt
i
=(t1
i
,t2
i
],i=1,2,...,n;其中,Δt
i
为所述第一数据库中的第i个数据表对应的时间窗口,n为所述第一数据库中存储的数据表的数量;t1
i
为Δt
i
的开始时间,t2
i
为Δt
i
的结束时间,t1
i
和t2
i
满足如下条件:t1
i
=(t2
i

Δt1),t2
i
=(t
pre1

(n

i)*Δt1),Δt1为预设的第一时长,Δt1=24小时;t
pre1
=t
pre2
+k1*Δt1,t
pre2
为mom
now
所在日期对应的设定时间,k1为第一系数,0≤k1<n;每一所述数据表包括若干子数据表,每一所述子数据表具有关联的标识尾号,同一所述数据表中的任意两个不同的子数据表关联的标识尾号不同;S600,将所述目标事件数据存储于目标子数据表中;所述目标子数据表为目标数据表中关联的标识尾号与所述目标物标识尾号相同的子数据表,所述目标数据表为ΔT中t
start
所在的时间窗口对应的数据表。2.根据权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:S700,对于每一日期,响应于达到该日期对应的设定时间T
pre1
,将T
pre1
对应的数据表中存储有执行事件的事件数据的每一所述子数据表均发送至第二数据库中;T
pre1
对应的数据表为所述第一数据库中对应的时间窗口的开始时间为T
pre2
的数据表,T
pre2
=T
pre1

k2*Δt1,k2为第二系数,k1+k2=n;所述目标执行事件为所述执行事件中的任一;所述第一数据库的数据读写性能优于所述第二数据库,所述第二数据库的存储空间大于所述第一数据库的存储空间;S800,将T
pre1
对应的数据表中已发送至所述第二数据库中的每一所述子数据表中的数据清空;S900,将T
pre1
对应的数据表的时间窗口的开始时间更新为(T
pre1
+k1*Δt1)、结束时间更新为(T
pre1
+(k1+1)*Δt1);S1000,将所述第一数据库中的第j个数据表更新成为所述第一数据库中的第(j

1)个数据表,并将T
pre1
对应的数据表更新成为所述第一数据库中的第n个数据表;j=2,3,...,n。
3.根据权利要求2所述的方法,其特征在于,所述设定时间为对应日期的24点。4.根据权利要求2所述的方法,其特征在于,每一所述子数据表包括若干字段;每一字段的初始状态均为空字段,每一所述空字段在添加任一执行事件的事件数据后与该执行事件的事件执行时间建立关联关系;所述步骤S600包括以下步骤:S610,确定所述目标子数据表中是否存在关联的事件执行时间与t
start
相同的字段;若是,则进入步骤S620;否则,进入步骤S630;S620,确定所述目标子数据表中关联的事件执行时间与t
start
相同的字段的数量是否等于1;若是,则进入步骤S640;S630,将所述目标事件数据添加至所述目标子数据表中的任一所述空字段中,并将该空字段与t
start
建立关联关系;S640,将所述目标事件数据添加至所述目标子数据表中关联的事件执行时间与t
start
相同的字段内;所述步骤S800包括以下步骤:S810,取消T
pre1
对应的数据表中不为空字段的每一所述字段与其关联的事件执行时间之间的关联关系;S820,将T
pre1
对应的数据表中不为空字段的每一字段清空为空字段。5.根据权利要求4所述的方法,其特征在于,所述步骤S620还包括:若所述目标子数据表中关联的事件执行时间与t
start
相同的字段的数量不等于1,则进入步骤S650;所...

【专利技术属性】
技术研发人员:唐红武卞磊姚远王殿胜马思琪
申请(专利权)人:中航信移动科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1