数据存储方法及相关装置与流程
未命名
08-26
阅读:141
评论:0
1.本发明涉及数据存储领域,特别涉及一种数据存储方法及相关装置。
背景技术:
2.文档数据具备多种存储方式,例如常规数据库、xml、文本和nosql数据库等。目前针对文档数据一般采用集中存储方案,这种方案存储效率比较低并且在文档内容定位时体验不佳,不能快速查询目标内容。
技术实现要素:
3.鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种数据存储方法及相关装置。
4.第一方面,一种数据存储方法,包括:
5.获得待存储的文档数据;
6.将所述文档数据转化为第一长度的json数据;
7.从所述json数据中提取关键数据存储至xml文件中,并计算各所述关键数据的哈希值以标识至所述xml文件的对应位置。
8.结合第一方面,在某些可选的实施方式中,所述将所述文档数据转化为第一长度的json数据,包括:
9.若所述文档数据是结构化文档,则根据所述结构化文档的结构顺序,将所述结构化文档的各字段依次提取并进行拼接后存储至第一长度的json文件中。
10.结合第一方面,在某些可选的实施方式中,所述将所述文档数据转化为第一长度的json数据,包括:
11.若所述文档数据是非结构化文档,则根据所述非结构化文档中的各字符的顺序,将所述非结构化文档的各字符依次提取并进行拼接后存储至第一长度的json文件中。
12.结合第一方面,在某些可选的实施方式中,所述从所述json数据中提取关键数据存储至xml文件中,并计算各所述关键数据的哈希值以标识至所述xml文件的对应位置,包括:
13.对所述json数据中的内容进行分词,得到多个词语;
14.将各所述词语两两进行组合,得到多组词语;
15.针对各所述词语,两两配对进行语义计算,得到对应的语义相似度;
16.针对任一组所述词语,若对应的所述语义相似度大于预设相似度阈值,则统计所述词语的使用频率;
17.针对所述使用频率最高的词语,生成相应的哈希值;
18.将各所述词语按照在所述json数据中的顺序,依次存储至所述xml文件的各存储单元中,并为各所述存储单元分别标识所述哈希值。
19.结合上一个实施方式,在某些可选的实施方式中,在所述针对任一组所述词语,若
对应的所述语义相似度大于预设相似度阈值,则统计所述词语的使用频率之后,所述方法还包括:
20.针对除了所述使用频率最高的词语之外的其他词语,将所述其他词语添加至对应的相似问字段中;
21.针对任一所述存储单元,将对应的所述相似问字段与所述存储单元关联。
22.结合第一方面,在某些可选的实施方式中,在从所述json数据中提取关键数据存储至xml文件中,并计算各所述关键数据的哈希值以标识至所述xml文件的对应位置之后,所述方法还包括:
23.若所述json数据对应存储在至少2份所述xml文件中,则在所述xml文件的底部标识下一份xml文件的位置。
24.第二方面,一种数据存储装置,包括:文档获得单元、文档转化单元和数据存储单元;
25.所述文档获得单元,用于获得待存储的文档数据;
26.所述文档转化单元,用于将所述文档数据转化为第一长度的json数据;
27.所述数据存储单元,用于从所述json数据中提取关键数据存储至xml文件中,并计算各所述关键数据的哈希值以标识至所述xml文件的对应位置。
28.结合第二方面,在某些可选的实施方式中,所述文档转化单元,包括:第一转化子单元;
29.所述第一转化子单元,用于若所述文档数据是结构化文档,则根据所述结构化文档的结构顺序,将所述结构化文档的各字段依次提取并进行拼接后存储至第一长度的json文件中。
30.第三方面,一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的数据存储方法。
31.第四方面,一种电子设备,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的数据存储方法。
32.借由上述技术方案,本发明提供的一种数据存储方法及相关装置,可以通过获得待存储的文档数据;将所述文档数据转化为第一长度的json数据;从所述json数据中提取关键数据存储至xml文件中,并计算各所述关键数据的哈希值以标识至所述xml文件的对应位置。由此可以看出,本发明可以提取关键数据存储至xml文件,无需存储所有数据,存储效率较高,并且,本发明基于哈希值标识不同数据的存储位置,查询效率较高。
33.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
34.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明
的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
35.图1示出了本发明提供的第一种数据存储方法的流程图;
36.图2示出了本发明提供的第二种数据存储方法的流程图;
37.图3示出了本发明提供的第三种数据存储方法的流程图;
38.图4示出了本发明提供的第四种数据存储方法的流程图;
39.图5示出了本发明提供的第五种数据存储方法的流程图;
40.图6示出了本发明提供的第六种数据存储方法的流程图;
41.图7示出了本发明提供的一种数据存储装置的结构示意图;
42.图8示出了本发明提供的一种电子设备的结构示意图。
具体实施方式
43.文档类型的数据(文档数据)具备多种存储方式,例如常规数据库、xml、文本和nosql数据库等。但是,上述集中存储方案存储效率比较低,不能对文档数据进行相似容量存储从而节省存储空间提高存储效率,并且在文档内容定位时体验不佳,不能较快查询目标内容和关联内容。
44.为此,本发明建立了一种数据存储方法,该方法能够对文档数据进行特定容量大小集中存储,在存储结构上使用带编号标识的xml存储格式进行存储,加快了内容的查找效率和顺序定位,在特定场景下具有极佳的使用体验。
45.需要说明的是,本发明提供的数据存储方法及相关装置可用于数据存储领域以及金融领域。上述仅为示例,并不对本发明提供的数据存储方法及相关装置的应用领域进行限定。
46.本发明提供的数据存储方法及相关装置可用于金融领域或其他领域,例如,可用于金融领域中的数据存储的场景。其他领域为除金融领域之外的任意领域,例如,数据存储领域。上述仅为示例,并不对本发明提供的数据存储方法及相关装置的应用领域进行限定。
47.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
48.如图1所示,本发明提供了一种数据存储方法,包括:s100、s200和s300;
49.s100、获得待存储的文档数据;
50.可选的,本发明对于文档数据不做具体限制,可以根据实际需要进行设定。例如,本发明所说的文档数据可以是传统数据库中的文档或者是原生的word文档,本发明对此不做限制。
51.s200、将所述文档数据转化为第一长度的json数据;
52.可选的,本发明对于第一长度不做具体限制,可以根据实际需要进行设定。即,本发明可以设置每个json数据的最大长度为第一长度,本发明对此不做限制。
53.可选的,针对不同类型的文档数据,本发明可以采取不同的转化方式将文档数据转化为json数据。
54.例如,如图2所示,结合图1所示的实施方式,在某些可选的实施方式中,所述s200,
包括:s210;
55.s210、若所述文档数据是结构化文档,则根据所述结构化文档的结构顺序,将所述结构化文档的各字段依次提取并进行拼接后存储至第一长度的json文件中。
56.可选的,本发明所说的结构式文档可以理解为传统数据库中的文档。针对结构化文档,由于文档的结构已经划分清楚,则本发明可以根据文档的结构顺序,从文档中提取各个字段对应的内容,然后按顺序拼接并放到json文件中,从而转化得到json数据。
57.可选的,上述json数据和json文件均属于本领域公知的概念,本发明对此不做过多描述,具体请参见本领域的相关说明。
58.如图3所示,结合图1所示的实施方式,在某些可选的实施方式中,所述s200,包括:s220;
59.s220、若所述文档数据是非结构化文档,则根据所述非结构化文档中的各字符的顺序,将所述非结构化文档的各字符依次提取并进行拼接后存储至第一长度的json文件中。
60.可选的,本发明所说的非结构化文档可以理解为原生的word文档。针对非结构化文档,由于未对文档按字段进行划分和排序,文档中仅是一大串字符。因此,本发明可以按照字符的顺序,依次提取各个字符并按顺序拼接后放入到json文件,从而转化得到相应的json数据,本发明对此不做限制。
61.s300、从所述json数据中提取关键数据存储至xml文件中,并计算各所述关键数据的哈希值以标识至所述xml文件的对应位置。
62.可选的,通过json文件的存储结构对内容的大小进行控制,当存储内容等于第一长度时,转换器将json数据中的内容发送至存储器模块进行后续的持久化;当json文件存储的内容超出第一长度时,将json文件中的最后一次读取的内容进行回滚,放入下一个json文件中。
63.可选的,上述所说的持久化可以理解将json数据中的内容持久化存储至xml文件中,本发明对于具体过程不做限制。
64.例如,如图4所示,结合图1所示的实施方式,在某些可选的实施方式中,所述s300,包括:s310、s320、s330、s340、s350和s360;
65.s310、对所述json数据中的内容进行分词,得到多个词语;
66.可选的,本发明对于分词过程不做具体限制,例如,本发明可以使用现有的分词工具对json数据中的内容进行分词。
67.s320、将各所述词语两两进行组合,得到多组词语;
68.可选的,本发明可以将任意两个词语两两进行组合,得到对应的一组词语。即,一组词语包括两个词语,本发明对此不做限制。
69.s330、针对各所述词语,两两配对进行语义计算,得到对应的语义相似度;
70.可选的,本发明对于语义计算的过程不做具体限制,可以根据实际需要进行设定。例如本发明可以采用tf-idf算法计算关键词a和关键词b的语义相似度;首先针对关键词a和关键词b计算词汇在json块中出现的频率;其次用总的json块数除以包含该关键词的json块数,再将得到的商取对数得到关键词a和关键词b的idf值,最终应用tf-idf算法计算得到关键词a和关键词b的语义相似度。
71.可选的,语义相似度可以反映出两个词语之间的关联度,两个词语的关联度高,则说明这两个词语可能是重要的数据内容。因此,本发明可以通过两两配对进行语义计算的方式,查找到语义相似度比较高的词语。
72.s340、针对任一组所述词语,若对应的所述语义相似度大于预设相似度阈值,则统计所述词语的使用频率;
73.可选的,本发明对于预设相似度阈值不做具体限制,本发明可以根据实际需要进行设定。需要说明的是:语义相似度大于预设相似度阈值,则说明相应的两个词语有可能是重要的数据内容,但本发明针对一份文档数据只需要得到一个使用频率最高的词语用于后续生成哈希值。因此,本发明可以针对语义相似度高于预设相似度阈值的词语统计相应词语的使用频率,本发明对此不做限制。
74.s350、针对所述使用频率最高的词语,生成相应的哈希值;
75.可选的,本发明对于使用词语生成哈希值得过程不做具体限制。例如,本发明可以采用md5sum的方式对关键词产生字符串形式的哈希值,在应用时可直接匹配哈希值判断是否为同一关键词。
76.可选的,本发明在生成哈希值之后,在后续可以用于表示xml文件中的单元,因为xml文件中可能存储来自不同文档的数据。因此,针对来自同一份文档的数据,本发明可以用相应的哈希值标注相应的存储单元,以区分不同的文档对应的数据,本发明对此不做限制。
77.s360、将各所述词语按照在所述json数据中的顺序,依次存储至所述xml文件的各存储单元中,并为各所述存储单元分别标识所述哈希值。
78.可选的,一个xml文件可以划分为多个存储单元,每个存储单元可以用于存储不同的词语,包括来自同一份文档的多个词语和来自不同文档的多个词语,本发明对此不做限制。
79.可选的,在xml文件的存储单元上添加相应的标识属于本领域公知的技术手段,本发明对此不做过多描述,具体请参见本领域的相关说明。本发明使用前述计算得到的哈希值作为标识添加至相应的存储单元。
80.如图5所示,结合上一个实施方式,在某些可选的实施方式中,在所述s340之后,所述方法还包括:s370和s380;
81.s370、针对除了所述使用频率最高的词语之外的其他词语,将所述其他词语添加至对应的相似问字段中;
82.可选的,设置相似问字段是为了需要时查询相应的存储单元。因此,本发明需要将存储进xml文件的词语对应放到相似问字段中,本发明对此不做限制。
83.s380、针对任一所述存储单元,将对应的所述相似问字段与所述存储单元关联。
84.可选的,如前所述,相似问字段用于查询存储单元。因此,本发明可以将相似问字段与对应的存储单元关联,以便于在需要时根据相似问字段查询相应的存储单元。
85.如图6所示,结合图1所示的实施方式,在某些可选的实施方式中,在所述s300之后,所述方法还包括:s400;
86.s400、若所述json数据对应存储在至少2份所述xml文件中,则在所述xml文件的底部标识下一份xml文件的位置。
87.可选的,由于json数据存储在多份xml文件中,因此,本发明需要在xml文件的底部标识各个xml文件之间的衔接关系,即标注下一份xml文件的位置。
88.可选的,在经过上述过程之后,本发明可以根据客户的检索条件对内容进行全局查找和定位。对于客户输入的多个关键词,首先匹配各内容段的相似问字段查找相似的输入。当未命中相似输入时,对客户的输入进行关键字提取,将提取的关键字计算哈希值,根据哈希值结果定位xml中所需的存储单元,从而查询对应的文档内容和通过内容链接查找关联内容。对于哈希值未命中存储单元的情况,采用全文检索的方式对所有内容区域如标题、标识、内容、相似问字段和哈希值等进行查找。将查找的结果返回客户后对相似问字段进行客户输入填充,从而优化下次的查询结果和查询效率。
89.如图7所示,本发明提供了一种数据存储装置,包括:文档获得单元100、文档转化单元200和数据存储单元300;
90.所述文档获得单元100,用于获得待存储的文档数据;
91.所述文档转化单元200,用于将所述文档数据转化为第一长度的json数据;
92.所述数据存储单元300,用于从所述json数据中提取关键数据存储至xml文件中,并计算各所述关键数据的哈希值以标识至所述xml文件的对应位置。
93.结合图7所示的实施方式,在某些可选的实施方式中,所述文档转化单元200,包括:第一转化子单元;
94.所述第一转化子单元,用于若所述文档数据是结构化文档,则根据所述结构化文档的结构顺序,将所述结构化文档的各字段依次提取并进行拼接后存储至第一长度的json文件中。
95.结合图7所示的实施方式,在某些可选的实施方式中,所述文档转化单元20,包括:第二转化子单元;
96.所述第二转化子单元,用于若所述文档数据是非结构化文档,则根据所述非结构化文档中的各字符的顺序,将所述非结构化文档的各字符依次提取并进行拼接后存储至第一长度的json文件中。
97.结合图7所示的实施方式,在某些可选的实施方式中,所述数据存储单元300,包括:分词子单元、组合子单元、语义计算子单元、频率统计子单元、哈希值生成子单元和存储子单元;
98.所述分词子单元,用于对所述json数据中的内容进行分词,得到多个词语;
99.所述组合子单元,用于将各所述词语两两进行组合,得到多组词语;
100.所述语义计算子单元,用于针对各所述词语,两两配对进行语义计算,得到对应的语义相似度;
101.所述频率统计子单元,用于针对任一组所述词语,若对应的所述语义相似度大于预设相似度阈值,则统计所述词语的使用频率;
102.所述哈希值生成子单元,用于针对所述使用频率最高的词语,生成相应的哈希值;
103.所述存储子单元,用于将各所述词语按照在所述json数据中的顺序,依次存储至所述xml文件的各存储单元中,并为各所述存储单元分别标识所述哈希值。
104.结合上一个实施方式,在某些可选的实施方式中,所述装置还包括:词语添加单元和关联单元;
105.所述词语添加单元,用于在所述针对任一组所述词语,若对应的所述语义相似度大于预设相似度阈值,则统计所述词语的使用频率之后,针对除了所述使用频率最高的词语之外的其他词语,将所述其他词语添加至对应的相似问字段中;
106.所述关联单元,用于针对任一所述存储单元,将对应的所述相似问字段与所述存储单元关联。
107.结合图7所示的实施方式,在某些可选的实施方式中,所述装置还包括:位置标识单元;
108.所述位置标识单元,用于在从所述json数据中提取关键数据存储至xml文件中,并计算各所述关键数据的哈希值以标识至所述xml文件的对应位置之后,若所述json数据对应存储在至少2份所述xml文件中,则在所述xml文件的底部标识下一份xml文件的位置。
109.本发明提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的数据存储方法。
110.如图8所示,本发明提供了一种电子设备70,所述电子设备70包括至少一个处理器701、以及与所述处理器701连接的至少一个存储器702、总线703;其中,所述处理器701、所述存储器702通过所述总线703完成相互间的通信;所述处理器701用于调用所述存储器702中的程序指令,以执行上述任一项所述的数据存储方法。
111.在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
112.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
113.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本发明中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本发明所示的这些实施例,而是要符合与本发明所公开的原理和新颖特点相一致的最宽的范围。
114.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
技术特征:
1.一种数据存储方法,其特征在于,包括:获得待存储的文档数据;将所述文档数据转化为第一长度的json数据;从所述json数据中提取关键数据存储至xml文件中,并计算各所述关键数据的哈希值以标识至所述xml文件的对应位置。2.根据权利要求1所述的方法,其特征在于,所述将所述文档数据转化为第一长度的json数据,包括:若所述文档数据是结构化文档,则根据所述结构化文档的结构顺序,将所述结构化文档的各字段依次提取并进行拼接后存储至第一长度的json文件中。3.根据权利要求1所述的方法,其特征在于,所述将所述文档数据转化为第一长度的json数据,包括:若所述文档数据是非结构化文档,则根据所述非结构化文档中的各字符的顺序,将所述非结构化文档的各字符依次提取并进行拼接后存储至第一长度的json文件中。4.根据权利要求1所述的方法,其特征在于,所述从所述json数据中提取关键数据存储至xml文件中,并计算各所述关键数据的哈希值以标识至所述xml文件的对应位置,包括:对所述json数据中的内容进行分词,得到多个词语;将各所述词语两两进行组合,得到多组词语;针对各所述词语,两两配对进行语义计算,得到对应的语义相似度;针对任一组所述词语,若对应的所述语义相似度大于预设相似度阈值,则统计所述词语的使用频率;针对所述使用频率最高的词语,生成相应的哈希值;将各所述词语按照在所述json数据中的顺序,依次存储至所述xml文件的各存储单元中,并为各所述存储单元分别标识所述哈希值。5.根据权利要求4所述的方法,其特征在于,在所述针对任一组所述词语,若对应的所述语义相似度大于预设相似度阈值,则统计所述词语的使用频率之后,所述方法还包括:针对除了所述使用频率最高的词语之外的其他词语,将所述其他词语添加至对应的相似问字段中;针对任一所述存储单元,将对应的所述相似问字段与所述存储单元关联。6.根据权利要求1所述的方法,其特征在于,在从所述json数据中提取关键数据存储至xml文件中,并计算各所述关键数据的哈希值以标识至所述xml文件的对应位置之后,所述方法还包括:若所述json数据对应存储在至少2份所述xml文件中,则在所述xml文件的底部标识下一份xml文件的位置。7.一种数据存储装置,其特征在于,包括:文档获得单元、文档转化单元和数据存储单元;所述文档获得单元,用于获得待存储的文档数据;所述文档转化单元,用于将所述文档数据转化为第一长度的json数据;所述数据存储单元,用于从所述json数据中提取关键数据存储至xml文件中,并计算各所述关键数据的哈希值以标识至所述xml文件的对应位置。
8.根据权利要求7所述的装置,其特征在于,所述文档转化单元,包括:第一转化子单元;所述第一转化子单元,用于若所述文档数据是结构化文档,则根据所述结构化文档的结构顺序,将所述结构化文档的各字段依次提取并进行拼接后存储至第一长度的json文件中。9.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1至6中任一项所述的数据存储方法。10.一种电子设备,其特征在于,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至6中任一项所述的数据存储方法。
技术总结
本申请公开了数据存储方法及相关装置,可应用于数据存储领域以及金融领域。本发明可以通过获得待存储的文档数据;将所述文档数据转化为第一长度的json数据;从所述json数据中提取关键数据存储至xml文件中,并计算各所述关键数据的哈希值以标识至所述xml文件的对应位置。由此可以看出,本发明可以提取关键数据存储至xml文件,无需存储所有数据,存储效率较高,并且,本发明基于哈希值标识不同数据的存储位置,查询效率较高。查询效率较高。查询效率较高。
技术研发人员:陶威
受保护的技术使用者:中国银行股份有限公司
技术研发日:2023.06.07
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
