CN111367996A - 基于kv索引的热数据增量同步方法及装置 - Google Patents
基于kv索引的热数据增量同步方法及装置 Download PDFInfo
- Publication number
- CN111367996A CN111367996A CN202010119645.2A CN202010119645A CN111367996A CN 111367996 A CN111367996 A CN 111367996A CN 202010119645 A CN202010119645 A CN 202010119645A CN 111367996 A CN111367996 A CN 111367996A
- Authority
- CN
- China
- Prior art keywords
- data
- increment
- module
- value
- key
- 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.)
- Granted
Links
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于KV索引的热数据增量同步方法及装置,集成方法包括:实时热点服务循环检查读缓存数据来源;依据Key集获取增量清单;循环增量清单上面的子项数据;依据ValueType确定应用最新的Value;判断删除数据还是更新数据以完成本次热数据增量同步。本发明中的增量同步可以减少同步的数据量,使开发人员减少注意缓存数据有效准确性,将精力更大的投入核心业务逻辑的开发和维护中。
Description
技术领域
本发明涉及热数据处理技术领域,更具体地说,涉及一种基于KV索引的热数据增量同步方法及装置。
背景技术
大量用户同时访问集群服务,分发到每组服务时需要验证每次请求对应数据,例如身份信息,鉴权,秒杀等高频信息,这些高频使用的信息称为热数据,如果每次请求都从数据库,缓存获取,带来大量的压力,当前主流系统都有热数据读写设计要求,合理使用可以让系统运行更快,但如设计不合理导致,容易导致访问响应慢,影响用户体验,参见图1,图1为现有技术中典型的热数据架构设计图。
另外热数据来源于原始数据,业务操作下原始数据可以被修改操作,需要原始信息修改后能及时更新热数据,使得请求获取过时数据,造成业务处理异常,实时热点服务可以从读写操作帮助热数据同步更新到各个缓存。
现有热数据交换技术存在以下几种情况:
A.无热数据设计。该情况下,需要每次从数据集实时获取数据,受到数据集固有限制,在大并发系统性能不佳。
B.有热数据设计,无热数据更新。该情况下,在热数据更新后,整个系统无法及时获取到最新数据,导致请求获取过时数据。
C.有热数据设计,热数据部分更新。该情况下,热数据更新后,只部分更新,部分请求获取到过时数据。
D.有热数据设计,热数据全量更新。该情况下,热数据更新后做全量更新,时间周期长,在完成更新前请求获取还是过时数据。
发明内容
本发明提供了一种基于KV索引的热数据增量同步方法及装置,能够解决现有技术中热数据设计不合理导致,容易导致访问响应慢,影响用户体验,不能及时更新热数据,使得请求获取过时数据,造成业务处理异常的问题。
为解决上述问题,第一方面,本发明提供了一种基于KV索引的热数据增量同步方法,包括:
实时热点服务循环检查读缓存数据来源;
依据Key集获取增量清单;
循环增量清单上面的子项数据;
依据ValueType确定应用最新的Value;
判断删除数据还是更新数据以完成本次热数据增量同步。
其中,所述依据Key集获取增量清单,包括:
判断是否需要Key集获取后续批量更新的增量;
若需要Key集获取后续批量更新的增量,则传入上次更新的最后ID及最后时间,并按照对应Key集获取增量Key变动清单;
若不需要Key集获取后续批量更新的增量,则传入上次更新的最后ID及最后时间,并获取增量变动清单;
依据增量Key变动清单或者增量变动清单获取增量清单。
其中,所述依据ValueType确定应用最新的Value,包括:
依据ValueType判断当前用户是直接更新,还是要重新构造数据;
若当前用户直接更新,则使子项数据Value为最新Value;
若当前用户重新构造数据,则按照热数据重新构造Value;
确定应用最新的Value。
其中,所述判断删除数据还是更新数据以完成本次热数据增量同步,包括:
依据OpType判断删除数据还是更新数据;
若删除数据,则删除Key;
若更新数据,则替换Key对应的Value。
其中,还包括:
完成本次热数据增量同步后,判断是否需要继续循环增量清单上面的子项数据。
为解决上述问题,第二方面,提供一种基于KV索引的热数据增量同步装置,包括来源检查模块、增量获取模块、数据循环模块、Value确定模块及数据判断模块:
所述来源检查模块,用于实时热点服务循环检查读缓存数据来源;
所述增量获取模块,用于依据Key集获取增量清单;
所述数据循环模块,用于循环增量清单上面的子项数据;
所述Value确定模块,用于依据ValueType确定应用最新的Value;
所述数据判断模块,用于判断删除数据还是更新数据以完成本次热数据增量同步。
其中,所述增量获取模块包括增量判断子模块、Key获取子模块、清单获取子模块及增量获取子模块:
所述增量判断子模块,用于判断是否需要Key集获取后续批量更新的增量;
所述Key获取子模块,用于在需要Key集获取后续批量更新的增量时,则传入上次更新的最后ID及最后时间,并按照对应Key集获取增量Key变动清单;
所述清单获取子模块,用于在不需要Key集获取后续批量更新的增量时,则传入上次更新的最后ID及最后时间,并获取增量变动清单;
所述增量获取子模块,用于依据增量Key变动清单或者增量变动清单获取增量清单。
其中,所述Value确定模块包括ValueType判断子模块、Value更新子模块、Value构造子模块及Value确定子模块:
所述ValueType判断子模块,用于依据ValueType判断当前用户是直接更新,还是要重新构造数据;
所述Value更新子模块,用于在当前用户直接更新时,则使子项数据Value为最新Value;
所述Value构造子模块,用于在当前用户重新构造数据时,则按照热数据重新构造Value;
所述Value确定子模块,用于确定应用最新的Value。
所述数据判断模块包括OpType判断子模块、Key删除子模块及Key替换子模块:
所述OpType判断子模块,用于依据OpType判断删除数据还是更新数据;
所述Key删除子模块,用于在删除数据时,则删除Key;
所述Key替换子模块,用于在更新数据时,则替换Key对应的Value。
其中,还包括循环判断模块:
所述循环判断模块,用于完成本次热数据增量同步后,判断是否需要继续循环增量清单上面的子项数据。
为解决上述问题,第三方面,本发明提供一种计算机可读存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行如上任一项所述的热数据增量同步方法。
本发明的有益效果是:
增量同步可以减少同步的数据量,使开发人员减少注意缓存数据有效准确性,将精力更大的投入核心业务逻辑的开发和维护中。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中典型的热数据架构设计图;
图2是本发明提供的一种基于KV索引的热数据增量同步方法的流程示意图;
图3是本发明提供的键值对存取方式示意图;
图4是本发明提供的热数据集合按键值对编号示意图;
图5是本发明提供的每个数据集只需维护一套变动清单示意图;
图6是本发明提供的读缓存的热数据来自一个变动清单示意图;
图7是本发明提供的读缓存的热数据来自多个变动清单示意图;
图8是本发明提供的读缓存更新过程示意图;
图9是本发明提供的控制系统的结构示意图;
图10是本发明提供的控制系统的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,“示例性”一词用来表示“用作例子、例证或说明”。本发明中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本发明所公开的原理和特征的最广范围相一致。
本发明提供一种基于KV索引的热数据增量同步方法及装置,所述热数据增量同步方法包括实时热点服务循环检查读缓存数据来源;依据Key集获取增量清单;循环增量清单上面的子项数据;依据ValueType确定应用最新的Value;判断删除数据还是更新数据以完成本次热数据增量同步。热数据读写频繁,而KV索引刚好适合这种操作,查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,二者结合可以让数据读写更为快捷,在实时热点服务增加一套变动清单检测维护功能,用于更新各类存储集合,同时增量同步法可以减少同步的数据量。本发明涉及的简称或名词如下:
热数据:访问频次需求大,效率要求高,需要就近计算和部署的数据集合。
并发:指一个时间段内有不同用户访问系统,进行业务操作。
原子操作:不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何换到另一个线程。
KV(key-value)键值对:key是关键字,value是值,根据关键字取值,查询速度快、存放数据量大、支持高并发。
KV存储引擎的索引:无序的数据集合,采用Hash方式,短Key模式,查找(hit),写入的时间复杂度非常低,性能非常高。
服务:是一组定义、程序及协议的集合,提供通用功能集,为各种不同平台提供数据共享。
集群服务:一组独立的服务展现给用户的是一个统一的整体,同时接收许多个用户请求,并可以动态的分配这些用户请求,在分散的物理和逻辑资源通过网络实现信息交换,返回请求结果
以下分别进行详细说明。
请参阅图2,图2是本发明提供的一种基于KV索引的热数据增量同步方法的流程示意图。该集成方法包括步骤S1-S5:
S1、实时热点服务循环检查读缓存数据来源。
本实施例中,实时热点服务循环检查读缓存数据来源。参见图3,键值对存取方式中,key是关键字,字符串方式。value是值,有特定解析结构。
例如:
“k1“:”qwe”key为k1,value为que的字符串;
“k2“:20 key为k2,value为20的字形型;
“k3“:”{\"name\":\"zhangsan\",\"age\":\"25\"}”key为k3,value为JSON串。
热数据集合按键值对编号参见图4,全系统热数据命名和结构统一;Key命名统一,不能对应多个热数据信息;Value的结构统一,解析无异议,数据可以来源于单个或多个数据集。
S2、依据Key集获取增量清单;步骤S2包括步骤S21-S24:
S21、判断是否需要Key集获取后续批量更新的增量。
本实施例中,只检查Key集。热数据变动规则如下:热数据的数值来源于明确数据集清单,如数据库,第三方系统和公共缓存等,单一数据集或组合而成;数据集任何一个数据修改,影响了热数据,实时热点服务把它的Key和Value加入变动清单;每个数据集只需维护一套变动清单参见图5。
S22、若需要Key集获取后续批量更新的增量,则传入上次更新的最后ID及最后时间,并按照对应Key集获取增量Key变动清单。
本实施例中,传入上次更新的最后ID,最后时间,及需检查Key集合。按照对应Key集合获取增量Key变动清单。如果需要按Key集合,ID或时间获取后续批量更新的增量,需要回传上次更新过的ID或更新时间,默认启动id为0。
热数据更新方法中,单个变动清单来源参见图6,如图6所示,读缓存的热数据可以来自一个变动清单。
多个变动清单来源参见图7,如图7所示,读缓存的热数据可以来自多个变动清单。
变动示意图参见图8,如图8所示读缓存更新过程。
S23、若不需要Key集获取后续批量更新的增量,则传入上次更新的最后ID及最后时间,并获取增量变动清单。
本实施例中,依旧传入上次更新的最后ID,最后时间。获取增量变动清单。如果需要按ID或时间获取后续批量更新的增量,需要回传上次更新过的ID或更新时间,默认启动id为0。
S24、依据增量Key变动清单或者增量变动清单获取增量清单。
本实施例中,获取到增量清单。
S3、循环增量清单上面的子项数据。
本实施例中,获取到清单后,进行批量循环同步操作。
S4、依据ValueType确定应用最新的Value;步骤S4包括步骤S41-S44:
S41、依据ValueType判断当前用户是直接更新,还是要重新构造数据。
本实施例中,判断ValueType。ValueType用于判断当前用户是直接更新,还是要重新构造数据。
变动清单说明:
增量更新规则:id(自增长)key valuetype value updatetime source optype。
Id:自增长整形。
Key:关键字。
Valuetype:标明后面的value数据类型0:完整数据,后面的value为完整使用数据1:仅通知,后面的value是无效的,需要重建热数据的value。
Value:数据。
Source:数据集来源。
Optype:标明当前操作情况:0:删除:1:修改,2:新增。
假如热数据来源数据变动频繁,热数据的key可以多次进入变动清单。
S42、若当前用户直接更新,则使子项数据Value为最新Value。
本实施例中,子项数据Value为最新Value,不需构造。
S43、若当前用户重新构造数据,则按照热数据重新构造Value。
本实施例中,按照热数据构造条件重新Value。
S44、确定应用最新的Value。
S5、判断删除数据还是更新数据以完成本次热数据增量同步。步骤S5包括步骤S51-S53:
S51、依据OpType判断删除数据还是更新数据。
本实施例中,判断OpType。OpType用于判断删除还是更新数据操作。
S52、若删除数据,则删除Key。
S53、若更新数据,则替换Key对应的Value。
优选的,该基于KV索引的热数据增量同步方法还包括步骤S6:
S6、完成本次热数据增量同步后,判断是否需要继续循环增量清单上面的子项数据。
本实施例中,S5执行完之后,返回执行步骤S3。循环更新数据到结束。
更新事件采用轮询法及主动推送法。
轮询法:实时热点服务定时请求对应的变动清单,更新对应缓存。
主动推送法:变动事件在写操作服务触发,通知实时热点服务变动清单下推送数据到其他载体。
本发明提供一种基于KV索引的热数据增量同步装置,包括来源检查模块、增量获取模块、数据循环模块、Value确定模块及数据判断模块:
所述来源检查模块,用于实时热点服务循环检查读缓存数据来源;
所述增量获取模块,用于依据Key集获取增量清单;
所述数据循环模块,用于循环增量清单上面的子项数据;
所述Value确定模块,用于依据ValueType确定应用最新的Value;
所述数据判断模块,用于判断删除数据还是更新数据以完成本次热数据增量同步。
其中,所述增量获取模块包括增量判断子模块、Key获取子模块、清单获取子模块及增量获取子模块:
所述增量判断子模块,用于判断是否需要Key集获取后续批量更新的增量;
所述Key获取子模块,用于在需要Key集获取后续批量更新的增量时,则传入上次更新的最后ID及最后时间,并按照对应Key集获取增量Key变动清单;
所述清单获取子模块,用于在不需要Key集获取后续批量更新的增量时,则传入上次更新的最后ID及最后时间,并获取增量变动清单;
所述增量获取子模块,用于依据增量Key变动清单或者增量变动清单获取增量清单。
其中,所述Value确定模块包括ValueType判断子模块、Value更新子模块、Value构造子模块及Value确定子模块:
所述ValueType判断子模块,用于依据ValueType判断当前用户是直接更新,还是要重新构造数据;
所述Value更新子模块,用于在当前用户直接更新时,则使子项数据Value为最新Value;
所述Value构造子模块,用于在当前用户重新构造数据时,则按照热数据重新构造Value;
所述Value确定子模块,用于确定应用最新的Value。
所述数据判断模块包括OpType判断子模块、Key删除子模块及Key替换子模块:
所述OpType判断子模块,用于依据OpType判断删除数据还是更新数据;
所述Key删除子模块,用于在删除数据时,则删除Key;
所述Key替换子模块,用于在更新数据时,则替换Key对应的Value。
其中,还包括循环判断模块:
所述循环判断模块,用于完成本次热数据增量同步后,判断是否需要继续循环增量清单上面的子项数据。
请参阅图9,图9为本发明实施例提供的控制系统的结构示意图。该控制系统设置在PC、服务器或手机终端中实现上述热数据增量同步方法,如图9所示,控制系统400包括处理器401、存储器402。其中,处理器401与存储器402电性连接。
处理器401是控制系统400的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或加载存储在存储器402内的应用程序,以及调用存储在存储器402内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。
在本实施例中,控制系统400中的处理器401会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能:
实时热点服务循环检查读缓存数据来源;
依据Key集获取增量清单;
循环增量清单上面的子项数据;
依据ValueType确定应用最新的Value;
判断删除数据还是更新数据以完成本次热数据增量同步。
参阅图10,图10为本发明实施例提供的控制系统的另一结构示意图。图10示出了本发明实施例提供的控制系统的具体结构框图,该控制系统300可以用于实施上述实施例中提供的集成方法。
RF电路310用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。RF电路310可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。RF电路310可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication,GSM)、增强型移动通信技术(EnhancedDataGSM Environment,EDGE),宽带码分多址技术(Wideband Code DivisionMultipleAccess,WCDMA),码分多址技术(Code Division Access,CDMA)、时分多址技术(TimeDivision Multiple Access,TDMA),无线保真技术(Wireless Fidelity,Wi-Fi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE 802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voice over Internet Protocol,VoIP)、全球微波互联接入(WorldwideInteroperability for Microwave Access,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
存储器320可用于存储软件程序以及模块,如上述实施例中集成方法和终端定位装置对应的程序指令/模块,处理器380通过运行存储在存储器320内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现终端定位的功能。存储器320可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器320可进一步包括相对于处理器380远程设置的存储器,这些远程存储器可以通过网络连接至控制系统300。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入单元330可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元330可包括触敏表面331以及其他输入设备332。触敏表面331,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面331上或在触敏表面331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器380,并能接收处理器380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面331。除了触敏表面331,输入单元330还可以包括其他输入设备332。具体地,其他输入设备332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元340可用于显示由用户输入的信息或提供给用户的信息以及控制系统300的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元340可包括显示面板341,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板341。进一步的,触敏表面331可覆盖显示面板341,当触敏表面331检测到在其上或附近的触摸操作后,传送给处理器380以确定触摸事件的类型,随后处理器380根据触摸事件的类型在显示面板341上提供相应的视觉输出。虽然在图5中,触敏表面331与显示面板341是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面331与显示面板341集成而实现输入和输出功能。
控制系统300包括至少一种传感器350,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板341的亮度,接近传感器可在控制系统300移动到耳边时,关闭显示面板341和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于控制系统300还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路360、扬声器361,传声器362可提供用户与控制系统300之间的音频接口。音频电路360可将接收到的音频数据转换后的电信号,传输到扬声器361,由扬声器361转换为声音信号输出;另一方面,传声器362将收集的声音信号转换为电信号,由音频电路360接收后转换为音频数据,再将音频数据输出处理器380处理后,经RF电路310以发送给比如另一终端,或者将音频数据输出至存储器320以便进一步处理。音频电路360还可能包括耳塞插孔,以提供外设耳机与控制系统300的通信。
控制系统300通过传输模块370(例如Wi-Fi模块)可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了传输模块370,但是可以理解的是,其并不属于控制系统300的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器380是控制系统300的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器320内的数据,执行控制系统300的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器380可包括一个或多个处理核心;在一些实施例中,处理器380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器380中。
控制系统300包括给各个部件供电的电源390(比如电池),在一些实施例中,电源可以通过电源管理系统与处理器380逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源390还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,控制系统300还可以包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,移动终端的显示单元是触摸屏显示器,移动终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行一个或者一个以上程序包含用于进行以下操作的指令:
实时热点服务循环检查读缓存数据来源;
依据Key集获取增量清单;
循环增量清单上面的子项数据;
依据ValueType确定应用最新的Value;
判断删除数据还是更新数据以完成本次热数据增量同步。
具体实施时,以上各个模块和单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块和单元的具体实施可参见前面的方法实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种集成方法中的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种集成方法中的步骤,因此,可以实现本发明实施例所提供的任一种集成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于KV索引的热数据增量同步方法,其特征在于,包括:
实时热点服务循环检查读缓存数据来源;
依据Key集获取增量清单;
循环增量清单上面的子项数据;
依据ValueType确定应用最新的Value;
判断删除数据还是更新数据以完成本次热数据增量同步。
2.根据权利要求1所述的热数据增量同步方法,其特征在于,所述依据Key集获取增量清单,包括:
判断是否需要Key集获取后续批量更新的增量;
若需要Key集获取后续批量更新的增量,则传入上次更新的最后ID及最后时间,并按照对应Key集获取增量Key变动清单;
若不需要Key集获取后续批量更新的增量,则传入上次更新的最后ID及最后时间,并获取增量变动清单;
依据增量Key变动清单或者增量变动清单获取增量清单。
3.根据权利要求1所述的热数据增量同步方法,其特征在于,所述依据ValueType确定应用最新的Value,包括:
依据ValueType判断当前用户是直接更新,还是要重新构造数据;
若当前用户直接更新,则使子项数据Value为最新Value;
若当前用户重新构造数据,则按照热数据重新构造Value;
确定应用最新的Value。
4.根据权利要求1所述的热数据增量同步方法,其特征在于,所述判断删除数据还是更新数据以完成本次热数据增量同步,包括:
依据OpType判断删除数据还是更新数据;
若删除数据,则删除Key;
若更新数据,则替换Key对应的Value。
5.根据权利要求1所述的热数据增量同步方法,其特征在于,还包括:
完成本次热数据增量同步后,判断是否需要继续循环增量清单上面的子项数据。
6.一种基于KV索引的热数据增量同步装置,其特征在于,包括来源检查模块、增量获取模块、数据循环模块、Value确定模块及数据判断模块:
所述来源检查模块,用于实时热点服务循环检查读缓存数据来源;
所述增量获取模块,用于依据Key集获取增量清单;
所述数据循环模块,用于循环增量清单上面的子项数据;
所述Value确定模块,用于依据ValueType确定应用最新的Value;
所述数据判断模块,用于判断删除数据还是更新数据以完成本次热数据增量同步。
7.根据权利要求6所述的热数据增量同步装置,其特征在于,所述增量获取模块包括增量判断子模块、Key获取子模块、清单获取子模块及增量获取子模块:
所述增量判断子模块,用于判断是否需要Key集获取后续批量更新的增量;
所述Key获取子模块,用于在需要Key集获取后续批量更新的增量时,则传入上次更新的最后ID及最后时间,并按照对应Key集获取增量Key变动清单;
所述清单获取子模块,用于在不需要Key集获取后续批量更新的增量时,则传入上次更新的最后ID及最后时间,并获取增量变动清单;
所述增量获取子模块,用于依据增量Key变动清单或者增量变动清单获取增量清单。
8.根据权利要求6所述的热数据增量同步装置,其特征在于,所述Value确定模块包括ValueType判断子模块、Value更新子模块、Value构造子模块及Value确定子模块:
所述ValueType判断子模块,用于依据ValueType判断当前用户是直接更新,还是要重新构造数据;
所述Value更新子模块,用于在当前用户直接更新时,则使子项数据Value为最新Value;
所述Value构造子模块,用于在当前用户重新构造数据时,则按照热数据重新构造Value;
所述Value确定子模块,用于确定应用最新的Value。
所述数据判断模块包括OpType判断子模块、Key删除子模块及Key替换子模块:
所述OpType判断子模块,用于依据OpType判断删除数据还是更新数据;
所述Key删除子模块,用于在删除数据时,则删除Key;
所述Key替换子模块,用于在更新数据时,则替换Key对应的Value。
9.根据权利要求6所述的热数据增量同步装置,其特征在于,还包括循环判断模块:
所述循环判断模块,用于完成本次热数据增量同步后,判断是否需要继续循环增量清单上面的子项数据。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行权利要求1至5任一项所述的热数据增量同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119645.2A CN111367996B (zh) | 2020-02-25 | 2020-02-25 | 基于kv索引的热数据增量同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119645.2A CN111367996B (zh) | 2020-02-25 | 2020-02-25 | 基于kv索引的热数据增量同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367996A true CN111367996A (zh) | 2020-07-03 |
CN111367996B CN111367996B (zh) | 2023-01-24 |
Family
ID=71206576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010119645.2A Active CN111367996B (zh) | 2020-02-25 | 2020-02-25 | 基于kv索引的热数据增量同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367996B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685454A (zh) * | 2021-03-10 | 2021-04-20 | 江苏金恒信息科技股份有限公司 | 工业数据分级存储系统、方法及工业数据分级查询方法 |
WO2022088983A1 (zh) * | 2020-10-30 | 2022-05-05 | 华为技术有限公司 | 一种数据管理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915336A (zh) * | 2012-09-18 | 2013-02-06 | 北京金和软件股份有限公司 | 一种基于时间戳和日志的增量数据捕获和抽取方法 |
US20140258234A1 (en) * | 2013-03-11 | 2014-09-11 | AppGlu, Inc. | Synchronization of cms data to mobile device storage |
CN106469158A (zh) * | 2015-08-17 | 2017-03-01 | 杭州海康威视系统技术有限公司 | 数据同步方法和装置 |
CN109871367A (zh) * | 2019-02-28 | 2019-06-11 | 江苏实达迪美数据处理有限公司 | 一种基于Redis和HBase的分布式冷热数据分离方法 |
CN110704463A (zh) * | 2019-09-06 | 2020-01-17 | 中国平安财产保险股份有限公司 | 常用数据的本地缓存方法、装置、计算机设备及存储介质 |
-
2020
- 2020-02-25 CN CN202010119645.2A patent/CN111367996B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915336A (zh) * | 2012-09-18 | 2013-02-06 | 北京金和软件股份有限公司 | 一种基于时间戳和日志的增量数据捕获和抽取方法 |
US20140258234A1 (en) * | 2013-03-11 | 2014-09-11 | AppGlu, Inc. | Synchronization of cms data to mobile device storage |
CN106469158A (zh) * | 2015-08-17 | 2017-03-01 | 杭州海康威视系统技术有限公司 | 数据同步方法和装置 |
CN109871367A (zh) * | 2019-02-28 | 2019-06-11 | 江苏实达迪美数据处理有限公司 | 一种基于Redis和HBase的分布式冷热数据分离方法 |
CN110704463A (zh) * | 2019-09-06 | 2020-01-17 | 中国平安财产保险股份有限公司 | 常用数据的本地缓存方法、装置、计算机设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022088983A1 (zh) * | 2020-10-30 | 2022-05-05 | 华为技术有限公司 | 一种数据管理方法及装置 |
CN112685454A (zh) * | 2021-03-10 | 2021-04-20 | 江苏金恒信息科技股份有限公司 | 工业数据分级存储系统、方法及工业数据分级查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111367996B (zh) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102245025B1 (ko) | 메모리 반환 방법 및 장치 | |
CN113420051B (zh) | 一种数据查询方法、装置、电子设备和存储介质 | |
CN103455582B (zh) | 浏览器导航页的显示方法及移动终端 | |
CN104182408B (zh) | 一种网页离线访问方法及装置 | |
CN103942113A (zh) | 系统重启原因的检测方法、装置及终端设备 | |
US10484468B2 (en) | Method and device for downloading file | |
CN109948090B (zh) | 网页加载方法及装置 | |
CN103279574A (zh) | 一种浏览器图片的加载方法、装置和终端设备 | |
CN104104711B (zh) | 阅读历史处理方法和装置 | |
US20150091935A1 (en) | Method and device for browsing web under weak light with mobile terminal browser | |
CN103699595A (zh) | 一种终端浏览器的页面缓存方法和装置及终端 | |
EP2618278B1 (en) | Synchronizing endpoint data stores having disparate schemas | |
CN111367996B (zh) | 基于kv索引的热数据增量同步方法及装置 | |
CN103513987A (zh) | 一种浏览器网页的渲染处理方法、装置及终端设备 | |
CN104281621A (zh) | 网页浏览方法及装置 | |
WO2014146450A1 (en) | Method, device and system for data searching | |
CN106293738A (zh) | 一种表情图像的更新方法及装置 | |
CN104281610A (zh) | 过滤微博的方法和装置 | |
CN103383701A (zh) | 信息检索方法、装置及终端 | |
US20150199370A1 (en) | Information management method, client and mobile terminal | |
CN114115895A (zh) | 一种代码查询方法、装置、电子设备和存储介质 | |
CN116070052A (zh) | 界面数据传输方法、装置、终端及存储介质 | |
CN116955475A (zh) | 一种异构数据库的数据同步方法、装置、设备及存储介质 | |
CN112732548B (zh) | 一种接口测试方法以及装置 | |
CN116450597A (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 |