CN110727666A - 面向工业互联网平台的缓存组件、方法、设备及存储介质 - Google Patents
面向工业互联网平台的缓存组件、方法、设备及存储介质 Download PDFInfo
- Publication number
- CN110727666A CN110727666A CN201910908925.9A CN201910908925A CN110727666A CN 110727666 A CN110727666 A CN 110727666A CN 201910908925 A CN201910908925 A CN 201910908925A CN 110727666 A CN110727666 A CN 110727666A
- Authority
- CN
- China
- Prior art keywords
- data
- tag
- tag data
- industrial internet
- internet platform
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004140 cleaning Methods 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 12
- 230000002688 persistence Effects 0.000 claims abstract description 11
- 230000007246 mechanism Effects 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000005406 washing Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 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
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- 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/2462—Approximate or statistical queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种面向工业互联网平台的缓存组件、方法、设备及存储介质,所述缓存组件用于对所述工业互联网平台产生的标签数据进行内存管理,其中,所述标签数据的数据结构包含一个标签名、一系列时间戳与标签数值构成的有序队列,所述时间戳与标签数值相互对应;所述内存管理包括过期机制、数据持久化、数据清洗、消息推送和数据统计中的任一种或几种功能。本发明利用缓存组件对工业互联网平台产生的标签数据进行内存管理,解决了标签数据落盘后,由于数据量实时增加,导致的系统性能不足问题,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,所以数据处理速度比传统数据库的数据处理速度要快很多。
Description
技术领域
本发明涉及信息处理技术领域,特别是涉及一种面向工业互联网平台的缓存组件、方法、设备及存储介质。
背景技术
从系统的层面说,请求响应时间等于网络响应时间和服务器响应时间,服务器响应时间包括CPU计算时间和磁盘IO时间。在通常情况下,网络响应时间无法控制,CPU的速度远远高于磁盘IO的速度,所以要想提高系统响应速度,必须减少磁盘IO的操作,但在工业场景下,大部分数据存储在数据库中,每次查询数据库即为一次IO操作,因此会造成系统性能下降,软件访问速度不足,造成高精度、高实时的控制模型无法开发,以及用户体验度差等问题。
应用缓存技术可以有效的避免这种情况,所以在软件系统架构设计过程中,涉及到查询本地数据库的时候,应该考虑使用缓存技术来提高系统的性能,并且降低数据库的负载。
常用的缓存有Memcache、Redis等,MemCache是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象),可在动态系统中减少数据库负载,提升性能,适合多读少写,便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题,但不适合用于数据持久化、存储块太大等应用场景。Redis也是一个高性能、完全开源的key-value存储,Redis相对于memcache提供了更丰富的数据类型。适用于对读写效率要求都很高,数据处理业务复杂和对安全性要求较高的系统、Pub/Sub构建实时消息系统等,但其仅支持String、list、set、zset、hash等5种数据结构。
然而,对于工业大数据的开发和应用仍以结构化数据为主,非结构化数据为辅,但采用上述缓存技术一方面不支持工业场景下的标签数据的数据结构,另一方面,不适合数据持久化与存储块太大的场景,无法有效提升互联网平台的系统性能,造成系统瓶颈和读写性能下降。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种面向工业互联网平台的缓存组件、方法、设备及存储介质,用于解决现有技术中工业场景下,大量实时数据保存于数据库系统,采用服务器直接访问数据库,执行磁盘IO操作所造成的系统瓶颈和读写性能下降的问题。
为实现上述目的及其他相关目的,本申请的第一方面,本发明提供一种面向工业互联网平台的缓存组件,包括:
所述缓存组件用于对所述工业互联网平台产生的标签数据进行内存管理,其中,所述标签数据的数据结构包含一个标签名、一系列时间戳与标签数值构成的有序队列,所述时间戳与标签数值相互对应。
本申请的第二方面,提供一种面向工业互联网平台的缓存方法,包括:
利用缓存组件对所述工业互联网平台产生的标签数据进行内存管理,其中,所述标签数据的数据结构包含一个标签名、一系列时间戳与标签数值构成的有序队列,所述时间戳与标签数值相互对应。
本申请的第三方面,提供一种设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行指令,所述一个或多个处理器执行所述执行指令使得所述电子设备执行上述的面向工业互联网平台的缓存方法。
本申请的第四方面,提供一种存储介质,所述存储介质包括存储的程序,其中,所述程序在被调用执行时实现上述的面向工业互联网平台的缓存方法。
如上所述,本发明的面向工业互联网平台的缓存组件、方法、设备及存储介质,具有以下有益效果:
本发明利用缓存组件对工业互联网平台产生的标签数据进行内存管理,解决了标签数据落盘后,由于数据量实时增加,导致的系统性能不足问题。
附图说明
图1显示为本发明实施例提供的面向工业互联网平台的缓存组件中标签数据的结构图;
图2显示为本发明另一实施例提供的面向工业互联网平台的缓存组件中数据结构图;
图3显示为本发明实施例提供的面向工业互联网平台的缓存方法中更新标签数据的流程图;
图4显示为本发明实施例提供的面向工业互联网平台的缓存方法中标签数据过期机制流程;
图5显示为本发明实施例提供的面向工业互联网平台的缓存方法中标签数据持久化流程图;
图6显示为本发明实施例提供的面向工业互联网平台的缓存方法中标签数据清洗流程图;
图7显示为本发明实施例提供的面向工业互联网平台的缓存方法中标签数据的数据统计流程图,
图8显示为本发明实施例提供的面向工业互联网平台的缓存方法中缓存数据更新流程完整流程图;
图9显示为本发明实施例提供的面向工业互联网平台的设备结构框图。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。
在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本公开的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、“下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。
虽然在一些实例中术语第一、第二等在本文中用来描述各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一预设阈值可以被称作第二预设阈值,并且类似地,第二预设阈值可以被称作第一预设阈值,而不脱离各种所描述的实施例的范围。第一预设阈值和预设阈值均是在描述一个阈值,但是除非上下文以其他方式明确指出,否则它们不是同一个预设阈值。相似的情况还包括第一音量与第二音量。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
请参阅图1,为本发明实施例提供的面向工业互联网平台的缓存组件中数据结构示意图,所述缓存组件用于对所述工业互联网平台产生的标签数据进行内存管理,其中,所述标签数据的数据结构(即,标签数据结构)包含标签名、时间戳与标签数值构成的有序队列,例如,在Key-Value内存数据库,该,标签数据结构由一个标签名(Key)和一系列的时间戳和标签数值组成的有序队列(Value)所构成。
其中,所述内存管理包括过期机制、数据持久化、数据清洗、消息推送和数据统计中的任一种或几种辅助功能。
针对于存储工业标签数据类型,在本实施例中,可采用高级语言编程实现,包括但不限Java、C#、C++、Sql等,同时,其应用的整体架构为服务端/客户端模式,适于工业互联网平台中通过客户端访问服务器,而利用缓存技术在涉及查询服务器(数据库),提高了系统的性能,且降低了数据库的负载。
具体地,如图2所示,为本发明另一实施例提供的面向工业互联网平台的缓存组件中数据结构图,其中,所述有序队列中包括对应存储标签数据中时间和数值的时间数组和数值数组,且所述数组中数值与时间相互对应,其中,所述有序队列设有时间数组与数值数组共用的队头下标、队尾下标、缓存长度与当前长度,该结构化数据包括名称、时间和数值的属性,且讲究时序特点,将该结构化的标签数据保存在缓存中,能够根据需求实现特定的目标,便于提升工业大数据平台的性能系统。
例如,时间数组与数值数组各自保存相同类型的元素,且时间数组中每个时间对应数值数组的数值,而在有序队列中的队头下标、队尾下标分别对应时间数组和数值数组,且缓存长度为数组限定元素长度(集合),当前长度表示当前数组的存储的元素长度。
请参阅图3,为本发明实施例提供的面向工业互联网平台的缓存方法中更新标签数据的流程图,包括:
步骤S301,检测到新的标签数据需要存储时;
步骤S302,获取所述新的标签数据的标签名并根据所述标签名匹配到相应队列;
步骤S303,判断该新的标签数据中的时间是否大于相应队列时间数组中的队尾值;
步骤S304,如果新的标签数据中的时间大于相应队列时间数组中的队尾值时,则将新的标签数据中的时间和数值分别写到该队列中时间数组和数值数组中的队尾;
步骤S305,否则,不作插入操作,并返回提示。
在本实施例中,通过判断新的标签数据时间与队列时间数组中队尾值的时间大小,即,时间靠前为小,时间靠后为大,从而判断匹配的相应队列数组是否更新,确保后续新的标签数据能够正常更新。
请参阅图4,为本发明实施例提供的面向工业互联网平台的缓存方法中标签数据过期机制流程;在上述图3的实施例基础上,还包括:
步骤S401,判断更新的标签数据的数组长度是否大于预设缓存长度;
步骤S402,如果更新的标签数据的数组长度大于预设缓存长度时,则舍弃更新的标签数据的队头数据;
步骤S403,否则,不处理;
步骤S404,判断更新的标签数据的时间数组中的首尾时间是否大于预设缓存时间;
步骤S405,如果更新的标签数据的时间数组中的首尾时间大于预设缓存时间时,则舍弃更新的标签数据的队头数据;
步骤S406,否则,不处理。
在本实施例中,步骤S401~403与步骤S404~406没有先后顺序,两者需要同时满足,且该步骤能够使得标签数据的数据结构具有过期机制,将超过预设缓存时间或预设缓存长度的值自动舍弃,避免出现标签数据管理混乱的情况,在程序运行中不允许动态创建标签对象以及其他辅助功能对象。如若需要新增或修改标签对象及辅助功能对象只能从数据库表中进行相应配置。
请参阅图5,为本发明实施例提供的面向工业互联网平台的缓存方法中标签数据持久化流程图,包括:
步骤S501,判断更新的标签数据是否要持久化;
步骤S502,如果更新的标签数据要持久化,将更新的标签数据暂存于临时集合内,直到临时集合内更新的标签数据的数量达到预设数值时,利用持久化框架将临时集合内所有更新的标签数据组合一次性写入到数据库中;
步骤S503,否则,不处理。
在本实施例中,所有标签数据都有一个是否存盘的布尔值属性。当内存中的标签数据出现更新的情况时,本发明首先会检测此更新数据的存盘属性是否为真,如果为真,才会将此标签数据持久化。但因工业场景中标签数据多,且更新频率也比较高。如若每次标签数据的更新都立刻存入数据库中势必会达到磁盘IO的性能瓶颈。通过将每一个需要持久化的标签数据先暂存一个临时集合中,当此集合中的数据达到一定数量时才会触发一个写入任务,该任务利用持久化框架将更新数据进行组合,然后一次性地持久化到数据库中,如此便大大减少了磁盘IO的次数。而本发明所采用的数据库可以是包括但不限于oracle、mysql、sqlserver。
例如,新建一个线程专门监控需要持久化的数据。当需要持久化的数据更新时,本发明会将该更新数据进行缓存计数,当缓存数据累积到100条时,就会把内存中缓存的持久化数据统一写入到数据库或其他存储介质中,如此便减少了磁盘或其他存储介质的IO操作,且不阻塞主线程。
请参阅图6,为本发明实施例提供的面向工业互联网平台的缓存方法中标签数据清洗流程图,包括:
步骤S601,判断更新的标签数据是否需要数据清洗;
步骤S602,如果更新的标签数据需要数据清洗时,则调用预先设置的配置表的清洗规则对待清洗的标签数据进行解析,该配置表包含结果标签、源标签与清洗规则,跳转到步骤S604;
步骤S603,否则,不处理;
步骤S604,校验解析后的数据是否符合清洗规则;
步骤S605,如果解析后的数据符合清洗规则,则将该数据写入目标标签中;
步骤S606,否则,不处理。
在本实施例中,对数据清洗主要采用的是数据过滤的方法。在实现上是通过在数据库中建立一张配置表用来描述源标签名和结果签名以及清洗规则。源标签名指的是本次过滤的数据源,而结果标签名则是用来容纳源标签数据中通过规则筛选后的数据,清洗规则代表的是筛选的条件,主要由一些列符号组成。通过符号的组合来对其进行自定义范围或者变化趋势来过滤数据。在新增了配置之后,系统会监控本配置中需要清洗的标签数据,当存在有数据新增时,会将此标签数据前后两个值以及配置中的清洗规则一并传入一个检测方法,该方法对规则符号进行解析并判断新增的数据是否符合其规则,如果符合,系统会将新增的数据写入到配置中的结果标签中,如此便完成了对该标签数据的清洗。
例如,经过数据清洗规则,将源标签的数据按一定逻辑写入结果标签,数据清洗规则包括但不限于以下规则:
·当前标签数值小于上一个标签数值
·当前标签数值大于上一个标签数值
·当前标签数值等于具体的数值
·当前标签数值在某个区间范围之内
其规则具体是通过符号“-”、“+”、“(n,m]”、“|”、“&”来进行组合实现。其中,符号“-”代表的意义是筛选当前标签数值小于上一个标签数值的情况,符号“+”代表的意义是筛选当前标签数值大于上一个标签数值的情况,符号“(n,m]”代表的意义是筛选本次采样值大于n且小于等于m的情况,n或者m的值除了可以是数字也可以是±∞,代表无限大或者无限小。符号“|”代表逻辑或,符号“&”代表逻辑与,这两个逻辑符号主要是用来连接上述符号,以此实现更加丰富的功能筛选。
请参阅图7,为本发明实施例提供的面向工业互联网平台的缓存方法中标签数据的数据流程图,包括:
步骤S701,获取预先配置的计算任务,所述计算任务包括源标签名、结果标签名、计算周期与计算方法;
步骤S702,将所述计算任务放置到与其配置的计算周期相同的定时任务池中,直到所述定时任务池定时执行计算任务,按照所述计算方式计算该周期内标签数据数值的结果,并将结果存储于所述结果标签名;
步骤S703,否则,不处理。
标签数据的统计是可配置式的,具体的,配置一个计算任务需要先在数据库表里面配置一个源标签名和结果标签名以及其计算周期和计算方法;计算方法有多种,包括但不限于最大值、最小值、平均值、最新值、标准差等。在配置完成后,服务端会根据配置中的源标签名、结果标签名、计算周期以及计算方法生成一个计算任务,并将此任务放入一个和其配置周期相同时长的定时任务池中,如若找不到相同时长的定时任务池,则新建一个该时长的定时任务池再放入其中。对于被存放在任务池中的计算任务会被本发明按照其所处的任务池周期进行定时执行,计算任务会取计算周期内的标签数据值并按照其配置的计算方法进行计算,最后将其计算结果写入该任务中的结果标签数据中,从而完成一次统计计算。
在另一实施例中,所述标签数据还包括消息推送流程如下:
获取待推送的标签数据;
检测到待推送的标签数据存在更新时,则将更新的标签数据推送至消息队列服务器进行信息推送。
本实施例中的应用场景是对数据准确性、稳定性、可靠性要求很高的工业互联网平台,所以选择了集成消息队列作为本发明推送功能的实现。具体的,当配置了需要推送的标签数据在内存里存在更新的情况时,本发明将会把该数据自动推送至消息队列服务端中,其他服务如果需要订阅该标签数据,直接和外置的消息队列通信即可。
请参阅图8,为本发明实施例提供的面向工业互联网平台的缓存方法中缓存数据更新流程完整流程图;包括:
在本实施例中,结合了附图3到附图6中更新标签数据、过期机制、数据永久化和数据清洗的功能流程图,同时,还结合了消息推送,从而在工业场景下,对保存于数据库系统的大量实时数据(标签数据),采用内存缓存直接访问数据库,克服了磁盘IO操作所造成的系统瓶颈和读写性能下降的问题。
上述功能中相关的设定和配置,可以使用系统提供的热更新功能,即在不重启系统的情况下使新配置生效。
为了进一步提供系统的IO性能,在本发明的实现上引入了二级缓存:当服务端检测到内存中的标签数据存在更新时,不会直接把该标签数据同步到主缓存里去,而是先放入到一个临时集合里作为二级缓存。对于二级缓存里的数据是新建了单独的线程进行处理。所以即使突然出现远大于平时的IO操作也不会造成主线程阻塞。其他辅助功能,包括持久化、消息推送、数据统计以及数据清洗皆是采用了此设计。
本实施例中的缓存方法包括:
利用缓存组件对所述工业互联网平台产生的标签数据进行内存管理,其中,所述标签数据的数据结构包含一个标签名、一系列时间戳与标签数值构成的有序队列,所述时间戳与标签数值相互对应。
其中,上述缓存组件在处理标签数据时,具有过期机制、数据持久化、数据清洗、消息推送和数据统计中辅助功能,而与该缓存组件和缓存方法为一一对应关系,因此,其对应的技术细节与技术效果不在一一赘述。
请参阅图9,为本发明提供一种设备,包括:
一个或多个处理器91;
存储器92;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中92并被配置为由所述一个或多个处理器91执行指令,所述一个或多个处理器执行所述执行指令使得所述电子设备执行如上述的面向工业互联网平台的缓存方法。
所述处理器91可操作地与存储器和/或非易失性存储设备耦接。更具体地,处理器91可执行在存储器和/或非易失性存储设备中存储的指令以在计算设备中执行操作,诸如生成图像数据和/或将图像数据传输到电子显示器。如此,处理器可包括一个或多个通用微处理器、一个或多个专用处理器(ASIC)、一个或多个现场可编程逻辑阵列(FPGA)、或它们的任何组合。
适用于电子设备中,于实际的实施方式中,所述电子设备例如为包括但不限于笔记本电脑、平板电脑、移动电话、智能手机、媒体播放器、个人数字助理(PDA)、导航仪、智能电视、智能手表、数码相机等等,还包括其中两项或多项的组合。应当理解,本申请于实施方式中描述的电子设备只是一个应用实例,该设备的组件可以比图示具有更多或更少的组件,或具有不同的组件配置。所绘制图示的各种组件可以用硬件、软件或软硬件的组合来实现,包括一个或多个信号处理和/或专用集成电路。在本申请的具体实施方式中,将以所述电子设备为智能手机为例进行说明。
本申请提供一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上项所述的面向工业互联网平台的缓存方法存储介质。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。
综上所述,本发明利用缓存组件对工业互联网平台产生的标签数据进行内存管理,解决了标签数据落盘后,由于数据量实时增加,导致的系统性能不足问题。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (15)
1.一种面向工业互联网平台的缓存组件,其特征在于,所述缓存组件用于对所述工业互联网平台产生的标签数据进行内存管理,其中,所述标签数据的数据结构包含一个标签名、一系列时间戳与标签数值构成的有序队列,所述时间戳与标签数值相互对应。
2.根据权利要求1所述的面向工业互联网平台的缓存组件,其特征在于,所述内存管理包括过期机制、数据持久化、数据清洗、消息推送和数据统计中的任一种或几种功能。
3.根据权利要求1或2所述的面向工业互联网平台的缓存组件,其特征在于,所述有序队列中包括对应存储标签数据中时间和数值的时间数组和数值数组,且所述数组中数值与时间相互对应,其中,所述有序队列设有时间数组与数值数组共用的队头下标、队尾下标、缓存长度与当前长度。
4.根据权利要求3所述的面向工业互联网平台的缓存组件,其特征在于,所述标签数据中更新标签数据的流程,包括:
检测到新的标签数据需要存储时,获取所述新的标签数据的标签名并根据所述标签名匹配到相应队列;
判断该新的标签数据中的时间是否大于相应队列时间数组中的队尾值,如果新的标签数据中的时间大于相应队列时间数组中的队尾值时,则将新的标签数据中的时间和数值分别写到该队列中时间数组和数值数组中的队尾;否则,不作插入操作,并返回提示。
5.根据权利要求4所述的面向工业互联网平台的缓存组件,其特征在于,所述标签数据中的过期机制包括:
判断更新的标签数据的数组长度是否大于预设缓存长度;如果更新的标签数据的数组长度大于预设缓存长度时,则舍弃更新的标签数据的队头数据;否则,不处理;
判断更新的标签数据的时间数组中的首尾时间是否大于预设缓存时间;如果更新的标签数据的时间数组中的首尾时间大于预设缓存时间时,则舍弃更新的标签数据的队头数据;否则,不处理。
6.根据权利要求2所述的面向工业互联网平台的缓存组件,其特征在于,所述标签数据中的数据持久化包括:判断更新的标签数据是否要持久化;如果更新的标签数据要持久化,将更新的标签数据暂存于临时集合内,直到临时集合内更新的标签数据的数量达到预设数值时,利用持久化框架将临时集合内所有更新的标签数据组合一次性写入到数据库中。
7.根据权利要求2所述的面向工业互联网平台的缓存组件,其特征在于,所述标签数据中的数据清洗包括:判断更新的标签数据是否需要数据清洗,如果更新的标签数据需要数据清洗时,则调用预先设置的配置表的清洗规则对待清洗的标签数据进行解析,该配置表包含结果标签、源标签与清洗规则;校验解析后的数据是否符合清洗规则,如果解析后的数据符合清洗规则,则将该数据写入目标标签中;否则,不处理。
8.根据权利要求2所述的面向工业互联网平台的缓存组件,其特征在于,所述标签数据的数据统计包括:获取预先配置的计算任务,所述计算任务包括源标签名、结果标签名、计算周期与计算方法;将所述计算任务放置到与其配置的计算周期相同的定时任务池中,直到所述定时任务池定时执行计算任务,按照所述计算方式计算该周期内标签数据数值的结果,并将结果存储于所述结果标签名。
9.根据权利要求2所述的面向工业互联网平台的缓存组件,其特征在于,所述标签数据的消息推送包括:获取待推送的标签数据;检测到待推送的标签数据存在更新时,则将更新的标签数据推送至消息队列服务器进行信息推送。
10.根据权利要求1所述的面向工业互联网平台的缓存组件,其特征在于,所述工业互联网平台支持热更新功能。
11.一种面向工业互联网平台的缓存方法,其特征在于,所述方法包括以下步骤:
利用缓存组件对所述工业互联网平台产生的标签数据进行内存管理,其中,所述标签数据的数据结构包含一个标签名、一系列时间戳与标签数值构成的有序队列,所述时间戳与标签数值相互对应。
12.根据权利要求11所述的面向工业互联网平台的缓存方法,其特征在于,所述内存管理包括过期机制、数据持久化、数据清洗、消息推送和数据统计中的任一种或几种功能。
13.根据权利要求11或12所述的面向工业互联网平台的缓存方法,其特征在于,所述有序队列中包括对应存储标签数据中时间和数值的时间数组和数值数组,且所述数组中数值与时间相互对应,其中,所述有序队列设有时间数组与数值数组共用的队头下标、队尾下标、缓存长度与当前长度。
14.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行指令,所述一个或多个处理器执行所述执行指令使得所述电子设备执行如权利要求11~13任一项所述的面向工业互联网平台的缓存方法。
15.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序在被调用执行时实现如权利要求11-13中任一所述的面向工业互联网平台的缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910908925.9A CN110727666A (zh) | 2019-09-25 | 2019-09-25 | 面向工业互联网平台的缓存组件、方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910908925.9A CN110727666A (zh) | 2019-09-25 | 2019-09-25 | 面向工业互联网平台的缓存组件、方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110727666A true CN110727666A (zh) | 2020-01-24 |
Family
ID=69218386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910908925.9A Pending CN110727666A (zh) | 2019-09-25 | 2019-09-25 | 面向工业互联网平台的缓存组件、方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110727666A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111538720A (zh) * | 2020-03-12 | 2020-08-14 | 嘉陵江亭子口水利水电开发有限公司 | 电力行业基础数据清理的方法及系统 |
WO2024078613A1 (zh) * | 2022-10-13 | 2024-04-18 | 中国移动通信有限公司研究院 | 一种标签盘存方法、装置、节点和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230243B1 (en) * | 1999-02-19 | 2001-05-08 | International Business Machines Corporation | Method, system and program products for managing changed data of castout classes |
CN104766108A (zh) * | 2015-03-06 | 2015-07-08 | 中国十七冶集团有限公司 | 一种bim模型中rfid电子标签优化处理方法 |
CN105893541A (zh) * | 2016-03-31 | 2016-08-24 | 中国科学院软件研究所 | 一种基于混合存储的流式数据自适应持久化方法及系统 |
CN106201432A (zh) * | 2016-07-19 | 2016-12-07 | 网易(杭州)网络有限公司 | 目标对象的信息的处理方法和装置 |
CN108965032A (zh) * | 2018-08-22 | 2018-12-07 | 北京奇虎科技有限公司 | 一种基于循环队列的消息推送量统计方法和装置 |
CN108989233A (zh) * | 2017-06-05 | 2018-12-11 | 华为技术有限公司 | 拥塞管理方法及装置 |
CN109358805A (zh) * | 2018-09-03 | 2019-02-19 | 中新网络信息安全股份有限公司 | 一种数据缓存方法 |
CN109684416A (zh) * | 2018-11-13 | 2019-04-26 | 国电南京自动化股份有限公司 | 一种高并发实时历史数据存储系统 |
-
2019
- 2019-09-25 CN CN201910908925.9A patent/CN110727666A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230243B1 (en) * | 1999-02-19 | 2001-05-08 | International Business Machines Corporation | Method, system and program products for managing changed data of castout classes |
CN104766108A (zh) * | 2015-03-06 | 2015-07-08 | 中国十七冶集团有限公司 | 一种bim模型中rfid电子标签优化处理方法 |
CN105893541A (zh) * | 2016-03-31 | 2016-08-24 | 中国科学院软件研究所 | 一种基于混合存储的流式数据自适应持久化方法及系统 |
CN106201432A (zh) * | 2016-07-19 | 2016-12-07 | 网易(杭州)网络有限公司 | 目标对象的信息的处理方法和装置 |
CN108989233A (zh) * | 2017-06-05 | 2018-12-11 | 华为技术有限公司 | 拥塞管理方法及装置 |
CN108965032A (zh) * | 2018-08-22 | 2018-12-07 | 北京奇虎科技有限公司 | 一种基于循环队列的消息推送量统计方法和装置 |
CN109358805A (zh) * | 2018-09-03 | 2019-02-19 | 中新网络信息安全股份有限公司 | 一种数据缓存方法 |
CN109684416A (zh) * | 2018-11-13 | 2019-04-26 | 国电南京自动化股份有限公司 | 一种高并发实时历史数据存储系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111538720A (zh) * | 2020-03-12 | 2020-08-14 | 嘉陵江亭子口水利水电开发有限公司 | 电力行业基础数据清理的方法及系统 |
CN111538720B (zh) * | 2020-03-12 | 2023-07-21 | 嘉陵江亭子口水利水电开发有限公司 | 电力行业基础数据清理的方法及系统 |
WO2024078613A1 (zh) * | 2022-10-13 | 2024-04-18 | 中国移动通信有限公司研究院 | 一种标签盘存方法、装置、节点和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11657612B2 (en) | Method and apparatus for identifying video | |
US20190310970A1 (en) | Detecting quasi-identifiers in datasets | |
US9189506B2 (en) | Database index management | |
JP7269913B2 (ja) | ナレッジグラフ構築方法、装置、電子機器、記憶媒体およびコンピュータプログラム | |
KR102361153B1 (ko) | 데이터 유형에 관련된 데이터 프로파일링 동작 관리 | |
US9292341B2 (en) | RPC acceleration based on previously memorized flows | |
CN110941598A (zh) | 一种数据去重方法、装置、终端及存储介质 | |
US10824345B2 (en) | Systems and methods for storing object state on hash chains | |
CN110688382B (zh) | 数据存储查询方法、装置、计算机设备及存储介质 | |
CN110737682A (zh) | 一种缓存操作方法、装置、存储介质和电子设备 | |
EP3690669A1 (en) | Method, apparatus, device and storage medium for managing index technical field | |
CN110727666A (zh) | 面向工业互联网平台的缓存组件、方法、设备及存储介质 | |
JP2021535473A (ja) | 大量な文書コーパスにおけるトークン・マッチング | |
WO2017107130A1 (zh) | 数据查询方法和数据库系统 | |
CN111046106A (zh) | 缓存数据同步方法、装置、设备及介质 | |
CN110046025B (zh) | 一种用于重启虚拟机的方法、介质、计算机系统和系统 | |
US20210365406A1 (en) | Method and apparatus for processing snapshot, device, medium and product | |
US9317553B2 (en) | Declarative partitioning for data collection queries | |
CN113760982A (zh) | 一种数据处理方法和装置 | |
CN113010539A (zh) | 一种数据处理方法及装置 | |
CN114547086A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
US11030194B2 (en) | Demand-driven dynamic aggregate | |
CN110879818B (zh) | 一种获取数据的方法、装置、介质和电子设备 | |
CN108984431B (zh) | 用于清空过期缓存的方法和装置 | |
US11768818B1 (en) | Usage driven indexing in a spreadsheet based data store |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 401329 No. 5-6, building 2, No. 66, Nongke Avenue, Baishiyi Town, Jiulongpo District, Chongqing Applicant after: MCC CCID information technology (Chongqing) Co.,Ltd. Address before: Building 1, No. 11, Huijin Road, North New District, Yubei District, Chongqing Applicant before: CISDI CHONGQING INFORMATION TECHNOLOGY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200124 |