System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及搜索引擎,更具体地说,涉及一种运价搜索系统的数据存储方法、装置、电子设备和存储介质。
技术介绍
1、运价搜索系统为实现航班机票的实时搜索,被设计成一种高内聚的运价计算系统,其基于mmap实现了一种内存数据存储,在搜索过程中,将所有的运价数据都存储在服务器本地的内存中,从而实现数据的快速获取和计算,因此服务器上实际的内存大小应大于所有运价数据的总和。
2、航空公司通过前端运价发布系统发布运价报文数据,每隔一定时间会将运价报文数据推送给国内运价搜索系统,国内运价搜索系统中数据预处理节点接收并解析运价报文数据,然后将解析生成的运价数据进行写入、修改、删除等预处理操作,最后将运价数据推送到系统中各个搜索节点上。随着航空公司发布运价数据的不断增多,导致运价搜索系统无法将现有运价数据全部加载到内存当中,从而严重影响搜索服务的响应时间,降低了搜索效率。
技术实现思路
1、有鉴于此,本申请提供一种运价搜索系统的数据存储方法、装置、电子设备和存储介质,用于提高运价搜索系统的搜索效率。
2、为了实现上述目的,现提出的方案如下:
3、一种运价搜索系统的数据存储方法,应用于电子设备,所述数据存储方法包括步骤:
4、接收前端运价发布系统发布的运价报文数据;
5、对所述运价报文数据进行解析处理,得到操作字段和运价数据,所述运价数据包括文本数据和结构体数据;
6、根据所述操作字段和所述运价数据对所述运价搜索系统的本地存储空间进行更
7、可选的,所述根据所述操作字段和所述运价数据对所述运价搜索系统的本地存储空间进行更新处理,包括步骤:
8、当所述操作字段为写入时,将所述运价数据写入所述本地存储空间;
9、当所述操作字段为删除时,查询并删除所指向的运价数据。
10、可选的,所述当所述操作字段为写入时,将所述运价数据写入所述本地存储空间,包括步骤:
11、计算所述文本数据所占的总空间与所述结构体数据的占用空间之和,得到所述实际占用空间;
12、根据所述实际占用空间动态分配内存空间,所述内存空间用于保存所述文本数据和所述结构体数据;
13、将所述文本数据和所述结构体写入所述内存空间。
14、可选的,所述结构体数据中包括地址和长度,所述地址指向所述文本数据的首地址,所述长度为所述文本数据的实际长度。
15、可选的,所述将所述文本数据和所述结构体写入所述内存空间,包括步骤:
16、将所述运价数据存入所述本地存储空间的数据库的规则运价详细表中;
17、为所述规则运价详细表中的每条所述运价数据构建数据索引。
18、可选的,还包括步骤:
19、当接收到查询指令时,基于所述查询指令指定的查询字段进行查询并反馈查询结果。
20、一种运价搜索系统的数据存储装置,应用于电子设备,所述数据存储装置包括:
21、报文接收模块,被配置为接收前端运价发布系统发布的运价报文数据;
22、报文解析模块,被配置为对所述运价报文数据进行解析处理,得到操作字段和运价数据,所述运价数据包括文本数据和结构体数据;
23、数据更新模块,被配置为根据所述操作字段和所述运价数据对所述运价搜索系统的本地存储空间进行更新处理。
24、可选的,所述数据更新模块包括:
25、写入处理单元,被配置为当所述操作字段为写入时,将所述运价数据写入所述本地存储空间;
26、删除处理单元,被配置为当所述操作字段为删除时,查询并删除所指向的运价数据。
27、可选的,还包括:
28、数据查询模块,被配置为当接收到查询指令时,基于所述查询指令指定的查询字段进行查询并反馈查询结果。
29、一种电子设备,所述电子设备包括至少一个处理器和与所述处理器连接的存储器,其中:
30、所述存储器用于存储计算机程序或指令;
31、所述处理器用于执行所述计算机程序或指令,以使所述电子设备实现如上所述的运价所述系统的数据存储方法。
32、一种存储介质,应用于电子设备,所述存储介质承载有一个或多个计算机程序,所述一个或多个计算机程序能够被所述电子设备执行,从而使所述电子设备实现如上所述的运价所述系统的数据存储方法。
33、从上述的技术方案可以看出,本申请公开了一种运价搜索系统的数据存储方法、装置、电子设备和存储介质,该方法和装置应用于电子设备,具体为接收前端运价发布系统发布的运价报文数据;对运价报文数据进行解析处理,得到操作字段和运价数据,运价数据包括文本数据和结构体数据;根据操作字段和运价数据对运价搜索系统的本地存储空间进行更新处理。通过本方案将原来每行数据的定长存储改为变长存储,节省了存储空间,从而使得系统能够将现有运价数据全部加载到内存当中,进而能够提高搜索效率。
本文档来自技高网...【技术保护点】
1.一种运价搜索系统的数据存储方法,应用于电子设备,其特征在于,所述数据存储方法包括步骤:
2.如权利要求1所述的数据存储方法,其特征在于,所述根据所述操作字段和所述运价数据对所述运价搜索系统的本地存储空间进行更新处理,包括步骤:
3.如权利要求2所述的数据存储方法,其特征在于,所述当所述操作字段为写入时,将所述运价数据写入所述本地存储空间,包括步骤:
4.如权利要求3所述的数据存储方法,其特征在于,所述结构体数据中包括地址和长度,所述地址指向所述文本数据的首地址,所述长度为所述文本数据的实际长度。
5.如权利要求3所述的数据存储方法,其特征在于,所述将所述文本数据和所述结构体写入所述内存空间,包括步骤:
6.如权利要求1~5任一项所述的数据存储方法,其特征在于,还包括步骤:
7.一种运价搜索系统的数据存储装置,应用于电子设备,其特征在于,所述数据存储装置包括:
8.如权利要求7所述的数据存储装置,其特征在于,所述数据更新模块包括:
9.如权利要求7或8所述的数据存储装置,其特征在于,
10.一种电子设备,其特征在于,所述电子设备包括至少一个处理器和与所述处理器连接的存储器,其中:
11.一种存储介质,应用于电子设备,其特征在于,所述存储介质承载有一个或多个计算机程序,所述一个或多个计算机程序能够被所述电子设备执行,从而使所述电子设备实现如权利要求1~6任一项所述的运价所述系统的数据存储方法。
...【技术特征摘要】
1.一种运价搜索系统的数据存储方法,应用于电子设备,其特征在于,所述数据存储方法包括步骤:
2.如权利要求1所述的数据存储方法,其特征在于,所述根据所述操作字段和所述运价数据对所述运价搜索系统的本地存储空间进行更新处理,包括步骤:
3.如权利要求2所述的数据存储方法,其特征在于,所述当所述操作字段为写入时,将所述运价数据写入所述本地存储空间,包括步骤:
4.如权利要求3所述的数据存储方法,其特征在于,所述结构体数据中包括地址和长度,所述地址指向所述文本数据的首地址,所述长度为所述文本数据的实际长度。
5.如权利要求3所述的数据存储方法,其特征在于,所述将所述文本数据和所述结构体写入所述内存空间,包括步骤:
<...【专利技术属性】
技术研发人员:刘亚宁,张宏海,刘硕,田丰,余朝,肖傲三,马惟,孙启玲,
申请(专利权)人:中国民航信息网络股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。