KV缓存数据处理方法及装置与流程

专利2023-04-11  23


kv缓存数据处理方法及装置
技术领域
1.本技术涉及数据处理领域,也可用于金融领域,具体涉及一种kv缓存数据处理方法及装置。


背景技术:

2.在键值(key value,kv)存储系统中,数据以kv的形式进行存储。支持key-value(键-值,也简称为“kv”)存储模型的存储设备,提供基于键(key)的读操作(get(key))与写(put(key,value))。为执行写操作,主机向存储设备提供键(key)与值(value),以将值写入存储设备,并将键作为所写入的值的索引。为执行读操作,主机向存储设备提供键,存储设备根据键找到值,并将值提供给主机。因而在kv存储系统中,键是用来访问值的索引,而值(value)是被访问的数据。一般地,键与值的长度可以是定长或不定长。
3.目前android端移动app开发过程中,原生安卓kv存储api具有重复开发、冗余测试效率低、无法增量更新、序列化效率低、打包速度慢,数据可能出现不一致等缺点,主要体现在以下方面:
4.1、原生sp对内存层与磁盘层的使用方式不同,修改时需将hashmap进行序列化转为xml格式才能持久化,序列化效率低,影响文件保存速度。
5.2、原生sp进行写入任务时会阻塞主activity,导致频繁跳出应用无响应,造成应用长时间卡顿卡死。
6.3、使用mmkv存储方案需要引入大体积工具包,影响打包效率,延长应用分发及安装时间。
7.4、mmkv存储方案,在gc过程设计上会造成数据损坏,并且无对应可靠性设计,存在数据一致性问题。


技术实现要素:

8.针对现有技术中的问题,本技术提供一种kv缓存数据处理方法及装置,能够提高kv存储效率,优化线程资源使用,有效减少存储造成的卡死卡顿,提高可靠性可用性。
9.为了解决上述问题中的至少一个,本技术提供以下技术方案:
10.第一方面,本技术提供一种kv缓存数据处理方法,包括:
11.读取键值缓存数据;
12.根据所述键值缓存数据的各字节字符和预设编码位数的比较关系,确定对应的移位策略,并根据所述移位策略将所述键值缓存数据的各字节字符进行类型转换;
13.在所述类型转换后置于预设缓存队列中进行缓存移位操作
14.进一步地,所述根据所述键值缓存数据的各字节字符和预设编码位数的比较关系,确定对应的移位策略,并根据所述移位策略将所述键值缓存数据的各字节字符进行类型转换,包括:
15.判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x80位;
16.若未超过,则将该字节字符转换为字节数据类型。
17.进一步地,在所述判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x80位之后,包括:
18.若超过,则判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x800位;
19.若未超过,则将该字节字符进行移位和与设定编码位数交或处理后转换为字节数据类型。
20.进一步地,在所述判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x800位之后,包括:
21.若超过,则该字节字符进行移位和与设定编码位数取或处理后转换为字节数据类型。
22.第二方面,本技术提供一种kv缓存数据处理装置,包括:
23.数据读取模块,用于读取键值缓存数据;
24.数据转换模块,用于根据所述键值缓存数据的各字节字符和预设编码位数的比较关系,确定对应的移位策略,并根据所述移位策略将所述键值缓存数据的各字节字符进行类型转换;
25.数据移位模块,用于在所述类型转换后置于预设缓存队列中进行缓存移位操作。
26.进一步地,所述数据转换模块包括:
27.第一位数判定单元,用于判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x80位;
28.第一类型转换单元,用于若未超过,则将该字节字符转换为字节数据类型。
29.进一步地,所述数据转换模块包括:
30.第二位数判定单元,用于若所述键值缓存数据的字节字符的编码位数超过十六进制0x80位,则判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x800位;
31.第二类型转换单元,用于若未超过,则将该字节字符进行移位和与设定编码位数交或处理后转换为字节数据类型。
32.进一步地,所述数据转换模块包括:
33.第三类型转换单元,用于若所述键值缓存数据的字节字符的编码位数超过十六进制0x800位,则该字节字符进行移位和与设定编码位数取或处理后转换为字节数据类型。
34.第三方面,本技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的kv缓存数据处理方法的步骤。
35.第四方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的kv缓存数据处理方法的步骤。
36.第五方面,本技术提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述的kv缓存数据处理方法的步骤。
37.由上述技术方案可知,本技术提供一种kv缓存数据处理方法及装置,通过对键值缓存数据的类型转换和移位操作,能够提高kv存储效率,优化线程资源使用,有效减少存储造成的卡死卡顿,提高可靠性可用性。
附图说明
38.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1为本技术实施例中的kv缓存数据处理方法的流程示意图之一;
40.图2为本技术实施例中的kv缓存数据处理方法的流程示意图之二;
41.图3为本技术实施例中的kv缓存数据处理方法的流程示意图之三;
42.图4为本技术实施例中的kv缓存数据处理装置的结构图之一;
43.图5为本技术实施例中的kv缓存数据处理装置的结构图之二;
44.图6为本技术实施例中的kv缓存数据处理装置的结构图之三;
45.图7为本技术实施例中的kv缓存数据处理装置的结构图之四;
46.图8为本技术一具体实施例中的数据转换流程示意图;
47.图9为本技术一具体实施例中的线程控制流程示意图;
48.图10为本技术一具体实施例中的二进制搜索流程示意图;
49.图11为本技术实施例中的电子设备的结构示意图。
具体实施方式
50.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
52.考虑到现有技术中存在的问题,本技术提供一种kv缓存数据处理方法及装置,通过对键值缓存数据的类型转换和移位操作,能够提高kv存储效率,优化线程资源使用,有效减少存储造成的卡死卡顿,提高可靠性可用性。
53.为了能够提高kv存储效率,优化线程资源使用,有效减少存储造成的卡死卡顿,提高可靠性可用性,本技术提供一种kv缓存数据处理方法的实施例,参见图1,所述kv缓存数据处理方法具体包含有如下内容:
54.步骤s101:读取键值缓存数据。
55.步骤s102:根据所述键值缓存数据的各字节字符和预设编码位数的比较关系,确定对应的移位策略,并根据所述移位策略将所述键值缓存数据的各字节字符进行类型转换。
56.可选的,本技术按数据大小进行分段,通过移位及与或处理的综合使用,对线性缓存实现了高效使用。
57.举例来说,具体的处理流程如图8所示:
58.首先循环读取字节字符c,然后判断c是否小于0x80,即其十六进制的编码位数是否小于0x80,若是,则直接转为byte类型并放入缓存队列进行缓存移位,若否,则进一步判
断c是否小于0x800。
59.若是,则将c的二进制右移6位后,与0xc0取或处理,并取出高位,转为byte类型并放入缓存队列进行缓存移位处理,然后,与0x3f取交处理,再与0x80取或处理,取出低位,转为byte类型并放入缓存队列进行缓存移位处理。
60.若否,则进一步判断c是否小于0xd800且大于0xdfff。
61.若是,则将其二进制右移12位,与0xe0取或,取出高位,然后转为byte类型并放入缓存队列进行缓存移位,再将其二进制右移6位,与0x3f取或,取出低位,转为byte类型并放入缓存队列进行缓存移位,最后,再与0x3f取或,取出低位,转为byte类型并放入缓存队列进行缓存移位。
62.若否,则依次将右移18、12、6位后的处理数于0x80进行取模运算,转为byte按顺序放入缓存。
63.步骤s103:在所述类型转换后置于预设缓存队列中进行缓存移位操作。
64.从上述描述可知,本技术实施例提供的kv缓存数据处理方法,能够通过对键值缓存数据的类型转换和移位操作,能够提高kv存储效率,优化线程资源使用,有效减少存储造成的卡死卡顿,提高可靠性可用性。
65.在本技术的kv缓存数据处理方法的一实施例中,参见图2,上述步骤s102还可以具体包含如下内容:
66.步骤s201:判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x80位。
67.步骤s202:若未超过,则将该字节字符转换为字节数据类型。
68.在本技术的kv缓存数据处理方法的一实施例中,参见图3,在上述步骤s201之后,还可以具体包含如下内容:
69.步骤s301:若超过,则判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x800位。
70.步骤s302:若未超过,则将该字节字符进行移位和与设定编码位数交或处理后转换为字节数据类型。
71.在本技术的kv缓存数据处理方法的一实施例中,在上述步骤s301之后,还可以具体包含如下内容:
72.若超过,则该字节字符进行移位和与设定编码位数取或处理后转换为字节数据类型。
73.为了能够提高kv存储效率,优化线程资源使用,有效减少存储造成的卡死卡顿,提高可靠性可用性,本技术提供一种用于实现所述kv缓存数据处理方法的全部或部分内容的kv缓存数据处理装置的实施例,参见图4,所述kv缓存数据处理装置具体包含有如下内容:
74.数据读取模块10,用于读取键值缓存数据。
75.数据转换模块20,用于根据所述键值缓存数据的各字节字符和预设编码位数的比较关系,确定对应的移位策略,并根据所述移位策略将所述键值缓存数据的各字节字符进行类型转换。
76.数据移位模块30,用于在所述类型转换后置于预设缓存队列中进行缓存移位操作。
77.从上述描述可知,本技术实施例提供的kv缓存数据处理装置,能够通过对键值缓存数据的类型转换和移位操作,能够提高kv存储效率,优化线程资源使用,有效减少存储造成的卡死卡顿,提高可靠性可用性。
78.在本技术的kv缓存数据处理装置的一实施例中,参见图5,所述数据转换模块20包括:
79.第一位数判定单元21,用于判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x80位。
80.第一类型转换单元22,用于若未超过,则将该字节字符转换为字节数据类型。
81.在本技术的kv缓存数据处理装置的一实施例中,参见图6,所述数据转换模块20包括:
82.第二位数判定单元23,用于若所述键值缓存数据的字节字符的编码位数超过十六进制0x80位,则判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x800位。
83.第二类型转换单元24,用于若未超过,则将该字节字符进行移位和与设定编码位数交或处理后转换为字节数据类型。
84.在本技术的kv缓存数据处理装置的一实施例中,参见图7,所述数据转换模块20包括:
85.第三类型转换单元25,用于若所述键值缓存数据的字节字符的编码位数超过十六进制0x800位,则该字节字符进行移位和与设定编码位数取或处理后转换为字节数据类型。
86.为了更进一步说明本方案,本技术还提供一种应用上述kv缓存数据处理装置实现kv缓存数据处理方法的具体应用实例,具体包含有如下内容:
87.1、设计kv编码格式与字段含义,支持针对六个核心字段与七大类型,完美兼容现有sp与mmkv,包括删除标识位、扩展标识位、数据类型标识位、键值长度标识位、键值内容以及基础类型取值六部分,该设计覆盖目前app移动端键值存储的全部类型与技术需求,实现了统一格式建模与规范要求。
88.2、兼容性支持模块,包含对原有原生安卓kv存储和mmkv语言与类型支持,使用container策略进行多态定义,在container类中定义了内部静态类,包括布尔型、整型、浮点型等内部子类,基于多态特性支持sp与mmkv场景下的技术要求,由于内部静态属性,保证了安全性与数据隔离。
89.3、高速缓存读写模块,包含解码、存取、格式转换等核心逻辑。以编码高速转换为例,按数据大小进行分段,通过移位及与或处理的综合使用,对线性缓存实现了高效使用,处理流程如图8所示。
90.4、io与线程控制模块,实现非阻塞的io操作,提高并发速度与处理效率;将线程锁synchronized加在字段级别,并通过反射机制完成数据加载,根本上实现了非阻塞,加快了并发速度,参见图9。
91.5、同步锁模块,启动多线程io并实现多线程下数据安全与隔离;定义了全局静态工具类fastkvconfig,并定义函数getexecutor()以获取线程池中的线程,通过线程间共享私有字段mactive的状态来判断此时数据占用情况,当数据处于可用时,释放同步锁,实现了对非阻塞机制的数据安全性保证。
92.6、公共基础模块,封装实现了整体框架的基础机制,包含双写机制,二进制编码,
字节存取,gc/truncate方法等功能。以二进制搜索功能为例,其处理流程参见图10。
93.由上述内容可知,本技术通过对编码方式,数据一致性保证策略,更新策略gc策略,编码语言精简控制等方面进行提升,将编码方式改为二进制方式、优化写逻辑、多类型兼容性支持实现、jar包实现方式、优化gc/truncate策略,大幅度提高kv存储效率,优化线程资源使用,有效减少存储造成的卡死卡顿,提高可靠性可用性,具备良好客户体验,通过对原有原生安卓kv存储和mmkv语言与类型支持,大大降低旧有应用改造工作量,提高算法通用性,经项目全面测试,采用本算法后安卓kv存储成功率上升至99.8%,且io速度提升60%,稳定性极佳。
94.从硬件层面来说,为了能够提高kv存储效率,优化线程资源使用,有效减少存储造成的卡死卡顿,提高可靠性可用性,本技术提供一种用于实现所述kv缓存数据处理方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
95.处理器(processor)、存储器(memory)、通信接口(communications interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现kv缓存数据处理装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的kv缓存数据处理方法的实施例,以及kv缓存数据处理装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
96.可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(pda)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
97.在实际应用中,kv缓存数据处理方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本技术对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
98.上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
99.图11为本技术实施例的电子设备9600的系统构成的示意框图。如图11所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图11是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
100.一实施例中,kv缓存数据处理方法功能可以被集成到中央处理器9100中。
101.其中,中央处理器9100可以被配置为进行如下控制:
102.步骤s101:读取键值缓存数据。
103.步骤s102:根据所述键值缓存数据的各字节字符和预设编码位数的比较关系,确定对应的移位策略,并根据所述移位策略将所述键值缓存数据的各字节字符进行类型转换。
104.步骤s103:在所述类型转换后置于预设缓存队列中进行缓存移位操作。
105.从上述描述可知,本技术实施例提供的电子设备,通过对键值缓存数据的类型转换和移位操作,能够提高kv存储效率,优化线程资源使用,有效减少存储造成的卡死卡顿,提高可靠性可用性。
106.在另一个实施方式中,kv缓存数据处理装置可以与中央处理器9100分开配置,例如可以将kv缓存数据处理装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现kv缓存数据处理方法功能。
107.如图11所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图11中所示的所有部件;此外,电子设备9600还可以包括图11中没有示出的部件,可以参考现有技术。
108.如图11所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
109.其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
110.输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。
111.该存储器9140可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
112.存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
113.通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
114.基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可
以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
115.本技术的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的kv缓存数据处理方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的kv缓存数据处理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
116.步骤s101:读取键值缓存数据。
117.步骤s102:根据所述键值缓存数据的各字节字符和预设编码位数的比较关系,确定对应的移位策略,并根据所述移位策略将所述键值缓存数据的各字节字符进行类型转换。
118.步骤s103:在所述类型转换后置于预设缓存队列中进行缓存移位操作。
119.从上述描述可知,本技术实施例提供的计算机可读存储介质,通过对键值缓存数据的类型转换和移位操作,能够提高kv存储效率,优化线程资源使用,有效减少存储造成的卡死卡顿,提高可靠性可用性。
120.本技术的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的kv缓存数据处理方法中全部步骤的一种计算机程序产品,该计算机程序/指令被处理器执行时实现所述的kv缓存数据处理方法的步骤,例如,所述计算机程序/指令实现下述步骤:
121.步骤s101:读取键值缓存数据。
122.步骤s102:根据所述键值缓存数据的各字节字符和预设编码位数的比较关系,确定对应的移位策略,并根据所述移位策略将所述键值缓存数据的各字节字符进行类型转换。
123.步骤s103:在所述类型转换后置于预设缓存队列中进行缓存移位操作。
124.从上述描述可知,本技术实施例提供的计算机程序产品,通过对键值缓存数据的类型转换和移位操作,能够提高kv存储效率,优化线程资源使用,有效减少存储造成的卡死卡顿,提高可靠性可用性。
125.本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
126.本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
127.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
128.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
129.本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:
1.一种kv缓存数据处理方法,其特征在于,所述方法包括:读取键值缓存数据;根据所述键值缓存数据的各字节字符和预设编码位数的比较关系,确定对应的移位策略,并根据所述移位策略将所述键值缓存数据的各字节字符进行类型转换;在所述类型转换后置于预设缓存队列中进行缓存移位操作。2.根据权利要求1所述的kv缓存数据处理方法,其特征在于,所述根据所述键值缓存数据的各字节字符和预设编码位数的比较关系,确定对应的移位策略,并根据所述移位策略将所述键值缓存数据的各字节字符进行类型转换,包括:判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x80位;若未超过,则将该字节字符转换为字节数据类型。3.根据权利要求2所述的kv缓存数据处理方法,其特征在于,在所述判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x80位之后,包括:若超过,则判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x800位;若未超过,则将该字节字符进行移位和与设定编码位数交或处理后转换为字节数据类型。4.根据权利要求3所述的kv缓存数据处理方法,其特征在于,在所述判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x800位之后,包括:若超过,则该字节字符进行移位和与设定编码位数取或处理后转换为字节数据类型。5.一种kv缓存数据处理装置,其特征在于,包括:数据读取模块,用于读取键值缓存数据;数据转换模块,用于根据所述键值缓存数据的各字节字符和预设编码位数的比较关系,确定对应的移位策略,并根据所述移位策略将所述键值缓存数据的各字节字符进行类型转换;数据移位模块,用于在所述类型转换后置于预设缓存队列中进行缓存移位操作。6.根据权利要求5所述的kv缓存数据处理装置,其特征在于,所述数据转换模块包括:第一位数判定单元,用于判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x80位;第一类型转换单元,用于若未超过,则将该字节字符转换为字节数据类型。7.根据权利要求5所述的kv缓存数据处理装置,其特征在于,所述数据转换模块包括:第二位数判定单元,用于若所述键值缓存数据的字节字符的编码位数超过十六进制0x80位,则判断所述键值缓存数据的字节字符的编码位数是否超过十六进制0x800位;第二类型转换单元,用于若未超过,则将该字节字符进行移位和与设定编码位数交或处理后转换为字节数据类型。8.根据权利要求5所述的kv缓存数据处理装置,其特征在于,所述数据转换模块包括:第三类型转换单元,用于若所述键值缓存数据的字节字符的编码位数超过十六进制0x800位,则该字节字符进行移位和与设定编码位数取或处理后转换为字节数据类型。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述的kv缓存数据处理方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述的kv缓存数据处理方法的步骤。11.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至4任一项所述的kv缓存数据处理方法的步骤。

技术总结
本申请实施例提供一种KV缓存数据处理方法及装置,可用于金融领域,方法包括:读取键值缓存数据;根据所述键值缓存数据的各字节字符和预设编码位数的比较关系,确定对应的移位策略,并根据所述移位策略将所述键值缓存数据的各字节字符进行类型转换;在所述类型转换后置于预设缓存队列中进行缓存移位操作;本申请能够提高KV存储效率,优化线程资源使用,有效减少存储造成的卡死卡顿,提高可靠性可用性。提高可靠性可用性。提高可靠性可用性。


技术研发人员:郭赫
受保护的技术使用者:中国银行股份有限公司
技术研发日:2022.09.23
技术公布日:2022/12/1
转载请注明原文地址: https://bbs.8miu.com/read-344794.html

最新回复(0)