CN110334103B - 推荐服务的更新方法、提供装置、访问装置和推荐系统 - Google Patents
推荐服务的更新方法、提供装置、访问装置和推荐系统 Download PDFInfo
- Publication number
- CN110334103B CN110334103B CN201910386408.XA CN201910386408A CN110334103B CN 110334103 B CN110334103 B CN 110334103B CN 201910386408 A CN201910386408 A CN 201910386408A CN 110334103 B CN110334103 B CN 110334103B
- Authority
- CN
- China
- Prior art keywords
- service
- interface
- user
- access
- service interface
- 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
- 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
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种推荐服务的更新方法、提供装置、访问装置和推荐系统,涉及推荐服务技术领域。本申请通过接收到的对接口配置文件进行更新的指令,对接口配置文件进行修改,并基于修改后的接口配置文件,更新数据库中每个服务接口的配置信息,以供服务访问方对更新后的服务接口进行访问。与现有技术相比,在接口配置文件中新增或删除服务接口时,只需要对数据库中的服务接口的配置信息进行更新,无需对服务访问方的信息进行更改,就可以实现服务访问方对更新后的服务接口进行访问,这样,可以大大节省人力成本,提升用户对推荐系统的访问速度和效率。
Description
技术领域
本申请涉及推荐服务技术领域,具体而言,涉及一种推荐服务的更新方法、提供装置、访问装置和推荐系统。
背景技术
推荐系统包括推荐服务的提供装置和推荐服务的访问装置,提供装置会提供多个服务接口,以供访问装置通过服务接口进行访问,不同服务接口所采用的推荐算法不同。通常,技术人员会对不同服务接口对应的推荐算法的推荐效果进行比较,对推荐效果相对较差的服务接口进行删除,或新增新的推荐算法,即添加新的服务接口。
常见的做法是访问装置根据提供装置中服务接口做定制化开发,即提供装置每次新增一个服务接口,访问装置都会编辑一套对应的访问代码;提供装置每次减少一个服务接口,访问装置对应的访问代码将失去作用,需要将其删除。由于推荐系统会不断更新推荐算法,每次更新都要对提供装置和访问装置进行修改,这样,不仅会花费大量的人力成本,还会降低用户对推荐系统的访问速度和效率。
发明内容
有鉴于此,本申请的目的在于提供一种推荐服务的更新方法、提供装置、访问装置和推荐系统,可以大大节省人力成本,提升用户对推荐系统的访问速度和效率。
本申请主要包括以下几个方面:
第一方面,本申请实施例提供了一种推荐服务的更新方法,用于服务提供方,所述更新方法包括:
接收对接口配置文件进行更新的指令,所述指令为在所述接口配置文件中新增或删除至少一个服务接口;
根据所述指令对接口配置文件进行修改,其中所述接口配置文件存储有每个服务接口的接口名称;
基于修改后的所述接口配置文件,更新数据库中每个服务接口的配置信息,以供服务访问方对更新后的服务接口进行访问。
在一种可能的实施方式中,所述基于修改后的所述接口配置文件,更新数据库中每个服务接口的配置信息,包括:
根据修改后的所述接口配置文件和预设的流量配比规则,通过API更新数据库中每个服务接口的配置信息;
其中,所述配置信息包括每个服务接口的接口名称和流量配比。
第二方面,本申请实施例还提供了一种推荐服务的更新方法,用于服务访问方,所述更新方法包括:
获取数据库中每个服务接口的配置信息,以及访问服务提供方的每个用户的用户标识;
基于哈希算法,将每个用户标识对应转化为哈希值;
基于所述哈希值和所述配置信息,生成供用户访问所述服务提供方的统一资源定位符;
根据所述统一资源定位符,向所述服务提供方发送服务访问请求。
在一种可能的实施方式中,所述配置信息包括所述服务提供方中每个服务接口的接口名称和流量配比。
在一种可能的实施方式中,所述基于所述哈希值和所述配置信息,生成供用户访问所述服务提供方的统一资源定位符,包括:
基于每个用户的哈希值和每个服务接口的流量配比,确定每个用户访问的服务接口的接口名称;
基于每个用户访问的服务接口的接口名称,生成供每个用户访问所述服务提供方的统一资源定位符。
在一种可能的实施方式中,所述基于每个用户的哈希值和每个服务接口的流量配比,确定每个用户访问的服务接口的接口名称,包括:
按照预设规则对每个服务接口进行排序,得到排序结果;
根据每个用户的哈希值、每个服务接口的流量配比和所述排序结果,确定每个用户访问的服务接口的接口名称。
在一种可能的实施方式中,所述统一资源定位符包括服务协议、服务器地址、端口号和接口名称。
第三方面,本申请实施例还提供了一种推荐服务的提供装置,所述提供装置包括:
接收模块,用于接收对接口配置文件进行更新的指令,所述指令为在所述接口配置文件中新增或删除至少一个服务接口;
修改模块,用于根据所述指令对接口配置文件进行修改,其中所述接口配置文件存储有每个服务接口的接口名称;
更新模块,用于基于修改后的所述接口配置文件,更新数据库中每个服务接口的配置信息,以供服务访问方对更新后的服务接口进行访问。
在一种可能的实施方式中,所述更新模块,具体用于更新数据库中每个服务接口的配置信息:
根据修改后的所述接口配置文件和预设的流量配比规则,通过API更新数据库中每个服务接口的配置信息;
其中,所述配置信息包括每个服务接口的接口名称和流量配比。
第四方面,本申请实施例还提供了一种推荐服务的访问装置,所述访问装置包括:
获取模块,用于获取数据库中每个服务接口的配置信息,以及访问服务提供方的每个用户的用户标识;
转化模块,用于基于哈希算法,将每个用户标识对应转化为哈希值;
生成模块,用户基于所述哈希值和所述配置信息,生成供用户访问所述服务提供方的统一资源定位符;
发送模块,用于根据所述统一资源定位符,向所述服务提供方发送服务访问请求。
在一种可能的实施方式中,所述配置信息包括所述服务提供方中每个服务接口的接口名称和流量配比。
在一种可能的实施方式中,所述生成模块包括确定单元和生成单元:
所述确定单元,用于基于每个用户的哈希值和每个服务接口的流量配比,确定每个用户访问的服务接口的接口名称;
所述生成单元,用于基于每个用户访问的服务接口的接口名称,生成供每个用户访问所述服务提供方的统一资源定位符。
在一种可能的实施方式中,所述确定单元。具体用于根据以下步骤确定接口名称:
按照预设规则对每个服务接口进行排序,得到排序结果;
根据每个用户的哈希值、每个服务接口的流量配比和所述排序结果,确定每个用户访问的服务接口的接口名称。
在一种可能的实施方式中,所述统一资源定位符包括服务协议、服务器地址、端口号和接口名称。
第五方面,本申请实施例还提供了一种推荐系统,包括第三方面所述的推荐服务的提供装置和第四方面所述的推荐服务的访问装置。
第六方面,本申请实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的推荐服务的更新方法的步骤,或执行上述第二方面或第二方面中任一种可能的实施方式中所述的推荐服务的更新方法的步骤。
第七方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的推荐服务的更新方法的步骤,或执行上述第二方面或第二方面中任一种可能的实施方式中所述的推荐服务的更新方法的步骤。
本申请实施例中,通过接收到的对接口配置文件进行更新的指令,对接口配置文件进行修改,并基于修改后的接口配置文件,更新数据库中每个服务接口的配置信息,以供服务访问方对更新后的服务接口进行访问。与现有技术相比,在接口配置文件中新增或删除服务接口时,只需要对数据库中的服务接口的配置信息进行更新,无需对服务访问方的信息进行更改,就可以实现服务访问方对更新后的服务接口进行访问,这样,可以大大节省人力成本,提升用户对推荐系统的访问速度和效率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例一所提供的一种推荐服务的更新方法的流程图;
图2示出了本申请实施例二所提供的另一种推荐服务的更新方法的流程图;
图3示出了本申请实施例三所提供的一种推荐服务的提供装置的功能模块图;
图4示出了本申请实施例四所提供的一种推荐服务的访问装置的功能模块图之一;
图5示出了本申请实施例四所提供的一种推荐服务的访问装置的功能模块图之二;
图6示出了本申请实施例五所提供的一种推荐系统的结构示意图;
图7示出了本申请实施例六所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中的附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“推荐系统中新增或删除服务接口”,给出以下实施方式,对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。
本申请实施例下述方法、装置、系统、电子设备或计算机可读存储介质可以应用于任何需要进行推荐服务的更新的场景,本申请实施例并不对具体的应用场景作限制,任何使用本申请实施例提供的推荐服务的更新方法、提供装置、访问装置和推荐系统的方案均在本申请保护范围内。
值得注意的是,在本申请提出之前,现有方案中,推荐服务的访问装置根据推荐服务的提供装置中服务接口做定制化开发,即提供装置每次新增一个服务接口,访问装置都会编辑一套对应的访问代码;提供装置每次减少一个服务接口,访问装置对应的访问代码将失去作用,需要将其删除。由于推荐系统会不断更新推荐算法,每次更新都要对提供装置和访问装置进行修改,这样,不仅会花费大量的人力成本,还会降低用户对推荐系统的访问速度和效率。
针对上述问题,本申请实施例通过接收到的对接口配置文件进行更新的指令,对接口配置文件进行修改,并基于修改后的接口配置文件,更新数据库中每个服务接口的配置信息,以供服务访问方对更新后的服务接口进行访问。与现有技术相比,在接口配置文件中新增或删除服务接口时,只需要对数据库中的服务接口的配置信息进行更新,无需对服务访问方的信息进行更改,就可以实现服务访问方对更新后的服务接口进行访问,这样,可以大大节省人力成本,提升用户对推荐系统的访问速度和效率。
需要说明的是,推荐系统包括推荐服务的提供装置和推荐服务的访问装置,提供装置会提供多个服务接口,以供访问装置通过服务接口进行访问,不同服务接口所采用的推荐算法不同。通常,技术人员会对不同服务接口对应的推荐算法的推荐效果进行比较,对推荐效果相对较差的服务接口进行删除,或新增新的推荐算法,即添加新的服务接口。
为便于对本申请进行理解,下面结合具体实施例对本申请提供的技术方案进行详细说明。
实施例一
请参阅图1,图1为本申请实施例一所提供的一种推荐服务的更新方法的流程图。如图1中所示,本申请实施例提供的推荐服务的更新方法,用于服务提供方,包括:
S101:接收对接口配置文件进行更新的指令,所述指令为在所述接口配置文件中新增或删除至少一个服务接口。
在具体实施中,服务提供方有多个服务接口,每个服务接口都有对应的推荐算法,不同服务接口提供的推荐算法不同,通常,技术人员会对不同服务接口对应的推荐算法的推荐效果进行比较,对推荐效果相对较差的服务接口进行删除,即删除对应的服务接口,或新增新开发的推荐算法,即添加新的服务接口。因此,服务提供方会经常接收到对服务接口进行新增或删除的指令,由于服务提供方的各个服务接口的配置信息存储在接口配置文件中,所以需要对接口配置文件发送进行更新的指令。
S102:根据所述指令对接口配置文件进行修改,其中所述接口配置文件存储有每个服务接口的接口名称。
在具体实施中,在接收到的指令为在接口配置文件中新增一个或多个服务接口时,在接口配置文件中添加一个或多个服务接口,并为每个新添加的服务接口设置接口名称;在接收到的指令为在接口配置文件中删除一个或多个服务接口时,在接口配置文件中删除一个或多个服务接口,并删除每个服务接口对应的接口名称。
S103:基于修改后的所述接口配置文件,更新数据库中每个服务接口的配置信息,以供服务访问方对更新后的服务接口进行访问。
在具体实施中,在修改接口配置文件后,服务提供方还会对数据库中每个服务接口的配置信息进行更新,以使数据库中每个服务接口的配置信息与服务提供方提供的接口配置文件同步,这样,可以使服务访问方通过数据库知晓服务提供方新增或删除的服务接口的配置信息,以实现服务访问方对更新后的服务接口进行访问。与现有技术中服务访问方根据服务提供方中服务接口做定制化开发,即服务提供方每次新增一个服务接口,服务访问方都会编辑一套对应的访问代码,服务提供方每次减少一个服务接口,服务访问方对应的访问代码将失去作用,需要将其删除,本申请实施例在接口配置文件中新增或删除服务接口时,只需要对数据库中的服务接口的配置信息进行更新,无需对服务访问方的信息进行更改,就可以实现服务访问方对更新后的服务接口进行访问,这样,可以大大节省人力成本,提升用户对推荐系统的访问速度和效率。
这里,数据库可以为Redis数据库、MemCache数据库、mongodb数据库,当然也可以为其他可以存储服务接口配置信息的服务器。
其中,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、关键值数据库,并提供多种语言的应用程序编程接口(ApplicationProgramming Interface,API)。
在一种可能的实施方式中,步骤S103中基于修改后的所述接口配置文件,更新数据库中每个服务接口的配置信息,包括:
根据修改后的所述接口配置文件和预设的流量配比规则,通过API更新数据库中每个服务接口的配置信息;其中,所述配置信息包括每个服务接口的接口名称和流量配比。
在该实施例中,数据库中不仅存储有服务接口的接口名称,还存储有每个服务接口的流量配比信息,即访问每个服务接口的用户数量占访问服务提供方的所有服务接口的用户总数量的比例。通常每个服务接口的流量配比根据推荐业务进行设定,在对接口配置文件进行新增或删除服务接口时,不但要将数据库中每个服务接口的接口名称和接口数量与接口配置文件同步,还需要对数据库中每个服务接口的流量配比进行更新,比如,新增服务接口时,就需要为新增的服务接口分配流量,由于总流量没有变化,原来的服务接口的流量配比也需要跟着进行修改;同理,删除服务接口时,删除的服务接口不再走流量,由于总流量没有变化,原来的服务接口的流量配比也需要跟着进行修改。
具体地,数据库存储中存储有n个服务接口1、2、…、n,其中,x%的用户访问服务接口1、y%的用户访问服务接口2、…、m%的用户访问服务接口n,其中,x+y+…+m=100。
这样,预设的流量配比规则根据实际推荐业务进行设定。
在本申请实施例中,通过接收到的对接口配置文件进行更新的指令,对接口配置文件进行修改,并基于修改后的接口配置文件,更新数据库中每个服务接口的配置信息,以供服务访问方对更新后的服务接口进行访问。与现有技术相比,在接口配置文件中新增或删除服务接口时,只需要对数据库中的服务接口的配置信息进行更新,无需对服务访问方的信息进行更改,就可以实现服务访问方对更新后的服务接口进行访问,这样,可以大大节省人力成本,提升用户对推荐系统的访问速度和效率。
实施例二
请参阅图2,图2为本申请实施例二所提供的另一种推荐服务的更新方法的流程图。如图2中所示,本申请实施例提供的推荐服务的更新方法,用于服务访问方,包括:
S201:获取数据库中每个服务接口的配置信息,以及访问服务提供方的每个用户的用户标识。
在具体实施中,不同的用户都通过可以服务访问方向服务提供方发送访问请求,访问请求中需要携带有要进行访问的服务提供方的服务接口的配置信息以及用户标识,才可以实现用户对服务提供方的访问,具体地,服务访问方可以每隔预设时长或实时从数据库中获取到服务接口的配置信息,用户标识用于识别用户身份,用户标识与用户一一对应。
这里,预设时长可以设为5s。
S202:基于哈希算法,将每个用户标识对应转化为哈希值。
在具体实施中,可以通过哈希算法将每个用户的标识对应转化为哈希值,这样每个用户的标识都可以用一个哈希值进行表示,其中,多个用户标识可以对应同一个哈希值。
这里,哈希(Hash)一般做散列、杂凑,是把任意长度的输入(多个用户标识)通过散列算法变换成固定长度的输出(哈希值的取值区间),该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
一示例中,可以分别将用户的标识作为输入哈希函数,并输出多个哈希值,这里,多个哈希值可以为0~99中的任一整数数值。
S203:基于所述哈希值和所述配置信息,生成供用户访问所述服务提供方的统一资源定位符。
在具体实施中,根据每个用户对应的哈希值和每个服务接口之间的对应关系,进而可以生成供用户访问服务提供方的统一资源定位符。
这里,统一资源定位符(Uniform Resource Locator,URL)是可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址,互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。对于本申请,统一资源定位符中包括每个用户访问服务提供方的服务接口的信息,这样,用户通过该统一资源定位符可以访问服务提供方。
S204:根据所述统一资源定位符,向所述服务提供方发送服务访问请求。
在具体实施中,为每个需要访问服务提供方的用户都提供一个统一资源定位符,这样,用户就可以通过统一资源定位符访问服务提供方。
在本申请实施例中,通过获取数据库中每个服务接口的配置信息,以及访问服务提供方的每个用户的用户标识,可以基于哈希算法,将每个用户标识对应转化为哈希值,并基于所述哈希值和配置信息,生成供用户访问所述服务提供方的统一资源定位符,进而根据统一资源定位符,向服务提供方发送服务访问请求。与现有技术相比,在服务提供方新增或删除服务接口时,只需要对数据库中的更新后的服务接口的配置信息进行获取,无需对自身进行更改,只需通过统一资源定位符就可以实现对更新后的服务接口进行访问,这样,可以大大节省人力成本,提升用户对推荐系统的访问速度和效率。
在一种可能的实施方式中,所述配置信息包括所述服务提供方中每个服务接口的接口名称和流量配比。
在该实施例中,数据库存储中不仅存储有服务接口的接口名称,还存储有每个服务接口的流量配比信息,即访问每个服务接口的用户数量占访问服务提供方的所有服务接口的用户总数量的比例。通常每个服务接口的流量配比根据推荐业务进行设定,在服务提供方新增或删除服务接口时,不但会对数据库中每个服务接口的接口名称和接口数量与接口配置文件同步,还会对数据库中每个服务接口的流量配比进行更新,比如,服务提供方新增服务接口时,就需要为新增的服务接口分配流量,由于总流量没有变化,原来的服务接口的流量配比也需要跟着进行修改;同理,服务方删除服务接口时,删除的服务接口不再走流量,由于总流量没有变化,原来的服务接口的流量配比也需要跟着进行修改。这样,服务访问方直接可以从数据库中知晓最新的服务接口的配置信息,以生成统一定位符对服务提供方进行访问,无需对自身进行更改,这样,可以大大节省人力成本,提升用户对推荐系统的访问速度和效率。
具体地,数据库存储中存储有n个服务接口1、2、…、n,其中,x%的用户访问服务接口1、y%的用户访问服务接口2、…、m%的用户访问服务接口n,其中,x+y+…+m=100。
在一种可能的实施方式中,步骤S203中基于所述哈希值和所述配置信息,生成供用户访问所述服务提供方的统一资源定位符,包括以下步骤:
步骤a:基于每个用户的哈希值和每个服务接口的流量配比,确定每个用户访问的服务接口的接口名称。
在具体实施中,先选择哈希映射规则,并确定哈希值的取值范围,进而根据该哈希映射规则将每个用户标识转化为哈希值,根据每个哈希值对应的用户数量和每个服务接口的流量配比,就可以确定每个用户访问的服务接口的接口名称。
一示例中,先将每个用户标识转化为哈希值,这里,哈希值为0~99中的任一整数数值,即哈希值有100个数值,如果访问服务提供方的用户的总数量为a,则每个哈希值对应的用户数量为a/100,即与每个哈希值对应的用户有a/100个;若数据库存储中存储有n个服务接口1、2、…、n,其中,x%的用户访问服务接口1、y%的用户访问服务接口2、…、m%的用户访问服务接口n,其中,x+y+…+m=100。通过每个用户的哈希值与每个服务接口的流量配比相结合,就可以知为哪些用户访问哪个服务接口,x个哈希值对应的用户访问服务接口1、y个哈希值对应的用户访问服务接口2、…、m个哈希值对应的用户访问服务接口n。
步骤b:基于每个用户访问的服务接口的接口名称,生成供每个用户访问所述服务提供方的统一资源定位符。
在具体实施中,在确定每个用户访问的服务接口的接口名称之后,可以根据该接口名称生成一个统一资源定位符,这样,该用户就可以通过该统一资源定位符向服务提供方发送访问请求了,服务访问方无需对服务提供方新增或减少服务接口做出反应,只需要从数据库中获取到每个接口的配置信息,生成统一资源定位符就可以实现对服务提供方的访问,可以大大节省人力成本,提升用户对推荐系统的访问速度和效率。
在一种可能的实施方式中,步骤a中基于每个用户的哈希值和每个服务接口的流量配比,确定每个用户访问的服务接口的接口名称,包括:
按照预设规则对每个服务接口进行排序,得到排序结果;根据每个用户的哈希值、每个服务接口的流量配比和所述排序结果,确定每个用户访问的服务接口的接口名称。
在具体实施中,在得到每个用户对应的哈希值,以及每个服务接口的流量配比之后,可以通过预设规则对每个服务接口进行排序,预设规则可以是按照接口序号从小到大进行排序,也可以按照从大到小进行排序,这样,根据每个用户的哈希值、每个服务接口的流量配比和所述排序结果,就可以确定每个用户应该访问哪个服务接口了。
一示例中,访问服务提供方的用户的总数量为m,哈希值的取值范围为1~N,即每个用户都对应1~N中的一个哈希值,每个哈希值对应的用户人数为m/N。服务接口的接口数量为n,其中,服务接口1的流量配比为x%、服务接口2的流量配比为y%、…、服务接口n-1的流量配比为t%、服务接口n的流量配比为w%,x+y+…+t+w=100,按照接口的序号从小到大进行排序,这样,访问服务接口1的用户数量为m*x%,则哈希值为1~N*x%的用户访问服务接口1、访问服务接口2的用户数量为m*y%,则哈希值为N*x%+1~N*(x+y)%的用户访问服务接口2、…、访问服务接口n的用户数量为m*w%,则哈希值为N*(x+y+…+t+1)%~N的用户访问服务接口n。
在一种可能的实施方式中,统一资源定位符包括服务协议、服务器地址、端口号和接口名称。
在具体实施中,可以根据服务协议、服务器的名称、端口号和接口名称生成统一资源定位符。这里,统一资源定位符是可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址,互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。对于本申请,统一资源定位符中包括每个用户访问服务提供方的服务接口的信息,这样,用户通过该统一资源定位符可以访问服务提供方。
一示例中,统一资源定位符为http://home.baidu.com:80/home/index/contact_us,服务协议为http://,服务器名称为home.baidu.com,端口号为80,home.baidu.com:80,服务器地址为home.baidu.com:80,接口名称为/home/index/contact_us。
在本申请实施例中,通过获取数据库中每个服务接口的配置信息,以及访问服务提供方的每个用户的用户标识,可以基于哈希算法,将每个用户标识对应转化为哈希值,并基于所述哈希值和配置信息,生成供用户访问所述服务提供方的统一资源定位符,进而根据统一资源定位符,向服务提供方发送服务访问请求。与现有技术相比,在服务提供方新增或删除服务接口时,只需要对数据库中的更新后的服务接口的配置信息进行获取,无需对自身的信息进行更改,只需通过统一资源定位符就可以实现对更新后的服务接口进行访问,这样,可以大大节省人力成本,提升用户对推荐系统的访问速度和效率。
实施例三
基于同一申请构思,本申请实施例三中还提供了与实施例一提供的推荐服务的更新方法对应的推荐服务的提供装置,由于本申请实施例中的装置解决问题的原理与本申请上述实施例一的推荐服务的更新方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图3,图3为本申请实施例三所提供的一种推荐服务的提供装置的功能模块图。如图3中所示,本申请实施例提供的推荐服务的提供装置300,包括:
接收模块310,用于接收对接口配置文件进行更新的指令,所述指令为在所述接口配置文件中新增或删除至少一个服务接口;
修改模块320,用于根据所述指令对接口配置文件进行修改,其中所述接口配置文件存储有每个服务接口的接口名称;
更新模块330,用于基于修改后的所述接口配置文件,更新数据库中每个服务接口的配置信息,以供服务访问方对更新后的服务接口进行访问。
在一种可能的实施方式中,所述更新模块330,具体用于更新数据库中每个服务接口的配置信息:
根据修改后的所述接口配置文件和预设的流量配比规则,通过API更新数据库中每个服务接口的配置信息;
其中,所述配置信息包括每个服务接口的接口名称和流量配比。
在本申请实施例中,通过接收到的对接口配置文件进行更新的指令,对接口配置文件进行修改,并基于修改后的接口配置文件,更新数据库中每个服务接口的配置信息,以供服务访问方对更新后的服务接口进行访问。与现有技术相比,在接口配置文件中新增或删除服务接口时,只需要对数据库中的服务接口的配置信息进行更新,无需对服务访问方的信息进行更改,就可以实现服务访问方对更新后的服务接口进行访问,这样,可以大大节省人力成本,提升用户对推荐系统的访问速度和效率。
实施例四
基于同一申请构思,本申请实施例四中还提供了与实施例二提供的推荐服务的更新方法对应的推荐服务的访问装置,由于本申请实施例中的装置解决问题的原理与本申请上述实施例二的推荐服务的更新方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图4,图4为本申请实施例四所提供的一种推荐服务的访问装置的功能模块图之一,图5为本申请实施例四所提供的一种推荐服务的访问装置的功能模块图之二。如图4和图5中所示,本申请实施例提供的一种推荐服务的访问装置400,包括:
获取模块410,用于获取数据库中每个服务接口的配置信息,以及访问服务提供方的每个用户的用户标识;
转化模块420,用于基于哈希算法,将每个用户标识对应转化为哈希值;
生成模块430,用户基于所述哈希值和所述配置信息,生成供用户访问所述服务提供方的统一资源定位符;
发送模块440,用于根据所述统一资源定位符,向所述服务提供方发送服务访问请求。
在一种可能的实施方式中,所述配置信息包括所述服务提供方中每个服务接口的接口名称和流量配比。
在一种可能的实施方式中,如图5中所示,所述生成模块430包括确定单元432和生成单元434:
所述确定单元432,用于基于每个用户的哈希值和每个服务接口的流量配比,确定每个用户访问的服务接口的接口名称;
所述生成单元434,用于基于每个用户访问的服务接口的接口名称,生成供每个用户访问所述服务提供方的统一资源定位符。
在一种可能的实施方式中,如图5中所示,所述确定单元432。具体用于根据以下步骤确定接口名称:
按照预设规则对每个服务接口进行排序,得到排序结果;
根据每个用户的哈希值、每个服务接口的流量配比和所述排序结果,确定每个用户访问的服务接口的接口名称。
在一种可能的实施方式中,所述统一资源定位符包括服务协议、服务器地址、端口号和接口名称。
在本申请实施例中,通过获取数据库中每个服务接口的配置信息,以及访问服务提供方的每个用户的用户标识,可以基于哈希算法,将每个用户标识对应转化为哈希值,并基于所述哈希值和配置信息,生成供用户访问所述服务提供方的统一资源定位符,进而根据统一资源定位符,向服务提供方发送服务访问请求。与现有技术相比,在服务提供方新增或删除服务接口时,只需要对数据库中的更新后的服务接口的配置信息进行获取,无需对自身的信息进行更改,只需通过统一资源定位符就可以实现对更新后的服务接口进行访问,这样,可以大大节省人力成本,提升用户对推荐系统的访问速度和效率。
实施例五
基于同一申请构思,本申请实施例五中还提供了推荐系统,推荐系统包括实施三提供的推荐服务的提供装置和实施例四提供的推荐服务的访问装置。
请参阅图6,图6为本申请实施例五所提供的一种推荐系统的结构示意图。如图6中所示,本申请实施例提供的一种推荐系统600,包括:
推荐服务的提供装置610和推荐服务的访问装置620。
实施例六
基于同一申请构思,如图7所示,为本申请实施例六提供的一种电子设备700的结构示意图,包括:处理器710、存储器720和总线730,所述存储器720存储有所述处理器710可执行的机器可读指令,当电子设备700运行时,所述处理器710与所述存储器720之间通过所述总线730进行通信,所述机器可读指令被所述处理器710运行时执行如实施例一,或实施例二中任一所述的推荐服务的更新方法的步骤。
具体地,所述机器可读指令被所述处理器710执行时可以执行如下处理:
接收对接口配置文件进行更新的指令,所述指令为在所述接口配置文件中新增或删除至少一个服务接口;
根据所述指令对接口配置文件进行修改,其中所述接口配置文件存储有每个服务接口的接口名称;
基于修改后的所述接口配置文件,更新数据库中每个服务接口的配置信息,以供服务访问方对更新后的服务接口进行访问。
具体地,所述机器可读指令被所述处理器710执行时还可以执行如下处理:
获取数据库中每个服务接口的配置信息,以及访问服务提供方的每个用户的用户标识;
基于哈希算法,将每个用户标识对应转化为哈希值;
基于所述哈希值和所述配置信息,生成供用户访问所述服务提供方的统一资源定位符;
根据所述统一资源定位符,向所述服务提供方发送服务访问请求。
实施例七
基于同一申请构思,本申请实施例七还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例一,或实施例二中提供的推荐服务的更新方法的步骤。
具体地,所述存储介质能够为通用的存储介质,如移动磁盘、硬盘等,所述存储介质上的计算机程序被运行时,能够执行上述推荐服务的更新方法,可以大大节省人力成本,提升用户对推荐系统的访问速度和效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种推荐服务的更新方法,用于服务访问方,其特征在于,所述更新方法包括:
获取数据库中每个服务接口的配置信息,以及访问服务提供方的每个用户的用户标识;
基于哈希算法,将每个用户标识对应转化为哈希值;
基于所述哈希值和所述配置信息,生成供用户访问所述服务提供方的统一资源定位符;
根据所述统一资源定位符,向所述服务提供方发送服务访问请求;
所述配置信息包括所述服务提供方中每个服务接口的接口名称和流量配比。
2.根据权利要求1所述的更新方法,其特征在于,所述基于所述哈希值和所述配置信息,生成供用户访问所述服务提供方的统一资源定位符,包括:
基于每个用户的哈希值和每个服务接口的流量配比,确定每个用户访问的服务接口的接口名称;
基于每个用户访问的服务接口的接口名称,生成供每个用户访问所述服务提供方的统一资源定位符。
3.根据权利要求2所述的更新方法,其特征在于,所述基于每个用户的哈希值和每个服务接口的流量配比,确定每个用户访问的服务接口的接口名称,包括:
按照预设规则对每个服务接口进行排序,得到排序结果;
根据每个用户的哈希值、每个服务接口的流量配比和所述排序结果,确定每个用户访问的服务接口的接口名称。
4.根据权利要求2所述的更新方法,其特征在于,所述统一资源定位符包括服务协议、服务器地址、端口号和接口名称。
5.一种推荐服务的访问装置,其特征在于,所述访问装置包括:
获取模块,用于获取数据库中每个服务接口的配置信息,以及访问服务提供方的每个用户的用户标识;所述配置信息包括所述服务提供方中每个服务接口的接口名称和流量配比;
转化模块,用于基于哈希算法,将每个用户标识对应转化为哈希值;
生成模块,用户基于所述哈希值和所述配置信息,生成供用户访问所述服务提供方的统一资源定位符;
发送模块,用于根据所述统一资源定位符,向所述服务提供方发送服务访问请求。
6.一种推荐系统,其特征在于,包括权利要求5所述的推荐服务的访问装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910386408.XA CN110334103B (zh) | 2019-05-09 | 2019-05-09 | 推荐服务的更新方法、提供装置、访问装置和推荐系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910386408.XA CN110334103B (zh) | 2019-05-09 | 2019-05-09 | 推荐服务的更新方法、提供装置、访问装置和推荐系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110334103A CN110334103A (zh) | 2019-10-15 |
CN110334103B true CN110334103B (zh) | 2021-11-02 |
Family
ID=68140061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910386408.XA Active CN110334103B (zh) | 2019-05-09 | 2019-05-09 | 推荐服务的更新方法、提供装置、访问装置和推荐系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110334103B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581223B (zh) * | 2020-04-11 | 2023-08-22 | 北京城市网邻信息技术有限公司 | 一种数据更新方法、装置、终端设备及存储介质 |
CN112434288A (zh) * | 2020-05-14 | 2021-03-02 | 陈洋洋 | 基于物联网的网络大数据信息防泄密方法及系统 |
CN112947963A (zh) * | 2021-02-26 | 2021-06-11 | 平安普惠企业管理有限公司 | 接口运维方法、装置、计算机设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103383749A (zh) * | 2012-05-04 | 2013-11-06 | 上海盛霄云计算技术有限公司 | 多个管理系统自动整合的方法及系统 |
CN104063239A (zh) * | 2013-03-22 | 2014-09-24 | 腾讯科技(深圳)有限公司 | 移动终端的应用程序更新方法及服务器、客户端 |
CN107911430A (zh) * | 2017-11-06 | 2018-04-13 | 上海电机学院 | 一种微服务基础设施装置 |
CN108076125A (zh) * | 2016-11-11 | 2018-05-25 | 北京京东尚科信息技术有限公司 | 接口配置方法及系统 |
CN108241497A (zh) * | 2017-10-18 | 2018-07-03 | 北京车和家信息技术有限公司 | 车载客户端开发接口动态更新方法、装置、设备和介质 |
CN108304201A (zh) * | 2017-09-14 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 对象更新方法、装置及设备 |
CN108829378A (zh) * | 2018-05-24 | 2018-11-16 | 北京顺丰同城科技有限公司 | 一种应用软件的开发方法、装置及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106982236B (zh) * | 2016-01-18 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 一种信息处理方法、装置和系统 |
CN108076105B (zh) * | 2016-11-18 | 2020-12-18 | 腾讯科技(北京)有限公司 | 信息推荐方法、应用服务器和应用客户端 |
US10509546B2 (en) * | 2017-08-31 | 2019-12-17 | Salesforce.Com, Inc. | History component for single page application |
-
2019
- 2019-05-09 CN CN201910386408.XA patent/CN110334103B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103383749A (zh) * | 2012-05-04 | 2013-11-06 | 上海盛霄云计算技术有限公司 | 多个管理系统自动整合的方法及系统 |
CN104063239A (zh) * | 2013-03-22 | 2014-09-24 | 腾讯科技(深圳)有限公司 | 移动终端的应用程序更新方法及服务器、客户端 |
CN108076125A (zh) * | 2016-11-11 | 2018-05-25 | 北京京东尚科信息技术有限公司 | 接口配置方法及系统 |
CN108304201A (zh) * | 2017-09-14 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 对象更新方法、装置及设备 |
CN108241497A (zh) * | 2017-10-18 | 2018-07-03 | 北京车和家信息技术有限公司 | 车载客户端开发接口动态更新方法、装置、设备和介质 |
CN107911430A (zh) * | 2017-11-06 | 2018-04-13 | 上海电机学院 | 一种微服务基础设施装置 |
CN108829378A (zh) * | 2018-05-24 | 2018-11-16 | 北京顺丰同城科技有限公司 | 一种应用软件的开发方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110334103A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110334103B (zh) | 推荐服务的更新方法、提供装置、访问装置和推荐系统 | |
CN106407201B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
US20050027731A1 (en) | Compression dictionaries | |
CN110225039B (zh) | 权限模型获取、鉴权方法、网关、服务器以及存储介质 | |
CN108733317B (zh) | 数据存储方法和装置 | |
CN110213290B (zh) | 数据获取方法、api网关以及存储介质 | |
JP5343793B2 (ja) | 情報生成装置、情報生成プログラム、情報生成方法、ノード装置、ノードプログラム及び検索方法 | |
US20190012362A1 (en) | Method and apparatus for processing information | |
CN111290779A (zh) | 灰度发布方法、装置、存储介质和电子设备 | |
CN111629063A (zh) | 基于区块链的分布式文件下载的方法和电子设备 | |
CN113407560B (zh) | 更新消息处理方法、数据同步方法、配置信息配置方法 | |
CN108897858A (zh) | 分布式集群索引分片的评估方法及装置、电子设备 | |
CN113742332A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN115658768A (zh) | 一种状态数据库的属性查询方法、装置及相关介质 | |
CN111310088B (zh) | 一种页面渲染方法及装置 | |
CN111367634A (zh) | 信息处理方法、信息处理装置及终端设备 | |
CN113612869A (zh) | 一种短网址生成方法、终端及存储介质 | |
CN112597119A (zh) | 一种处理日志的生成方法、装置及存储介质 | |
CN113204683A (zh) | 信息重构方法和装置、存储介质及电子设备 | |
CN112965740B (zh) | 一种资产信息的导出方法及装置 | |
CN113626665B (zh) | 一种数据展示的方法和装置 | |
CN114285797B (zh) | Ip地址的处理方法、装置、存储介质 | |
CN117521152B (zh) | 数据更新方法、匿踪查询方法、电子设备及介质 | |
CN113778909B (zh) | 一种缓存数据的方法和装置 | |
CN114390062A (zh) | 基于区块链的调用方法、装置、电子设备及存储介质 |
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 |