CN112711612B - 数据处理方法、装置和存储介质及电子装置 - Google Patents
数据处理方法、装置和存储介质及电子装置 Download PDFInfo
- Publication number
- CN112711612B CN112711612B CN202011633151.2A CN202011633151A CN112711612B CN 112711612 B CN112711612 B CN 112711612B CN 202011633151 A CN202011633151 A CN 202011633151A CN 112711612 B CN112711612 B CN 112711612B
- Authority
- CN
- China
- Prior art keywords
- target
- storage
- state data
- data
- time stamp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000007906 compression Methods 0.000 claims description 18
- 230000006835 compression Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 230000000694 effects Effects 0.000 description 9
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 239000000243 solution Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 239000007853 buffer solution Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法、装置和存储介质及电子装置。其中,该方法包括:获取目标状态数据,其中,目标状态数据包括至少两个目标设备上报的状态数据;根据目标状态数据更新目标存储***的存储数据集,其中,存储数据集中包括多个按序排列的存储状态数据,每个存储状态数据携带有上报时间戳;从存储数据集中选定目标上报时间戳对应的存储状态数据将目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在目标缓存***中缓存的存储状态数据处于待读取状态。本发明解决了数据处理的时序容错能力较差的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据处理方法、装置和存储介质及电子装置。
背景技术
为提高业务数据的读取效率,用户多使用一个独立的KV(key/value)结构的缓存***提前缓存数据,其中,在读取数据前,业务下的多个不同模块各自缓存业务数据到该缓存***中,并各自查询使用,但由于各个业务之间,或各个模块之间无法共享,更无法获知各自缓存业务的时间顺序,在业务数据出现延迟的情况下(例如最新的业务数据不一定是最近到达的),极易出现时序错误的问题。因此,存在数据处理的时序容错能力较差的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法、装置和存储介质及电子装置,以至少解决数据处理的时序容错能力较差的技术问题。
根据本发明实施例的一个方面,提供了一种数据处理方法,包括:获取目标状态数据,其中,上述目标状态数据包括至少两个目标设备上报的状态数据;根据上述目标状态数据更新目标存储***的存储数据集,其中,上述存储数据集中包括多个按序排列的存储状态数据,每个上述存储状态数据携带有上报时间戳;从上述存储数据集中选定目标上报时间戳;将上述目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在上述目标缓存***中缓存的存储状态数据处于待读取状态。
根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:第一获取单元,用于获取目标状态数据,其中,上述目标状态数据包括至少两个目标设备上报的状态数据;更新单元,用于根据上述目标状态数据更新目标存储***的存储数据集,其中,上述存储数据集中包括多个按序排列的存储状态数据,每个上述存储状态数据携带有上报时间戳;选定单元,用于从上述存储数据集中选定目标上报时间戳;写入单元,用于将上述目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在上述目标缓存***中缓存的存储状态数据处于待读取状态。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据处理方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的数据处理方法。
在本发明实施例中,获取目标状态数据,其中,上述目标状态数据包括至少两个目标设备上报的状态数据;根据上述目标状态数据更新目标存储***的存储数据集,其中,上述存储数据集中包括多个按序排列的存储状态数据,每个上述存储状态数据携带有上报时间戳;从上述存储数据集中选定目标上报时间戳;将上述目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在上述目标缓存***中缓存的存储状态数据处于待读取状态,利用目标存储***对目标设备上报的状态数据进行预处理的方式,通过预处理后状态数据携带有的上报时间戳,进而达到了即使状态数据的上报出现延迟,但仍能基于上报时间戳明确状态数据的上报时间的技术目的,从而实现了提高数据处理过程中时序容错能力的技术效果,进而解决了数据处理的时序容错能力较差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的数据处理方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的数据处理方法的流程图的示意图;
图3是根据本发明实施例的一种可选的数据处理方法的示意图;
图4是根据本发明实施例的另一种可选的数据处理方法的示意图;
图5是根据本发明实施例的另一种可选的数据处理方法的示意图;
图6是根据本发明实施例的一种可选的数据处理装置的示意图;
图7是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种数据处理方法,可选地,作为一种可选的实施方式,上述数据处理方法可以但不限于应用于如图1所示的环境中。其中,可以但不限于包括用户设备102、网络110、服务器112及目标缓存***118,其中,该用户设备102上可以但不限于包括显示器108、处理器106及存储器104。
具体过程可如下步骤:
步骤S102,用户设备102获取目标设备1022发送的目标状态数据,其中,目标状态数据用于表示目标设备1022的当前设备状态数据;
步骤S104-S106,用户设备102通过网络110将目标状态数据发送给服务器112;
步骤S108,服务器112,通过处理引擎116处理目标状态数据,并将处理后的目标状态数据作为存储状态数据存入数据库114,其中,数据库114中的存储状态数据携带有上报时间戳,以及存储状态数据在数据库114中有序存储;
步骤S110,获取目标上报时间戳;
步骤S112-S114,服务器112通过网络110将目标上报时间戳对应的存储状态数据发送给目标缓存***118,其中,目标缓存***118用于为用户设备102或其他用户设备提供待读取数据。
可选地,作为一种可选的实施方式,如图2所示,数据处理方法包括:
S202,获取目标状态数据,其中,目标状态数据包括至少两个目标设备上报的状态数据;
S204,根据目标状态数据更新目标存储***的存储数据集,其中,存储数据集中包括多个按序排列的存储状态数据,每个存储状态数据携带有上报时间戳;
S206,从存储数据集中选定目标上报时间戳对应的存储状态数据
S208,将目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在目标缓存***中缓存的存储状态数据处于待读取状态。
可选的,在本实施例中,上述数据处理方法可以但不限于应用在网器状态数据的缓存场景,例如在将上传的网器状态数据缓存在目标缓存***前,使用一个用于写入程序(非人工)实时查询最近上报数据的通用实时存储***(目标存储***),其中,上述数据处理方法可以但不限于由该写入程序执行。
进一步举例说明,可选的例如图3所示,业务状态数据302存入目标存储***304,以及目标存储***304使用写入程序执行过滤规则(例如过滤掉预设时间段外的业务状态数据等)过滤掉上报的业务状态数据302,例如步骤S302-S304;将过滤后的业务状态数据写入目标缓存***306,同时,还实时执行删除规则(两日删除预设时刻前的业务状态数据等)定期删除“僵尸”数据(例如过期的业务状态数据等),例如步骤S306-S308;步骤S310,响应查询实时业务状态数据的查询指令,在目标缓存***306中读取对应的业务状态数据,并基于业务状态数据继续后续的业务计算。
可选的,在本实施例中,目标缓存***可以但不限于为一个独立的KV(key/value)结构的缓存***,例如redis、memcache等,以redis为例说明,redis可以但不限于提供基本的数据结构:String:字符串,Hash:散列,List:列表,Set:集合,Sorted Set:有序集合,Redis Sorted Set api支持应用程序快速的有序读取最新一条数据,根据score查询一段时间数据,删除一段时间,新增数据自动根据score排序等操作。
需要说明的是,现有技术的实现,应有如下缺点:
1、资源使用高:当有海量数据时,各自业务独立存储网器状态数据,各不互通,存在相同业务网器状态数据重复存储,造成存储大量浪费,而且还会增加内存连接数,对内存和cpu资源都要求较高。
2、通用性差:目前只能查询当前网器状态最新的一条数据,不能够根据业务需求变动时查询前n条,一段周期内数据,时间点前后n条数据等。
3、时序容错差:因数据可能出现延迟,最新的网器数据不一定是最近到达的。
4、健壮性弱:因redis使用单节点,容易出现单点故障
5、存储未使用压缩:内存相对于硬盘成本是比较高的,且容量不会无限制,存储海量数据时会占用大量内存。
6、删除有风险:定期删除依赖定时任务的稳定性,一旦定时任务挂掉,数据删除将不再执行。
针对现有技术存在的缺点,上述数据处理方法的执行可选的基于图3所示场景,继续例如图4所示,在目标存储***304接收由不同业务网器状态数据统一上报的业务状态数据302后,步骤S304的具体执行步骤包括:步骤S402,规则处理业务关系需要的核心数据,去掉非业务关心数据;步骤S404,使用统一规范的关键字(例如key:macid)存储;步骤S406-S408,数据结构使用同一Sorted Set存储数据,存储数据前对数据进行gzip压缩;
进一步,采用过期策略保存一段时间内数据以及保存n条数据策略,优先采用过期策略,例如步骤S408;
再者,支持单数据存储以及批量数据存储,例如步骤S410。
综上,上述数据处理方法的执行实现了以下效果:
1、时序性保证:使用Sorted Set结构,可以按照指定时间段范围查询某个网器的有序状态列表。
2、通用性强:提供统一封装的SDK方便对时序数据的读写方法。
3、时序容错强:解决了数据上报乱序的问题,使用Sorted Set结构保存状态数据,把上报时间戳作为score,可以解决数据上报乱序的问题,确保查询出来的数据都是按照上报时间戳有序排列。
4、健壮性强:redis cluster本身支持单节点容错和负载均衡
5、资源可控:数据压缩,每个网器写入新数据后马上做过期数据的删除,确保内存使用保持稳定。
需要说明的是,获取目标状态数据,其中,目标状态数据包括至少两个目标设备上报的状态数据;根据目标状态数据更新目标存储***的存储数据集,其中,存储数据集中包括多个按序排列的存储状态数据,每个存储状态数据携带有上报时间戳;从存储数据集中选定目标上报时间戳对应的存储状态数据将目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在目标缓存***中缓存的存储状态数据处于待读取状态。
通过本申请提供的实施例,获取目标状态数据,其中,目标状态数据包括至少两个目标设备上报的状态数据;根据目标状态数据更新目标存储***的存储数据集,其中,存储数据集中包括多个按序排列的存储状态数据,每个存储状态数据携带有上报时间戳;从存储数据集中选定目标上报时间戳对应的存储状态数据将目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在目标缓存***中缓存的存储状态数据处于待读取状态,利用目标存储***对目标设备上报的状态数据进行预处理的方式,通过预处理后状态数据携带有的上报时间戳,进而达到了即使状态数据的上报出现延迟,但仍能基于上报时间戳明确状态数据的上报时间的技术目的,从而实现了提高数据处理过程中时序容错能力的技术效果。
作为一种可选的方案,根据目标状态数据更新目标存储***的存储数据集,包括:
S1,将目标状态数据存入存储数据集;
S2,根据目标状态数据对应的上报时间戳,更新存储数据集中全部存储状态数据的排序。
需要说明的是,将目标状态数据存入存储数据集;根据目标状态数据对应的上报时间戳,更新存储数据集中全部存储状态数据的排序。
进一步举例说明,可选的例如图5所示,将携带有上报时间戳的目标状态数据502存入存储数据集504,并基于目标状态数据502的上报时间戳确定目标状态数据502在存储数据集504中的存储序列,例如当前在存储数据集504中,包括按序排列的多个存储状态数据(从上至下,例如存储状态数据5041、存储状态数据5042、存储状态数据5043、存储状态数据5044),假设目标状态数据502的上报时间戳大于存储状态数据5041,则将存储状态数据5041、存储状态数据5042、存储状态数据5043、存储状态数据5044的排序序列下降,以及将目标状态数据502放置在存储状态数据5041的上一序列。
通过本申请提供的实施例,将目标状态数据存入存储数据集;根据目标状态数据对应的上报时间戳,更新存储数据集中全部存储状态数据的排序,达到了基于上报时间戳有序地存储数据集中的存储状态数据的目的,实现了提高存储数据集的存储有序性的效果。
作为一种可选的方案,将目标状态数据存入存储数据集,包括:
S1,在目标状态数据中确定满足业务条件的状态数据;
S2,将满足业务条件的状态数据作为存储状态数据,并存入存储数据集。
需要说明的是,在目标状态数据中确定满足业务条件的状态数据;将满足业务条件的状态数据作为存储状态数据,并存入存储数据集。可选的,例如只保存实际有效的额数据,去掉业务不关心的数据。
通过本申请提供的实施例,在目标状态数据中确定满足业务条件的状态数据;将满足业务条件的状态数据作为存储状态数据,并存入存储数据集,达到了过滤掉业务不关心的数据的目的,实现了提高存储状态数据的存储效率的效果。
作为一种可选的方案,将目标状态数据存入存储数据集,包括:
S1,确定目标状态数据的目标关键字,其中,目标关键字用于在目标缓存***中读取目标状态数据;
S2,将携带有目标关键字的目标状态数据作为存储状态数据,并存入存储数据集,其中,存储数据集中每个存储状态数据对应的关键字的存储类型,与目标关键字的存储类型相同。
可选的,在本实施例中,为提高存入存储数据集的效率,过滤掉与业务不相关的数据,具体的,确定与业务相关的一个或多个目标关键字,并基于目标关键字完成数据的过滤。
可选的,在本实施例中,目标关键字还可以但不限于为key值,使用统一规范的key:macid存储,方便对时序数据的读写,以提高数据的通用性。
需要说明的是,确定目标状态数据的目标关键字,其中,目标关键字用于在目标缓存***中读取目标状态数据;将携带有目标关键字的目标状态数据作为存储状态数据,并存入存储数据集,其中,存储数据集中每个存储状态数据对应的关键字的存储类型,与目标关键字的存储类型相同。
通过本申请提供的实施例,确定目标状态数据的目标关键字,其中,目标关键字用于在目标缓存***中读取目标状态数据;将携带有目标关键字的目标状态数据作为存储状态数据,并存入存储数据集,其中,存储数据集中每个存储状态数据对应的关键字的存储类型,与目标关键字的存储类型相同,达到了方便对时序数据的读写的目的,实现了提高数据的通用性的效果。
作为一种可选的方案,将目标状态数据存入存储数据集,包括:
S1,对目标状态数据进行压缩处理;
S2,将压缩处理后的目标状态数据作为存储状态数据,并存入存储数据集。
可选的,压缩处理可以但不限于为在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对数据进行重新组织,减少数据的冗余和存储空间的一种技术方法,包括有损压缩以及无损压缩、即时压缩和非即时压缩、数据压缩和文件压缩等,具体的,例如Lempel-Ziv压缩、算数编码压缩、gzip压缩等。
需要说明的是,对目标状态数据进行压缩处理;将压缩处理后的目标状态数据作为存储状态数据,并存入存储数据集。
通过本申请提供的实施例,对目标状态数据进行压缩处理;将压缩处理后的目标状态数据作为存储状态数据,并存入存储数据集,达到了确保内存使用保持稳定的目的,实现了提高资源的可控性的效果。
作为一种可选的方案,在根据目标状态数据更新目标存储***的存储数据集之后,包括:
S1,在存储数据集中,确定满足过期条件的上报时间戳对应的存储状态数据;
S2,删除满足过期条件的上报时间戳对应的存储状态数据。
需要说明的是,在存储数据集中,确定满足过期条件的上报时间戳对应的存储状态数据;删除满足过期条件的上报时间戳对应的存储状态数据。可选的,过期条件可以但不限于还包括风险条件,例如定期删除稳定性较差的数据。
通过本申请提供的实施例,在存储数据集中,确定满足过期条件的上报时间戳对应的存储状态数据;删除满足过期条件的上报时间戳对应的存储状态数据,达到了实时删除过期数据的目的,实现了保证资源的可控性的效果。
作为一种可选的方案,将目标上报时间戳对应的存储状态数据写入目标缓存***,包括:
S1,获取数据写入请求,其中,数据写入请求携带有目标上报时间戳;
S2,响应数据写入请求,将目标上报时间戳对应的存储状态数据写入目标缓存***,其中,目标缓存***包括由多个保持连接的子节点组成的节点集群。
可选的,在本实施例中,目标存储***可以但不限于为redis cluster,其中,redis cluster本身支持单节点容错和负载均衡,以及支持单数据存储以及批量数据存储。
需要说明的是,获取数据写入请求,其中,数据写入请求携带有目标上报时间戳;响应数据写入请求,将目标上报时间戳对应的存储状态数据写入目标缓存***,其中,目标缓存***包括由多个保持连接的子节点组成的节点集群。
通过本申请提供的实施例,获取数据写入请求,其中,数据写入请求携带有目标上报时间戳;响应数据写入请求,将目标上报时间戳对应的存储状态数据写入目标缓存***,其中,目标缓存***包括由多个保持连接的子节点组成的节点集群,达到了保证单节点容错和负载均衡的目的,实现了提高数据处理的健壮性的效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述数据处理方法的数据处理装置。如图6所示,该装置包括:
第一获取单元602,用于获取目标状态数据,其中,目标状态数据包括至少两个目标设备上报的状态数据;
更新单元604,用于根据目标状态数据更新目标存储***的存储数据集,其中,存储数据集中包括多个按序排列的存储状态数据,每个存储状态数据携带有上报时间戳;
选定单元606,用于从存储数据集中选定目标上报时间戳对应的存储状态数据
写入单元608,用于将目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在目标缓存***中缓存的存储状态数据处于待读取状态。
可选的,在本实施例中,上述数据处理装置可以但不限于应用在网器状态数据的缓存场景,例如在将上传的网器状态数据缓存在目标缓存***前,使用一个用于写入程序(非人工)实时查询最近上报数据的通用实时存储***(目标存储***),其中,上述数据处理方法可以但不限于由该写入程序执行。
可选的,在本实施例中,目标缓存***可以但不限于为一个独立的KV(key/value)结构的缓存***,例如redis、memcache等,以redis为例说明,redis可以但不限于提供基本的数据结构:String:字符串,Hash:散列,List:列表,Set:集合,Sorted Set:有序集合,Redis Sorted Set api支持应用程序快速的有序读取最新一条数据,根据score查询一段时间数据,删除一段时间,新增数据自动根据score排序等操作。
需要说明的是,现有技术的实现,应有如下缺点:
1、资源使用高:当有海量数据时,各自业务独立存储网器状态数据,各不互通,存在相同业务网器状态数据重复存储,造成存储大量浪费,而且还会增加内存连接数,对内存和cpu资源都要求较高。
2、通用性差:目前只能查询当前网器状态最新的一条数据,不能够根据业务需求变动时查询前n条,一段周期内数据,时间点前后n条数据等。
3、时序容错差:因数据可能出现延迟,最新的网器数据不一定是最近到达的。
4、健壮性弱:因redis使用单节点,容易出现单点故障
5、存储未使用压缩:内存相对于硬盘成本是比较高的,且容量不会无限制,存储海量数据时会占用大量内存。
6、删除有风险:定期删除依赖定时任务的稳定性,一旦定时任务挂掉,数据删除将不再执行。
综上,上述数据处理方法的执行实现了以下效果:
1、时序性保证:使用Sorted Set结构,可以按照指定时间段范围查询某个网器的有序状态列表。
2、通用性强:提供统一封装的SDK方便对时序数据的读写方法。
3、时序容错强:解决了数据上报乱序的问题,使用Sorted Set结构保存状态数据,把上报时间戳作为score,可以解决数据上报乱序的问题,确保查询出来的数据都是按照上报时间戳有序排列。
4、健壮性强:redis cluster本身支持单节点容错和负载均衡
5、资源可控:数据压缩,每个网器写入新数据后马上做过期数据的删除,确保内存使用保持稳定。
需要说明的是,获取目标状态数据,其中,目标状态数据包括至少两个目标设备上报的状态数据;根据目标状态数据更新目标存储***的存储数据集,其中,存储数据集中包括多个按序排列的存储状态数据,每个存储状态数据携带有上报时间戳;从存储数据集中选定目标上报时间戳对应的存储状态数据将目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在目标缓存***中缓存的存储状态数据处于待读取状态。
具体实施例可以参考上述数据处理方法中所示示例,本示例中在此不再赘述。
通过本申请提供的实施例,获取目标状态数据,其中,目标状态数据包括至少两个目标设备上报的状态数据;根据目标状态数据更新目标存储***的存储数据集,其中,存储数据集中包括多个按序排列的存储状态数据,每个存储状态数据携带有上报时间戳;从存储数据集中选定目标上报时间戳对应的存储状态数据将目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在目标缓存***中缓存的存储状态数据处于待读取状态,利用目标存储***对目标设备上报的状态数据进行预处理的方式,通过预处理后状态数据携带有的上报时间戳,进而达到了即使状态数据的上报出现延迟,但仍能基于上报时间戳明确状态数据的上报时间的技术目的,从而实现了提高数据处理过程中时序容错能力的技术效果。
作为一种可选的方案,更新单元604,包括:
存入模块,用于将目标状态数据存入存储数据集;
更新模块,用于根据目标状态数据对应的上报时间戳,更新存储数据集中全部存储状态数据的排序。
具体实施例可以参考上述数据处理方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,存入模块,包括:
第一确定子模块,用于在目标状态数据中确定满足业务条件的状态数据;
第一存入子模块,用于将满足业务条件的状态数据作为存储状态数据,并存入存储数据集。
具体实施例可以参考上述数据处理方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,存入模块,包括:
第二确定子模块,用于确定目标状态数据的目标关键字,其中,目标关键字用于在目标缓存***中读取目标状态数据;
第二存入子模块,用于将携带有目标关键字的目标状态数据作为存储状态数据,并存入存储数据集,其中,存储数据集中每个存储状态数据对应的关键字的存储类型,与目标关键字的存储类型相同。
具体实施例可以参考上述数据处理方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,存入模块,包括:
处理子模块,用于对目标状态数据进行压缩处理;
第三存入子模块,用于将压缩处理后的目标状态数据作为存储状态数据,并存入存储数据集。
具体实施例可以参考上述数据处理方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,包括:
确定单元,用于在根据目标状态数据更新目标存储***的存储数据集之后,在存储数据集中,确定满足过期条件的上报时间戳对应的存储状态数据;
删除单元,用于在根据目标状态数据更新目标存储***的存储数据集之后,删除满足过期条件的上报时间戳对应的存储状态数据。
具体实施例可以参考上述数据处理方法中所示示例,本示例中在此不再赘述。
作为一种可选的方案,包括:
确定单元,用于在根据目标状态数据更新目标存储***的存储数据集之后,在存储数据集中,确定满足过期条件的上报时间戳对应的存储状态数据;
删除单元,用于在根据目标状态数据更新目标存储***的存储数据集之后,删除满足过期条件的上报时间戳对应的存储状态数据。
具体实施例可以参考上述数据处理方法中所示示例,本示例中在此不再赘述。
根据本发明实施例的又一个方面,还提供了一种用于实施上述数据处理方法的电子装置,如图7所示,该电子装置包括存储器702和处理器704,该存储器702中存储有计算机程序,该处理器704被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标状态数据,其中,目标状态数据包括至少两个目标设备上报的状态数据;
S2,根据目标状态数据更新目标存储***的存储数据集,其中,存储数据集中包括多个按序排列的存储状态数据,每个存储状态数据携带有上报时间戳;
S3,从存储数据集中选定目标上报时间戳对应的存储状态数据
S4,将目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在目标缓存***中缓存的存储状态数据处于待读取状态。
可选地,本领域普通技术人员可以理解,图7所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图7中所示更多或者更少的组件(如网络接口等),或者具有与图7所示不同的配置。
其中,存储器702可用于存储软件程序以及模块,如本发明实施例中的数据处理方法和装置对应的程序指令/模块,处理器704通过运行存储在存储器702内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器702可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器702可进一步包括相对于处理器704远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器702具体可以但不限于用于存储目标状态数据、存储状态数据以及目标上报时间戳等信息。作为一种示例,如图7所示,上述存储器702中可以但不限于包括上述数据处理装置中的第一获取单元602、更新单元604、选定单元606及写入单元608。此外,还可以包括但不限于上述数据处理装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置706用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置706包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置706为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器708,用于显示上述目标状态数据、存储状态数据以及目标上报时间戳等信息;和连接总线710,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取目标状态数据,其中,目标状态数据包括至少两个目标设备上报的状态数据;
S2,根据目标状态数据更新目标存储***的存储数据集,其中,存储数据集中包括多个按序排列的存储状态数据,每个存储状态数据携带有上报时间戳;
S3,从存储数据集中选定目标上报时间戳对应的存储状态数据
S4,将目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在目标缓存***中缓存的存储状态数据处于待读取状态。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种数据处理方法,其特征在于,包括:
获取由不同业务网器统一上报的目标状态数据,其中,所述目标状态数据包括至少两个目标设备上报的状态数据;
根据所述目标状态数据更新目标存储***的存储数据集,其中,所述存储数据集中包括多个按序排列的存储状态数据,每个所述存储状态数据携带有上报时间戳;
从所述存储数据集中选定目标上报时间戳对应的存储状态数据;
将所述目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在所述目标缓存***中缓存的存储状态数据处于待读取状态;
在所述根据所述目标状态数据更新目标存储***的存储数据集之后,包括:在所述存储数据集中,确定满足风险条件的上报时间戳对应的存储状态数据;定期删除所述满足风险条件的上报时间戳对应的存储状态数据;
根据所述目标状态数据更新目标存储***的存储数据集,包括:确定所述目标状态数据的目标关键字,其中,所述目标关键字用于在所述目标缓存***中读取所述目标状态数据;
将携带有所述目标关键字的所述目标状态数据作为所述存储状态数据,并存入所述存储数据集,其中,所述存储数据集中每个存储状态数据对应的关键字的存储类型,与所述目标关键字的存储类型相同。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标状态数据更新目标存储***的存储数据集,包括:
将所述目标状态数据存入所述存储数据集;
根据所述目标状态数据对应的上报时间戳,更新所述存储数据集中全部存储状态数据的排序。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标状态数据存入所述存储数据集,包括:
在所述目标状态数据中确定满足业务条件的状态数据;
将所述满足业务条件的状态数据作为所述存储状态数据,并存入所述存储数据集。
4.根据权利要求2所述的方法,其特征在于,所述将所述目标状态数据存入所述存储数据集,包括:
对所述目标状态数据进行压缩处理;
将压缩处理后的目标状态数据作为所述存储状态数据,并存入所述存储数据集。
5.根据权利要求1至4任一项中所述的方法,其特征在于,所述将所述目标上报时间戳对应的存储状态数据写入目标缓存***,包括:
获取数据写入请求,其中,所述数据写入请求携带有所述目标上报时间戳;
响应所述数据写入请求,将所述目标上报时间戳对应的存储状态数据写入所述目标缓存***,其中,所述目标缓存***包括由多个保持连接的子节点组成的节点集群。
6.一种数据处理装置,其特征在于,包括:
第一获取单元,用于获取由不同业务网器统一上报的目标状态数据,其中,所述目标状态数据包括至少两个目标设备上报的状态数据;
更新单元,用于根据所述目标状态数据更新目标存储***的存储数据集,其中,所述存储数据集中包括多个按序排列的存储状态数据,每个所述存储状态数据携带有上报时间戳;
选定单元,用于从所述存储数据集中选定目标上报时间戳对应的存储状态数据;
写入单元,用于将所述目标上报时间戳对应的存储状态数据写入目标缓存***,其中,在所述目标缓存***中缓存的存储状态数据处于待读取状态;
所述装置,还用于在所述存储数据集中,确定满足风险条件的上报时间戳对应的存储状态数据;定期删除所述满足风险条件的上报时间戳对应的存储状态数据;
所述装置,还用于根据所述目标状态数据更新目标存储***的存储数据集,包括:确定所述目标状态数据的目标关键字,其中,所述目标关键字用于在所述目标缓存***中读取所述目标状态数据;
所述装置,还用于将携带有所述目标关键字的所述目标状态数据作为所述存储状态数据,并存入所述存储数据集,其中,所述存储数据集中每个存储状态数据对应的关键字的存储类型,与所述目标关键字的存储类型相同。
7.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至5任一项中所述的方法。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011633151.2A CN112711612B (zh) | 2020-12-31 | 2020-12-31 | 数据处理方法、装置和存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011633151.2A CN112711612B (zh) | 2020-12-31 | 2020-12-31 | 数据处理方法、装置和存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112711612A CN112711612A (zh) | 2021-04-27 |
CN112711612B true CN112711612B (zh) | 2023-09-19 |
Family
ID=75547827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011633151.2A Active CN112711612B (zh) | 2020-12-31 | 2020-12-31 | 数据处理方法、装置和存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112711612B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157613A (zh) * | 2021-11-11 | 2022-03-08 | 珠海格力电器股份有限公司 | 数据上报的方法、网关、服务器、电子设备以及存储介质 |
CN114415936A (zh) * | 2021-12-03 | 2022-04-29 | 北京汽车研究总院有限公司 | 数据存储方法、数据存储装置、车机装置和存储介质 |
CN114867094B (zh) * | 2022-04-29 | 2024-07-19 | 广州小鹏汽车科技有限公司 | 车辆及其状态透传方法、移动终端及存储介质 |
CN115098451B (zh) * | 2022-06-14 | 2024-05-28 | 武汉众邦银行股份有限公司 | 一种基于文件的数据传输方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399263B (zh) * | 2018-03-15 | 2022-03-01 | 北京大众益康科技有限公司 | 时序数据的存储和查询方法及存储和处理平台 |
CN110297811B (zh) * | 2019-06-28 | 2022-04-19 | 联想(北京)有限公司 | 数据处理方法及装置、计算机***和计算机可读存储介质 |
CN111125175B (zh) * | 2019-12-20 | 2023-09-01 | 北京奇艺世纪科技有限公司 | 业务数据的查询方法和装置、存储介质、电子装置 |
CN112035720A (zh) * | 2020-08-13 | 2020-12-04 | 海尔优家智能科技(北京)有限公司 | 事件提醒的触发方法和装置、存储介质及电子设备 |
-
2020
- 2020-12-31 CN CN202011633151.2A patent/CN112711612B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112711612A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112711612B (zh) | 数据处理方法、装置和存储介质及电子装置 | |
CN108683720B (zh) | 一种容器集群服务配置方法及装置 | |
CN109947668B (zh) | 存储数据的方法和装置 | |
CN112162865A (zh) | 服务器的调度方法、装置和服务器 | |
CN110401711B (zh) | 数据处理方法、装置、***及存储介质 | |
CN108390933B (zh) | 消息分发方法、装置、服务器及存储介质 | |
WO2015010598A1 (en) | Method, server, client, and system for releasing instant messaging key-value data | |
CN111262726B (zh) | 一种配置信息更新方法、装置及计算机可读存储介质 | |
CN103338249A (zh) | 缓存方法及装置 | |
CN107346270B (zh) | 基于实时计算的基数估计的方法和*** | |
CN112506870B (zh) | 数据仓库增量更新方法、装置及计算机设备 | |
CN106648445B (zh) | 用于网络爬虫的数据存储方法及装置 | |
CN109547524A (zh) | 基于物理网的用户行为存储方法、装置、设备及存储介质 | |
US20230092714A1 (en) | Systems, computer-readable media and computer-implemented methods for automated, dynamic capacity planning using http response header fields | |
CN109388351A (zh) | 一种分布式数据存储的方法及相关装置 | |
CN111694865A (zh) | 基于分布式***的四层结构数据获取方法和装置 | |
CN109947729A (zh) | 一种实时数据分析方法及装置 | |
CN112732756A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN104205730B (zh) | 网元数据访问方法、虚拟网元、网络管理服务器及网络管理*** | |
CN117544507A (zh) | 基于云对象存储服务的多区域分布式配置方法及*** | |
CN117076195A (zh) | 参数的调整方法、装置、存储介质及电子装置 | |
KR101736382B1 (ko) | 이엠에스 서버 및 이의 로그 데이터 관리 방법 | |
US20150100545A1 (en) | Distributed database system and a non-transitory computer readable medium | |
CN114945026A (zh) | 数据处理方法、装置和*** | |
CN114036104A (zh) | 基于分布式存储的重删数据的云归档方法、装置及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |