一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

问卷的读写方法、装置及电子设备与流程

2022-02-21 08:15:54 来源:中国专利 TAG:


1.本技术涉及数据管理技术领域,具体涉及一种问卷的读写方法、装置及电子设备。


背景技术:

2.现有的数据查询方式,往往是将对象,例如用户信息转换为id信息,并且将id信息进行序列化。在实际查询过程中,首先在缓存中查找,若缓存中查不到,则进一步在数据库中进行查询;若存在新的对象,则将新对象进行序列化,再将其存入缓存中。
3.而对于问卷而言,因其属性较多,层次多,对象大,现在的手段往往都是将其先进行序列化,再将其存入缓存。但是因为问卷本身的属性,将其序列化难度较高,或者花费时间较长,导致最后查询时长过长,影响用户体验。


技术实现要素:

4.本技术实施例针对上述情况,提出了一种问卷的读写方法、装置及电子设备,在本技术中,将问卷转化为key值,以key值的形式进行读写,以克服或部分克服现有技术的不足。
5.第一方面,提供了一种问卷的读写方法,所述方法包括:
6.将问卷的身份信息转化为key值,并确定所述key值的版本号,以对问卷进行存储,其中,所述key值的版本号包括本地版本号和远端版本号;
7.响应于问卷查询指令,确定与所述问卷查询指令对应的目标问卷的目标key值,以及目标key值的版本号;
8.在所述目标key值的本地版本号和远端版本号均存在的情况下,根据所述目标key值的本地版本号和远端版本号的一致性,从所述本地缓存或数据库中读取所述目标问卷的内容。
9.第二方面,提供了一种问卷的读写装置,所述装置包括:
10.转化单元,用于将问卷的身份信息转化为key值,并确定所述key值的版本号,以对问卷进行存储,其中,所述key值的版本号包括本地版本号和远端版本号;
11.查询单元,用于响应于问卷查询指令,确定与所述问卷查询指令对应的目标问卷的目标key值,以及目标key值的版本号;
12.读取单元,用于在所述目标key值的本地版本号和远端版本号均存在的情况下,根据所述目标key值的本地版本号和远端版本号的一致性,从所述本地缓存或数据库中读取所述目标问卷的内容。
13.第三方面,本技术实施例还提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述任一的方法。
14.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行
时,使得所述电子设备执行上述任一的方法。
15.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:
16.本技术通过将问卷转化为key值的形式,进行存储以供查询,相对于现有技术省去了序列化的步骤,极大程度上提高了问卷的存储与查询速度,减少了计算量,提高了读写速度,缩短了查询时间受;在查询时,根据本地版本号与远端版本号的一致性确定最终的问卷内容信息的查询源,保障用户获取到的问卷为最新版本,查询快捷、准确,显著提高了用户的体验感。
附图说明
17.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
18.图1示出根据本技术的一个实施例的问卷的读写方法的流程示意图;
19.图2示出根据本技术的另一个实施例的问卷的读写方法的流程示意图;
20.图3示出根据本技术的一个实施例的问卷的读写装置的结构示意图;
21.图4为本技术实施例中一种电子设备的结构示意图。
具体实施方式
22.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.以下结合附图,详细说明本技术各实施例提供的技术方案。
24.现有技术中,问卷由于其属性较多,层次多,对象大,现在的手段往往都是将其先进行序列化,再将其存入缓存。但是问卷序列化难度较高,花费时间较长,导致查询时长过长,影响用户体验。
25.本技术针对上述现状,提供了一种问卷的读写方法,图1示出根据本技术的一个实施例的问卷的读写方法的流程示意图,从图1可以看出,本技术至少包括步骤s110~步骤s130:
26.步骤s110:将问卷的身份信息转化为key值;确定key值的版本号,以对问卷进行存储,其中,key值的版本号包括本地版本号和远端版本号。
27.在本技术的一些实施例中,由于问卷本技术的特性,为了达到快速读写的目的,将问卷存储于分布式数据存储系统中,该系统的架构可以是现有技术中的任意一种分布式数据库架构,如基于python语言实现的分布式数据集群等。
28.首先,将问卷转化为key-value的形式,这里“转化”的意思也可以理解为将问卷的身份信息转化为key值,将问卷的具体内容可以转化为key值对应的value内容,经过这样的“转化”可以将一个问卷以key-value的形式体现。
29.进一步的,确定key值的版本号,key值的版本号实际上就是问卷的版本号,由于问卷可能是不断更新的,因此,在最初始节点为一个问卷生成一个初始的版本号。在本技术的一些实施例中,版本号可以是一串以一定规则组合在一起的字符,以最简单的为例,版本号
可以是一串阿拉伯数字。由于问卷将存储于分布式数据存储系统中,即同时存储于多个物理节点中,包括但不限于本地缓存,远端服务器和本地数据库中,因此,key值的版本号可以分为本地版本号和远端版本号,在一个问卷被初次存储时,本地版本号和远端版本号的初始版本号是一致的。
30.将key值、key值的版本号、以及key值对应的问卷内容,即value内容,分别对应存储于分布式数据存储系统的各个节点中。
31.具体的,可以将一个问卷的key值、key值的本地版本号、key值对应的value内容对应起来,保存在本地缓存中;可以将一个问卷的key值、key值的远端版本号、key值对应的value内容对应起来,保存在远端服务器中;将可以将一个问卷的key值、key值的版本号(包括本地版本号和远端版本号)、key值对应的value内容对应起来,保存在本地数据库中。步骤s120:响应于问卷查询指令,确定与所述问卷查询指令对应的目标问卷的目标key值,以及目标key值的版本号。
32.在对一个问卷进行查询和读取时,直接确定问卷查询指令中的目标问卷的目标key值,以及该目标key值对应的版本号。由于key值存储于分布式数据存储系统中缓存中,因此读写速度都是非常快的,以此克服了现有技术通过序列化读取问卷,耗时时间长的缺陷。
33.步骤s130:在所述目标key值的本地版本号和远端版本号均存在的情况下,根据所述目标key值的本地版本号和远端版本号的一致性,从所述本地缓存或数据库中读取所述目标问卷的内容。
34.若通过查询确定目标key值的本地版本号和远端版本号均存在,则可以根据二者的一致性确定目标问卷的内容。具体的,如在本技术的一些实施例中,在读取问卷的过程中,若所述目标key值的本地版本号与远端版本号一致,则从所述本地缓存中读取目标问卷的key值对应的问卷内容,作为所述目标问卷的内容。
35.若所述目标key值的本地版本号与远端版本号不一致,则说明本地缓存内容已失效,从本地数据库中获取问卷信息,放入本地缓存,同时将本地版本号对应值更新成远端版本号对应值,与此同时,将服务器中较高版本的内容用于更新较低版本的内容,以保证本地和远端的版本内容同步;
36.在本技术的一些实施例中,所述目标问卷的key值的远端版本号和/或本地版本号还可能出现不存在的情况,这时则从所述数据库中读取目标问卷的key值对应的问卷内容,作为所述目标问卷的内容,并存入本地缓存;按照预设规则更新目标key值的远端版本号,如对远端版本号加1;然后更新所述目标key值的本地版本号,以使其与更新后的远端版本号一致。。
37.从图1所示的方法可以看出,本技术通过将问卷转化为key值的形式,进行存储以供查询,相对于现有技术省去了序列化的步骤,极大程度上提高了问卷的存储与查询速度,减少了计算量,提高了读写速度,缩短了查询时间受;在查询时,根据本地版本号与远端版本号的一致性确定最终的问卷内容信息的查询源,保障用户获取到的问卷为最新版本,查询快捷、准确,显著提高了用户的体验感。
38.在本技术的一些实施例中,需要说明的是,对于问卷进行初次存储时,本地版本号与远端版本号是一致的。但是随着问卷可能被修改,本地版本号与远端版本号可能会被更
新,导致本地版本号与远端版本号出现不一致的情况。
39.如在本技术的一些实施例中,所述方法还包括:接收问卷内容更新指令;根据所述问卷内容更新指令,对与所述问卷内容更新指令对应的问卷的key值的版本号、以及问卷内容进行更新。
40.也就是说,当用户对问卷内容有修改时,就会对一个问卷对应的key值的版本号以及value内容进行修改和更新,而对表征问卷身份信息的key值不会进行修改。
41.在本技术的一些实施例中,当需要更新本地缓存时,可以先从本地数据库中获取问卷信息,保存到本地缓存,同时将远端版本号加1,并设置本地版本号值为远端版本号对应值。对于key值的版本号的更新,包括但不限于在原始版本号的基础上加1,这样就保障了更新后的版本号一定是高于原始版本号的。
42.需要说明的是,对于本地和远端而言,对于问卷的更新不是完全同步的,因此本地版本号与远端版本号有时会出现不一致的情况。
43.图2示出了根据本技术的另一个实施例的问卷的读取过程的流程示意图,从图2中可以看出,首先对问卷进行编号(即转化为key值的形式),读取时首先去远端服务器查询远端版本号,若远端版本号存在,则继续查询本地版本号,若也存在;则确定二者是否一致(相等),若是,则从本地字典(本地缓存)获取问卷对象(目标问卷的内容),并返回问卷对象。
44.在上述流程中,若出现远端版本号不存在、本地版本号不存在或本地版本号与远端版本号不相等之一的现象,则从数据库获取问卷对象并返回,保存到本地字典。并将远端版本号加1以进行更新;进一步的更新本地版本号,使其与远端版本号一致。
45.图3示出根据本技术的一个实施例的问卷的读写装置的结构示意图,从图3可以看出,所述装置300包括:
46.转化单元310,用于将问卷的身份信息转化为key值,并确定所述key值的版本号,以对问卷进行存储,其中,所述key值的版本号包括本地版本号和远端版本号;
47.查询单元320,用于响应于问卷查询指令,确定与所述问卷查询指令对应的目标问卷的目标key值,以及目标key值的版本号;
48.读取单元330,用于在所述目标key值的本地版本号和远端版本号均存在的情况下,根据所述目标key值的本地版本号和远端版本号的一致性,从所述本地缓存或数据库中读取所述目标问卷的内容。
49.在本技术的一些实施例中,在上述装置中,所述读取单元310,用于若所述目标key值的本地版本号与远端版本号一致,则从所述本地缓存中读取目标问卷的key值对应的问卷内容,作为所述目标问卷的内容;
50.若所述目标key值的本地版本号与远端版本号不一致,则从所述数据库中读取目标问卷的key值对应的问卷内容,作为所述目标问卷的内容,并存入本地缓存;更新所述目标key值的本地版本号,以使其与所述远端版本号一致。
51.在本技术的一些实施例中,在上述装置中,所述读取单元310,还用于若所述目标问卷的key值的远端版本号和/或本地版本号不存在,则从所述数据库中读取目标问卷的key值对应的问卷内容,作为所述目标问卷的内容,并存入本地缓存;按照预设规则更新目标key值的远端版本号;更新所述目标key值的本地版本号,以使其与更新后的远端版本号一致。
52.在本技术的一些实施例中,所述装置还包括:更新单元,用于接收问卷内容更新指令;根据所述问卷内容更新指令,对与所述问卷内容更新指令对应的问卷的key值的版本号、以及问卷内容进行更新。
53.图4是本技术的一个实施例电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
54.处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
55.存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
56.处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成问卷的读写装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
57.将问卷的身份信息转化为key值,并确定所述key值的版本号,以对问卷进行存储,其中,所述key值的版本号包括本地版本号和远端版本号;
58.响应于问卷查询指令,确定与所述问卷查询指令对应的目标问卷的目标key值,以及目标key值的版本号;
59.在所述目标key值的本地版本号和远端版本号均存在的情况下,根据所述目标key值的本地版本号和远端版本号的一致性,从所述本地缓存或数据库中读取所述目标问卷的内容。
60.上述如本技术图3所示实施例揭示的问卷的读写装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
61.该电子设备还可执行图3中问卷的读写装置执行的方法,并实现问卷的读写装置在图3所示实施例的功能,本技术实施例在此不再赘述。
62.本技术实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图3所示实施例中问卷的读写装置执行的方法,并具体用于执行:
63.将问卷的身份信息转化为key值,并确定所述key值的版本号,以对问卷进行存储,其中,所述key值的版本号包括本地版本号和远端版本号;
64.响应于问卷查询指令,确定与所述问卷查询指令对应的目标问卷的目标key值,以及目标key值的版本号;
65.在所述目标key值的本地版本号和远端版本号均存在的情况下,根据所述目标key值的本地版本号和远端版本号的一致性,从所述本地缓存或数据库中读取所述目标问卷的内容。
66.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
67.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
68.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
69.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
70.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
71.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
72.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
73.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
74.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
75.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献