CN110390208A - 一种复合数据项标签的优选数据源访问方法及装置 - Google Patents
一种复合数据项标签的优选数据源访问方法及装置 Download PDFInfo
- Publication number
- CN110390208A CN110390208A CN201910560748.XA CN201910560748A CN110390208A CN 110390208 A CN110390208 A CN 110390208A CN 201910560748 A CN201910560748 A CN 201910560748A CN 110390208 A CN110390208 A CN 110390208A
- Authority
- CN
- China
- Prior art keywords
- data source
- data
- access
- source
- combination
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种复合数据项标签的优选数据源访问方法及装置,方法包括:针对用户终端发送的数据获取请求中数据属性字段包含至少两个数据项标签、寻找含有所有数据项标签数据源并寻找含有部分数据项标签的数据源组成的数据源组合,数据源组合包括所有数据项标签但无重复数据项标签的情况,在满足不超过最高成本上限、最长返回时间、每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,发送本次数据访问请求,若访问成功则将本次数据访问的结果发给用户终端。可提供对复合数据源组合更高成功率的数据源访问方式。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种复合数据项标签的优选数据源访问方法及装置。
背景技术
近年来,随着大数据风控技术的不断完善,为了提升模型准确率,商户需要从不同数据源获取更多的数据作为模型变量,为了提高效率和降低成本,一般都会选择从数据服务平台获取数据。而数据服务平台,作为一个中间平台,参见图3,会外接很多(第三方)数据源,这些数据源可以为平台提供相同或不同的数据项。
目前,现有技术提供了多数据源访问方法,对于用户终端发送的复合数据字段请求(即数据获取请求中数据属性字段包含至少两个数据项标签)的情况,能够基本满足数据源TPS(Transaction Per Second,每秒执行的事务数量)、满足商户对于超时时间、降低数据源成本以提升平台整体收益的要求。
对于复合数据字段,需要考虑从多个数据源中获取不同的数据字段融合后进行输出。一般来说,每个数据源都有自己的优势数据字段,价格也比较便宜,不同数据源拥有的字段是不一样的。
本申请需要考虑的是,对于没有重合数据标签的多数据源组合,如何从不同的数据源组合中找出优选的访问顺序,如何对现有的多数据源访问方法进行进一步优化,即如何选择优选的数据源,并制定合理的数据源访问顺序,以提供更高性能的数据源访问方式,以提高访问成功率。
发明内容
针对现有技术存在的问题,本发明实施例提供一种复合数据项标签的优选数据源访问方法及装置。
本发明实施例提供一种复合数据项标签的优选数据源访问方法,包括:
接收用户终端发送的数据获取请求,读取所述数据获取请求中的数据属性字段、最高成本上限MaxMoney和最长返回时间MaxTime,其中,所述数据属性字段包含至少两个数据项标签;
在所有数据源中寻找含有所述数据属性字段中所有数据项标签的数据源,以及在所有数据源中寻找含有所述数据属性字段中部分数据项标签的不同数据源组合成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,将所有寻找的数据源和数据源组合组成第一数据源集合;
基于所读取的MaxMoney和MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,发送本次数据访问请求;
接收所挑选的独立的数据源或数据源组合返回的本次数据访问的结果,若访问成功,则将本次数据访问的结果发送给用户终端。
本发明实施例提供一种复合数据项标签的优选数据源访问装置,包括:
第一接收模块,用于接收用户终端发送的数据获取请求,读取所述数据获取请求中的数据属性字段、最高成本上限MaxMoney和最长返回时间MaxTime,其中,所述数据属性字段包含至少两个数据项标签;
组成模块,用于在所有数据源中寻找含有所述数据属性字段中所有数据项标签的数据源,以及在所有数据源中寻找含有所述数据属性字段中部分数据项标签的不同数据源组合成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,将所有寻找的数据源和数据源组合组成第一数据源集合;
挑选模块,用于基于所读取的MaxMoney和MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,发送本次数据访问请求;
第二接收模块,用于接收所挑选的独立的数据源或数据源组合返回的本次数据访问的结果,若访问成功,则将本次数据访问的结果发送给用户终端。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述方法的步骤。
本发明实施例提供的复合数据项标签的优选数据源访问方法及装置,通过针对用户终端发送的数据获取请求中数据属性字段包含至少两个数据项标签、寻找含有所有数据项标签的数据源并寻找含有部分数据项标签的数据源组成的数据源组合,数据源组合包括所有数据项标签但无重复数据项标签的情况,基于所读取的最高成本上限MaxMoney和最长返回时间MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,发送本次数据访问请求;接收所挑选的独立的数据源或数据源组合返回的本次数据访问的结果,若访问成功,则将本次数据访问的结果发送给用户终端,由此,与现有技术相比,能够针对用户终端发送的数据获取请求中数据属性字段包含至少两个数据项标签、寻找含有所有数据项标签的数据源并寻找含有部分数据项标签的数据源组成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,组成第一数据源集合的情况,可提供对复合数据源组合更高成功率的数据源访问方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种复合数据项标签的优选数据源访问方法的流程示意图;
图2为本发明一实施例提供的一种复合数据项标签的优选数据源访问装置的结构示意图;
图3为现有的用户终端通过数据服务平台服务访问多个数据源的原理示意图;
图4为本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明一实施例提供的一种复合数据项标签的优选数据源访问方法的流程示意图,如图1所示,本实施例的复合数据项标签的优选数据源访问方法,包括:
P1、接收用户终端发送的数据获取请求,读取所述数据获取请求中的数据属性字段、最高成本上限MaxMoney和最长返回时间MaxTime,其中,所述数据属性字段包含至少两个数据项标签。
可以理解的是,所述数据获取请求中的数据属性字段包含的数据项标签,代表需要获取的数据项。本实施例是针对用户终端发送的数据获取请求中的数据属性字段包含至少两个数据项标签的情况,实现数据源的访问,例如,所述数据获取请求中的数据属性字段包含的数据项标签可以为Attr1、Attr2、…、Attrn,n为所述数据获取请求中的数据属性字段包含的数据项标签的数量。
可以理解的是,所述最高成本上限MaxMoney代表本次访问用户终端接受的最高成本,例如假设MaxMoney为1元,则意味着使用所述用户终端的用户最多愿意花1元获得所述数据项标签的数据项。
可以理解的是,所述最长返回时间MaxTime代表本次访问用户终端最长可以等待获得数据项标签的值的时间。
需要说明的是,本实施例所述方法的执行主体为数据服务平台。
P2、在所有数据源中寻找含有所述数据属性字段中所有数据项标签的数据源,以及在所有数据源中寻找含有所述数据属性字段中部分数据项标签的不同数据源组合成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,将所有寻找的数据源和数据源组合组成第一数据源集合。
可以理解的是,由于所述数据获取请求中的数据属性字段包含至少两个数据项标签,本实施例需要在所有数据源中寻找含有所述数据属性字段中所有数据项标签的数据源,以及在所有数据源中寻找含有所述数据属性字段中部分数据项标签的不同数据源组合成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签(即每个数据源组合中的不同数据源之间没有重复的数据项标签)。例如:
所述数据获取请求中的数据属性字段包含的数据项标签为Attr1、Attr2、Attr3、Attr4、Attr5、Attr6;
A数据源含有数据项标签Attr1、Attr2、Attr3、Attr4、Attr5、Attr6,则将A数据源加入第一数据源集合;
B数据源含有数据项标签Attr1、Attr2、Attr3,C数据源含有数据项标签Attr4、Attr5、Attr6,则将数据源组合{B,C}加入第一数据源集合;
D数据源含有数据项标签Attr1、Attr2,E数据源含有数据项标签Attr3、Attr4,F数据源含有数据项标签Attr5、Attr6,则数据源组合{D,E,F}组合加入第一数据源集合。
P3、基于所读取的MaxMoney和MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,发送本次数据访问请求。
可以理解的是,本实施例基于所读取的MaxMoney和MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,能够从不同的数据源组合中找出优选的访问顺序,提供更高性能的数据源访问方式,以提高访问成功率。
P4、接收所挑选的独立的数据源或数据源组合返回的本次数据访问的结果,若访问成功,则将本次数据访问的结果发送给用户终端。
可以理解的是,本实施例所述方法是针对用户终端发送的数据获取请求中数据属性字段包含至少两个数据项标签、寻找含有所有数据项标签的数据源并寻找含有部分数据项标签的数据源组成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,组成第一数据源集合的情况,能够提供对复合数据源组合更高成功率的数据源访问方式,且满足对于数据源访问时间和降低数据源成本的要求,以更快、更经济的方式向用户终端返回访问成功结果。
本发明实施例提供的一种复合数据项标签的优选数据源访问方法,通过接收用户终端发送的数据获取请求,读取所述数据获取请求中的数据属性字段、最高成本上限MaxMoney和最长返回时间MaxTime,其中,所述数据属性字段包含至少两个数据项标签,在所有数据源中寻找含有所述数据属性字段中所有数据项标签的数据源,以及在所有数据源中寻找含有所述数据属性字段中部分数据项标签的不同数据源组合成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,将所有寻找的数据源和数据源组合组成第一数据源集合,基于所读取的MaxMoney和MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,发送本次数据访问请求,接收所挑选的独立的数据源或数据源组合返回的本次数据访问的结果,若访问成功,则将本次数据访问的结果发送给用户终端,由此,能够实现更高性能的数据源访问,提供对复合数据源组合更高成功率的数据源访问方式,提升平台响应速度,可满足对于数据源访问时间和降低数据源成本的要求,以更快、更经济的方式向用户终端返回访问成功结果。
进一步地,在上述实施例的基础上,所述步骤P3可以包括图中未示出的步骤Q1-Q8:
Q1、对于第一数据源集合中每个独立的数据源或数据源组合中的每个数据源,判断所述数据源对应的访问状态属性列表List的总数是否大于所述数据源对应预设的每秒最大访问频次Top TPS,若否,则确定所述数据源可以访问,将第一数据源集合中所有可以访问的独立的数据源或数据源组合加入第二数据源集合。
可以理解的是,对于每个(第三方)数据源,都会预先设定访问状态属性列表List,所述访问状态属性列表List可保存每次数据源访问的状态属性对象(StateAttr),每个StateAttr都包含两个属性:访问是否成功以及本次访问的耗费时间。
Q2、对于第二数据源集合中每个独立的数据源或数据源组合中的每个数据源,根据所述数据源的访问状态属性列表List,获取所述数据源在过去一秒内的平均访问成功比例AvgSucc,判断所述AvgSucc是否小于预设阈值,若否,则保留所述数据源,将第二数据源集合中本次保留的独立的数据源或数据源组合加入第三数据源集合。
Q3、获取所述第三数据源集合中每个独立的数据源含有所述数据属性字段中数据项标签的价格,并获取所述第三数据源集合中每个数据源组合含有所述数据属性字段中数据项标签的价格总和,将所述第三数据源集合中含有所述数据属性字段中数据项标签的价格小于所述MaxMoney的独立的数据源和所述第三数据源集合中含有所述数据属性字段中数据项标签的价格总和小于所述MaxMoney的数据源组合,组成第四数据源集合。
可以理解的是,所述MaxMoney是从用户终端发送的数据获取请求中读取的,本步骤能够确保本次访问数据源的成本不超过最高成本上限MaxMoney,即能够使本次访问数据源所花费的成本不亏损。
Q4、对第四数据源集合中的独立的数据源和数据源组合,按照数据源个数进行分组,同时将数据源个数相同的小组中含有最多组合的子数据源排在前面,列为优先访问数据源。
可以理解的是,本实施例对第四数据源集合中的独立的数据源和数据源组合,按照数据源个数进行分组,同时将数据源个数相同的小组中含有最多组合的子数据源排在前面,列为优先访问数据源,是为了尽可能的提高所有标签的访问成功率,并降低成本。
为了更清楚的说明,可举例假设第四数据源集合中数据源个数为2的数据源组合为:{S3,S4}、{S3,S5}、{S3,S6}、{S4,S7}、{S8,S9},可以看到含有S3的有3个组合、含有S4的有2个组合、含有S5/S6/S7/S8/S9的均只有1个组合。因此本实施例将S3开头的组合列为优选访问数据组合,并且优先访问S3;本实施例采用该方式的目的是为了在访问S3后,可以根据实际花费时间以及费用,可以有更多的后续选择,从而提高在规定时间内返回结果以及尽可能降低数据成本的目的。
Q5、为第四数据源集合中的不同分组,设置不同的优先级,最高优先级为独立的数据源,其次按照数据源个数由小到大将优先级从高到低进行设置,并对第四数据源集合中的不同分组按照优先级从高到低进行访问。
可以理解的是,对第四数据源集合中的不同分组按照优先级从高到低进行访问的详细内容需参照下述步骤Q6-Q8的内容。
可以理解的是,本实施例为第四数据源集合中的不同分组,设置不同的优先级,能够提高数据访问速度。
Q6、对于分组后第四数据源集合中独立的数据源,根据每个数据源的访问状态属性列表List,获取每个数据源在过去一秒内的平均访问时间AvgTime和访问属性对应的价格Price,根据当前数据平台的平均被商户请求TPS和数据平台的峰值容量TPS,获取本次向数据源请求的最高预估允许访问时间EstimateTime,判断所述AvgTime是否小于MaxTime的同时小于EstimateTime,若是,则在所述独立的数据源中挑选Price最低的数据源S1发送本次数据访问请求。
可以理解的是,本步骤是根据本次向数据源请求的最高预估允许访问时间EstimateTime和从用户终端发送的数据获取请求中读取的最长返回时间MaxTime,在分组后第四数据源集合中独立的数据源中,优选符合访问时间要求的数据源;在所述独立的数据源中挑选Price最低的数据源S1进行访问,能够使本次访问数据源的成本最低,保证数据服务平台的收益最高。
Q7、对于分组后第四数据源集合中的数据源组合,在含有组合最多的优先访问数据源,根据每个数据源的访问状态属性列表List,获取每个数据源在过去一秒内的平均访问时间AvgTime和访问属性对应的价格Price,根据当前数据平台的平均被商户请求TPS和数据平台的峰值容量TPS,获取本次向数据源请求的最高预估允许访问时间EstimateTime,判断所述AvgTime是否小于MaxTime的同时小于EstimateTime,若是,则保留所述优先访问数据源,在所有保留的优先访问数据源中,挑选Price最低的数据源S2发送本次数据访问请求。
可以理解的是,本步骤是根据本次向数据源请求的最高预估允许访问时间EstimateTime和从用户终端发送的数据获取请求中读取的最长返回时间MaxTime,在分组后第四数据源集合中的数据源组合中,优选符合访问时间要求的数据源。本步骤能够提高整个数据服务平台的吞吐量,且通过在所有保留的优先访问数据源中挑选Price最低的数据源S2进行访问,能够降低本次访问数据源的成本,大大提高数据服务平台的收益。
Q8、接收数据源S2返回的本次数据访问的结果,若访问成功,则计算本次的访问时间ProcessTime,令第四数据源集合中含有S2的所有数据源组合删除S2,返回执行所述步骤Q4对第四数据源集合中的独立的数据源和数据源组合,按照数据源个数进行分组,同时将数据源个数相同的小组中含有最多组合的子数据源排在前面,列为优先访问数据源的步骤,以选择后续执行数据源路径,直至对第四数据源集合中的所有数据源组合均挑选完成。
可以理解的是,本实施例所述方法能够针对用户终端发送的数据获取请求中数据属性字段包含至少两个数据项标签、寻找含有所有数据项标签的数据源并寻找含有部分数据项标签的数据源组成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,组成第一数据源集合的情况,能够实现更高性能的数据源访问,提供对复合数据源组合更高成功率的数据源访问方式,在不超过数据源访问频度的情况下,提升平台响应速度,可满足对于数据源TPS、访问时间和降低数据源成本的要求,以更快、更经济的方式向用户终端返回访问成功结果,在最高成功率以及不亏损的情况下达到数据服务平台的最大收益;对于需要从不同数据源获取数据进行组合的情况,会根据组合情况来优选访问的第一数据源,保证后续根据实际花费时间以及费用,可以有更多的后续选择,从而提高在规定时间内返回结果以及尽可能降低数据访问成本的目的。
进一步地,在上述实施例的基础上,在所述步骤P4接收所挑选的独立的数据源或数据源组合返回的本次数据访问的结果之后,本实施例所述方法还可以包括:
根据所述本次数据访问的结果,生成一个本次访问的状态属性对象,所述本次访问的状态属性对象,包括:本次访问是否成功和本次访问的耗费时间,将生成的本次访问的状态属性对象加入所挑选的数据源或数据源组合所对应的访问状态属性列表List。
可以理解的是,在将生成的本次访问的状态属性对象加入所挑选的数据源或数据源组合所对应的访问状态属性列表List之后,所述方法还可以包括:
在预设数据生存时间TTL之后,所挑选的数据源或数据源组合所对应的访问状态属性列表List中所加入的本次访问的状态属性对象被自动清除。
在具体应用中,可以根据实际情况对所述TTL进行预先设置,本实施例并不对其进行限制,举例来说,所述TTL可以预先设置为1秒。
可以理解的是,对于每个(第三方)数据源,都会预先设定访问状态属性列表List中状态属性对象的数据生存时间TTL,以使每个状态属性对象在加入到访问状态属性列表List的TTL之后被自动清除。
进一步地,在上述实施例的基础上,在所述步骤Q1判断所述数据源对应的访问状态属性列表List的总数是否大于所述数据源对应预设的每秒最大访问频次Top TPS之后,本实施例所述方法还可以包括:
若所述数据源对应的访问状态属性列表List的总数大于所述数据源预设的TopTPS,则不访问所述数据源。
可以理解的是,若所述数据源对应的访问状态属性列表List的总数大于所述数据源预设的Top TPS,可能会产生访问数据源超过允许频率,导致封禁现象的发生,此时不访问所述数据源。
进一步地,在上述实施例的基础上,在所述步骤Q2判断所述AvgSucc是否小于预设阈值之后,本实施例所述方法还可以包括:
若所述AvgSucc小于预设阈值,则将所述数据源抛弃。
可以理解的是,若所述数据源的AvgSucc小于预设阈值,则可认为访问所述数据源的成功率较低,直接将所述数据源抛弃。
进一步地,在上述实施例的基础上,在上述判断所述AvgTime是否小于MaxTime的同时小于EstimateTime之后,本实施例所述方法还可以包括:
若所述AvgTime不满足小于MaxTime的同时小于EstimateTime,则将数据源抛弃。
可以理解的是,若所述AvgTime不满足小于MaxTime的同时小于EstimateTime,则说明数据源不满足访问时间要求,需要将数据源抛弃。
本发明实施例提供的一种复合数据项标签的优选数据源访问方法,与现有技术相比,能够针对用户终端发送的数据获取请求中数据属性字段包含至少两个数据项标签、寻找含有所有数据项标签的数据源并寻找含有部分数据项标签的数据源组成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,组成第一数据源集合的情况,实现更高性能的数据源访问,提供对复合数据源组合更高成功率的数据源访问方式,在不超过数据源访问频度的情况下,提升平台响应速度,可满足对于数据源TPS、访问时间和降低数据源成本的要求,以更快、更经济的方式向用户终端返回访问成功结果,在最高成功率以及不亏损的情况下达到数据服务平台的最大收益;对于需要从不同数据源获取数据进行组合的情况,会根据组合情况来优选访问的第一数据源,保证后续根据实际花费时间以及费用,可以有更多的后续选择,从而提高在规定时间内返回结果以及尽可能降低数据访问成本的目的。
图2示出了本发明一实施例提供的一种复合数据项标签的优选数据源访问装置的结构示意图,如图2所示,本实施例的复合数据项标签的优选数据源访问装置,包括:第一接收模块21、组成模块22、挑选模块23和第二接收模块24;其中:
所述第一接收模块21,用于接收用户终端发送的数据获取请求,读取所述数据获取请求中的数据属性字段、最高成本上限MaxMoney和最长返回时间MaxTime,其中,所述数据属性字段包含至少两个数据项标签;
所述组成模块22,用于在所有数据源中寻找含有所述数据属性字段中所有数据项标签的数据源,以及在所有数据源中寻找含有所述数据属性字段中部分数据项标签的不同数据源组合成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,将所有寻找的数据源和数据源组合组成第一数据源集合;
所述挑选模块23,用于基于所读取的MaxMoney和MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,发送本次数据访问请求;
所述第二接收模块24,用于接收所挑选的独立的数据源或数据源组合返回的本次数据访问的结果,若访问成功,则将本次数据访问的结果发送给用户终端。
具体地,所述第一接收模块21接收用户终端发送的数据获取请求,读取所述数据获取请求中的数据属性字段、最高成本上限MaxMoney和最长返回时间MaxTime,其中,所述数据属性字段包含至少两个数据项标签;所述组成模块22在所有数据源中寻找含有所述数据属性字段中所有数据项标签的数据源,以及在所有数据源中寻找含有所述数据属性字段中部分数据项标签的不同数据源组合成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,将所有寻找的数据源和数据源组合组成第一数据源集合;所述挑选模块23基于所读取的MaxMoney和MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,发送本次数据访问请求;所述第二接收模块24接收所挑选的独立的数据源或数据源组合返回的本次数据访问的结果,若访问成功,则将本次数据访问的结果发送给用户终端。
可以理解的是,所述数据获取请求中的数据属性字段包含的数据项标签,代表需要获取的数据项。本实施例是针对用户终端发送的数据获取请求中的数据属性字段包含至少两个数据项标签的情况,实现数据源的访问,例如,所述数据获取请求中的数据属性字段包含的数据项标签可以为Attr1、Attr2、…、Attrn,n为所述数据获取请求中的数据属性字段包含的数据项标签的数量。
可以理解的是,所述最高成本上限MaxMoney代表本次访问用户终端接受的最高成本,例如假设MaxMoney为1元,则意味着使用所述用户终端的用户最多愿意花1元获得所述数据项标签的数据项。
可以理解的是,所述最长返回时间MaxTime代表本次访问用户终端最长可以等待获得数据项标签的值的时间。
需要说明的是,本实施例所述装置应用于数据服务平台。
可以理解的是,由于所述数据获取请求中的数据属性字段包含至少两个数据项标签,所述组成模块22需要在所有数据源中寻找含有所述数据属性字段中所有数据项标签的数据源,以及在所有数据源中寻找含有所述数据属性字段中部分数据项标签的不同数据源组合成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签(即每个数据源组合中的不同数据源之间没有重复的数据项标签)。例如:
所述数据获取请求中的数据属性字段包含的数据项标签为Attr1、Attr2、Attr3、Attr4、Attr5、Attr6;
A数据源含有数据项标签Attr1、Attr2、Attr3、Attr4、Attr5、Attr6,则将A数据源加入第一数据源集合;
B数据源含有数据项标签Attr1、Attr2、Attr3,C数据源含有数据项标签Attr4、Attr5、Attr6,则将数据源组合{B,C}加入第一数据源集合;
D数据源含有数据项标签Attr1、Attr2,E数据源含有数据项标签Attr3、Attr4,F数据源含有数据项标签Attr5、Attr6,则数据源组合{D,E,F}组合加入第一数据源集合。
可以理解的是,本实施例基于所读取的MaxMoney和MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,能够从不同的数据源组合中找出优选的访问顺序,提供更高性能的数据源访问方式,以提高访问成功率。
可以理解的是,本实施例所述装置是针对用户终端发送的数据获取请求中数据属性字段包含至少两个数据项标签、寻找含有所有数据项标签的数据源并寻找含有部分数据项标签的数据源组成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,组成第一数据源集合的情况,能够实现更高性能的数据源访问,提供对复合数据源组合更高成功率的数据源访问方式,可满足对于数据源访问时间和降低数据源成本的要求,以更快、更经济的方式向用户终端返回访问成功结果。
本发明实施例提供的一种复合数据项标签的优选数据源访问装置,能够针对用户终端发送的数据获取请求中数据属性字段包含至少两个数据项标签、寻找含有所有数据项标签的数据源并寻找含有部分数据项标签的数据源组成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,组成第一数据源集合的情况,实现更高性能的数据源访问,提升平台响应速度,可满足对于数据源访问时间和降低数据源成本的要求,以更快、更经济的方式向用户终端返回访问成功结果。
进一步地,在上述实施例的基础上,所述挑选模块23,可具体用于
对于第一数据源集合中每个独立的数据源或数据源组合中的每个数据源,判断所述数据源对应的访问状态属性列表List的总数是否大于所述数据源对应预设的每秒最大访问频次Top TPS,若否,则确定所述数据源可以访问,将第一数据源集合中所有可以访问的独立的数据源或数据源组合加入第二数据源集合;
对于第二数据源集合中每个独立的数据源或数据源组合中的每个数据源,根据所述数据源的访问状态属性列表List,获取所述数据源在过去一秒内的平均访问成功比例AvgSucc,判断所述AvgSucc是否小于预设阈值,若否,则保留所述数据源,将第二数据源集合中本次保留的独立的数据源或数据源组合加入第三数据源集合;
获取所述第三数据源集合中每个独立的数据源含有所述数据属性字段中数据项标签的价格,并获取所述第三数据源集合中每个数据源组合含有所述数据属性字段中数据项标签的价格总和,将所述第三数据源集合中含有所述数据属性字段中数据项标签的价格小于所述MaxMoney的独立的数据源和所述第三数据源集合中含有所述数据属性字段中数据项标签的价格总和小于所述MaxMoney的数据源组合,组成第四数据源集合;
对第四数据源集合中的独立的数据源和数据源组合,按照数据源个数进行分组,同时将数据源个数相同的小组中含有最多组合的子数据源排在前面,列为优先访问数据源;
为第四数据源集合中的不同分组,设置不同的优先级,最高优先级为独立的数据源,其次按照数据源个数由小到大将优先级从高到低进行设置,并对第四数据源集合中的不同分组按照优先级从高到低进行访问;
对于分组后第四数据源集合中独立的数据源,根据每个数据源的访问状态属性列表List,获取每个数据源在过去一秒内的平均访问时间AvgTime和访问属性对应的价格Price,根据当前数据平台的平均被商户请求TPS和数据平台的峰值容量TPS,获取本次向数据源请求的最高预估允许访问时间EstimateTime,判断所述AvgTime是否小于MaxTime的同时小于EstimateTime,若是,则在所述独立的数据源中挑选Price最低的数据源S1发送本次数据访问请求;
对于分组后第四数据源集合中的数据源组合,在含有组合最多的优先访问数据源,根据每个数据源的访问状态属性列表List,获取每个数据源在过去一秒内的平均访问时间AvgTime和访问属性对应的价格Price,根据当前数据平台的平均被商户请求TPS和数据平台的峰值容量TPS,获取本次向数据源请求的最高预估允许访问时间EstimateTime,判断所述AvgTime是否小于MaxTime的同时小于EstimateTime,若是,则保留所述优先访问数据源,在所有保留的优先访问数据源中,挑选Price最低的数据源S2发送本次数据访问请求;
接收数据源S2返回的本次数据访问的结果,若访问成功,则计算本次的访问时间ProcessTime,令第四数据源集合中含有S2的所有数据源组合删除S2,返回执行所述对第四数据源集合中的独立的数据源和数据源组合,按照数据源个数进行分组,同时将数据源个数相同的小组中含有最多组合的子数据源排在前面,列为优先访问数据源的步骤,以选择后续执行数据源路径,直至对第四数据源集合中的所有数据源组合均挑选完成。
可以理解的是,对于每个(第三方)数据源,都会预先设定访问状态属性列表List,所述访问状态属性列表List可保存每次数据源访问的状态属性对象(StateAttr),每个StateAttr都包含两个属性:访问是否成功以及本次访问的耗费时间。
可以理解的是,所述MaxMoney是从用户终端发送的数据获取请求中读取的,所述挑选模块23能够确保本次访问数据源的成本不超过最高成本上限MaxMoney,即能够使本次访问数据源所花费的成本不亏损。
可以理解的是,所述挑选模块23对第四数据源集合中的独立的数据源和数据源组合,按照数据源个数进行分组,同时将数据源个数相同的小组中含有最多组合的子数据源排在前面,列为优先访问数据源,是为了尽可能的提高所有标签的访问成功率,并降低成本。
可以理解的是,所述挑选模块23为第四数据源集合中的不同分组,设置不同的优先级,能够提高数据访问速度。
可以理解的是,所述挑选模块23是根据本次向数据源请求的最高预估允许访问时间EstimateTime和从用户终端发送的数据获取请求中读取的最长返回时间MaxTime,在分组后第四数据源集合中独立的数据源中,优选符合访问时间要求的数据源,能够提高整个数据服务平台的吞吐量;所述挑选模块23在所述独立的数据源中挑选Price最低的数据源S1进行访问,能够使本次访问数据源的成本最低,保证数据服务平台的收益最高。
可以理解的是,所述挑选模块23根据本次向数据源请求的最高预估允许访问时间EstimateTime和从用户终端发送的数据获取请求中读取的最长返回时间MaxTime,在分组后第四数据源集合中的数据源组合中,优选符合访问时间要求的数据源,能够提高整个数据服务平台的吞吐量;所述挑选模块23在所有保留的优先访问数据源中,挑选Price最低的数据源S2进行访问,能够使本次访问数据源的成本最低,保证数据服务平台的收益最高。
可以理解的是,本实施例所述装置能够针对用户终端发送的数据获取请求中数据属性字段包含至少两个数据项标签、寻找含有所有数据项标签的数据源并寻找含有部分数据项标签的数据源组成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,组成第一数据源集合的情况,可实现更高性能的数据源访问,提供对复合数据源组合更高成功率的数据源访问方式,在不超过数据源访问频度的情况下,提升平台响应速度,可满足对于数据源TPS、访问时间和降低数据源成本的要求,以更快、更经济的方式向用户终端返回访问成功结果,在最高成功率以及不亏损的情况下达到数据服务平台的最大收益;对于需要从不同数据源获取数据进行组合的情况,会根据组合情况来优选访问的第一数据源,保证后续根据实际花费时间以及费用,可以有更多的后续选择,从而提高在规定时间内返回结果以及尽可能降低数据访问成本的目的。
进一步地,在上述实施例的基础上,所述第二接收模块24,还可用于
根据所述本次数据访问的结果,生成一个本次访问的状态属性对象,所述本次访问的状态属性对象,包括:本次访问是否成功和本次访问的耗费时间,将生成的本次访问的状态属性对象加入所挑选的数据源或数据源组合所对应的访问状态属性列表List。
可以理解的是,所述第二接收模块,还可用于
在将生成的本次访问的状态属性对象加入所挑选的数据源或数据源组合所对应的访问状态属性列表List之后,在预设数据生存时间TTL之后,所挑选的数据源或数据源组合所对应的访问状态属性列表List中所加入的本次访问的状态属性对象被自动清除。
在具体应用中,可以根据实际情况对所述TTL进行预先设置,本实施例并不对其进行限制,举例来说,所述TTL可以预先设置为1秒。对于每个(第三方)数据源,都会预先设定访问状态属性列表List中状态属性对象的数据生存时间TTL,以使每个状态属性对象在加入到访问状态属性列表List的TTL之后被自动清除。
进一步地,在上述实施例的基础上,所述挑选模块23,还可用于
在判断所述数据源对应的访问状态属性列表List的总数是否大于所述数据源对应预设的每秒最大访问频次Top TPS之后,若所述数据源对应的访问状态属性列表List的总数大于所述数据源预设的Top TPS,则不访问所述数据源。
可以理解的是,若所述数据源对应的访问状态属性列表List的总数大于所述数据源预设的Top TPS,可能会产生访问数据源超过允许频率,导致封禁现象的发生,此时不访问所述数据源。
进一步地,在上述实施例的基础上,所述挑选模块23,还可用于
在判断所述AvgSucc是否小于预设阈值之后,若所述AvgSucc小于预设阈值,则将所述数据源抛弃。
可以理解的是,若所述数据源的AvgSucc小于预设阈值,则可认为访问所述数据源的成功率较低,直接将所述数据源抛弃。
进一步地,在上述实施例的基础上,所述挑选模块23,还可用于
在判断所述AvgTime是否小于MaxTime的同时小于EstimateTime之后,若所述AvgTime不满足小于MaxTime的同时小于EstimateTime,则将数据源抛弃。
可以理解的是,若所述AvgTime不满足小于MaxTime的同时小于EstimateTime,则说明数据源不满足访问时间要求,需要将数据源抛弃。
本发明实施例提供的一种复合数据项标签的优选数据源访问装置,能够针对用户终端发送的数据获取请求中数据属性字段包含至少两个数据项标签、寻找含有所有数据项标签的数据源并寻找含有部分数据项标签的数据源组成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,组成第一数据源集合的情况,可实现更高性能的数据源访问,提供对复合数据源组合更高成功率的数据源访问方式,在不超过数据源访问频度的情况下,提升平台响应速度,可满足对于数据源TPS、访问时间和降低数据源成本的要求,以更快、更经济的方式向用户终端返回访问成功结果,在最高成功率以及不亏损的情况下达到数据服务平台的最大收益;对于需要从不同数据源获取数据进行组合的情况,会根据组合情况来优选访问的第一数据源,保证后续根据实际花费时间以及费用,可以有更多的后续选择,从而提高在规定时间内返回结果以及尽可能降低数据访问成本的目的。
本发明实施例提供的一种复合数据项标签的优选数据源访问装置,可以用于执行前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4示出了本发明一实施例提供的一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括存储器402、处理器401及存储在存储器402上并可在处理器401上运行的计算机程序,所述处理器401执行所述程序时实现上述方法的步骤,例如包括:接收用户终端发送的数据获取请求,读取所述数据获取请求中的数据属性字段、最高成本上限MaxMoney和最长返回时间MaxTime,其中,所述数据属性字段包含至少两个数据项标签;在所有数据源中寻找含有所述数据属性字段中所有数据项标签的数据源,以及在所有数据源中寻找含有所述数据属性字段中部分数据项标签的不同数据源组合成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,将所有寻找的数据源和数据源组合组成第一数据源集合;基于所读取的MaxMoney和MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,发送本次数据访问请求;接收所挑选的独立的数据源或数据源组合返回的本次数据访问的结果,若访问成功,则将本次数据访问的结果发送给用户终端。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤,例如包括:接收用户终端发送的数据获取请求,读取所述数据获取请求中的数据属性字段、最高成本上限MaxMoney和最长返回时间MaxTime,其中,所述数据属性字段包含至少两个数据项标签;在所有数据源中寻找含有所述数据属性字段中所有数据项标签的数据源,以及在所有数据源中寻找含有所述数据属性字段中部分数据项标签的不同数据源组合成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,将所有寻找的数据源和数据源组合组成第一数据源集合;基于所读取的MaxMoney和MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,发送本次数据访问请求;接收所挑选的独立的数据源或数据源组合返回的本次数据访问的结果,若访问成功,则将本次数据访问的结果发送给用户终端。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (16)
1.一种复合数据项标签的优选数据源访问方法,其特征在于,包括:
接收用户终端发送的数据获取请求,读取所述数据获取请求中的数据属性字段、最高成本上限MaxMoney和最长返回时间MaxTime,其中,所述数据属性字段包含至少两个数据项标签;
在所有数据源中寻找含有所述数据属性字段中所有数据项标签的数据源,以及在所有数据源中寻找含有所述数据属性字段中部分数据项标签的不同数据源组合成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,将所有寻找的数据源和数据源组合组成第一数据源集合;
基于所读取的MaxMoney和MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,发送本次数据访问请求;
接收所挑选的独立的数据源或数据源组合返回的本次数据访问的结果,若访问成功,则将本次数据访问的结果发送给用户终端。
2.根据权利要求1所述的复合数据项标签的优选数据源访问方法,其特征在于,所述基于所读取的MaxMoney和MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,发送本次数据访问请求,包括:
对于第一数据源集合中每个独立的数据源或数据源组合中的每个数据源,判断所述数据源对应的访问状态属性列表List的总数是否大于所述数据源对应预设的每秒最大访问频次Top TPS,若否,则确定所述数据源可以访问,将第一数据源集合中所有可以访问的独立的数据源或数据源组合加入第二数据源集合;
对于第二数据源集合中每个独立的数据源或数据源组合中的每个数据源,根据所述数据源的访问状态属性列表List,获取所述数据源在过去一秒内的平均访问成功比例AvgSucc,判断所述AvgSucc是否小于预设阈值,若否,则保留所述数据源,将第二数据源集合中本次保留的独立的数据源或数据源组合加入第三数据源集合;
获取所述第三数据源集合中每个独立的数据源含有所述数据属性字段中数据项标签的价格,并获取所述第三数据源集合中每个数据源组合含有所述数据属性字段中数据项标签的价格总和,将所述第三数据源集合中含有所述数据属性字段中数据项标签的价格小于所述MaxMoney的独立的数据源和所述第三数据源集合中含有所述数据属性字段中数据项标签的价格总和小于所述MaxMoney的数据源组合,组成第四数据源集合;
对第四数据源集合中的独立的数据源和数据源组合,按照数据源个数进行分组,同时将数据源个数相同的小组中含有最多组合的子数据源排在前面,列为优先访问数据源;
为第四数据源集合中的不同分组,设置不同的优先级,最高优先级为独立的数据源,其次按照数据源个数由小到大将优先级从高到低进行设置,并对第四数据源集合中的不同分组按照优先级从高到低进行访问;
对于分组后第四数据源集合中独立的数据源,根据每个数据源的访问状态属性列表List,获取每个数据源在过去一秒内的平均访问时间AvgTime和访问属性对应的价格Price,根据当前数据平台的平均被商户请求TPS和数据平台的峰值容量TPS,获取本次向数据源请求的最高预估允许访问时间EstimateTime,判断所述AvgTime是否小于MaxTime的同时小于EstimateTime,若是,则在所述独立的数据源中挑选Price最低的数据源S1发送本次数据访问请求;
对于分组后第四数据源集合中的数据源组合,在含有组合最多的优先访问数据源,根据每个数据源的访问状态属性列表List,获取每个数据源在过去一秒内的平均访问时间AvgTime和访问属性对应的价格Price,根据当前数据平台的平均被商户请求TPS和数据平台的峰值容量TPS,获取本次向数据源请求的最高预估允许访问时间EstimateTime,判断所述AvgTime是否小于MaxTime的同时小于EstimateTime,若是,则保留所述优先访问数据源,在所有保留的优先访问数据源中,挑选Price最低的数据源S2发送本次数据访问请求;
接收数据源S2返回的本次数据访问的结果,若访问成功,则计算本次的访问时间ProcessTime,令第四数据源集合中含有S2的所有数据源组合删除S2,返回执行所述对第四数据源集合中的独立的数据源和数据源组合,按照数据源个数进行分组,同时将数据源个数相同的小组中含有最多组合的子数据源排在前面,列为优先访问数据源的步骤,以选择后续执行数据源路径,直至对第四数据源集合中的所有数据源组合均挑选完成。
3.根据权利要求1所述的复合数据项标签的优选数据源访问方法,其特征在于,在接收所挑选的独立的数据源或数据源组合返回的本次数据访问的结果之后,所述方法还包括:
根据所述本次数据访问的结果,生成一个本次访问的状态属性对象,所述本次访问的状态属性对象,包括:本次访问是否成功和本次访问的耗费时间,将生成的本次访问的状态属性对象加入所挑选的数据源或数据源组合所对应的访问状态属性列表List。
4.根据权利要求3所述的复合数据项标签的优选数据源访问方法,其特征在于,在将生成的本次访问的状态属性对象加入所挑选的数据源或数据源组合所对应的访问状态属性列表List之后,所述方法还包括:
在预设数据生存时间TTL之后,所挑选的数据源或数据源组合所对应的访问状态属性列表List中所加入的本次访问的状态属性对象被自动清除。
5.根据权利要求2所述的复合数据项标签的优选数据源访问方法,其特征在于,在判断所述数据源对应的访问状态属性列表List的总数是否大于所述数据源对应预设的每秒最大访问频次Top TPS之后,所述方法还包括:
若所述数据源对应的访问状态属性列表List的总数大于所述数据源预设的Top TPS,则不访问所述数据源。
6.根据权利要求2所述的复合数据项标签的优选数据源访问方法,其特征在于,在判断所述AvgSucc是否小于预设阈值之后,所述方法还包括:
若所述AvgSucc小于预设阈值,则将所述数据源抛弃。
7.根据权利要求2所述的复合数据项标签的优选数据源访问方法,其特征在于,在判断所述AvgTime是否小于MaxTime的同时小于EstimateTime之后,所述方法还包括:
若所述AvgTime不满足小于MaxTime的同时小于EstimateTime,则将数据源抛弃。
8.一种复合数据项标签的优选数据源访问装置,其特征在于,包括:
第一接收模块,用于接收用户终端发送的数据获取请求,读取所述数据获取请求中的数据属性字段、最高成本上限MaxMoney和最长返回时间MaxTime,其中,所述数据属性字段包含至少两个数据项标签;
组成模块,用于在所有数据源中寻找含有所述数据属性字段中所有数据项标签的数据源,以及在所有数据源中寻找含有所述数据属性字段中部分数据项标签的不同数据源组合成的数据源组合,所述数据源组合包括所述数据属性字段中所有数据项标签且但不包括重复的数据项标签,将所有寻找的数据源和数据源组合组成第一数据源集合;
挑选模块,用于基于所读取的MaxMoney和MaxTime,在满足不超过每秒最大访问频次,最低成功率的基础上从所述第一数据源集合中选择数据源组合,从选择的数据源组合中根据数据源出现的次数优选访问数据源的策略,发送本次数据访问请求;
第二接收模块,用于接收所挑选的独立的数据源或数据源组合返回的本次数据访问的结果,若访问成功,则将本次数据访问的结果发送给用户终端。
9.根据权利要求8所述的复合数据项标签的优选数据源访问装置,其特征在于,所述挑选模块,具体用于
对于第一数据源集合中每个独立的数据源或数据源组合中的每个数据源,判断所述数据源对应的访问状态属性列表List的总数是否大于所述数据源对应预设的每秒最大访问频次Top TPS,若否,则确定所述数据源可以访问,将第一数据源集合中所有可以访问的独立的数据源或数据源组合加入第二数据源集合;
对于第二数据源集合中每个独立的数据源或数据源组合中的每个数据源,根据所述数据源的访问状态属性列表List,获取所述数据源在过去一秒内的平均访问成功比例AvgSucc,判断所述AvgSucc是否小于预设阈值,若否,则保留所述数据源,将第二数据源集合中本次保留的独立的数据源或数据源组合加入第三数据源集合;
获取所述第三数据源集合中每个独立的数据源含有所述数据属性字段中数据项标签的价格,并获取所述第三数据源集合中每个数据源组合含有所述数据属性字段中数据项标签的价格总和,将所述第三数据源集合中含有所述数据属性字段中数据项标签的价格小于所述MaxMoney的独立的数据源和所述第三数据源集合中含有所述数据属性字段中数据项标签的价格总和小于所述MaxMoney的数据源组合,组成第四数据源集合;
对第四数据源集合中的独立的数据源和数据源组合,按照数据源个数进行分组,同时将数据源个数相同的小组中含有最多组合的子数据源排在前面,列为优先访问数据源;
为第四数据源集合中的不同分组,设置不同的优先级,最高优先级为独立的数据源,其次按照数据源个数由小到大将优先级从高到低进行设置,并对第四数据源集合中的不同分组按照优先级从高到低进行访问;
对于分组后第四数据源集合中独立的数据源,根据每个数据源的访问状态属性列表List,获取每个数据源在过去一秒内的平均访问时间AvgTime和访问属性对应的价格Price,根据当前数据平台的平均被商户请求TPS和数据平台的峰值容量TPS,获取本次向数据源请求的最高预估允许访问时间EstimateTime,判断所述AvgTime是否小于MaxTime的同时小于EstimateTime,若是,则在所述独立的数据源中挑选Price最低的数据源S1发送本次数据访问请求;
对于分组后第四数据源集合中的数据源组合,在含有组合最多的优先访问数据源,根据每个数据源的访问状态属性列表List,获取每个数据源在过去一秒内的平均访问时间AvgTime和访问属性对应的价格Price,根据当前数据平台的平均被商户请求TPS和数据平台的峰值容量TPS,获取本次向数据源请求的最高预估允许访问时间EstimateTime,判断所述AvgTime是否小于MaxTime的同时小于EstimateTime,若是,则保留所述优先访问数据源,在所有保留的优先访问数据源中,挑选Price最低的数据源S2发送本次数据访问请求;
接收数据源S2返回的本次数据访问的结果,若访问成功,则计算本次的访问时间ProcessTime,令第四数据源集合中含有S2的所有数据源组合删除S2,返回执行所述对第四数据源集合中的独立的数据源和数据源组合,按照数据源个数进行分组,同时将数据源个数相同的小组中含有最多组合的子数据源排在前面,列为优先访问数据源的步骤,以选择后续执行数据源路径,直至对第四数据源集合中的所有数据源组合均挑选完成。
10.根据权利要求8所述的复合数据项标签的优选数据源访问装置,其特征在于,所述第二接收模块,还用于
根据所述本次数据访问的结果,生成一个本次访问的状态属性对象,所述本次访问的状态属性对象,包括:本次访问是否成功和本次访问的耗费时间,将生成的本次访问的状态属性对象加入所挑选的数据源或数据源组合所对应的访问状态属性列表List。
11.根据权利要求10所述的复合数据项标签的优选数据源访问装置,其特征在于,所述第二接收模块,还用于
在将生成的本次访问的状态属性对象加入所挑选的数据源或数据源组合所对应的访问状态属性列表List之后,在预设数据生存时间TTL之后,所挑选的数据源或数据源组合所对应的访问状态属性列表List中所加入的本次访问的状态属性对象被自动清除。
12.根据权利要求9所述的复合数据项标签的优选数据源访问装置,其特征在于,所述挑选模块,还用于
在判断所述数据源对应的访问状态属性列表List的总数是否大于所述数据源对应预设的每秒最大访问频次Top TPS之后,若所述数据源对应的访问状态属性列表List的总数大于所述数据源预设的Top TPS,则不访问所述数据源。
13.根据权利要求9所述的复合数据项标签的优选数据源访问装置,其特征在于,所述挑选模块,还用于
在判断所述AvgSucc是否小于预设阈值之后,若所述AvgSucc小于预设阈值,则将所述数据源抛弃。
14.根据权利要求9所述的多数据源融合访问装置复合数据项标签的优选数据源访问装置,其特征在于,所述挑选模块,还用于
在判断所述AvgTime是否小于MaxTime的同时小于EstimateTime之后,若所述AvgTime不满足小于MaxTime的同时小于EstimateTime,则将数据源抛弃。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述方法的步骤。
16.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910560748.XA CN110390208B (zh) | 2019-06-26 | 2019-06-26 | 一种复合数据项标签的优选数据源访问方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910560748.XA CN110390208B (zh) | 2019-06-26 | 2019-06-26 | 一种复合数据项标签的优选数据源访问方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110390208A true CN110390208A (zh) | 2019-10-29 |
CN110390208B CN110390208B (zh) | 2023-02-21 |
Family
ID=68285582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910560748.XA Active CN110390208B (zh) | 2019-06-26 | 2019-06-26 | 一种复合数据项标签的优选数据源访问方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110390208B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000694A (zh) * | 2020-09-11 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 一种数据获取方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110040749A1 (en) * | 2009-08-13 | 2011-02-17 | Politecnico Di Milano | Method for extracting, merging and ranking search engine results |
US8438132B1 (en) * | 2006-03-31 | 2013-05-07 | United Services Automobile Association (Usaa) | System and method for integrating data across different enterprise systems |
CN106776901A (zh) * | 2016-11-30 | 2017-05-31 | 北京知道创宇信息技术有限公司 | 数据提取方法、装置及系统 |
CN107515866A (zh) * | 2016-06-15 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 一种数据操作方法、装置和系统 |
CN108628866A (zh) * | 2017-03-20 | 2018-10-09 | 大有秦鼎(北京)科技有限公司 | 数据融合的方法和装置 |
-
2019
- 2019-06-26 CN CN201910560748.XA patent/CN110390208B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8438132B1 (en) * | 2006-03-31 | 2013-05-07 | United Services Automobile Association (Usaa) | System and method for integrating data across different enterprise systems |
US20110040749A1 (en) * | 2009-08-13 | 2011-02-17 | Politecnico Di Milano | Method for extracting, merging and ranking search engine results |
CN107515866A (zh) * | 2016-06-15 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 一种数据操作方法、装置和系统 |
CN106776901A (zh) * | 2016-11-30 | 2017-05-31 | 北京知道创宇信息技术有限公司 | 数据提取方法、装置及系统 |
CN108628866A (zh) * | 2017-03-20 | 2018-10-09 | 大有秦鼎(北京)科技有限公司 | 数据融合的方法和装置 |
Non-Patent Citations (1)
Title |
---|
许绍萌: "广域网环境下多数据源联合检索子系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000694A (zh) * | 2020-09-11 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 一种数据获取方法、装置、设备及介质 |
CN112000694B (zh) * | 2020-09-11 | 2024-04-26 | 支付宝(杭州)信息技术有限公司 | 一种数据获取方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110390208B (zh) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103678520B (zh) | 一种基于云计算的多维区间查询方法及其系统 | |
US20190384845A1 (en) | Using computing resources to perform database queries according to a dynamically determined query size | |
CN106227731B (zh) | 一种数据处理方法、装置及分布式文件系统 | |
CN110321344A (zh) | 关联数据的信息查询方法、装置、计算机设备及存储介质 | |
CN107103068A (zh) | 业务缓存的更新方法及装置 | |
CN103631538A (zh) | 冷热数据识别门限值计算方法、装置和系统 | |
CN110110006A (zh) | 数据管理方法及相关产品 | |
WO2015027932A1 (en) | Multi-dimensional decomposition computing method and system | |
CN106257893A (zh) | 存储服务器任务响应方法、客户端、服务器及系统 | |
CN103312624A (zh) | 一种消息队列服务系统和方法 | |
CN108509437A (zh) | 一种ElasticSearch查询加速方法 | |
CN106815254A (zh) | 一种数据处理方法和装置 | |
CN102521265A (zh) | 一种海量数据管理中动态一致性控制方法 | |
CN105915626B (zh) | 一种面向云存储的数据副本初始放置方法 | |
CN104683370A (zh) | 一种内容聚合方法、服务器、客户端以及系统 | |
CN105791370B (zh) | 一种数据处理方法及相关服务器 | |
CN110390208A (zh) | 一种复合数据项标签的优选数据源访问方法及装置 | |
CN108182204A (zh) | 基于房产交易多维度数据的数据查询的处理方法及装置 | |
CN103500108B (zh) | 系统内存访问方法、节点控制器和多处理器系统 | |
CN105813037A (zh) | 短信并发业务处理方法及装置 | |
CN103634374A (zh) | 一种并发访问请求的处理方法及装置 | |
CN106528448A (zh) | 一种多源异构电商大数据的分布式高速缓存机制 | |
US10728186B2 (en) | Preventing reader starvation during order preserving data stream consumption | |
CN105988881B (zh) | 用于处理资源访问操作信息的方法与设备 | |
CN107370797A (zh) | 一种基于HBase的强有序队列操作的方法和装置 |
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 |