一种数据管理方法和装置与流程

文档序号:24307165发布日期:2021-03-17 01:00阅读:51来源:国知局
一种数据管理方法和装置与流程

本发明涉及计算机技术领域,具体涉及一种数据管理方法和装置。



背景技术:

对于代理人或者运营商(航空公司)来说,在进行最低票价搜索时,大多数的查询方式是公布运价和私有运价同时进行最低票价搜索,公布运价就是所有运营商、所有代理人和所有渠道都可以看到的运价,私有运价就是运营商指定部分代理或者指定的部分市场区域或者指定的部分销售渠道能看的到的运价,常规都比公布运价便宜,由于代理人是运营商的分销渠道,搜索的公布运价和私有运价多,组合多导致的响应时间长,尤其是一个代理人同时使用多个代理人或者运营商账号进行一次最低票价搜索,此时处理的私有运价也会增多,从而导致的响应时间增长。

现在市场上的最低票价搜索系统提供的方法有:第一种方法:对公布运价和私有运价的最低票价搜索进行实时查询;第二种方法:对公布运价和私有运价的结果进行整体缓存。这两种方法都有缺点:对于第一种方法,有上述的响应时间长的问题;对于第二种方法,缓存不灵活,只能保证一个代理人或者运营商对应一个缓存,例如代理人或者运营商1只能用代理人或者运营商1的缓存,代理人或者运营商2只能用代理人或者运营商2的缓存。



技术实现要素:

有鉴于此,本发明实施例提供一种数据管理方法和装置,以提高搜索请求的响应速度。

为实现上述目的,本发明实施例提供如下技术方案:

一种数据管理方法,包括:

获取搜索请求;

解析所述搜索请求,基于解析结果进行请求校验;

当校验通过时,获取解析所述搜索请求时得到的用户偏好设置;

将所述用户偏好设置中的设定搜索范围修改为与所述设定修改范围对应的目标搜索范围;

将修改偏好设置后的搜索请求拆分为私有运价请求和公布运价请求;

基于所述私有运价请求查询私有运价缓存,基于所述公布运价请求查询公布运价缓存;

当所述私有运价请求和公布运价请求均命中时,基于修改之前的用户偏好设置对命中结果进行筛选,以去除命中结果中不属于所述修改之前的用户偏好设置的字段。

一种数据管理装置,包括:

请求采集单元,用于获取搜索请求;

请求校验单元,用于解析所述搜索请求,基于解析结果进行请求校验;

升级请求单元,用于当校验通过时,获取解析所述搜索请求时得到的用户偏好设置,将所述用户偏好设置中的设定搜索范围修改为与所述设定修改范围对应的目标搜索范围;

请求拆分单元,用于将修改偏好设置后的搜索请求拆分为私有运价请求和公布运价请求;

请求处理单元,用于基于所述私有运价请求查询私有运价缓存,基于所述公布运价请求查询公布运价缓存;

筛选单元,用于当所述私有运价请求和公布运价请求均命中时,基于修改之前的用户偏好设置对命中结果进行筛选,以去除命中结果中不属于所述修改之前的用户偏好设置的字段。

基于上述技术方案,本发明实施例提供的上述方案,通过将公布运价和私有运价分开缓存,使得不同的客户可以共享一个公布运价缓存,不同的客户分别又建立独立的私有运价缓存,在处理搜索请求时,将请求拆分为两个独立的请求,采用分开缓存的公布运价数据和私有运价数据分别处理这两个请求,提高了数据处理的速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例公开的数据管理方法的流程示意图;

图2为本申请实施例公开的数据管理装置的结构示意图;

图3为本申请实施例公开的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

为了解决现有技术中的运价搜索缓慢、不灵活的问题,本申请公开了一种数据管理方法,参见图1,该方法可以包括:

步骤s101:获取搜索请求;

所述搜索请求指的是代理人或运营商(例如航空公司)按照自身需求,发起的shopping请求,所述shopping请求即为本申请中所提到的搜索请求,在不同的场景下,所述shopping请求的内容不同,以所述代理人或运营商为航空公司为例,所述shopping请求中的内容可以包括:出发地目的地,日期,代理人或运营商的身份认证信息,代理人或运营商对班次结果和运价结果的旅行偏好。所述代理人或运营商设置完成shopping请求,将请求发送给用于处理该请求的shopping系统,所述shopping系统即为应用本申请实施例公开的技术方案的系统。

在本方案中,所述shopping系统可以存储有代理人或者运营商在查询时所生成的历史日志数据。除了代理人或运营商(例如航空公司)按照自身需求,发起的shopping请求之外,所述shopping请求还可以是主动轮询组件主动生成的,所述主动轮询组件根据代理人或者运营商的历史日志,分析处理代理人或者运营商的热门航线,查询热门日期等,模拟代理人或者航空公司的请求样式,生成shopping请求,shopping系统同样会处理该请求;

以运营商为航控股公司为例,主动轮询组件主动生成shopping请求的具体示例可以为:

将代理人或者航空公司1的历史日志导入到主动轮询组件中,主动轮询组件分析历史日志,基于预设逻辑总结出历史日志中的热门航线和热门日期。将热门航线和热门日期的组合模拟成代理人或者航空公司1的shopping请求,并执行本申请实施例公开的技术方案,就可以将代理人或者航空公司1的私有运价缓存和公布运价缓存的内容进行更新。

例如对代理人或者运营商1的历史日志进行数据调取,得到数据代理人或者运营商1pek-bkk2020-10-01【代理人或者运营商1】【成人】【公布运价+私有运价】【经济舱】【非品牌】【代码共享】【联运】【行李】【格式化退改签】【单舱等】【结果数30】,基于上述数据模拟shopping请求。

步骤s102:解析所述搜索请求,基于解析结果进行请求校验;

当shopping系统接收到shopping请求时,不论该请求是代理人或者运营商实际发出的请求,还是主动轮询组件模拟生成的请求,都需要对请求进行一次请求校验,具体验证对象和验证逻辑可以依据用户需求自行设定,例如,所述校验内容可以包括,用户验证信息,个性化偏好,以及是否有权限使用缓存等,如果通过校验,继续执行后续步骤s103。

在本方案中,可以将请求发起者的校验规则配置到预设的请求校验组件中,通过所述请求校验组件完成请求的校验工作。

例如,以运营商为航空公司为例,假设代理人或者航空公司1和代理人或者航空公司2的请求模式雷同,将代理人或者航空公司1和代理人或者航空公司2的请求模式配置到请求校验组件,使代理人或者航空公司1和代理人或者航空公司2的shopping请求可以通过所述请求校验组件的校验。

在校验过程中,所涉及的shopping请求中的字段可以包括【用户账号】【旅客类型】【运价类型】【舱等】【品牌】【代码共享】【联运】【行李】【格式化退改签】【多舱等】【结果数】等配置信息。

例如,所述请求校验组件中的请求校验规则可以定义成【用户账号为代理人或者航空公司1和代理人或者航空公司2】【旅客类型:成人】【运价类型:公布和私有运价】【舱等:经济舱】【品牌:非品牌】【代码共享:升级字段不校验】【联运:升级字段不校验】【行李:升级字段不校验】【格式化退改签:升级字段不校验】【单舱等】【结果数:升级字段不校验】。

步骤s103:当校验通过时,获取解析所述搜索请求时得到的用户偏好设置;

由于shopping请求中的请求偏好里有一些个用户偏好设置,在本方案中,为了缓存能够更好地应用,需要将这些个性化的设置升级成最大范围的条件。在设计时,设计人员可以依据经验数据设定具体需要对哪些用户偏好设置的范围进行调整,例如,在本方案中,以运营商为航空公司为例,这些用户偏好设置可以包括但不限于:shopping结果数,运价类型,返回行李信息,返回代理费信息,返回标签信息,返回格式化的退改签规则,返回代码共享的航班等其中的一个或多个的组合。

步骤s104:将所述用户偏好设置中的设定搜索范围修改为与所述设定修改范围对应的目标搜索范围;

在本方案中,在将所述用户偏好设置中的设定搜索范围修改为与所述设定修改范围对应的目标搜索范围时,由于所述用户偏好设置中可能存在多项偏好数据,不同的偏好数据对应的搜索范围的类型不同,在设计时可以选择用户偏好设置中的某个或某几个偏好数据作为需要调整范围的偏好数据,此时,获取每个偏好数据对应的搜索范围,将该所搜方位修改为另一与其对应的搜索范围,需要说明的是,修改后的搜索范围要大于修改之前的修改范围,例如,修改后的搜索范围为等级与修改之前的搜索范围相邻的,且范围较大的搜索范围。

例如,本申请中,所需要修改的用户偏好设置中的【结果数】字段,此时,将所述用户偏好设置中的设定搜索范围修改为与所述设定修改范围对应的目标搜索范围,具体为:将所述用户偏好设置中的搜索结果条数修改为与所述搜索结果条数对应的目标条数,所述对应的目标条数可以为不小于用户偏好设置中的搜索结果条数大的任意一个条数,例如,其可以直接为结果条数所允许的最大值。

例如,解析所述搜索请求得到的数据为:代理人或者运营商1pek-bkk2020-10-01【代理人或者航空公司1】【成人】【公布运价+私有运价】【经济舱】【非品牌】【代码共享】【联运】【行李】【格式化退改签】【单舱等】【结果数30】,其中,所述【结果数30】就是本方案中需要修改的偏好数据,将所述【结果数30】修改为【结果数1000】。

步骤s105:将修改偏好设置后的搜索请求拆分为私有运价请求和公布运价请求;

在本方案中,将范围升级后的请求拆分成两个小的请求其中一个小的请求为私有运价请求,另一个请求为公布运价请求,以达到单独查询私有运价缓存和单独查询公布运价缓存的目的。

例如修改范围后的搜索请求为:{pek-bkk2020-10-01【代理人或者航空公司1】【成人】【公布运价+私有运价】【经济舱】【非品牌】【代码共享】【联运】【行李】【格式化退改签】【单舱等】【结果数1000】}。在拆分时,将其拆分为:{pek-bkk2020-10-01【代理人或者航空公司1】【成人】【私有运价】【经济舱】【非品牌】【代码共享】【联运】【行李】【格式化退改签】【单舱等】【结果数1000】}和{pek-bkk2020-10-01【代理人或者航空公司2】【成人】【公布运价】【经济舱】【非品牌】【代码共享】【联运】【行李】【格式化退改签】【单舱等】【结果数1000】},其中,所述{pek-bkk2020-10-01【代理人或者航空公司1】【成人】【私有运价】【经济舱】【非品牌】【代码共享】【联运】【行李】【格式化退改签】【单舱等】【结果数1000】}为私有运价请求,所述{pek-bkk2020-10-01【代理人或者航空公司2】【成人】【公布运价】【经济舱】【非品牌】【代码共享】【联运】【行李】【格式化退改签】【单舱等】【结果数1000】}为公布运价请求。

步骤s106:基于所述私有运价请求查询私有运价缓存,基于所述公布运价请求查询公布运价缓存;

在本步骤中,采用私有运价小请求查询私有运价缓存,用公布运价的小请求查询公布运价缓存,具体查询私有运价缓存和查询公布运价缓存的具体过程可以采用现有技术中已知的技术方案;

在本方案中,所述是由运价缓存为与搜索请求的发起者相匹配的私有运价缓存,所述公布运价缓存为共用的缓存数据。

步骤s107:当所述私有运价请求和公布运价请求均命中时,基于修改之前的用户偏好设置对命中结果进行筛选,以去除命中结果中不属于所述修改之前的用户偏好设置的字段,并向搜索请求的发起者反馈筛选结果。

在本方案中,基于修改之后的用户偏好设置进行搜索所得到的数据量必然大于根据用户实际的请求的个性化配置进行搜索得到的数据量,因此。在本步骤中,基于所述私有运价请求查询私有运价缓存、基于所述公布运价请求查询公布运价缓存,得到命中结果以后,对命中结果进行整合,然后还需要采用修改之前的用户偏好设置对结果进行筛选,将结果里不需要的字段去掉。

例如,以修改的范围的上述示例中的结果数为例,在修改之前为【结果数30】,修改之后为【结果数1000】,例如请求限制30个结果,在步骤三升级后,最终返回了1000个结果,那在执行本步骤的时候就应该把多余的970个结果去掉。将结果数整合成原始请求的结果数30条,然后将筛选后的命中结果返回给请求的发起者。

公布运价的数据量远远大于私有运价的数据量,与现有的运价系统缓存技术对比,本申请通过将公布运价和私有运价分开缓存,使得不同的客户可以共享一个公布运价缓存,不同的客户分别又建立独立的私有运价缓存,在处理搜索请求时,将请求拆分为两个独立的请求,采用分开缓存的公布运价数据和私有运价数据分别处理这两个请求,提高了数据处理的速度。将公布运价和私有运价拆分缓存,大大减少了轮询的资源量,对资源有更好的利用率,并能够针对性的解决请求响应时间慢的问题,提高了响应效率,尤其是着重利用了公布运价和私有运价的业务特点,从而达到了高效响应时间,高效资源利用的成果。

进一步的,在本申请另一实施例公开的技术方案中,当所述私有运价请求和公布运价请求只有一个命中时,将没有命中的运价请求发布到实时搜索运价组件上,所述实时搜索运价组件用于基于获取到的运价请求实时计算运价;所述实时搜索运价组件为运价搜索系统组件,当没有命中缓存时,需要用所述实时搜索运价组件进行实时计算运价,得到命中结果。

进一步的,如果当所述私有运价请求和公布运价请求均未命中时,将未拆分、修改偏好设置后的搜索请求发布到实时搜索运价组件上,所述实时搜索运价组件用于基于获取到的运价请求实时计算运价,其计算过程可参见现有技术方案,获取所述时搜索运价组件对运价请求的分析结果,并将结果经步骤“基于修改之前的用户偏好设置对命中结果进行筛选,以去除命中结果中不属于所述修改之前的用户偏好设置的字段”处理后,反馈给请求的发起者,需要说明的是,所述请求的发起者是由搜索请求中的字段所决定的。

基于修改之前的用户偏好设置对命中结果进行筛选之后,还可以包括:

基于筛选之后的命中结果的运价类型,将命中结果保存至与搜索请求的发起者对应的私有运价缓存和公布运价缓存中。

在本申请另一实施例公开的技术方案中,如果当检测到所述搜索请求的发起者是首次进入应用本方案的系统时,系统会调用时运价搜索组件处理该请求,先将搜索所得到的私有运价记录在请求发起者对应的私有运价缓存中,再经过整合运价搜索组件的命中结果,然后基于修改之前的用户偏好设置对命中结果进行筛选,以去除命中结果中不属于所述修改之前的用户偏好设置的字段,将最终结果返回给用户。

本实施例中公开了一种数据管理装置,装置中的各个单元的具体工作内容,请参见上述方法实施例的内容,下面对本发明实施例提供的数据管理装置进行描述,下文描述的数据管理装置与上文描述的数据管理方法可相互对应参照。

该装置可以应用于运营商的shopping系统中,参见图2,装置可以包括:请求采集单元100,请求校验单元200,升级请求单元300,请求拆分单元400,请求处理单元500,和筛选单元600,本申请公开的技术方案中各个单元可以以组件的形式存在。

请求采集单元100,用于获取搜索请求,所述搜索请求可以是代理人或运营商通过终端设备向shopping系统发送的,也可以是,shopping系统中的主动轮询单元发出的,所述主动轮询单元即为上文中的主动轮询组件,所述主动轮询组件用于通过对用户的历史日志数据进行分析与处理,筛选出需要在shopping系统触发的搜索请求,用来更用户对应的新私有运价缓存和公布运价缓存;

请求校验单元200,用于解析所述搜索请求,基于解析结果进行请求校验;

升级请求单元300,用于搜索请求校验通过时,获取解析所述搜索请求时得到的用户偏好设置,将所述用户偏好设置中的设定搜索范围修改为与所述设定修改范围对应的目标搜索范围;

请求拆分单元400,用于将修改偏好设置后的搜索请求拆分为私有运价请求和公布运价请求;

请求处理单元500,用于基于所述私有运价请求查询私有运价缓存,基于所述公布运价请求查询公布运价缓存;

筛选单元600,用于当所述私有运价请求和公布运价请求均命中时,基于修改之前的用户偏好设置对命中结果进行筛选,以去除命中结果中不属于所述修改之前的用户偏好设置的字段,将筛选之后的命中结果发送个请求的发起者。

上述方案中,还可以包括:私有运价缓存单元和公布运价缓存单元,所述私有运价缓存单元,用于将不同代理人或者运营商的私有运价分别缓存到各自的私有运价缓存地址中。所述公布运价缓存单元,用于将不同的代理人或者运营商的公布运价缓存到同一个公布运价缓存地址中。

与上述方法相对应,上述数据管理装置中,还包括:

实时搜索运价单元,用于当所述私有运价请求和公布运价请求只有一个命中时,获取没有命中的运价请求,当所述私有运价请求和公布运价请求均未命中时,获取并处理未拆分、修改偏好设置后的搜索请求,基于获取到的运价请求实时计算运价,将计算结果发送至所述筛选单元。

可选的,上述装置中,还包括:

主动轮询单元,用于预设的搜索数据发起的搜索请求,所述预设的搜索数据包括但不限于:用户的历史日志,其根据所述历史日志分析处理得到用户的热门航线、查询热门日期等,模拟代理人或者运营商的搜索请求样式,生成搜索请求;

也就是说,在本方案中,所述搜索请求可以为:目标客户基于自身需求主动发起的搜索请求,或者是,主动轮询组件发起的搜索请求。

可选的,上述方案中,将所述用户偏好设置中的设定搜索范围修改为与所述设定修改范围对应的目标搜索范围,包括但不限于:

将所述用户偏好设置中的搜索结果条数修改为与所述搜索结果条数对应的目标条数。

可选的,上述装置中,还包括:

运价缓存组件,用于基于修改之前的用户偏好设置对命中结果进行筛选之后,基于筛选之后的命中结果的运价类型,将命中结果保存至与搜索请求的发起者对应的私有运价缓存和公布运价缓存中。

本公开实施例还提供一种计算机可读介质,其上存储有程序,所述程序被处理器执行时实现上述的数据管理方法。

在本公开的上下文中,计算机可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。计算机可读介质可以是机器可读信号介质或机器可读储存介质。计算机可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是在电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。

如图3所示,本公开实施例还提供一种电子设备1000,所述电子设备1000包括至少一个处理器1100、以及与处理器1100连接的至少一个存储器1200、总线1300;其中,所述处理器1100、所述存储器1200通过所述总线1300完成相互间的通信;所述处理器1100用于调用所述存储器1200中的程序指令,以执行上述的数据管理方法。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1