本发明实施例涉及数据处理,尤其涉及一种集中器数据存取方法及装置。
背景技术:
1、集中器数据存储集中于某个业务app中,台区智能融合终端,通常采用数据中心存储配电数据,制定统一数据接口,提供给外部app访问。而上述存取方法存在如下问题:数据没有备份,丢失之后无法找回;数据没有加密,容易被窃取;数据量达到一定数量级时,存储、读取效率低;没有针对集中器数据的存储方案。随着电力行业营销业务需求不断扩展,新的业务对数据存储数量更大,业务更精细,存取更复杂,现有的集中式存储方法再难满足新的业务需求。
技术实现思路
1、基于现有技术的上述情况,本发明实施例的目的在于提供一种集中器数据存取方法及装置,解决了数据安全、容易损坏以及查询效率低的问题。
2、为达到上述目的,根据本发明的一个方面,提供了一种集中器数据存取方法,包括步骤:
3、接收订阅消息,并对该订阅消息进行消息筛选,以判断该订阅消息中的内容为普通数据、记录型数据或者其他命令;
4、针对普通数据、记录型数据或者其他命令,分别采用不同的处理方式进行数据处理;
5、将处理后的任务加入线程池;
6、在线程池中对各任务进行数据库操作;根据数据库操作的结果发送mqtt消息。
7、进一步的,所述消息筛选包括步骤:
8、解析该订阅消息中的数据内容,并将数据头和数据内容保存至内存中;
9、根据数据库消息标识判断数据的类型和命令,以确定该消息对应的数据库和数据表。
10、进一步的,所述针对普通数据、记录型数据或者其他命令,分别采用不同的处理方式进行数据处理,包括:
11、对普通数据进行数据解析后进行处理;所述解析包括判断帧合法性并解析出消息标识,所述消息标识指明该数据为普通数据;
12、对处理后的普通数据筛选普通数据任务。
13、进一步的,所述针对普通数据、记录型数据或者其他命令,分别采用不同的处理方式进行数据处理,包括:
14、对记录型数据进行数据解析后进行处理;所述解析包括判断帧合法性并解析出消息标识,所述消息标识指明该数据为记录型数据;
15、对处理后的记录型数据筛选普通数据任务。
16、进一步的,所述针对普通数据、记录型数据或者其他命令,分别采用不同的处理方式进行数据处理,包括:
17、对其他命令进行处理;所述其他命令包括清空数据库和初始化数据库;
18、对处理后的其他命令筛选命令任务。
19、进一步的,所述数据库操作包括:
20、验证数据密钥,当数据密钥不通过时,则返回错误码,拒绝操作数据库;根据各任务对数据库中的数据进行操作,所述操作涉及对应的附加内存数据库;并同时更新数据库数据以及备份,判断是否满足数据库更新或者备份条件,若满足条件则进行发布同步磁盘信号,同时备份相应的数据库数据。
21、进一步的,还包括初始化,所述初始化包括配置文件初始化、线程池初始化、数据库初始化和mqtt及消息订阅初始化。
22、进一步的,线程池初始化包括步骤:
23、设置最小线程数量和最大线程数量,根据当前任务数量动态管理当前线程数;当当前任务数量大于最大线程数量时,根据当前任务数量与最大线程数量的差值,申请新线程;
24、当当前任务数量小于最小线程数量时,根据当前任务数量与最小线程数量的差值,注销多余线程。
25、进一步的,数据库初始化包括步骤:
26、创建数据库和数据表,针对不同类型的数据创建不同的数据库和数据表,所述数据库和数据表采用分布式存储方法;
27、设置数据库和数据表的属性;
28、增加内存数据库作为磁盘数据库的附加数据库,开机时将磁盘数据库同步到内存数据库。
29、根据本发明的另一个方面,提供了一种集中器数据存取装置,包括:
30、消息筛选模块,用于接收订阅消息,并对该订阅消息进行消息筛选,以判断该订阅消息中的内容为普通数据、记录型数据或者其他命令;
31、数据处理模块,用于针对普通数据、记录型数据或者其他命令,分别采用不同的处理方式进行数据处理;
32、数据库操作模块,用于将处理后的任务加入线程池,并在线程池中对各任务进行数据库操作;
33、消息发送模块,用于根据数据库操作的结果发送mqtt消息。
34、综上所述,本发明实施例提供了一种集中器数据存取方法及装置,该方法包括步骤:接收订阅消息,并对该订阅消息进行消息筛选,以判断该订阅消息中的内容为普通数据、记录型数据或者其他命令;针对普通数据、记录型数据或者其他命令,分别采用不同的处理方式进行数据处理;将处理后的任务加入线程池;在线程池中对各任务进行数据库操作;根据数据库操作的结果发送mqtt消息。本发明实施例的技术方案在进行通过对数据库操作时对数据进行加密以及设置附加数据库,保证了数据的安全性,并使得数据库损坏可恢复数据,解决了数据丢失不可恢复的问题;通过线程池管理,提高了数据存储和查询效率,解决数据库响应慢的问题。
1.一种集中器数据存取方法,其特征在于,包括步骤:
2.根据权利要求1所述的方法,其特征在于,所述消息筛选包括步骤:
3.根据权利要求2所述的方法,其特征在于,所述针对普通数据、记录型数据或者其他命令,分别采用不同的处理方式进行数据处理,包括:
4.根据权利要求2所述的方法,其特征在于,所述针对普通数据、记录型数据或者其他命令,分别采用不同的处理方式进行数据处理,包括:
5.根据权利要求2所述的方法,其特征在于,所述针对普通数据、记录型数据或者其他命令,分别采用不同的处理方式进行数据处理,包括:
6.根据权利要求3-5中任意一项所述的方法,其特征在于,所述数据库操作包括:
7.根据权利要求1所述的方法,其特征在于,还包括初始化,所述初始化包括配置文件初始化、线程池初始化、数据库初始化和mqtt及消息订阅初始化。
8.根据权利要求7所述的方法,其特征在于,线程池初始化包括步骤:
9.根据权利要求7所述的方法,其特征在于,数据库初始化包括步骤:创建数据库和数据表,针对不同类型的数据创建不同的数据库和数据表,所述数据库和数据表采用分布式存储方法;
10.一种集中器数据存取装置,其特征在于,包括: