数据缓存方法、装置、设备及存储介质与流程

未命名 10-09 阅读:80 评论:0


1.本技术涉及但不限于数据处理技术领域,尤其涉及一种数据缓存方法、装置、设备及存储介质。


背景技术:

2.在电子设备领域,例如扬声器和线性马达等执行模块能够提供声音和振动反馈,给用户带来良好的使用体验。而扬声器和线性马达等执行模块在控制过程中通常需要对接收的振感指令进行振感翻译得到振动数据,这些振动数据用于触发电子设备执行相应操作。然而,在振感翻译过程中,存在翻译的重复性而且会引入处理延时。


技术实现要素:

3.有鉴于此,本技术实施例至少提供一种数据缓存方法、装置、设备及存储介质。
4.本技术实施例的技术方案是这样实现的:
5.第一方面,本技术实施例提供一种数据缓存方法,所述方法包括:
6.响应于接收到当前振感指令,从缓存系统中查找与所述当前振感指令匹配的振感数据;在不存在所述匹配的振感数据的情况下,基于预设的缓存机制,对所述当前振感指令进行翻译得到对应的振感数据,并存入所述缓存系统。
7.第二方面,本技术实施例提供一种数据缓存装置,所述装置包括:
8.指令匹配模块,用于响应于接收到当前振感指令,从缓存系统中查找与所述当前振感指令匹配的振感数据;
9.翻译缓存模块,用于在不存在所述匹配的振感数据的情况下,基于预设的缓存机制,对所述当前振感指令进行翻译得到对应的振感数据,并存入所述缓存系统。
10.第三方面,本技术实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
11.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。
12.在本技术实施例中,首先,响应于接收到当前振感指令,从缓存系统中查找与所述当前振感指令匹配的振感数据;然后在不存在所述匹配的振感数据的情况下,基于预设的缓存机制,对所述当前振感指令进行翻译得到对应的振感数据,并存入所述缓存系统;如此,通过建立缓存机制,在缓存系统中存储振感指令及对应的振感数据,在接收到新的振感指令时优先从缓存系统中查找匹配的振感数据而无需实时翻译,减少运算量的同时降低翻译引入的延时。同时对于未匹配到振感数据的当前振感指令,经过翻译后也存入缓存系统,以供后续指令匹配使用,实现缓存系统的更新。
13.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
附图说明
14.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本技术的实施例,并与说明书一起用于说明本技术的技术方案。
15.图1为本技术实施例提供的数据缓存方法的可选的流程示意图;
16.图2为本技术实施例提供的数据缓存方法的可选的流程示意图;
17.图3为本技术实施例提供的数据缓存方法的可选的流程示意图;
18.图4为本技术实施例提供的数据缓存方法的可选的流程示意图;
19.图5为本技术实施例提供的一种数据缓存方法的系统框架;
20.图6为本技术实施例提供的基于预定义缓存机制的数据缓存方法;
21.图7为本技术实施例提供的基于实时使用频次缓存机制的数据缓存方法;
22.图8为本技术实施例提供的基于时间老化缓存机制的数据缓存方法;
23.图9为本技术实施例提供的一种数据缓存装置的组成结构示意图;
24.图10为本技术实施例提供的一种计算机设备的硬件实体示意图。
具体实施方式
25.为了使本技术的目的、技术方案和优点更加清楚,下面结合附图和实施例对本技术的技术方案进一步详细阐述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
26.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
27.所涉及的术语“第一/第二/第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
28.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术的目的,不是旨在限制本技术。
29.在对本技术实施例进行进一步详细说明之前,先对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
30.线性马达:一种将电能直接转换成直线运动机械能,而不需要任何中间转换机构的传动装置,可以理解为瞬间施加电压使电磁场中的滑块移动,像打桩机一样产生冲击力。
31.转子马达:使用电能使得电机中的转子转动,转子在设计上是不对称的偏心结构,偏心结构因为转动引起了晃动,以此产生振感。
32.线性马达设置在电子设备中,用于通过振动使得电子设备输出振感。在电子设备的不同场景下,线性马达被控制发生振动产生不同的振动效果,使得用户感知到振感,以提示用户或对用户操作进行反馈
33.本技术实施例提供一种数据缓存方法,该方法可以由计算机设备的处理器执行。其中,计算机设备指的可以是服务器、笔记本电脑、平板电脑、台式计算机、智能电视、机顶
盒、移动设备(例如移动电话、便携式视频播放器、个人数字助理、专用消息设备、便携式游戏设备)等具备数据缓存能力的设备。图1为本技术实施例提供的数据缓存方法的可选的流程示意图,如图1所示,该方法包括如下步骤s110至步骤s120:
34.步骤s110,响应于接收到当前振感指令,从缓存系统中查找与所述当前振感指令匹配的振感数据。
35.这里,振感翻译模块接收上层下发的当前振感指令,如果缓存系统中存有可以匹配当前振感指令的振感数据,则直接快速获取到存储的振感数据进行后续操作,不用再实时翻译即进行高负荷的指令解析与运算,可以在减少重复运算量的同时减少翻译延时。
36.所述缓存系统可以为计算机设备中的内存,也可以是硬盘,本技术实施例对此不作限定。缓存系统可以缓存的振感数据的长度适用长振或短振,其中存储的振感数据是对相应振感指令进行解析运算得到的振动波形数据,依据不同系统的数据精度,表现为十六进制n位数据,具体的数据位宽度n根据系统数据精度可以调整。在查找时,按照缓存索引地址对每一振感指令的振感数据进行匹配。
37.其中所述振感指令用于指示操作对象基于接收的振感信号生成某种波形的振感,在一些实施方式中,振感指令可以表示为id标识,例如id1表示一种类型的振动,id2表示另一种类型的振动;在一些实施方式中,振感指令可以表示为描述文件,包括振感的振幅、时长、起始振动点和结束振动点等。
38.在一些实施方式中,所述振感指令包括以下至少之一:x轴方向的振感指令、y轴方向的振感指令、z轴方向的振感指令、旋转方向的振感指令;所述振感指令通过计算机设备中包括的以下至少之一振动马达实现:x轴方向的线性马达、y轴方向的线性马达、z轴方向的线性马达、旋转方向的转子马达。在一些实施方式中,所述振感指令包括以下至少之一因素:振动次数、振动强度、振动频次、振动方向。
39.步骤s120,在不存在所述匹配的振感数据的情况下,基于预设的缓存机制,对所述当前振感指令进行翻译得到对应的振感数据,并存入所述缓存系统。
40.这里,如果缓存系统中无可匹配的振感数据则需要对当前振感指令进行翻译,并按照预设的缓存机制将翻译的振感数据存入缓存系统,以供后续指令匹配使用。所述预设的缓存机制可以包括但不限定于以下至少一种方式:预定义缓存机制、实时使用频次缓存机制、时间老化缓存机制。
41.在一些实施方式中,所述预设的缓存机制可以是预定义缓存机制,即缓存系统中存储预定义的振感指令,从而只要接收到的当前振感指令属于预定义的振感指令,在任何时候都可以进行匹配而不用进行计算。
42.在一些实施方式中,所述预设的缓存机制可以是实时使用频次缓存机制,即缓存系统中存储常用或使用频繁的振感指令,从而设定使用频次阈值,在当前振感指令的实时使用频次超过使用频次阈值的情况下,将翻译的振感数据存入缓存系统。
43.在一些实施方式中,所述预设的缓存机制可以是时间老化缓存机制,即缓存系统中存储最近使用的振感指令,从而不断替换掉缓存系统中较早接收的振感指令,而存入接收的当前振感指令。
44.在本技术实施例中,首先,响应于接收到当前振感指令,从缓存系统中查找与所述当前振感指令匹配的振感数据;然后在不存在所述匹配的振感数据的情况下,基于预设的
缓存机制,对所述当前振感指令进行翻译得到对应的振感数据,并存入所述缓存系统;如此,通过建立缓存机制,在缓存系统中存储振感指令及对应的振感数据,在接收到新的振感指令时优先从缓存系统中查找匹配的振感数据而无需实时翻译,减少运算量的同时降低翻译引入的延时。同时对于未匹配到振感数据的当前振感指令,经过翻译后也存入缓存系统,以供后续指令匹配使用,实现缓存系统的更新。
45.在一些实施例中,所述缓存系统存储有预定义的振感指令与每一所述振感指令对应的振感数据;上述步骤s110可以包括如下步骤s111至步骤s112:
46.步骤s111,确定所述当前振感指令与所述缓存系统中存储的每一振感指令之间的对比相似度;
47.这里,由于实际应用中振感指令均存储为8比特数据或16比特数据,因此,可以通过对比在同一数据格式例如8比特数据下当前振感指令的数据值和存储的每一振感指令的数据值,确定出二者之间的对比相似度,以进一步判定两个振感指令是否匹配。
48.步骤s112,在存在第一振感指令对应的所述对比相似度满足相同或相似条件的情况下,将所述第一振感指令对应的振感数据作为与所述当前振感指令匹配的振感数据。
49.这里,所述相同条件表征所述当前振感指令与所述第一振感指令一致,所述相似条件可以根据需要预先设定,例如振感指令均存储为8比特数据的情况下,可以设定两个振感指令的存储数据中存在末位比特数据不一致的情况下,则所述对比相似度满足相似条件。
50.上述实施例中,将当前振感指令与缓存系统中存储的振感指令依次进行对比,匹配出描述内容一致的第一振感指令,从而直接获取第一振感指令对应的振感数据作为当前振感指令的振感数据进行后续操作,无需再对当前振感指令进行翻译,减少了重复翻译以及翻译引入的延时。
51.图2为本技术实施例提供的数据缓存方法的可选的流程示意图,如图2所示,该方法包括如下步骤s210至步骤s240:
52.步骤s210,响应于接收到当前振感指令,从缓存系统中查找与所述当前振感指令匹配的振感数据。
53.这里,上述步骤s210对应于前述步骤s110,在实施时可以参照前述步骤s110的具体实施方式。
54.步骤s220,在不存在所述匹配的振感数据且满足缓存触发条件的情况下,触发控制选择信号。
55.这里,所述控制选择信号用于指示所述当前振感指令需要缓存。
56.在实施中,接收当前振感指令后经过查找缓存系统未得到匹配的振感数据,则通过控制选择模块进一步判断该当前振感指令是否需要缓存,例如该当前振感指令为经常使用指令、缓存系统中还有剩余存储空间或缓存系统中有可替换的振感指令等,则确定满足缓存触发条件。
57.需要说明的是,控制选择信号为一种模拟信号,需要经过模数转换将其转化为携带控制选择信号的控制消息(即一种数字信号)。从而该控制消息作用于计算机设备的数据缓存模块将对当前振感指令翻译的振感数据存储到缓存系统。
58.步骤s230,对所述当前振感指令进行翻译得到对应的振感数据。
59.这里,通过振感翻译模块对当前振感指令进行实时翻译,也就是对当前振感指令进行解析并运算得到当前振感指令中描述的振动波形数据。当前系统的数据精度如果是8位,解析运算后的数据就是十六进制8位数据的表现形式;当前系统的数据精度如果是16位,解析运算后的数据就是十六进制16位数据的表现形式。
60.步骤s240,基于所述控制选择信号,将所述当前振感指令对应的振感数据存入所述缓存系统。
61.这里,接收到控制选择模块发送的控制选择信号,将当前振感指令及其对应的振感数据通过数据模块的数据缓存通道存入内存或硬盘。
62.上述实施例中,对于未匹配到振感数据的当前振感指令进一步判断是否满足缓存触发条件,在满足的情况下触发控制选择信号以指示该当前振感指令需要存储,在对当前振感指令进行翻译后存入到缓存系统,从而实时更新缓存系统以供后续指令匹配使用。
63.图3为本技术实施例提供的数据缓存方法的可选的流程示意图,如图3所示,该方法包括如下步骤s310至步骤s360:
64.步骤s310,响应于接收到当前振感指令,从缓存系统中查找与所述当前振感指令匹配的振感数据。
65.步骤s320,将所述当前振感指令的实时使用频次增加一次。
66.这里,记录每一振感指令的实时使用频次,例如每接收一次当前振感指令就将其实时使用频次加1,从而便于统计该当前振感指令是否为常用指令或重要指令。
67.步骤s330,在所述实时使用频次超过使用频次阈值,且所述当前振感指令的数据容量小于或等于所述缓存系统的剩余存储空间的情况下,触发所述控制选择信号。
68.这里,当前振感指令的实时使用频次超过使用频次阈值表明该指令为常用指令或重要指令,有必要进行缓存以减少后续重复翻译运算。同时,当前振感指令的数据容量小于或等于缓存系统的剩余存储空间表明当前有足够的存储空间可以使用,可以直接存储当前振感指令。
69.因此,结合实时使用频次和内存存储空间判定是否满足触发条件,在实时使用频次超过使用频次阈值,且所述当前振感指令的数据容量小于或等于所述缓存系统的剩余存储空间的情况下表明满足触发条件。
70.步骤s340,在所述实时使用频次超过所述使用频次阈值、所述当前振感指令的数据容量大于所述剩余存储空间,且所述缓存系统中存在满足替换条件的候选振感指令的情况下,删除所述候选振感指令并触发所述控制选择信号。
71.这里,针对在缓存系统的剩余存储空间不足以存储当前振感指令及其振感数据的情况下,如果缓存系统中存在可替换的候选振感指令则确定为满足缓存触发条件,可以触发控制选择信号。
72.在一些实施方式中,在所述当前振感指令的实时使用频次与所述缓存系统中每一振感指令的使用频次之差大于频次对比阈值的情况下,确定所述缓存系统中相应所述振感指令为所述候选振感指令。示例地,在一种场景下,缓存系统中存在振感指令a的使用频次为5,当前振感指令b的实时使用频次为7,假定频次对比阈值为1,则由于二者之间的使用频次之差为2(大于频次对比阈值),可以确定出振感指令a为候选振感指令,可以被替换掉;在另一种场景下,设定频次对比阈值仍为1,当前振感指令b的实时使用频次为7,但缓存系统
中所有振感指令的使用频次均大于或等于6的情况下,则不能确定出可以被替换的候选振感指令。这样,选择缓存系统中不经常使用的振感指令作为候选振感指令进行删除,而替换为使用频次较多的当前振感指令,能够减少重复翻译的运算量,使更新后的缓存系统发挥更大效用。
73.在一些实施方式中,在所述实时使用频次不超过所述使用频次阈值,或所述缓存系统中不存在所述候选振感指令的情况下,不触发所述控制选择信号。这样,在当前振感指令为不常用指令或无内存可用的情况下不需要进行缓存,减少缓存系统的存储空间,直接进行翻译得到振感数据。
74.步骤s350,对所述当前振感指令进行翻译得到对应的振感数据;
75.步骤s360,基于所述控制选择信号,将所述当前振感指令对应的振感数据存入所述缓存系统。
76.这里,上述步骤s350至步骤s360分别对应于前述步骤s230至步骤s240,在实施时可以参照前述步骤s230至步骤s240的具体实施方式。
77.上述实施例中,通过记录每一振感指令的实时使用频次并基于实际情况设定使用频次阈值,对实时使用频次超过使用频次阈值的当前振感指令且缓存系统有可用内存的情况确定为满足缓存触发条件,触发控制选择信号并记录当前振感指令需要进行缓存,以便后续翻译之后对当前振感指令进行缓存。这样,通过实时使用频次完善缓存机制,可以提高缓存系统的灵活性和兼容性。
78.图4为本技术实施例提供的数据缓存方法的可选的流程示意图,如图4所示,该方法包括如下步骤s410至步骤s470:
79.步骤s410,响应于接收到当前振感指令,从缓存系统中查找与所述当前振感指令匹配的振感数据。
80.步骤s420,记录所述当前振感指令的接收时间。
81.这里,通过系统时钟记录每一振感指令的接收时间,缓存系统中同时存储振感指令及其接收时间,便于后续进行时间老化管理。
82.步骤s430,在所述当前振感指令的数据容量小于或等于所述剩余存储空间的情况下,触发所述控制选择信号。
83.这里,所述当前振感指令的数据容量小于或等于所述剩余存储空间,表明当前的内存空间够用,可以直接存储当前振感指令,因此满足缓存触发条件,可以触发控制选择信号。
84.步骤s440,在所述当前振感指令的数据容量大于所述剩余存储空间的情况下,从所述缓存系统中选择所述接收时间最早的振感指令作为所述候选振感指令。
85.这里,所述当前振感指令的数据容量大于所述剩余存储空间表明当前的内存空间不够用,需要按照时间老化机制删除掉长期未使用的振感指令及其对应的振感数据。
86.在一些实施方式中,从缓存系统中选择接收时间最早的振感指令,目的在于与当前振感指令的结束时间相比,筛选出缓存系统中最不常使用的振感指令进行替换。
87.在一些实施方式中,在所述候选振感指令的使用频次大于或等于所述使用频次阈值的情况下,从所述缓存系统中选择所述接收时间次早的其它振感指令作为新的所述候选振感指令。也就是说,当第一次查找出的候选振感指令的使用频次很高的情况下,即使存储
时间间隔比较久,也可以进行保留。可以进行二次查找接收时间次早也就是除第一次查找出的候选振感指令之外接收时间最早的振感指令,作为新的候选振感指令,并继续判断该新的候选振感指令的使用频次大于或等于使用频次阈值,直至找到同时满足使用频次条件和时间老化条件的振感指令进行替换。
88.步骤s450,删除所述候选振感指令并触发所述控制选择信号。
89.步骤s460,对所述当前振感指令进行翻译得到对应的振感数据;
90.步骤s470,基于所述控制选择信号,将所述当前振感指令对应的振感数据存入所述缓存系统。
91.这里,上述步骤s460至步骤s470分别对应于前述步骤s230至步骤s240,在实施时可以参照前述步骤s230至步骤s240的具体实施方式。
92.上述实施例中,通过记录每一振感指令的接收时间,并对比缓存系统中每一振感指令的接收时间,筛选出缓存系统中长时间不使用的振感指令以达到缓存触发条件,触发控制选择信号并记录当前振感指令需要进行缓存,以便后续翻译之后对当前振感指令进行缓存。这样,通过记录接收时间完善老化缓存机制,可以提高缓存系统的灵活性和兼容性。
93.下面结合一个具体实施例对上述数据缓存方法进行说明,然而值得注意的是,该具体实施例仅是为了更好地说明本技术,并不构成对本技术的不当限定。
94.在振感翻译过程中,为减少翻译的重复性与翻译引入的延时,本技术实施例定义一套振感翻译结果缓存机制,此缓存机制存在于计算机设备的振感翻译模块中。图5为本技术实施例提供的一种数据缓存方法的系统框架,如图5所示,在振感翻译模块50中包括匹配选择模块51、翻译模块52、数据模块53、控制选择模块54、缓存系统55,其中:上层振感指令下发模块40下发的指令经过匹配选择模块51,匹配选择模块51按照缓存索引地址在缓存系统55中进行查找匹配,若缓存系统55中有可匹配指令的振感数据,则直接获取缓存系统55中的振感数据,不再实时翻译。若无可匹配的振感数据,则振感指令经过翻译模块52后输入数据模块53;数据模块53将翻译后的数据处理可存储的数据类型例如8位十六进制数据或16位十六进制数据;根据控制选择模块54产生的控制选择信号,将处理后的振感数据存入到缓存系统55中供后续指令匹配使用。
95.本技术实施例提供的缓存系统缓存的振感指令以及波形数据可以选择,选择的方法可以根据实际情况进行调整。具体的缓存机制方式有:预定义缓存、实时使用频次缓存、时间老化缓存等,其中预定义缓存机制实现简单,但不够灵活,实时使用频次缓存机制与时间老化缓存机制实现相对复杂但是灵活性好。本技术实施例提供的缓存机制可以结合预定义缓存机制、实时使用频次缓存机制、时间老化缓存机制中的至少一种,具体采用哪种机制可根据实际使用情况进行选择。
96.图6为本技术实施例提供的基于预定义缓存机制的数据缓存方法,如图6所示,该方法包括如下步骤s601至步骤s606:
97.步骤s601,接收当前振感指令。
98.步骤s602,进行振感指令匹配。
99.步骤s603,判断当前振感指令是否匹配预定义振感指令。
100.这里,预定义振感指令为系统设置的常用振感指令,在实施中预先存储预定义振感指令以及对应的振感数据,从而可以在任何时候都可以进行匹配而不用进行计算。在当
前振感指令匹配到预定义振感指令的情况下,执行步骤s604;在当前振感指令未匹配到预定义振感指令的情况下,执行步骤s605。
101.步骤s604,获取匹配的振感指令对应数据的缓存索引地址。
102.这里,系统预先对匹配的振感指令进行翻译得到的振感波形数据或振感数据。缓存索引地址可以是运行内存的地址,也可以是硬盘地址。
103.步骤s605,将当前振感指令翻译成振感数据。
104.步骤s606,输出振感数据。
105.图7为本技术实施例提供的基于实时使用频次缓存机制的数据缓存方法,如图7所示,该方法包括如下步骤s701至步骤s716:
106.步骤s701,接收当前振感指令。
107.步骤s702,将当前振感指令的实时使用频次加1。
108.步骤s703,进行振感指令匹配,查找缓存中的振感指令。
109.步骤s704,判断振感指令是否匹配。
110.这里,若匹配结果为是,则执行步骤s705;若匹配结果为否,则执行步骤步骤s707。
111.步骤s705,获取振感指令对应数据的缓存索引地址。
112.步骤s706,输出对应的振感数据。
113.步骤s707,判断当前振感指令的实时使用频次是否超过第一阈值。
114.这里,所述第一阈值为振感指令的使用频次阈值,相当于最小使用频次,可以根据实际情况进行调整,本技术实施例对此不作限定。若本次接收的当前振感指令的实时使用频次小于第一阈值,则执行步骤s708;若本次接收的当前振感指令的实时使用频次大于或等于第一阈值,则执行步骤步骤s709。
115.步骤s708,将当前振感指令翻译成振感数据。
116.步骤s709,判断是否有足够的内存可以使用。
117.这里,可以判断该当前振感指令对应的数据所占空间是否小于内存剩余空间;若小于或等于表明内存够用,则执行步骤s710;若大于表明内存不够用,则执行步骤s713。
118.步骤s710,触发控制选择信号,记录当前振感指令需要缓存。
119.步骤s711,将当前振感指令翻译成振感数据。
120.步骤s712,将振感数据进行缓存。
121.步骤s713,对比当前振感指令的实时使用频次和缓存中其他振感指令的使用频次之差是否大于第二阈值。
122.这里,第二阈值为当前振感指令的实时使用频次与系统中其他振感指令的使用频次之间的最小对比差值,相当于上述频次对比阈值,可以根据实际情况进行调整,本技术实施例对此不作限定。
123.步骤s714,判断缓存中是否存在可替换的候选振感指令。
124.这里,若上一步骤查找出使用频次之差大于第二阈值的相应振感指令,则该相应振感指令作为候选振感指令,继续执行步骤s715;若上一步骤未查找出使用频次之差大于第二阈值的相应振感指令,则缓存系统中无可替换的候选振感指令,执行步骤s716。
125.步骤s715,删除缓存中的候选振感指令。
126.这里,删除之后可继续执行上述步骤s710的操作,触发控制选择信号并记录当前
振感指令需要缓存。
127.步骤s716,将当前的振感指令翻译成振感数据。
128.这里,翻译之后直接输出振感数据。
129.图8为本技术实施例提供的基于时间老化缓存机制的数据缓存方法,如图8所示,该方法包括如下步骤s801至步骤s808:
130.步骤s801,接收当前振感指令。
131.步骤s802,记录当前振感指令的接收时间。
132.步骤s803,判断是否有足够的内存可以使用。
133.这里,可以判断该当前振感指令对应的数据所占空间是否小于或等于内存剩余空间;若小于或等于表明内存够用,则直接执行步骤s805;若大于表明内存不够用,则执行步骤s804后再执行步骤s805。
134.步骤s804,对比接收时间,替换缓存系统中最不常用的振感指令。
135.这里,依次对比缓存系统中每一振感指令的接收时间,由于接收时间是接收指令时记录的时间,接收时间距离当前振感指令的接收时间最远或大于预设间隔阈值的话,表明该振感指令已经较长时间未用到,可以删除该振感指令以及对应的振感数据,以便于存入当前振感指令及对应数据。
136.步骤s805,触发控制选择信号,记录当前振感指令需要缓存。
137.步骤s806,将当前振感指令翻译成振感数据。
138.步骤s807,将振感数据进行缓存。
139.步骤s808,输出振感数据。
140.需要说明的是,预定义缓存机制保证预定义的振感指令可以在任何时候都可以进行匹配而不用进行计算。实时使用频次、时间老化等缓存机制保证了系统的灵活性,兼容性。
141.本技术实施例提供的数据缓存方法,加入缓存机制后,振感翻译的重复运算量极大减少,短振翻译延时提升较为明显,长振翻译延时提升效果更为明显。
142.基于前述的实施例,本技术实施例提供一种数据缓存装置,该装置包括所包括的各模块、以及各模块所包括的各子模块及各单元,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(central processing unit,cpu)、微处理器(microprocessor unit,mpu)、数字信号处理器(digital signal processor,dsp)或现场可编程门阵列(field programmable gate array,fpga)等。
143.图9为本技术实施例提供的一种数据缓存装置的组成结构示意图,如图9所示,所述装置900包括:指令匹配模块910和翻译缓存模块920,其中:
144.所述指令匹配模块910,用于响应于接收到当前振感指令,从缓存系统中查找与所述当前振感指令匹配的振感数据;
145.所述翻译缓存模块920,用于在不存在所述匹配的振感数据的情况下,基于预设的缓存机制,对所述当前振感指令进行翻译得到对应的振感数据,并存入所述缓存系统。
146.在一些可能的实施例中,所述缓存系统存储有预定义的振感指令与每一所述振感指令对应的振感数据;所述指令匹配模块910包括:第一确定子模块,用于确定所述当前振
感指令与所述缓存系统中存储的每一振感指令之间的对比相似度;第二确定子模块,用于在存在第一振感指令对应的所述对比相似度满足相同或相似条件的情况下,将所述第一振感指令对应的振感数据作为与所述当前振感指令匹配的振感数据。
147.在一些可能的实施例中,所述翻译缓存模块920包括:触发子模块,在满足缓存触发条件的情况下,触发控制选择信号;其中,所述控制选择信号用于指示所述当前振感指令需要缓存;翻译子模块,用于对所述当前振感指令进行翻译得到对应的振感数据;存储子模块,用于基于所述控制选择信号,将所述当前振感指令对应的振感数据存入所述缓存系统。
148.在一些可能的实施例中,所述缓存系统中存储有每一振感指令的使用频次,所述装置还包括频次记录模块,用于将所述当前振感指令的实时使用频次增加一次;所述触发子模块包括:第一触发单元,用于在所述实时使用频次超过使用频次阈值,且所述当前振感指令的数据容量小于或等于所述缓存系统的剩余存储空间的情况下,触发所述控制选择信号;第二触发单元,用于在所述实时使用频次超过所述使用频次阈值、所述当前振感指令的数据容量大于所述剩余存储空间,且所述缓存系统中存在候选振感指令的情况下,删除所述候选振感指令并触发所述控制选择信号;其中,所述候选振感指令为满足替换条件的不常用指令。
149.在一些可能的实施例中,所述触发子模块还包括确定单元,用于在所述当前振感指令的实时使用频次与所述缓存系统中每一振感指令的使用频次之差大于频次对比阈值的情况下,确定所述缓存系统中相应所述振感指令为所述候选振感指令。
150.在一些可能的实施例中,所述触发子模块还用于在所述实时使用频次不超过所述使用频次阈值,或所述缓存系统中不存在所述候选振感指令的情况下,不触发所述控制选择信号。
151.在一些可能的实施例中,所述缓存系统中存储有每一振感指令的接收时间,所述装置还包括时间记录模块,用于记录所述当前振感指令的接收时间;所述触发子模块包括:第三触发单元,用于在所述当前振感指令的数据容量小于或等于所述剩余存储空间的情况下,触发所述控制选择信号;第一筛选单元,用于在所述当前振感指令的数据容量大于所述剩余存储空间的情况下,从所述缓存系统中选择所述接收时间最早的振感指令作为所述候选振感指令;第四触发单元,用于删除所述候选振感指令并触发所述控制选择信号。
152.在一些可能的实施例中,所述触发子模块还包括第二筛选单元,用于在所述候选振感指令的使用频次大于或等于所述使用频次阈值的情况下,从所述缓存系统中选择所述接收时间次早的其它振感指令作为新的所述候选振感指令。
153.以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上述方法实施例描述的方法,对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
154.需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述的数据缓存方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述
方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件、软件或固件,或者硬件、软件、固件三者之间的任意结合。
155.本技术实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
156.本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。所述计算机可读存储介质可以是瞬时性的,也可以是非瞬时性的。
157.本技术实施例提供一种计算机程序,包括计算机可读代码,在所述计算机可读代码在计算机设备中运行的情况下,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。
158.本技术实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一些实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一些实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
159.这里需要指出的是:上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考。以上设备、存储介质、计算机程序及计算机程序产品实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术设备、存储介质、计算机程序及计算机程序产品实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
160.需要说明的是,图10为本技术实施例中计算机设备的一种硬件实体示意图,如图10所示,该计算机设备1000的硬件实体包括:处理器1001、通信接口1002和存储器1003,其中:
161.处理器1001通常控制计算机设备1000的总体操作。
162.通信接口1002可以使计算机设备通过网络与其他终端或服务器通信。
163.存储器1003配置为存储由处理器1001可执行的指令和应用,还可以缓存待处理器1001以及计算机设备1000中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。处理器1001、通信接口1002和存储器1003之间可以通过总线1004进行数据传输。
164.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各步骤/过程的序号的大小并不意味着执行顺序的先后,各步骤/过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本
申请实施例序号仅仅为了描述,不代表实施例的优劣。
165.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
166.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
167.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
168.另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
169.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
170.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
171.以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。

技术特征:
1.一种数据缓存方法,其特征在于,所述方法包括:响应于接收到当前振感指令,从缓存系统中查找与所述当前振感指令匹配的振感数据;在不存在所述匹配的振感数据的情况下,基于预设的缓存机制,对所述当前振感指令进行翻译得到对应的振感数据,并存入所述缓存系统。2.根据权利要求1所述的方法,其特征在于,所述缓存系统存储有预定义的振感指令与每一所述振感指令对应的振感数据;所述从缓存系统中查找与所述当前振感指令匹配的振感数据,包括:确定所述当前振感指令与所述缓存系统中存储的每一振感指令之间的对比相似度;在存在第一振感指令对应的所述对比相似度满足相同或相似条件的情况下,将所述第一振感指令对应的振感数据作为与所述当前振感指令匹配的振感数据。3.根据权利要求1所述的方法,其特征在于,所述基于预设的缓存机制,对所述当前振感指令进行翻译得到对应的振感数据,并存入所述缓存系统,包括:在满足缓存触发条件的情况下,触发控制选择信号;其中,所述控制选择信号用于指示所述当前振感指令需要缓存;对所述当前振感指令进行翻译得到对应的振感数据;基于所述控制选择信号,将所述当前振感指令对应的振感数据存入所述缓存系统。4.根据权利要求3所述的方法,其特征在于,所述缓存系统中存储有每一振感指令的使用频次,所述方法还包括:将所述当前振感指令的实时使用频次增加一次;所述在满足缓存触发条件的情况下,触发控制选择信号,包括:在所述实时使用频次超过使用频次阈值,且所述当前振感指令的数据容量小于或等于所述缓存系统的剩余存储空间的情况下,触发所述控制选择信号;或者,在所述实时使用频次超过所述使用频次阈值、所述当前振感指令的数据容量大于所述剩余存储空间,且所述缓存系统中存在候选振感指令的情况下,删除所述候选振感指令并触发所述控制选择信号;其中,所述候选振感指令为满足替换条件的不常用指令。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在所述当前振感指令的实时使用频次与所述缓存系统中每一振感指令的使用频次之差大于频次对比阈值的情况下,确定所述缓存系统中相应所述振感指令为所述候选振感指令。6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:在所述实时使用频次不超过所述使用频次阈值,或所述缓存系统中不存在所述候选振感指令的情况下,不触发所述控制选择信号。7.根据权利要求3所述的方法,其特征在于,所述缓存系统中存储有每一振感指令的接收时间,所述方法还包括:记录所述当前振感指令的接收时间;所述在满足缓存触发条件的情况下,触发控制选择信号,包括:在所述当前振感指令的数据容量小于或等于所述剩余存储空间的情况下,触发所述控制选择信号;或者,在所述当前振感指令的数据容量大于所述剩余存储空间的情况下,从所述缓存系统中选择所述接收时间最早的振感指令作为所述候选振感指令;
删除所述候选振感指令并触发所述控制选择信号。8.根据权利要求3所述的方法,其特征在于,所述在满足缓存触发条件的情况下,触发控制选择信号,还包括:在所述候选振感指令的使用频次大于或等于所述使用频次阈值的情况下,从所述缓存系统中选择所述接收时间次早的其它振感指令作为新的所述候选振感指令。9.一种数据缓存装置,其特征在于,所述装置包括:指令匹配模块,用于响应于接收到当前振感指令,从缓存系统中查找与所述当前振感指令匹配的振感数据;翻译缓存模块,用于在不存在所述匹配的振感数据的情况下,基于预设的缓存机制,对所述当前振感指令进行翻译得到对应的振感数据,并存入所述缓存系统。10.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8任一项所述方法中的步骤。11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8任一项所述方法中的步骤。

技术总结
本申请实施例公开了一种数据缓存方法、装置、设备及存储介质,其中,所述方法包括:响应于接收到当前振感指令,从缓存系统中查找与所述当前振感指令匹配的振感数据;在不存在所述匹配的振感数据的情况下,基于预设的缓存机制,对所述当前振感指令进行翻译得到对应的振感数据,并存入所述缓存系统。并存入所述缓存系统。并存入所述缓存系统。


技术研发人员:柳慧芬 郑天驰 彭参镇
受保护的技术使用者:武汉市聚芯微电子有限责任公司
技术研发日:2023.06.06
技术公布日:2023/10/7
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐