1.本发明涉及智慧城市数据库技术领域,尤其涉及一种数据库处理方法及装置。
背景技术:2.随着人类社会的不断发展的同时,环境与人口等问题日益凸显。为解决城市发展难题,实现城市的可持续发展,建设智慧城市已成为当今城市发展不可逆转的历史潮流。
3.智慧城市一经出现就成为人们关注的焦点。在智慧城市中,数据库中存储的数据量越来越大,对数据进行操作的速度就会变得越来越慢。
技术实现要素:4.本发明目的是提供了一种数据库处理方法及装置,以解决上述问题。
5.本发明解决技术问题采用如下技术方案:
6.一种数据库处理方法,包括如下步骤:
7.s1,将数据库进行分区,分为优先访问数据区和普通访问数据区;
8.s2,将优先访问数据区和普通访问数据区中的数据表中的每一数据记录根据数据记录与数据虚分区的映射关系映射到相应的数据虚分区;
9.s3,基于数据虚分区与数据库节点的映射关系将每一数据虚分区映射到相应的数据库节点,
10.s4,根据事件时间顺序对变化的进行数据库更新。
11.进一步的,将数据库进行分区方法为:将较高优先级的数据项放置到优先访问数据区;将优先访问数据区中较低优先级的数据项转移到普通访问数据区。
12.进一步的,步骤s2中,根据数据记录与数据虚分区的映射关系映射到相应的数据虚分区包括:根据所述数据虚分区规则确定对所述数据表采用的数据记录与数据虚分区的映射关系;以及,根据所述数据表的列值、数据虚分区的总数以及所采用的数据记录与数据虚分区的映射关系将所述数据表中的数据记录映射到相应的数据虚分区。
13.进一步的,在数据库扩容时,将每个原数据库节点中的部分数据虚分区根据负载均衡策略迁移到新增的数据库节点,其中每个原数据库节点包括多个数据虚分区;在数据库系统减容时,将要被减的数据库节点中的多个数据虚分区根据负载均衡策略迁移到其他数据库节点。
14.进一步的,通过数字化方式采集更新数据;对所述更新数据进行汇总处理,存储至数据库的缓存模块;以分级方式调用所述缓存模块中的更新数据,对待更新的数据进行更新。
15.进一步的,采集更新数据的方法包括:
16.a1,获取所采集数据变化的各种事件,并附加关键内容;
17.a2,建立事件与其引起变化的要素对象之间的关联关系;
18.a3,对存在关系的事件,建立事件之间的关系;
19.a4,依次处理每个事件及其涉及的每个要素对象的变化;
20.a5,将所有事件及其变化数据存档,完成事件数据库中更新数据的采集。
21.进一步的,还包括基于时间序列数据库的数据监控:对根据时间序列并通过消息队列形式存储至数据库中的数据列表,按照时先后顺序进行逐一记录,并统一限制数据库查询的信息量以及查询的频率;设置多种形式的告警规则。
22.进一步的,还包括数据库中数据的恢复,包括如下步骤:
23.b1,获得用于恢复数据库的第一指令;
24.b2,根据第一指令,获得第一存储介质中第一页面的第一数据库条目标识信息;
25.b3,根据第一数据库条目标识信息,获得用于管理第一存储介质的第一数据存储结构,第一数据存储结构包括第二页面,所述第二页面包括第二数据库条目标识信息;
26.b4,根据第一指令和第一数据存储结构,针对数据库进行恢复处理。
27.进一步的,还包括数据库中无效数据的处理:对优先访问数据区和普通访问数据区的数据进行数据分类,包括有效数据和无效数据,保留有效数据,将无效数据进行剔除。
28.一种数据库处理装置,能够完成上述任一项所述的数据库处理方法。
29.本发明公开的一种数据库处理方法及装置,具有以下有益效果:
30.本发明将数据库进行分区,分为优先访问数据区和普通访问数据区,极大的提高了数据库的处理速度、可靠度以及处理能力;通过在数据记录映射到数据库节点的过程中增加一层映射关系,即采用数据虚分区,使得可以快速地进行数据的重新划分和分布,并且可以减少数据迁移量,从而提高了数据库的性能;根据事件时间顺序对变化的进行数据库更新,保证了数据库更新效率,有利于提高数据库的实时性与准确性。本发明解决了数据库中存储的数据量越来越大,对数据进行操作的速度就会变得越来越慢的问题。
附图说明
31.图1为本发明的方法流程图。
具体实施方式
32.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.如图1所示,本实施例公开的一种数据库处理方法,包括如下步骤:
34.s1,将数据库进行分区,分为优先访问数据区和普通访问数据区;
35.s2,将优先访问数据区和普通访问数据区中的数据表中的每一数据记录根据数据记录与数据虚分区的映射关系映射到相应的数据虚分区;
36.s3,基于数据虚分区与数据库节点的映射关系将每一数据虚分区映射到相应的数据库节点,
37.s4,根据事件时间顺序对变化的进行数据库更新。
38.步骤s1中,将数据库进行分区方法为:将较高优先级的数据项放置到优先访问数据区;将优先访问数据区中较低优先级的数据项转移到普通访问数据区。由于在数据库中
划分两个不同的访问数据区,每个访问数据区中的数据量小于整个数据库的数据量,因此,相对于将整个数据库作为一个整体访问数据区的情形,所划分的两个访问数据区的访问速度较高,从而提高了数据访问速度。,另外,可以将优先访问数据区中的数据项的访问速度设置得大于普通访问数据区中的数据项的访问速度。
39.本发明可以在优先访问数据区中设置第一优先访问数据区和第二优先访问数据区。第一优先访问数据区中数据项的优先级高于第二优先访问数据区中数据项的优先级。将第一优先访问数据区中优先级较低的数据项转移到第二优先访问数据区。通过这种方式,可以较方便地确定优先访问数据区中优先级较高的数据项和优先级较低的数据项,从而为向普通访问数据区转移数据项做好准备。当第二优先访问数据区中的数据项优先级升高时,可以将这些数据项转移到第一优先访问数据区。当第一优先访问数据区中的数据项优先级降低时,可以将这些数据项转移到第二优先访问数据区。此外,当向第一优先访问数据区写入新数据项时,可以将第一优先访问数据区中优先级较低的数据项转移到第二优先访问数据区。
40.步骤s2中,根据数据记录与数据虚分区的映射关系映射到相应的数据虚分区包括:根据所述数据虚分区规则确定对所述数据表采用的数据记录与数据虚分区的映射关系;以及,根据所述数据表的列值、数据虚分区的总数以及所采用的数据记录与数据虚分区的映射关系将所述数据表中的数据记录映射到相应的数据虚分区。
41.本实施例中,在数据库扩容时,将每个原数据库节点中的部分数据虚分区根据负载均衡策略迁移到新增的数据库节点,其中每个原数据库节点包括多个数据虚分区;在数据库系统减容时,将要被减的数据库节点中的多个数据虚分区根据负载均衡策略迁移到其他数据库节点。
42.将每个原数据库节点中的部分数据虚分区根据负载均衡策略迁移到新增的数据库节点,可以包括以下步骤:获取扩容前每个数据库节点中配置的数据虚分区数,为第一数据虚分区值;将数据虚分区的总数除以扩容后数据库节点的总数,得到每个数据库节点中应配置的数据虚分区数,为第二数据虚分区值;将每个数据库节点的所述第一数据虚分区值减去所述第二数据虚分区值得到多余的数据虚分区;将每个数据库节点中的多余的数据虚分区迁移到新增的数据库节点。
43.本实施例中,通过数字化方式采集更新数据;对所述更新数据进行汇总处理,存储至数据库的缓存模块;以分级方式调用所述缓存模块中的更新数据,对待更新的数据进行更新。
44.本实施例中,采集更新数据的方法包括:a1,获取所采集数据变化的各种事件,并附加关键内容;a2,建立事件与其引起变化的要素对象之间的关联关系;a3,对存在关系的事件,建立事件之间的关系;a4,依次处理每个事件及其涉及的每个要素对象的变化;a5,将所有事件及其变化数据存档,完成事件数据库中更新数据的采集。根据事件发生的前后进行排序,依次对发生变化的每个事件对发生空间状态变化的要素对象进行更新。根据事件时间顺序对变化的要素对象进行数据库更新,新数据添加到现状数据库,旧数据移入到历史数据库。
45.本发明还包括基于时间序列数据库的数据监控:对根据时间序列并通过消息队列形式存储至数据库中的数据列表,按照时先后顺序进行逐一记录,并统一限制数据库查询
的信息量以及查询的频率;设置多种形式的告警规则。当确定数据库查询的信息量在预设时间段内超过阈值时,产生告警并将告警发送至工作人员中,且关闭当前时间序列数据库的查询入口;当确定在查询时间段内在数据库查询的次数超过次数阈值时,产生告警并将告警发送至工作人员中,且关闭当前时间序列数据库的查询入口;当确定不在查询时间段内在数据库查询时,产生告警并将告警发送至工作人员中,且关闭当前时间序列数据库的查询入口。
46.本发明还包括数据库中数据的恢复,包括如下步骤:b1,获得用于恢复数据库的第一指令;b2,根据第一指令,获得第一存储介质中第一页面的第一数据库条目标识信息;b3,根据第一数据库条目标识信息,获得用于管理第一存储介质的第一数据存储结构,第一数据存储结构包括第二页面,所述第二页面包括第二数据库条目标识信息;b4,根据第一指令和第一数据存储结构,针对数据库进行恢复处理。
47.根据第一指令,获得存储于所述第一存储介质的第一数据库条目标识信息,包括:根据所述第一指令,获得数据库的根对象;根据根对象和所述根对象对应的子对象之间的关系,获得子对象对应的存储于第一存储介质的第一数据库条目的信息;根据第一数据库条目的信息,获得第一数据库条目对应的第三页面;根据第三页面,获得存储于第一存储介质的第一数据库条目标识信息。
48.根据第一数据库条目标识信息,获得用于管理第一存储介质的第一数据存储结构,包括:根据数据库条目的尺寸信息和编号信息中的至少一种信息,获得用于处理第一存储介质的第一数据存储结构。
49.本发明还包括数据库中无效数据的处理:对优先访问数据区和普通访问数据区的数据进行数据分类,包括有效数据和无效数据,保留有效数据,将无效数据进行剔除。这样就能够避免无效数据对数据库构建造成的影响,进一步提高数值的准确性,并且大大降低了数据的处理运算,进而提升了数据库存储容量,在多种数据设计存储后的数据库能够更好的进行运算。
50.本发明还提供了一种数据库处理装置,能够完成上述任一项所述的数据库处理方法。
51.本发明将数据库进行分区,分为优先访问数据区和普通访问数据区,极大的提高了数据库的处理速度、可靠度以及处理能力;通过在数据记录映射到数据库节点的过程中增加一层映射关系,即采用数据虚分区,使得可以快速地进行数据的重新划分和分布,并且可以减少数据迁移量,从而提高了数据库的性能;根据事件时间顺序对变化的进行数据库更新,保证了数据库更新效率,有利于提高数据库的实时性与准确性。本发明解决了数据库中存储的数据量越来越大,对数据进行操作的速度就会变得越来越慢的问题。
52.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。