CN111626806B - 数据处理方法、装置及电子设备 - Google Patents
数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111626806B CN111626806B CN201910152432.7A CN201910152432A CN111626806B CN 111626806 B CN111626806 B CN 111626806B CN 201910152432 A CN201910152432 A CN 201910152432A CN 111626806 B CN111626806 B CN 111626806B
- Authority
- CN
- China
- Prior art keywords
- information
- commodity object
- query
- commodity
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请实施例公开了数据处理方法、装置及电子设备,所述方法包括:按照预置的周期从外部数据源获得数据对象的信息;根据所获取到的数据对象的信息,通过调用商品对象发布接口,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;接收到第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;根据所述外部数据源针对所述第二查询请求返回的符合查询条件的数据对象的信息,向所述第一查询请求的发起方返回查询结果。通过本申请实施例,能够解决高频变化的数据在商品对象实例化过程中出现的信息实时性、准确度问题。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及数据处理的方法、装置及电子设备。
背景技术
随着网络销售服务平台的飞速发展,出现了很多垂直领域的相关产品或者频道,通过对垂直领域内的信息的深度挖掘或者处理,为消费者用户提供更专业性的服务。其中,差旅领域就是众多垂直领域中的一种。
在差旅领域中,通常涉及到机票、酒店、度假、火车票/汽车票等多种不同的行业,由于具体的机票、酒店房型信息等信息通常需要从第三方的系统中获得,例如,机票信息通常需要从航空公司的系统中获得,酒店的房型信息则需要从具体的酒店系统获得,等等,各自的信息组织形式有各有差别。因此,在现有的差旅领域的网络销售服务平台中,上述各个行业通常对应不同的业务子系统,每个业务子系统独立存在,各自与各自行业的商家进行对接,也各自实现各自的查询、交易、与支付系统的对接等功能。
上述各个行业之间相互独立的实现方式,能够使得每个行业对应的业务子系统更专注地处理行业内部的信息,有利于实现信息的精细化处理。但是,其至少存在以下缺点:
首先,每个行业对应的业务子系统内部都要分别实现查询、交易、与支付系统的对接等处理逻辑,但是,不同行业对应的上述处理逻辑中存在很多共性的部分,因此,使得平台存在大量重复的代码,在代码存储、代码维护等方面会造成资源浪费。
其次,由于同属于差旅行业,因此,不同行业的业务之间通常会存在一些联系,例如,某消费者用户预订了从A地到B地的机票,很有可能还会需要对B地的酒店进行预订,此时,如果在完成机票预订后,直接向其推荐B地的酒店信息,则可以大幅提升用户体验。但是,现有技术中,由于每个行业的业务子系统之间相互独立,因此,使得一个行业难以感知到用户在其他行业内执行了哪些操作,也就无法实现上述相关行业信息的推荐。
总之,如何降低资源浪费,实现行业间的信息共享,成为需要本领域技术人员解决的技术问题。
发明内容
本申请提供了数据处理方法、装置及电子设备,能够在通过“平台化”的方式降低资源浪费,实现信息共享的同时,有效地解决机票等高频变化的数据在商品对象实例化过程中可能出现的信息准确度问题。
本申请提供了如下方案:
一种数据处理系统,包括:
业务子系统、商品子系统、查询子系统,其中,所述商品子系统以及所述查询子系统为多个业务子系统所公用;
其中至少一个业务子系统,用于按照预置的周期从目标外部数据源获得数据对象的信息,并通过调用商品对象发布接口,生成对应的商品对象,添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
所述商品子系统,用于保存所述商品对象信息库,并提供所述商品对象发布接口以及商品对象查询接口;
所述查询子系统,用于接收到第一查询请求时,通过所述商品对象查询接口对所述商品对象信息库发起查询,如果不存在符合查询条件的商品对象,则从所述外部数据源获得符合查询条件的数据对象的信息,并根据该数据对象的信息返回查询结果。
一种数据处理方法,包括:
按照预置的周期从目标外部数据源获得数据对象的信息;
根据所获取到的数据对象的信息,通过调用商品对象发布接口,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
接收到第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
根据所述外部数据源针对所述第二查询请求返回的符合查询条件的数据对象的信息,向所述第一查询请求的发起方返回查询结果。
一种数据处理方法,包括:
保存商品对象信息库,所述商品对象信息库中包括:根据目标业务子系统周期性地从目标外部数据源获得的数据对象生成或更新的商品对象信息;
接收所述目标业务子系统提交的第一查询请求,在所述商品对象信息库中进行查询,并返回查询结果,所述查询结果包括不存在符合查询条件的商品对象的信息,以便所述目标业务子系统根据所述查询条件向所述外部数据源发起第二查询请求,并获得符合查询条件的数据对象的信息;
接收所述目标业务子系统提交的商品对象发布接口调用请求,所述调用请求中携带所述外部数据源针对所述第二查询请求返回的数据对象的信息;
根据所述调用请求,生成新的商品对象信息,并添加到所述商品对象信息库中。
一种用于乘坐交通工具的凭证数据处理方法,包括:
按照预置的周期从目标外部数据源获得用于乘坐交通工具的凭证数据对象的信息,所述凭证数据对象的信息至少包括:对应交通工具的标识信息、出发地、目的地信息以及时间信息;
根据所获得的凭证数据对象的信息,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
接收到针对所述凭证数据对象的第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
根据所述外部数据源针对所述第二查询请求返回的符合查询条件的凭证数据对象的信息,向所述第一查询请求的发起方返回查询结果。
一种数据处理装置,包括:
第一数据对象信息获取单元,用于按照预置的周期从目标外部数据源获得数据对象的信息;
第一商品对象处理单元,用于根据所获取到的数据对象的信息,通过调用商品对象发布接口,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
第一查询单元,用于接收到针对所述数据对象的第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
第一查询结果返回单元,用于根据所述外部数据源针对所述第二查询请求返回的符合查询条件的数据对象的信息,向所述第一查询请求的发起方返回查询结果。
一种数据处理装置,包括:
商品对象信息库保存单元,用于保存商品对象信息库,所述商品对象信息库中包括:根据目标业务子系统周期性地从目标外部数据源获得的数据对象生成或更新的商品对象信息;
查询单元,用于接收所述目标业务子系统提交的第一查询请求,在所述商品对象信息库中进行查询,并返回查询结果,所述查询结果包括不存在符合查询条件的商品对象的信息,以便所述目标业务子系统根据所述查询条件向所述外部数据源发起第二查询请求,并获得符合查询条件的数据对象的信息;
调用请求接收单元,用于接收所述目标业务子系统提交的商品对象发布接口调用请求,所述调用请求中携带所述外部数据源针对所述第二查询请求返回的数据对象的信息;
商品对象添加单元,用于根据所述调用请求,生成新的商品对象信息,并添加到所述商品对象信息库中。
一种用于乘坐交通工具的凭证数据处理装置,包括:
第二数据对象信息获取单元,用于按照预置的周期从目标外部数据源获得用于乘坐交通工具的凭证数据对象的信息,所述凭证数据对象的信息至少包括:对应交通工具的标识信息、出发地、目的地信息以及时间信息;
第二商品对象处理单元,用于根据所获得的凭证数据对象的信息,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
第二查询单元,用于接收到针对所述凭证数据对象的第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
第二查询结果返回单元,用于根据所述外部数据源针对所述第二查询请求返回的符合查询条件的凭证数据对象的信息,向所述第一查询请求的发起方返回查询结果。
一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
按照预置的周期从目标外部数据源获得数据对象的信息;
根据所获取到的数据对象的信息,通过调用商品对象发布接口,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
接收到针对所述数据对象的第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
根据所述外部数据源针对所述第二查询请求返回的符合查询条件的数据对象的信息,向所述第一查询请求的发起方返回查询结果。
一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
保存商品对象信息库,所述商品对象信息库中包括:根据目标业务子系统周期性地从外部数据源获得的数据对象生成或更新的商品对象信息;
接收所述目标业务子系统提交的第一查询请求,在所述商品对象信息库中进行查询,并返回查询结果,所述查询结果包括不存在符合查询条件的商品对象的信息,以便所述目标业务子系统根据所述查询条件向所述外部数据源发起第二查询请求,并获得符合查询条件的数据对象的信息;
接收所述目标业务子系统提交的商品对象发布接口调用请求,所述调用请求中携带所述外部数据源针对所述第二查询请求返回的数据对象的信息;
根据所述调用请求,生成新的商品对象信息,并添加到所述商品对象信息库中。
一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
按照预置的周期从目标外部数据源获得用于乘坐交通工具的凭证数据对象的信息,所述凭证数据对象的信息至少包括:对应交通工具的标识信息、出发地、目的地信息以及时间信息;
根据所获得的凭证数据对象的信息,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
接收到针对所述凭证数据对象的第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
根据所述外部数据源针对所述第二查询请求返回的符合查询条件的凭证数据对象的信息,向所述第一查询请求的发起方返回查询结果。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
通过本申请实施例,在实现多行业业务子系统之间的“平台化”处理的基础上,提供了用于解决数据实时性问题的解决方案。具体的,关于机票、火车票/汽车票等行业,业务子系统仍然可以周期性地从外部数据源获得具体的数据对象信息,并在每次获取之后,进行商品对象的实例化处理,或者对商品对象信息库中已有商品对象的信息进行更新。而对于具体的查询子系统而言,在接收到具体的查询请求时,首先可以查询商品对信息库中是否存在符合查询条件的商品对象,如果不存在,则在本申请实施例中不是直接向用户返回查询失败的响应消息,而是向具体的外部数据库发起一次查询,如果能够获得匹配当前查询条件的查询结果,则可以利用从外部数据库获得的查询结果进行返回。这样,对于外部数据库中临时产生、商品对象信息库中尚未及时获得更新的数据对象的信息,也能够提供给查询方,从而提高数据的实时性以及查询结果的准确性。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中的系统架构示意图;
图2是本申请实施例提供的第一系统架构示意图;
图3是本申请实施例提供的第二系统架构示意图;
图4是本申请实施例提供的第一方法流程图;
图5是本申请实施例提供的第二方法流程图;
图6是本申请实施例提供的第三方法流程图;
图7是本申请实施例提供的第一装置示意图;
图8是本申请实施例提供的第二装置示意图;
图9是本申请实施例提供的第三装置示意图;
图10是本申请实施例提供的电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
针对差旅等垂直领域内包括多个行业的情况,为了能够降低资源浪费,实现不同行业之间的信息共享,本申请人首先提出了“平台化”的处理方案。为了便于理解该方案,下面首先对现有技术中的系统架构进行介绍。
如图1所示,以机票行业以及酒店行业为例,在现有技术中,各个行业的业务子系统内,分别提供数据对接子系统,用于从外部的数据源(航空公司,酒店等)获得具体的数据对象信息。另外,各业务子系统内部还需要各自实现查询子系统、交易子系统,每个交易子系统各自实现与外部的支付系统之间的对接逻辑。也就是说,如果某信息服务系统内包括四个行业,则需要分别实现四个查询子系统,四个交易子系统,每个交易子系统需要分别实现与支付系统的对接。
而在本申请实施例所提供的“平台化”处理方案中,如图2所示,各个不同的行业仍然可以对应自己的业务子系统,但是,业务子系统内部的主要处理逻辑仅剩与外部数据源的对接,关于查询子系统以及交易子系统则可以实现多个业务子系统之间的共用。也就是说,仍然假设某信息服务系统内包括四个行业,则只需要实现一个查询子系统,一个交易子系统,该交易子系统来实现与支付系统的对接即可。
通过这种方式,能够实现不同行业业务子系统之间的资源整合,节省每个业务子系统内部的工作量,从整个系统角度而言,也可以节省所需维护的代码量,因此,可以节约资源。另外,由于查询、交易等一些关键节点上的处理,在不同的业务子系统之间实现共用,因此,也可以更好的实现不同行业之间的信息共享。
但是,本申请发明人在实现上述“平台化”方案的过程中发现,还存在以下问题:为了实现不同的业务子系统对交易子系统、查询子系统的共用,还会涉及到一个中间环节,也即,各个行业业务子系统的数据对接子系统在从外部数据源获得具体的数据对象之后,在系统内部需要进行统一的表达以及存储的问题。其中,在未进行“平台化”处理之前,对于酒店、度假等行业,与机票、汽车票/火车票行业对数据的表达以及存储方式是不同的。具体的,从图1可以看出,对于酒店、度假等行业,与服装、日用品等行业的处理方式类似,也即,在从外部数据源获得具体的数据对象后,会首先在业务子系统内部进行商品对象的实例化处理,生成多条具体的商品实例,并保存在商品信息库中。这样,具体在对酒店、度假等行业内进行查询或者交易时,查询子系统以及交易子系统就可以通过与各自的商品子系统交互来响应具体的查询或者交易请求。但是,对于机票、汽车票/火车票行业而言,只是通过调用第三方外部数据的接口,将他们接口的机票信息、汽车票/火车票信息在本地进行缓存。然后,在消费者用户进行查询或者交易时,就从缓存子系统中提取一些所需的数据,向用户返回查询结果,或者生成交易订单。这样做的目的主要是为了提高接口性能。
为了实现数据的统一表达以及存储,在本申请实施例中,提供统一的商品子系统,通过该商品子系统对各个行业中的数据对象进行商品对象的实例化表达,并通过商品对象信息库的形式进行存储。也就是说,商品子系统也可以为各个行业的业务子系统所共用。相应的,查询子系统、交易子系统就都可以通过该商品子系统来提供具体的查询结果信息或者生成交易订单信息。
为了达到上述目的,就需要要求机票、汽车票/火车票等行业,也要将从外部数据源获得的数据对象进行商品对象的实例化处理,而不仅仅是在缓存中进行保存。在此过程中,如果不考虑特殊情况,则机票、汽车票/火车票等行业的业务子系统中的数据对接子系统在获得具体的数据对象之后,只需要以具体数据对象的信息为参数,对商品子系统提供的商品对象发布接口进行调用,即可实现机票、汽车票/火车票类数据对象的商品对象实例化处理,并在商品对象信息库中添加对应的商品对象信息,或者对已有的商品对象信息进行更新。
然而,对于机票、火车票/汽车票等行业的数据对象而言,通常会具有更新频率快,或者突发性强等特点,例如,某些航空公司可能会临时新增一条从某地到某地的航班,或者,某长途汽车公司临时新增一条汽车班次,等等。虽然具体行业的数据对接子系统可以采用周期性的从外部数据源拉取数据对象的方式来尽可能保证与外部数据源中的数据同步,但是,在实际应用中,这种周期通常无法设置的过短,这是因为:一方面,外部数据源提供的数据访问接口的性能有限,实时调用会造成他们的系统无法承接,所以外部数据源对信息服务平台通常是会做限流的。另一方面,外部数据源的数据访问接口调用可能是要收费的,调用次数太多,也会产生更多的费用。以上情况的存在,都会导致具体行业的数据对接子系统最多只能做到按照一定的周期从外部数据源拉取最新的数据,并向商品对象信息库进行更新。但是,由于该周期不能设置的过短,因此,很难达到“实时”更新的效果。这就导致可能出现以下情况:
某航空公司在某时刻新增了一条从杭州到洛杉矶的航班(在此之前,不存在从杭州到洛杉矶的航班),航班号是MF1111,但是,该新增操作刚好落在具体机票行业的数据对接子系统的两次拉取操作之间,也即,上一个拉取周期已经结束,下一个拉取周期尚未到来,这就使得该时刻无法在商品对象数据库中生成该航班对应的商品对象信息。但是,此时,刚好有某第一用户(在本申请实施例中,具体可以是指消费者用户、买家用户等)在提交了一条查询请求,并且需要查询从杭州到洛杉矶的航班。在本申请实施例中,由于已经进行了平台化处理,因此,具体的查询子系统在接收到具体的查询请求后,会到商品子系统进行查询,商品子系统通过查询商品对象信息库之后发现不存在符合该条件的商品对象。
此时,如果不进行特殊处理,查询子系统在接收到商品子系统返回的响应后,只能向第一用户客户端返回“航班不存在”等响应,除非该第一用户在隔一段时间之后重新进行查询(在机票行业的数据对接子系统完成下一的周期的数据拉取操作之后),否则将无法获得关于该航班MF1111的信息,更加无法进行预订等交易操作。显然,这对第一用户而言是不友好的,对于整个信息服务系统而言,相当于是在实现“平台化”的过程中,资源的节省,信息的共享,是以牺牲掉数据的实时性、准确性为代价换得的,这显然不符合“平台化”的设计初衷。
因此,本申请实施例中,在实现“平台化”处理的基础上,提供了用于解决数据实时性问题的解决方案。在该方案中,关于机票、火车票/汽车票等行业,具体的业务子系统仍然可以周期性地从外部数据源获得具体的数据对象信息,并在每次获取之后,进行商品对象的实例化处理,或者对商品对象信息库中已有商品对象的信息进行更新。而对于具体的查询子系统而言,在接收到具体的查询请求时,首先可以调用商品子系统的查询接口进行查询,如果商品对象信息库中存在符合查询条件的商品对象,则可以直接返回查询结果,后续还可以基于该查询结果进行具体的交易操作。而如果商品对象信息库中不存在符合当前查询条件的商品对象,则如图3所示,在本申请实施例中,不是直接向用户返回查询失败的响应消息,而是首先通过业务子系统向具体的外部数据库发起一次查询,如果能够获得匹配当前查询条件的查询结果,则可以利用从外部数据库获得的查询结果进行返回,这样,对于外部数据库中临时产生、商品对象信息库中尚未及时获得更新的数据对象的信息,也能够提供给查询方,从而提高数据的实时性以及查询结果的准确性。相应的,查询方在获得具体的查询结果后,也可以通过交易子系统发起交易请求,并生成具体的交易订单。
其中,具体的查询子系统在商品对象信息库中不存在匹配的查询结果、但从外部数据库查询获得了匹配的查询结果的情况下,在获得了具体的查询结果后,可以有多种处理方式。例如,一种方式下,数据对接子系统在获得查询结果后,可以首先调用商品子系统的商品对象发布接口,生成具体的商品对象,并添加到商品对象信息库中,然后,交易子系统再重新向商品子系统发起一次查询请求,商品子系统再根据匹配的商品对象信息返回查询结果。但是,上述过程中,从外部数据库返回查询结果,到最终将查询结果返回给查询方,期间需要经历多个步骤的处理,因此,可能会造成查询方的长时间等待。为此,在本申请的优选实施例中,针对这种外部数据源中临时更新的数据对象,在数据对接子系统在从外部数据源获得数据对象信息后,还可以在业务子系统内的缓存子系统中进行保存。这样,具体的查询子系统可以从缓存子系统中获得具体所需的数据,并向查询方返回具体的查询结果即可,以此提高响应效率。相应的,如果查询方在获得查询结果后,需要继续执行下单等交易操作,则交易子系统在接收到具体的交易请求后,也可以直接从缓存子系统中获得具体生成交易订单所需的数据,然后执行生成交易订单的处理,等等。通过这种方式,可以在无需阻塞查询或者下单请求的情况下,为请求方提供对应的处理结果。
当然,在具体实现时,为了使得后续的其他用户再次发起同样的查询请求时,能够直接从商品子系统进行响应,业务子系统的数据对接子系统还可以通过另行启动一个线程的方式,对商品子系统的商品对象发布接口进行调用,实现对当期查询到的数据对象的商品对象实例化处理,并添加到商品对象信息库中。
下面对本申请实施例提供的具体实现方案进行详细介绍。
实施例一
首先,参见图3,该实施例一提供了一种数据处理系统,包括:
业务子系统、商品子系统、查询子系统,其中,商品子系统以及查询子系统为多个业务子系统所公用;
其中至少一个业务子系统,用于按照预置的周期从目标外部数据源获得数据对象的信息,并通过调用商品对象发布接口,生成对应的商品对象,添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
商品子系统,可以用于保存所述商品对象信息库,并提供商品对象发布接口以及商品对象查询接口;查询子系统,用于接收到第一查询请求时,通过商品对象查询接口对商品对象信息库发起查询,如果不存在符合查询条件的商品对象,则从外部数据源获得符合查询条件的数据对象的信息,并根据该数据对象的信息返回查询结果。具体实现时,如果商品对象信息库中不存在符合查询条件的商品对象,可以通过具体的业务子系统,向外部数据源发起查询请求,然后,获得符合查询条件的数据对象的信息。
另外,在具体实现时,系统中还可以包括交易子系统,用于在根据外部数据源返回的符合查询条件的数据对象的信息返回查询结果后,接收交易请求,并且可以根据外部数据源返回的符合查询条件的数据对象的信息,生成交易订单,后续还可以调用具体的支付系统的接口完成支付操作。
其中,关于各部分的具体细节,通过后续的实施例二、实施例三分别进行介绍。
实施例二
该实施例二从整个信息服务系统的角度,提供了一种数据处理方法,如图4,该方法具体可以包括如下步骤:
S410、按照预置的周期从目标外部数据源获得数据对象的信息。
由于本申请实施例中涉及到的主要是一些更新频率比较快,甚至可能会有一些突发生成的数据,因此,可以按照预置的周期从预置的目标外部数据源获得数据对象的信息,以期尽可能获得外部数据源中的最新数据。
该步骤中,预置的周期可以根据实际情况进行设定,如外部数据源对流量的限定、系统内部的成本控制需求等。由于机票、酒店等行业的商品信息更新较快,为保证信息的及时性,该周期优选为较高的频次,如每分钟更新甚至每30秒更新一次,等等。
该周期还可以根据实时情况进行变化,如发现一定时间内,商品子系统未能成功匹配查询条件的次数达到一定阈值,则将上述周期进行缩短。
当然还可以分析外部数据源返回的数据信息来确定该周期。如外部数据源返回的数据信息中,新增信息较多,且更新较快,则可以将上述周期进行缩短。以机票为例,节假日前后或者期间,或天气变化期间,航班信息变化快,则上述周期可缩短。
上述外部数据源具体可以是实际产生对应行业内数据对象信息的一方,如航空公司、酒店、长途汽车公司、铁道部等,这些外部数据源可以实现一些接口,包括访问接口,数据获取接口,等等,并且可以将这种接口信息提供给该信息服务系统中对应行业的业务子系统,使得业务子系统可以通过接口获得相应的数据对象信息。
S420、根据所获取到的数据对象的信息,通过调用商品对象发布接口,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新。
本申请中商品对象特指经实例化后存储到商品对象信息库的商品。数据对象用于表征从外部数据源获得的原始的、未进行商品对象实例化处理的数据。如某个航班的信息,刚刚通过航空公司接口获得的关于该航班的原始数据称为数据对象,其相关的信息如目的地、航班号、价格等被称为数据对象的信息。当该数据对象信息被业务子系统获取后,则可以进行实例化后生成商品对象,生成的符合商品对象信息库要求的格式的信息为商品对象信息,包括商品对象的ID,名称,库存量,等等。
业务子系统将从外部数据源获取的数据对象信息进行商品对象实例化处理,其中,对于第一次接收到的数据对象的信息,在进行商品对象实例化处理之后,可以作为新的商品对象添加到商品对象信息库中。
如果数据对象对应的商品对象实例化结果已经存储在商品对象信息库中,则可以对已有的商品对象信息进行更新。
上述步骤是周期性进行的操作,以此实现商品对象信息库的建立和更新,也即,这两个步骤的执行不会受到前端用户等请求方的查询、交易等操作的影响,会周期性地进行。
S430、接收到第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求。
具体的查询子系统具体在接收到一个查询请求后,由于是在“平台化”的体系内,因此,查询子系统首先会查询商品对象信息库中是否存在与具体的查询条件相匹配的商品对象,如果商品对象信息库中可以匹配到符合查询条件的商品对象,则可以返回查询结果,以按照正常的程序进行后续下单等流程。
而如果商品对象信息库中不存在符合查询条件的商品对象,根据之前分析,有可能是因为商品对象信息库更新不及时导致,此时向业务子系统发起第二查询请求,业务子系统则可以根据所述查询条件向所述外部数据源发起第二查询请求,以确定外部数据源是否存在符合查询条件的数据对象。
S440、根据所述外部数据源针对所述第二查询请求返回的符合查询条件的数据对象的信息,向所述第一查询请求的发起方返回查询结果。
如果外部数据源中存在符合查询条件的数据对象,则可以返回,相应的,业务子系统能够获得该数据对象的信息,然后可以返回查询结果。当然,如果在外部数据源也匹配不到对应的数据对象,则可以返回“不存在匹配结果”的信息至业务子系统,以便业务子系统向第一查询请求的发起方返回该结果。
如前文所述,在外部数据源返回了匹配的数据对象信息后,为了实现不阻塞查询请求,还可以直接对数据对象信息进行缓存,然后可以根据缓存的数据,生成具体的查询结果并返回。另外,如果接收到针对所述数据对象提交的交易请求,也可以根据所述缓存的信息和所述交易请求生成交易订单。
另外,针对获取的新的数据对象信息,业务子系统也可以主动的将其进行实例化至商品对象信息库中,这样,此时在业务子系统下一次周期性信息更新前,如果再接收到同样的查询请求,则可以直接从商品对象信息库返回查询结果并可以进行下单等交易操作。
也就是说,可以根据所述外部数据源返回的符合查询条件的数据对象的信息,进行商品对象实例化处理,并将实例化的商品对象信息添加到所述商品对象信息库中。也就是说,在根据接收到的查询请求临时从外部数据源获取到最新的数据对象的信息后,也可以直接生成对应的商品对象,并添加到商品对象信息库中,实现了对商品对象信息库的“补全”。
具体实现时,可以以外部数据源返回的符合查询条件的数据对象的信息作为参数,对商品子系统的商品对象发布接口进行调用,由商品子系统进行商品对象实例化处理,并将生成的商品对象信息添加到商品对象信息库。
需要说明的是,如前文所述,为了不阻塞前端的查询或者交易请求,可以通过缓存中的数据来生成查询结果或者交易订单,也就是说,查询、交易请求的响应,与上述对商品对象信息库进行补全的操作之间不具有相互依赖的关系。因此,上述对商品对象信息库的“补全”操作与向请求方返回查询结果,生成订单等过程可以是并行处理的。具体的,可以通过创建独立的线程对所述数据对象信息进行异步的商品对象实例化处理,以实现对商品对象的补全。这里所述的独立的线程,就是相对于进行查询或者交易请求响应等相关处理的线程而言的。
另外需要说明的是,在实际应用中,基于网络等原因,上述商品对象实例化处理过程可能会失败,为了应对这种情况,还可以对所述外部数据源返回的符合查询条件的数据对象信息进行日志埋点,以用于在对应的商品对象实例化过程失败时,根据所述日志埋点信息重新进行商品对象的实例化处理。
实际中还可能出现查询请求并发的情况,例如,某第一用户发起了一次与机票相关的查询请求,仍然假设查询从杭州到洛杉矶的航班,当商品对象信息库中不存在匹配的商品对象时,业务子系统继而从外部数据源获取到了对应的符合查询条件的数据对象的信息,并返回了查询请求,同时,还将并进行商品对象实例化操作。但是,在此次商品对象实例化完成之前,另一第一用户也通过同样的查询条件发起了搜索,此时,由于前述商品对象信息库补全操作尚未完成,因此,仍然无法从商品对象信息库中获得匹配的查询结果。因此,只能继续从外部数据源重新获取符合查询条件的数据对象的信息,并进行商品对象实例化处理。此时,如果不进行特殊处理,就可能会将同一商品对象向商品对象信息库中添加两次,甚至更多次。为避免该现象发生,还可以在将实例化的商品对象信息添加到商品对象信息库中之前,判断所述商品对象信息库中是否已存在该数据对象对应的商品对象信息,如果不存在,则执行所述添加到商品对象信息库中的操作,否则放弃执行。
即每一次进行商品对象实例化,将实例化的商品对象信息添加到商品对象信息库中之前,在商品对象信息库中进行一次查询,以判断该次操作是否为重复操作。如是,则不再添加该次的商品对象信息添加到商品对象信息库中。
总之,通过本申请实施例,在实现多行业业务子系统之间的“平台化”处理的基础上,提供了用于解决数据实时性问题的解决方案。具体的,关于机票、火车票/汽车票等行业,业务子系统仍然可以周期性地从外部数据源获得具体的数据对象信息,并在每次获取之后,进行商品对象的实例化处理,或者对商品对象信息库中已有商品对象的信息进行更新。而对于具体的查询子系统而言,在接收到具体的查询请求时,首先可以查询商品对信息库中是否存在符合查询条件的商品对象,如果不存在,则在本申请实施例中不是直接向用户返回查询失败的响应消息,而是向具体的外部数据库发起一次查询,如果能够获得匹配当前查询条件的查询结果,则可以利用从外部数据库获得的查询结果进行返回。这样,对于外部数据库中临时产生、商品对象信息库中尚未及时获得更新的数据对象的信息,也能够提供给查询方,从而提高数据的实时性以及查询结果的准确性。
实施例三
实施例三从商品子系统的角度提供一种数据处理方法,如图5所示,该方法包括:
S510、保存商品对象信息库,所述商品对象信息库中包括:根据目标业务子系统周期性地从目标外部数据源获得的数据对象生成或更新的商品对象信息。
S520、接收所述目标业务子系统提交的第一查询请求,在所述商品对象信息库中进行查询,并返回查询结果,所述查询结果包括不存在符合查询条件的商品对象的信息,以便所述目标业务子系统根据所述查询条件向所述外部数据源发起第二查询请求,并获得符合查询条件的数据对象的信息。
S530、接收所述目标业务子系统提交的商品对象发布接口调用请求,所述调用请求中携带所述外部数据源针对所述第二查询请求返回的数据对象的信息。
S540、根据所述调用请求,生成新的商品对象信息,并添加到所述商品对象信息库中。
实施例四
本申请实施例四主要针对前述实施例一中提供的技术方案,提供了一种具体应用场景中的具体实现,在该应用场景中,具体的外部数据源可以是提供机票、火车票/汽车票等用于乘坐交通工具的凭证数据的数据源,具体的,参见图6,该方法具体可以包括:
S610、按照预置的周期从目标外部数据源获得用于乘坐交通工具的凭证数据对象的信息,所述凭证数据对象的信息至少包括:对应交通工具的标识信息、出发地、目的地信息以及时间信息。
S620、根据所获得的凭证数据对象的信息,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新。
S630、接收到针对所述凭证数据对象的第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求。
S640、根据所述外部数据源针对所述第二查询请求返回的符合查询条件的凭证数据对象的信息,向所述第一查询请求的发起方返回查询结果。
如果在外部数据源也匹配不到对应的数据对象,则返回业务子系统,以便业务子系统向第一查询请求的发起方返回该结果。
如果在外部数据源匹配到了对应的数据对象,则获取该数据对象的信息,并向第一查询请求的发起方返回。
为及时完成消费者的下单需求,该方法还包括如下步骤:
对所述外部数据源返回的符合查询条件的凭证数据对象的信息进行缓存;
所述向所述第一查询请求的发起方返回查询结果后,还包括:
接收针对所述凭证数据对象提交的交易请求;
根据所述缓存的信息生成交易订单。
另外,还可以根据所述外部数据源返回的符合查询条件的凭证数据对象的信息,业务子系统可以进行商品对象实例化处理,并将实例化的商品对象信息添加到所述商品对象信息库中。此时在业务子系统下一次周期性信息更新前,用户也可以对此商品进行下单等各种操作。
关于前述实施例三及实施例四中的未详述部分,可以参见前述实施例一或二中的记载,这里不再赘述。
与实施例一相对应,本申请实施例四还提供一种数据处理装置,如图7所示,该装置包括:
第一数据对象信息获取单元710,用于按照预置的周期从目标外部数据源获得数据对象的信息;
第一商品对象处理单元720,用于根据所获取到的数据对象的信息,通过调用商品对象发布接口,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
第一查询单元730,用于接收到针对所述数据对象的第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
第一查询结果返回单元740,用于根据所述外部数据源针对所述第二查询请求返回的符合查询条件的数据对象的信息,向所述第一查询请求的发起方返回查询结果。
为避免阻塞查询方的请求,该装置还包括:
信息缓存单元,用于对所述外部数据源返回的符合查询条件的数据对象的信息进行缓存;
此时,所述第一查询结果返回单元具体可以用于从所述缓存中提取出所述数据对象的信息,并生成查询结果进行返回。
另外,该装置还可以包括:
交易请求接收单元,用于查询结果返回单元向所述第一查询请求的发起方返回查询结果后,接收针对所述数据对象提交的交易请求;
交易订单生成单元,用于根据所述缓存的信息和所述交易请求生成交易订单。
针对获取的新的数据对象信息,可以即时主动的将其进行实例化至商品对象信息库中,此时在业务子系统下一次周期性信息更新前,用户也可以对此商品进行下单等各种操作。为此,该装置还可以包括:
第一接口调用单元,用于根据所述外部数据源返回的符合查询条件的数据对象的信息,通过调用商品对象发布接口,进行商品对象实例化处理,并将实例化的商品对象信息添加到所述商品对象信息库中。
第二接口调用单元,用于对所述外部数据源返回的符合查询条件的数据对象的信息进行日志埋点,以用于在对应的商品对象实例化过程失败时,根据所述日志埋点信息重新进行商品对象的实例化处理。
具体实现时,所述第一接口调用单元具体可以用于通过独立的线程对所述数据对象信息进行异步的商品对象实例化处理。
另外,针对并发查询的情况,为了避免对同一商品对象的重复补全,还可以包括:
判断单元,用于在所述商品对象单元将实例化的商品对象信息添加到商品对象信息库中之前,判断所述商品对象信息库中是否已存在该数据对象对应的商品对象信息,如果不存在,则指示所述商品对象单元执行所述添加到商品对象信息库中的操作,否则指示所述商品对象单元放弃执行。
与实施例二相对应,本申请实施例五还提供一种数据处理装置,应用于商品系统,如图8所示,该装置包括:
商品对象信息库保存单元810,用于保存商品对象信息库,所述商品对象信息库中包括:根据目标业务子系统周期性地从目标外部数据源获得的数据对象生成或更新的商品对象信息;
查询单元820,用于接收所述目标业务子系统提交的第一查询请求,在所述商品对象信息库中进行查询,并返回查询结果,所述查询结果包括不存在符合查询条件的商品对象的信息,以便所述目标业务子系统根据所述查询条件向所述外部数据源发起第二查询请求,并获得符合查询条件的数据对象的信息;
调用请求接收单元830,用于接收所述目标业务子系统提交的商品对象发布接口调用请求,所述调用请求中携带所述外部数据源针对所述第二查询请求返回的数据对象的信息;
商品对象添加单元840,用于根据所述调用请求,生成新的商品对象信息,并添加到所述商品对象信息库中。
与上述实施例三相对应,本申请实施例六还提供了一种用于乘坐交通工具的凭证数据处理装置,如图9所示,该装置包括:
第二数据对象信息获取单元910,用于按照预置的周期从目标外部数据源获得用于乘坐交通工具的凭证数据对象的信息,所述凭证数据对象的信息至少包括:对应交通工具的标识信息、出发地、目的地信息以及时间信息;
第二商品对象处理单元920,用于根据所获得的凭证数据对象的信息,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
第二查询单元930,用于接收到针对所述凭证数据对象的第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
第二查询结果返回单元940,用于根据所述外部数据源针对所述第二查询请求返回的符合查询条件的凭证数据对象的信息,向所述第一查询请求的发起方返回查询结果。
另外本申请实施例还提供了一种电子设备,该电子设备可以包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
按照预置的周期从目标外部数据源获得数据对象的信息;
根据所获取到的数据对象的信息,通过调用商品对象发布接口,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
接收到针对所述数据对象的第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
根据所述外部数据源针对所述第二查询请求返回的符合查询条件的数据对象的信息,向所述第一查询请求的发起方返回查询结果。
所述存储器还用于执行如下操作:
对所述外部数据源返回的符合查询条件的数据对象的信息进行缓存;
所述向所述第一查询请求的发起方返回查询结果后,还包括:
接收针对所述数据对象提交的交易请求;
根据所述缓存的信息和所述交易请求生成交易订单。
所述存储器还用于执行如下操作:
根据所述外部数据源返回的符合查询条件的数据对象的信息,进行商品对象实例化处理,并将实例化的商品对象信息添加到所述商品对象信息库中。
以及一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
保存商品对象信息库,所述商品对象信息库中包括:根据目标业务子系统周期性地从目标外部数据源获得的数据对象生成或更新的商品对象信息;
接收所述目标业务子系统提交的第一查询请求,在所述商品对象信息库中进行查询,并返回查询结果,所述查询结果包括不存在符合查询条件的商品对象的信息,以便所述目标业务子系统根据所述查询条件向所述外部数据源发起第二查询请求,并获得符合查询条件的数据对象的信息;
接收所述目标业务子系统提交的商品对象发布接口调用请求,所述调用请求中携带所述外部数据源针对所述第二查询请求返回的数据对象的信息;
根据所述调用请求,生成新的商品对象信息,并添加到所述商品对象信息库中。
以及一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
按照预置的周期从目标外部数据源获得用于乘坐交通工具的凭证数据对象的信息,所述凭证数据对象的信息至少包括:对应交通工具的标识信息、出发地、目的地信息以及时间信息;
根据所获得的凭证数据对象的信息,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
接收到针对所述凭证数据对象的第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
根据所述外部数据源针对所述第二查询请求返回的符合查询条件的凭证数据对象的信息,向所述第一查询请求的发起方返回查询结果。
其中,图10示例性的展示出了电子设备的架构,具体可以包括处理器1010,视频显示适配器1011,磁盘驱动器1012,输入/输出接口1013,网络接口1014,以及存储器1020。上述处理器1010、视频显示适配器1011、磁盘驱动器1012、输入/输出接口1013、网络接口1014,与存储器1020之间可以通过通信总线1030进行通信连接。
其中,处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储用于控制电子设备1000运行的操作系统1021,用于控制电子设备1000的低级别操作的基本输入输出系统(BIOS)。另外,还可以存储网页浏览器1023,数据存储管理系统1024,以及数据处理系统1025等等。上述数据处理系统1025就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1013用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口1014用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1030包括一通路,在设备的各个组件(例如处理器1010、视频显示适配器1011、磁盘驱动器1012、输入/输出接口1013、网络接口1014,与存储器1020)之间传输信息。
另外,该电子设备1000还可以从虚拟资源对象领取条件信息数据库1041中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器1010、视频显示适配器1011、磁盘驱动器1012、输入/输出接口1013、网络接口1014,存储器1020,总线1030等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的数据处理方法、装置及电子设备,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种数据处理系统,其特征在于,包括:
业务子系统、商品子系统、查询子系统,其中,所述商品子系统以及所述查询子系统为多个业务子系统所公用;
其中至少一个业务子系统,用于按照预置的周期从目标外部数据源获得数据对象的信息,并通过调用商品对象发布接口,生成对应的商品对象,添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
所述商品子系统,用于保存所述商品对象信息库,并提供所述商品对象发布接口以及商品对象查询接口;
所述查询子系统,用于接收到第一查询请求时,通过所述商品对象查询接口对所述商品对象信息库发起查询,如果不存在符合查询条件的商品对象,则从所述外部数据源获得符合查询条件的数据对象的信息,并对从所述外部数据源获得符合查询条件的数据对象进行缓存后,根据该数据对象的信息返回查询结果,以便在接收到针对所述数据对象提交的交易请求后,根据所述缓存的信息生成交易订单。
2.一种数据处理方法,其特征在于,包括:
按照预置的周期从目标外部数据源获得数据对象的信息;
根据所获取到的数据对象的信息,通过调用商品对象发布接口,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
接收到第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
根据所述外部数据源针对所述第二查询请求返回的符合查询条件的数据对象的信息,并对所述外部数据源返回的符合查询条件的数据对象的信息进行缓存后,向所述第一查询请求的发起方返回查询结果,在接收到针对所述数据对象提交的交易请求后,根据所述缓存的信息以及所述交易请求生成交易订单。
3.根据权利要求2所述的方法,其特征在于,
所述向所述第一查询请求的发起方返回查询结果,包括:
从所述缓存中提取出所述数据对象的信息,并生成查询结果进行返回。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
根据所述外部数据源返回的符合查询条件的数据对象的信息,通过调用商品对象发布接口,进行商品对象实例化处理,并将实例化的商品对象信息添加到所述商品对象信息库中。
5.根据权利要求4所述的方法,其特征在于,还包括:
对所述外部数据源返回的符合查询条件的数据对象的信息进行日志埋点,以用于在对应的商品对象实例化过程失败时,根据所述日志埋点信息重新进行商品对象的实例化处理。
6.根据权利要求4所述的方法,其特征在于,
所述进行商品对象实例化处理,包括:
通过独立的线程对所述数据对象的信息进行异步的商品对象实例化处理。
7.根据权利要求4所述的方法,其特征在于,还包括:
在将实例化的商品对象信息添加到商品对象信息库中之前,判断所述商品对象信息库中是否已存在该数据对象对应的商品对象信息,如果不存在,则执行所述添加到商品对象信息库中的操作,否则放弃执行。
8.一种数据处理方法,其特征在于,包括:
保存商品对象信息库,所述商品对象信息库中包括:根据目标业务子系统周期性地从目标外部数据源获得的数据对象生成或更新的商品对象信息;
接收所述目标业务子系统提交的第一查询请求,在所述商品对象信息库中进行查询,并返回查询结果,所述查询结果包括不存在符合查询条件的商品对象的信息,以便所述目标业务子系统根据所述查询条件向所述外部数据源发起第二查询请求,并获得符合查询条件的数据对象的信息;
对从所述外部数据源获得符合查询条件的数据对象进行缓存,以便在接收到针对所述数据对象提交的交易请求后,根据所述缓存的信息生成交易订单;
接收所述目标业务子系统提交的商品对象发布接口调用请求,所述调用请求中携带所述外部数据源针对所述第二查询请求返回的数据对象的信息;
根据所述调用请求,生成新的商品对象信息,并添加到所述商品对象信息库中。
9.一种用于乘坐交通工具的凭证数据处理方法,其特征在于,包括:
按照预置的周期从目标外部数据源获得用于乘坐交通工具的凭证数据对象的信息,所述凭证数据对象的信息至少包括:对应交通工具的标识信息、出发地、目的地信息以及时间信息;
根据所获得的凭证数据对象的信息,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
接收到针对所述凭证数据对象的第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
根据所述外部数据源针对所述第二查询请求返回的符合查询条件的凭证数据对象的信息,并对所述外部数据源返回的符合查询条件的凭证数据对象的信息进行缓存后,向所述第一查询请求的发起方返回查询结果;
接收针对所述凭证数据对象提交的交易请求;
根据所述缓存的信息生成交易订单。
10.根据权利要求9所述的方法,其特征在于,还包括:
根据所述外部数据源返回的符合查询条件的凭证数据对象的信息,进行商品对象实例化处理,并将实例化的商品对象信息添加到所述商品对象信息库中。
11.一种数据处理装置,其特征在于,包括:
第一数据对象信息获取单元,用于按照预置的周期从目标外部数据源获得数据对象的信息;
第一商品对象处理单元,用于根据所获取到的数据对象的信息,通过调用商品对象发布接口,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
第一查询单元,用于接收到针对所述数据对象的第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
第一查询结果返回单元,用于根据所述外部数据源针对所述第二查询请求返回的符合查询条件的数据对象的信息,并对所述外部数据源返回的符合查询条件的数据对象的信息进行缓存后,向所述第一查询请求的发起方返回查询结果,在接收到针对所述数据对象提交的交易请求后,根据所述缓存的信息以及所述交易请求生成交易订单。
12.一种数据处理装置,其特征在于,包括:
商品对象信息库保存单元,用于保存商品对象信息库,所述商品对象信息库中包括:根据目标业务子系统周期性地从目标外部数据源获得的数据对象生成或更新的商品对象信息;
查询单元,用于接收所述目标业务子系统提交的第一查询请求,在所述商品对象信息库中进行查询,并返回查询结果,所述查询结果包括不存在符合查询条件的商品对象的信息,以便所述目标业务子系统根据所述查询条件向所述外部数据源发起第二查询请求,并获得符合查询条件的数据对象的信息;
缓存单元,用于对从所述外部数据源获得符合查询条件的数据对象进行缓存,以便在接收到针对所述数据对象提交的交易请求后,根据所述缓存的信息生成交易订单;
调用请求接收单元,用于接收所述目标业务子系统提交的商品对象发布接口调用请求,所述调用请求中携带所述外部数据源针对所述第二查询请求返回的数据对象的信息;
商品对象添加单元,用于根据所述调用请求,生成新的商品对象信息,并添加到所述商品对象信息库中。
13.一种用于乘坐交通工具的凭证数据处理装置,其特征在于,包括:
第二数据对象信息获取单元,用于按照预置的周期从目标外部数据源获得用于乘坐交通工具的凭证数据对象的信息,所述凭证数据对象的信息至少包括:对应交通工具的标识信息、出发地、目的地信息以及时间信息;
第二商品对象处理单元,用于根据所获得的凭证数据对象的信息,生成对应的商品对象并添加到商品对象信息库中,或者对所述商品对象信息库中已有的商品对象信息进行更新;
第二查询单元,用于接收到针对所述凭证数据对象的第一查询请求时,如果所述商品对象信息库中不存在符合查询条件的商品对象,则根据所述查询条件向所述外部数据源发起第二查询请求;
第二查询结果返回单元,用于根据所述外部数据源针对所述第二查询请求返回的符合查询条件的凭证数据对象的信息,并对所述外部数据源返回的符合查询条件的凭证数据对象的信息进行缓存后,向所述第一查询请求的发起方返回查询结果;
交易请求接收单元,用于接收针对所述凭证数据对象提交的交易请求;
交易订单生成单元,用于根据所述缓存的信息生成交易订单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910152432.7A CN111626806B (zh) | 2019-02-28 | 2019-02-28 | 数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910152432.7A CN111626806B (zh) | 2019-02-28 | 2019-02-28 | 数据处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111626806A CN111626806A (zh) | 2020-09-04 |
CN111626806B true CN111626806B (zh) | 2023-07-04 |
Family
ID=72258760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910152432.7A Active CN111626806B (zh) | 2019-02-28 | 2019-02-28 | 数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111626806B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540803B (zh) * | 2020-12-18 | 2023-08-11 | 深圳赛安特技术服务有限公司 | 一种表单设计适配方法、装置、设备及存储介质 |
CN112732807A (zh) * | 2020-12-30 | 2021-04-30 | 福建卓融信息技术有限公司 | 一种接口调用的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017045562A1 (zh) * | 2015-09-17 | 2017-03-23 | 阿里巴巴集团控股有限公司 | 交易订单付款信息处理方法及装置 |
CN106886938A (zh) * | 2017-02-21 | 2017-06-23 | 驼队重卡(北京)物流信息技术有限责任公司 | 一种大宗商品货运吞吐信息的更新方法及装置 |
CN108399260A (zh) * | 2018-03-12 | 2018-08-14 | 上海哔哩哔哩科技有限公司 | 商品信息管理方法、服务器及商品信息管理系统 |
CN108595451A (zh) * | 2017-12-04 | 2018-09-28 | 阿里巴巴集团控股有限公司 | 业务请求处理方法及装置 |
-
2019
- 2019-02-28 CN CN201910152432.7A patent/CN111626806B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017045562A1 (zh) * | 2015-09-17 | 2017-03-23 | 阿里巴巴集团控股有限公司 | 交易订单付款信息处理方法及装置 |
CN106886938A (zh) * | 2017-02-21 | 2017-06-23 | 驼队重卡(北京)物流信息技术有限责任公司 | 一种大宗商品货运吞吐信息的更新方法及装置 |
CN108595451A (zh) * | 2017-12-04 | 2018-09-28 | 阿里巴巴集团控股有限公司 | 业务请求处理方法及装置 |
CN108399260A (zh) * | 2018-03-12 | 2018-08-14 | 上海哔哩哔哩科技有限公司 | 商品信息管理方法、服务器及商品信息管理系统 |
Non-Patent Citations (1)
Title |
---|
黎冬媛 ; 朱春媚 ; 莫剑斌 ; .基于ORM的农业信息管理系统的设计与实现.计算机技术与发展.2011,(08),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111626806A (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109690525B (zh) | 形状的流数据的自动分区 | |
CN101013427B (zh) | 用于管理数据的方法和系统 | |
CN111176761A (zh) | 微服务调用方法和装置 | |
CN111626806B (zh) | 数据处理方法、装置及电子设备 | |
CN103514207A (zh) | 一种业务对象推送的方法以及装置 | |
CN109117252A (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
CN110309142B (zh) | 规则管理的方法和装置 | |
CN111126948A (zh) | 用于审批流程的处理方法和装置 | |
CN113193947A (zh) | 实现分布式全局序的方法、设备、介质及程序产品 | |
CN113793139A (zh) | 支付异常的处理方法、处理装置、存储介质及电子设备 | |
US20080319945A1 (en) | Method and system for improving a reservation or a purchase process of an entity | |
CN110223179A (zh) | 资金的数据处理方法、装置、系统、介质 | |
CN110928594A (zh) | 服务开发方法和平台 | |
CN112819638A (zh) | 交易判重的方法、装置、设备和计算机可读介质 | |
CN112598337A (zh) | 针对物品的车辆控制方法、装置、设备和计算机可读介质 | |
CN107666499B (zh) | 用于服务器的信息存储方法和装置 | |
CN113780650B (zh) | 运力锁定方法、装置、设备和存储介质 | |
CN114579311A (zh) | 执行分布式计算任务的方法、装置、设备以及存储介质 | |
CN107909460B (zh) | 头寸同步方法、设备、数据中心及存储介质 | |
CN113760977A (zh) | 一种信息查询方法、装置、设备及存储介质 | |
CN113378346A (zh) | 模型仿真的方法和装置 | |
CN113449938B (zh) | 车辆监控的系统和方法 | |
CN111866171B (zh) | 报文处理方法、装置、电子设备和介质 | |
US20230315396A1 (en) | Integration flow workload distribution | |
US11714804B2 (en) | Method and apparatus for managing link related to keyword advertisement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |