CN112464088B - 推荐请求响应方法、装置及推荐系统开发方法 - Google Patents
推荐请求响应方法、装置及推荐系统开发方法 Download PDFInfo
- Publication number
- CN112464088B CN112464088B CN202011329430.XA CN202011329430A CN112464088B CN 112464088 B CN112464088 B CN 112464088B CN 202011329430 A CN202011329430 A CN 202011329430A CN 112464088 B CN112464088 B CN 112464088B
- Authority
- CN
- China
- Prior art keywords
- recommendation
- rule
- request
- service
- responding
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种推荐请求响应方法、装置。该方法包括:接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则,其中,所述推荐规则用于将实现预设的推荐服务所需的多个业务模块代码进行模块组装得到所述推荐服务;根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务;采用组装好的推荐服务对所述推荐请求进行响应。本申请可以方便用于对推荐服务进行维护。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种推荐请求响应方法、装置及推荐系统开发方法。
背景技术
在当前流行的推荐系统的推荐服务的开发的过程中,在编程时通常采用纯硬编代码的形式进行代码开发,然而,采用纯硬编代码的形式进行代码开发,导致模块与模块的代码之间高度耦合,并且随着代码逻辑增多,系统越来越复杂臃肿,使得对系统的维护非常不方便。
发明内容
有鉴于此,现提供一种推荐请求响应方法、装置、计算机设备及计算机可读存储介质,以解决现有技术中对推荐系统进行维护非常不方便的问题。
本申请提供了一种推荐请求响应方法,应用于推荐系统中,所述推荐系统包含推荐服务池,所述推荐服务池中包含多个推荐规则,所述多个推荐规则是由不同的开发人员相互独立开发的,每一个推荐规则具有一个与其对应的推荐策略标识,包括:
接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则,其中,所述推荐规则用于将实现预设的推荐服务所需的多个业务模块代码进行模块组装得到所述推荐服务;
根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务;
采用组装好的推荐服务对所述推荐请求进行响应。
可选地,所述推荐请求响应方法还包括:
接收用户开发的至少一个推荐规则并进行存储,其中,用户通过客户端提供的开发界面开发所述至少一个推荐规则。
可选地,所述推荐请求响应方法还包括:
在接收到用户开发的推荐规则之后,对接收到的推荐规则进行预处理;
在预处理失败后,提示用户对所述开发的推荐规则进行修改。
可选地,所述预处理包括代码测试处理及推荐规则语法校验处理,所述对接收到的推荐规则进行预处理包括:
对接收到的推荐规则进行代码测试处理,并在代码测试处理通过之后对所述接收到的推荐规则进行推荐规则语法校验处理。
可选地,所述根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务包括:
获取所述确定的推荐规则;
对获取到的推荐规则进行解析,得到可执行的代码;
根据所述可执行的代码将所述多个业务模块组装成用于响应所述推荐请求的推荐服务。
可选地,所述推荐请求中还携带有选择指令,所述接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则包括:
接收推荐请求,根据所述推荐请求中的选择指令确定选中的推荐策略标识;
根据所述选中的推荐策略标识确定响应所述推荐请求的推荐规则。
可选地,所述推荐请求响应方法还包括:
接收推荐规则移除指令,所述移除指令包括待移除的推荐规则;
根据所述移除指令移除所述待移除的推荐规则。
本申请还提供了一种推荐系统开发方法,包括:
接收开发人员在同一界面上开发的多个推荐规则,其中,所述多个推荐规则是由不同的开发人员相互独立开发的;
将所述多个推荐规则下发至所述推荐系统,以在所述推荐系统中形成推荐服务池推荐服务池,所述推荐服务池用于对用户推荐请求进行响应。
本申请还提供了一种推荐请求响应装置,包括:
接收模块,用于接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则,其中,所述推荐规则用于将实现预设的推荐服务所需的多个业务模块代码进行模块组装得到所述推荐服务;
组装模块,用于根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务;
响应模块,用于采用组装好的推荐服务对所述推荐请求进行响应。
本申请还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述技术方案的有益效果:
本申请实施例中,通过接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则,其中,所述推荐规则用于将实现预设的推荐服务所需的多个业务模块代码进行模块组装得到所述推荐服务;根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务;采用组装好的推荐服务对所述推荐请求进行响应。本申请实施例中在响应推荐请求时,通过推荐规则将响应所述推荐请求的推荐服务的各个业务代码模块进行组装得到推荐服务,从而实现推荐规则与业务模块的解耦,方便用于对推荐服务进行维护,同时,通过将推荐规则与业务模块进行解耦,可以避免因业务模块代码泄露导致推荐规则的泄露,提高推荐服务代码的安全性。
附图说明
图1为本申请实施例的推荐请求响应方法的架构示意图;
图2为本申请所述的推荐请求响应方法的一种实施例的流程图;
图3为本申请一实施方式中的接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则的步骤细化流程示意图;
图4为本申请中一实施方式中的根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务的步骤细化流程示意图;
图5为本申请所述的推荐请求响应方法的另一种实施例的流程图;
图6为本申请所述的推荐系统开发方法一种实施例的流程图;
图7为本申请所述的推荐请求响应装置的一种实施例的程序模块图;
图8为本申请实施例提供的执行推荐请求响应方法的计算机设备的硬件结构示意图。
具体实施方式
以下结合附图与具体实施例进一步阐述本申请的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
图1示意性示出了根据本申请实施例的推荐请求响应方法的环境示意图。在示例性的实施例中,该应用环境的系统可包括用户终端10、服务端,比如计算机设备20。
其中,用户终端10与计算机设备20形成无线或有线连接,且用户终端10中安装有应用程序(APP)。用户终端10可以为手机、iPAD,平板电脑等。用户可以通过用户终端中安装的应用程序开发各个推荐规则,并在开发好推荐规则后,将其下发至计算机设备20,以在计算机设备20中形成推荐服务池。
计算机设备20中存储有用户开发好的各种推荐规则所需要的业务代码模块,并可以根据推荐规则将对应的各个业务模块代码组装成推荐服务。
参阅图2,其为本申请一实施例的推荐请求响应方法的流程示意图。本申请中的推荐请求响应方法应用于推荐系统中,所述推荐系统包含推荐服务池,所述推荐服务池中包含多个推荐规则,所述多个推荐规则是由不同的开发人员相互独立开发的,每一个推荐规则具有一个与其对应的推荐策略标识。
本实施例中,每一个开发人员在开发推荐规则时,可以打开一个开发界面,然后在该开发界面上开发推荐规则。需要说明是,虽然不同的开发人员在开发推荐规则时,都会打开一个开发界面,但不同的开发人员所打开的开发界面是相互隔离的,且无感知的,因而,不同的开发人员彼此之间在开发过程中不会产生任何影响,实现协同进行开发不同的推荐规则。此外,由于每一个推荐规则是由开发人员独立开发的,而不是由多人开发的,从而可以避免多人同时开发一个推荐规则导致代码冲突。
可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备20为执行主体进行示例性描述,从图中可以看出,本实施例中所提供的推荐请求响应方法包括:
步骤S20、接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则,其中,所述推荐规则用于将实现预设的推荐服务所需的多个业务模块代码进行模块组装得到所述推荐服务。
具体地,所述推荐请求用于从计算机设备20中获取用户偏爱的信息。本申请中的推荐请求可以应用于各种推荐场景中获取用户偏爱的资源,比如,应用于商品推荐场景,直播间推荐场景,视频推荐场景等。
以视频推荐场景为例,用户在通过视频直播客户端观看直播节目时,可以通过该客户端向计算机设备20发送推荐请求,以便计算机设备20在接收到该推荐请求时,可以根据该推荐请求向用户推荐用户偏爱的直播间。
所述推荐策略标识为用于唯一区分不同推荐规则的信息。在一实施方式中,该推荐策略标识可以为推荐规则的策略ID。
所述推荐服务为对所述推荐请求进行响应的功能模块。一个完整的推荐服务通常包括以下四个业务代码模块。
资源模块,主要是负责管理不同的推荐位上待推荐给用户的相关资源,如在直播业务中,推荐的资源是主播或房间,如果是电商页面,推荐的主要是商品。
特征模块,主要负责获取用户的相关特征,如在直播业务中,用户的相关特征可能包括用户看过的直播间、看过的视频、关注的主播等等,如果在电商业务中,用户的相关特征可能包括用户购买过的商品、浏览过的商品、每年或每月消费的金额等。
模型模块,主要负责在拿到用户的相关特征之后,去预测哪些资源和用户最相关的,或者说最值得推荐给用户的。
重排模块,主要负责在模型预测出待推荐的资源之后,基于某些条件或重要性,对待推荐给用户的资源进行重排序,以期将最适合的资源推荐给用户,并获得最好的资源转化率。
需要说明的是,一个完整的推荐服务还可以包括服务资源加载模块,该服务资源加载模块主要负责完成数据资源动态更新的工作和模型的加载工作。
在本实施例中,可以将推荐服务的上述四个模块串联起来的流程认为是一个推荐规则,每一个推荐规则都具有一个与其关联保存的推荐策略标识,这样,在接收到推荐请求时,即可以通过推荐请求中携带的推荐策略标识来找到与该推荐策略标识相匹配的推荐规则。
在一示例性的实施方式中,所述推荐请求中还携带有选择指令,所述选择指令用于从多个推荐规则中确定选中的推荐规则。作为示例,当推荐请求中还携带有选择指令时,如图3所示,所述步骤S20可以包括步骤:S30-S31。
步骤S30,接收推荐请求,根据所述推荐请求中的选择指令确定选中的推荐策略标识;
步骤S31,根据所述选中的推荐策略标识确定响应所述推荐请求的推荐规则。
具体地,客户端在向计算机设备20发送推荐请求时,可以预先通过扩展gengine(规则引擎)的规则执行模式,使其支持基于选择式的规则执行,即让用户可以来指定这次的推荐请求要执行的规则。在一具体实施方式中,可以通过如下代码实现:
ids=[]string{“1”,”5”,”6”},其中,“1”,”5”,”6”为推荐策略标识;
result=ExecuteSelectedRule(data,ids)
如上代码所示,推荐请求中可以使用ids来指定要执行的推荐规则,data是必要的用户请求数据,计算机设备20根据推荐请求中ids数据来确定用户选中的推荐策略标识。在确定选中的推荐策略标识后,可以通过该推荐策略标识来找到与该推荐策略标识相匹配的推荐规则。
本实施例中,通过在推荐请求中携带选中指令,从而可以实现用户对推荐规则的灵活选择。
步骤S21,根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务。
具体地,计算机设备20中存储有各种推荐服务所需要的业务模块代码,当确定了响应所述推荐请求的推荐规则之后,即可以根据该推荐规则将多个业务功能模块组装成响应所述推荐请求的推荐服务。
在一示例性的实施方式中,参照图4,所述根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务包括:
步骤S40,获取所述确定的推荐规则;
具体地,推荐规则可以存储在计算机设备20的内存中,也可以存储在其他设备中。在一实施方式中,当推荐规则存储在在计算机设备20的内存中时,可以直接根据该推荐规则的推荐策略标识从内存中获取该推荐规则。在另一实施方式中,当推荐规则存储在其他设备中时,可以将该推荐规则的推荐策略标识发送至其他设备中,以便其他设备可以根据该推荐策略标识找到该推荐规则,并将该推荐规则返回给计算机设备20。
步骤S41,对获取到的推荐规则进行解析,得到可执行的代码。
步骤S42,根据所述可执行的代码将所述多个业务模块组装成用于响应所述推荐请求的推荐服务。
具体地,获取到的推荐规则是字符串形式的,为了通过该推荐规则将多个业务模块进行组装,在本实施例中需要先将字符串形式的推荐规则解析为可执行的代码,其中,解析规则可以预先进行配置。
在本实施例中,得到的可执行代码包括各个业务模块的组装逻辑,即包括各个业务模块对推荐请求中的数据进行处理的先后逻辑。在解析得到可执行的代码之后,即可以将多个业务模块组装成一个完整的推荐服务来对推荐请求进行响应。
步骤S22,采用组装好的推荐服务对所述推荐请求进行响应。
具体地,在组装好推荐服务后,对推荐请求的响应过程和现有技术相同,在本实施例中不再赘述。
本实施例中,通过接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则,其中,所述推荐规则用于将实现预设的推荐服务所需的多个业务模块代码进行模块组装得到所述推荐服务;根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务;采用组装好的推荐服务对所述推荐请求进行响应。本申请实施例中在响应推荐请求时,通过推荐规则将响应所述推荐请求的推荐服务的各个业务代码模块进行组装得到推荐服务,从而实现推荐规则与业务模块的解耦,方便用于对推荐服务进行维护,同时,通过将推荐规则与业务模块进行解耦,可以避免因业务模块代码泄露导致推荐规则的泄露,提高推荐服务代码的安全性。
图5示意性示出了根据本申请另一实施例的推荐请求响应方法的流程图。
如图5所示,该推荐请求响应方法可以包括步骤S50-步骤S53,其中:
步骤S50,接收用户开发的至少一个推荐规则并进行存储,其中,用户通过客户端提供的开发界面开发所述至少一个推荐规则。
具体地,任意多个开发人员可以在客户端提供的开发界面开发自己所负责的推荐规则,推荐规则开发好之后,可以经过测试、提交、保存等流程,当保存成功后,推荐规则会被下发到计算机设备20上去,以使计算机设备20在接收到用户开发的推荐规则后,即可以存储这些推荐规则,并使用这些推荐规则对外提供服务。
在本实施例中,开发人员与开发人员之间开发的推荐规则是相互隔离的,且无感知的,彼此之间不会产生任何影响。这样的方式得到的推荐服务也不必重启并进行二次测试,即使测试,也仅需对开发人员独立开发的各个业务模块代码进行测试,这样,只要业务模块代码测试通过,就能保证整体推荐服务的稳定性,从而极大的降低了测试成本。此外,由于所有的推荐规则都在线上运行的计算机设备20的内存中,而不在各个业务模块代码里,因此,即使业务模块代码泄漏了,也不会有任何推荐规则的泄漏问题发生。同时,因为推荐服务不必再重启,对于推荐服务所附着的重型资源,在第一次发布成功之后就可以一直保证稳定运行,而不必担心因为推荐服务重启,而导致资源可能加载失败的问题。
需要说明的是,本实施例中的用户指的开发人员,开发人员在开发推荐规则时,可以一个开发人员开发一个推荐规则,也可以一个开发人员开发多个推荐规则。
作为示例,由于用户开发的推荐规则可能存在一些错误,因此,为了保证用户开发的推荐规则可以正常对外提供服务,所述推荐请求响应方法还可以包括以下步骤:在接收到用户开发的推荐规则之后,对接收到的推荐规则进行预处理;在预处理失败后,提示用户对所述开发的推荐规则进行修改。
作为示例,所述预处理可以包括代码测试处理及推荐规则语法校验处理,其中,待测测试处理为对开发的推荐规则进行测试。推荐规则语法处理为对推荐规则中包含的推荐规则语法是否正常。
在一实施方式中,在对推荐规则进行预处理时,可以先对推荐规则进行代码测试处理,并在代码测试处理通过之后再对推荐规则进行推荐规则语法校验处理。在另一实施方式中,在对推荐规则进行预处理时,也可以先对推荐规则进行推荐规则语法校验处理,并在通过推荐规则语法校验处理之后再对推荐规则进行代码测试处理,或者可以同时进行代码测试处理合推荐规则语法校验处理,即将推荐语法校验处理融合进代码测试处理中,这样,在进行代码测试处理的过程中,即可以同时进行推荐语法校验处理。
在本实施例中,当预处理失败时,为了便于用户及时对开发的推荐规则进行修改,可以对用户进行提示。
作为示例,可以通过不能保存该推荐规则的方式来提示用户该推荐规则预处理失败,或者可以通过以高亮的方式显示有误的推荐规则的代码来提示用户该推荐规则预处理失败。
步骤S51,接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则,其中,所述推荐规则用于将实现预设的推荐服务所需的多个业务模块代码进行模块组装得到所述推荐服务;
步骤S52,根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务;
步骤S53,采用组装好的推荐服务对所述推荐请求进行响应。
具体地,步骤S51-S53与上述实施例中的步骤S20-S22相同,在本实施例中不再赘述。
本实施例中,通过在接收到推荐规则之后,对推荐规则进行校验,从而可以避免校验规则出错导致推荐服务不能正常提供服务。
在一示例性的实施例中,为了便于对各个规则进行管理,在本实施例中,所述推荐请求响应方法还包括:接收推荐规则移除指令,所述移除指令包括待移除的推荐规则;根据所述移除指令移除所述待移除的推荐规则。
具体地,可以使用推荐规则管理界面对推荐规则进行管理。
作为示例,当计算机设备20接收到用户通过该管理界面下发的移除指令时,即可以根据该移除指令中包含的待移除的推荐规则移除该待移除的推荐规则。
参阅图6,其为本申请一实施例的推荐系统开发方法的流程示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。从图中可以看出,本实施例中所提供的推荐系统开发方法包括:
步骤S60,接收开发人员在同一界面上开发的多个推荐规则,其中所述多个推荐规则是由不同的开发人员开发相互独立开发的;
具体地,在每一个开发人员在开发推荐规则时,都可以打开同一个开发界面,然后在该开发界面上开发推荐规则。需要说明是,虽然不同的开发人员在开发推荐规则时,都会打开一个开发界面,但不同的开发人员所打开的开发界面是相互隔离的,且无感知的,因而,不同的开发人员彼此之间在开发过程中不会产生任何影响,实现协同进行开发不同的推荐规则。此外,由于每一个推荐规则是由开发人员独立开发的,而不是由多人开发的,从而可以避免多人同时开发一个推荐规则导致代码冲突,以及可以避免开发人员自己开发的推荐规则被其他人员所知,从而降低推荐规则被泄露的风险。
步骤S61,将所述多个推荐规则下发至所述推荐系统,以在所述推荐系统中形成推荐服务池,所述推荐服务池用于对用户推荐请求进行响应。
具体地,推荐服务池中包含有所述多个推荐规则及多个业务模块代码,不同的推荐规则可以调用不同的业务模块代码组成对应的推荐服务。
本实施例中,在将多个推荐规则下发至推荐系统后,还可以对推荐规则进行管理,比如,删除推荐规则,对推荐规则进行测试,对推荐规则的内容进行修改等。
可以理解的是,由于推荐服务池对用户推荐请求进行响应的方式,在上述实施例中已详细描述,故在本实施例中不再赘述。参阅图7所示,是本申请推荐请求响应装置80一实施例的程序模块图。
本实施例中,所述推荐请求响应装置80包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本申请各实施例的推荐请求响应功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,推荐请求响应装置80可以被划分为一个或多个模块。例如,在图7中,所述推荐请求响应装置80可以被分割成接收模块81、组装模块82、及响应模块83。其中:
接收模块81,用于接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则,其中,所述推荐规则用于将实现预设的推荐服务所需的多个业务模块代码进行模块组装得到所述推荐服务;
组装模块82,用于根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务;
响应模块83,用于采用组装好的推荐服务对所述推荐请求进行响应。
在一示例性的实施方式中,推荐请求响应装置80还包括控制模块。
所述控制模块,用于采用UI自动化技术控制所述应用程序进入所述待测试页面。
在一示例性的实施方式中,推荐请求响应装置80还包括存储模块。
所述存储模块,用于接收用户开发的至少一个推荐规则并进行存储,其中,用户通过客户端提供的开发界面开发所述至少一个推荐规则。
在一示例性的实施方式中,推荐请求响应装置80还包括预处理模块及提示模块。
所述预处理模块,用于在接收到用户开发的推荐规则之后,对接收到的推荐规则进行预处理
所述提示模块,用于在预处理失败后,提示用户对所述开发的推荐规则进行修改。
在一示例性的实施方式中,所述预处理模块,还用于对接收到的推荐规则进行代码测试处理,并在代码测试处理通过之后对所述接收到的推荐规则进行推荐规则语法校验处理。
在一示例性的实施方式中,组装模块82,还用于获取所述确定的推荐规则;对获取到的推荐规则进行解析,得到可执行的代码;根据所述可执行的代码将所述多个业务模块组装成用于响应所述推荐请求的推荐服务。
在一示例性的实施方式中,当推荐请求中还携带有选择指令时,接收模块81,还用于接收推荐请求,根据所述推荐请求中的选择指令确定选中的推荐策略标识;根据所述选中的推荐策略标识确定响应所述推荐请求的推荐规则。
在一示例性的实施方式中,推荐请求响应装置80还包括移除模块。
接收模块81,还用于接收推荐规则移除指令,所述移除指令包括待移除的推荐规则。
所述移除模块,还用于根据所述移除指令移除所述待移除的推荐规则。
本申请实施例中,通过接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则,其中,所述推荐规则用于将实现预设的推荐服务所需的多个业务模块代码进行模块组装得到所述推荐服务;根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务;采用组装好的推荐服务对所述推荐请求进行响应。本申请实施例中在响应推荐请求时,通过推荐规则将响应所述推荐请求的推荐服务的各个业务代码模块进行组装得到推荐服务,从而实现推荐规则与业务模块的解耦,方便用于对推荐服务进行维护,同时,通过将推荐规则与业务模块进行解耦,可以避免因业务模块代码泄露导致推荐规则的泄露,提高推荐服务代码的安全性。
图8示意性示出了根据本申请实施例的适于实现推荐请求响应方法的计算机设备20的硬件架构示意图。本实施例中,计算机设备20是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图8所示,计算机设备20至少包括但不限于:可通过系统总线相互通信链接存储器120、处理器121、网络接口123。其中:
存储器120至少包括一种类型的计算机可读存储介质,该可读存储介质可以是易失性的,也可以是非易失性的,具体而言,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器120可以是计算机设备20的内部存储模块,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器120也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器120还可以既包括计算机设备20的内部存储模块也包括其外部存储设备。本实施例中,存储器120通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如推荐请求响应方法的程序代码等。此外,存储器120还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器121在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其它数据处理芯片。该处理器121通常用于控制计算机设备20的总体操作,例如执行与计算机设备20进行数据交互或者通信相关的控制和处理等。本实施例中,处理器121用于运行存储器120中存储的程序代码或者处理数据。
网络接口123可包括无线网络接口或有线网络接口,该网络接口123通常用于在计算机设备20与其它计算机设备之间建立通信链接。例如,网络接口123用于通过网络将计算机设备20与外部终端相连,在计算机设备20与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件120~122的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器120中的推荐请求响应方法可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器121)所执行,以完成本申请。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的推荐请求响应方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的推荐请求响应方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要筛选出其中的部分或者全部模块来实现本申请实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种推荐请求响应方法,应用于推荐系统中,所述推荐系统包含推荐服务池,所述推荐服务池中包含多个推荐规则,所述多个推荐规则是由不同的开发人员相互独立开发的,每一个推荐规则具有一个与其对应的推荐策略标识,其特征在于,包括:
接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则,其中,所述推荐规则用于将实现预设的推荐服务所需的多个业务模块代码进行模块组装得到所述推荐服务;
根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务;
采用组装好的推荐服务对所述推荐请求进行响应;
所述根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务包括:
获取所述确定的推荐规则;
对获取到的推荐规则进行解析,得到可执行的代码;
根据所述可执行的代码将所述多个业务模块组装成用于响应所述推荐请求的推荐服务。
2.根据权利要求1所述的推荐请求响应方法,其特征在于,所述推荐请求响应方法还包括:
接收用户开发的至少一个推荐规则并进行存储,其中,用户通过客户端提供的开发界面开发所述至少一个推荐规则。
3.根据权利要求2所述的推荐请求响应方法,其特征在于,所述推荐请求响应方法还包括:
在接收到用户开发的推荐规则之后,对接收到的推荐规则进行预处理;
在预处理失败后,提示用户对所述开发的推荐规则进行修改。
4.根据权利要求3所述的推荐请求响应方法,其特征在于,所述预处理包括代码测试处理及推荐规则语法校验处理,所述对接收到的推荐规则进行预处理包括:
对接收到的推荐规则进行代码测试处理,并在代码测试处理通过之后对所述接收到的推荐规则进行推荐规则语法校验处理。
5.根据权利要求1至4任一项所述的推荐请求响应方法,其特征在于,所述推荐请求中还携带有选择指令,所述接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则包括:
接收推荐请求,根据所述推荐请求中的选择指令确定选中的推荐策略标识;
根据所述选中的推荐策略标识确定响应所述推荐请求的推荐规则。
6.根据权利要求1至4任一项所述的推荐请求响应方法,其特征在于,所述推荐请求响应方法还包括:
接收推荐规则移除指令,所述移除指令包括待移除的推荐规则;
根据所述移除指令移除所述待移除的推荐规则。
7.一种推荐系统开发方法,其特征在于:
接收开发人员在同一界面上开发的多个推荐规则,其中,所述多个推荐规则是由不同的开发人员相互独立开发的,所述推荐规则用于将实现预设的推荐服务所需的多个业务模块代码进行模块组装得到所述推荐服务,其中:通过对所述推荐规则进行解析,得到可执行代码,并根据所述可执行代码将所述多个业务模块代码进行模块组装得到所述推荐服务;
将所述多个推荐规则下发至所述推荐系统,以在所述推荐系统中形成推荐服务池,所述推荐服务池用于对用户推荐请求进行响应;
其中,所述推荐服务池对用户推荐请求进行响应包括:
所述推荐服务池根据所述用户推荐请求中携带的推荐标识确定响应所述推荐请求的推荐规则;
所述推荐服务池根据确定的所述推荐规则组装推荐服务,并采用组装好的推荐服务对所述推荐请求进行响应。
8.一种推荐请求响应装置,其特征在于,包括:
接收模块,用于接收推荐请求,根据所述推荐请求中携带的推荐策略标识确定响应所述推荐请求的推荐规则,其中,所述推荐规则用于将实现预设的推荐服务所需的多个业务模块代码进行模块组装得到所述推荐服务;
组装模块,用于根据确定的推荐规则将所述多个业务模块组装成用于响应所述推荐请求的推荐服务;
响应模块,用于采用组装好的推荐服务对所述推荐请求进行响应;
所述组装模块,还用于获取所述确定的推荐规则;对获取到的推荐规则进行解析,得到可执行的代码;根据所述可执行的代码将所述多个业务模块组装成用于响应所述推荐请求的推荐服务。
9.一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述的推荐请求响应方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至6任一项所述的推荐请求响应方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011329430.XA CN112464088B (zh) | 2020-11-24 | 2020-11-24 | 推荐请求响应方法、装置及推荐系统开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011329430.XA CN112464088B (zh) | 2020-11-24 | 2020-11-24 | 推荐请求响应方法、装置及推荐系统开发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112464088A CN112464088A (zh) | 2021-03-09 |
CN112464088B true CN112464088B (zh) | 2023-03-31 |
Family
ID=74798571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011329430.XA Active CN112464088B (zh) | 2020-11-24 | 2020-11-24 | 推荐请求响应方法、装置及推荐系统开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112464088B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391777A (zh) * | 2015-10-28 | 2016-03-09 | 卢星宇 | 一种解耦逻辑代码与性能代码的算法托管PaaS平台 |
CN108229779B (zh) * | 2016-12-21 | 2022-03-08 | 中国科学院沈阳自动化研究所 | 一种面向产线的智能动态服务组合方法和系统 |
CN111368206A (zh) * | 2020-03-17 | 2020-07-03 | 深圳市前海随手数据服务有限公司 | 一种业务推荐方法、装置、服务器及存储介质 |
CN111966908A (zh) * | 2020-08-25 | 2020-11-20 | 贝壳技术有限公司 | 推荐系统和方法、电子设备和计算机可读存储介质 |
-
2020
- 2020-11-24 CN CN202011329430.XA patent/CN112464088B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112464088A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113704110B (zh) | 用户界面的自动化测试方法及装置 | |
CN111563032B (zh) | App调试方法、装置、计算机设备及存储介质 | |
US20140208169A1 (en) | Domain scripting language framework for service and system integration | |
CN111414391A (zh) | 一种访问多数据源的方法及系统 | |
US20140208294A1 (en) | Domain scripting language framework for service and system integration | |
US20190149571A1 (en) | Method and device for repairing page vulnerability | |
CN110837429A (zh) | 一种web端线上代码智能修复方法及装置 | |
CN111966738A (zh) | 一种通过选择前端配置自动实现后端编程的系统 | |
CN104753909A (zh) | 信息更新后的鉴权方法、装置及系统 | |
WO2023179749A1 (zh) | 组态数据处理系统、方法及电子设备 | |
CN115617780A (zh) | 数据导入方法、装置、设备及存储介质 | |
CN112395182A (zh) | 自动化测试方法、装置、设备及计算机可读存储介质 | |
CN112464088B (zh) | 推荐请求响应方法、装置及推荐系统开发方法 | |
CN116661758B (zh) | 一种优化日志框架配置的方法、装置、电子设备及介质 | |
CN113434405A (zh) | 测试文件的确定方法及装置、存储介质及电子装置 | |
CN112988192A (zh) | 版本更新方法、装置、电子设备及存储介质 | |
US10599424B2 (en) | Committed program-code management | |
CN112181836A (zh) | 测试用例生成方法、系统、设备及存储介质 | |
JP2009245066A (ja) | ソフトウェアマイグレーションシステム及び方法 | |
CN115168217A (zh) | 源代码文件的缺陷发现方法及装置 | |
CN110471828B (zh) | 一种操作系统测试方法、装置及其设备 | |
CN115167896A (zh) | 一种更新软件版本的方法、装置、存储介质及电子设备 | |
CN114637689A (zh) | 应用评估方法、装置、设备及存储介质 | |
CN112328287B (zh) | 嵌入式设备系统更新方法、装置、设备及存储介质 | |
CN113918162A (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 |