掌桥专利:专业的专利平台
掌桥专利
首页

为商户提供诊断服务的方法和系统

文献发布时间:2023-06-19 19:35:22


为商户提供诊断服务的方法和系统

技术领域

本公开涉及商业诊断领域,特别涉及一种采用策略配置手段的商业诊断方法和系统。

背景技术

当前,商业诊断平台可以根据商户的运营数据等为商户提供诊断服务,以提高商户的销售额等。诊断平台通过研发的各种策略对运营数据等进行分析,从而给出诊断结果,例如商户存在的问题、解决问题的各种建议和行动等。然而,当前诊断平台的一个策略的上线通常要通过逐案的代码开发、测试、发布,研发效率低下,已不能满足平台服务敏捷迭代的诉求。

另外,由于诊断平台通常针对着几百万的商户,可能要处理上亿级别的商品数据,因此希望平台能够利用大数据处理技术实现更快更好的策略执行。

发明内容

本公开要解决的一个技术问题是提供一种为商户提供诊断服务的方案,其能够实现商业诊断策略的快速优化迭代,从而为商户提供更快更好的诊断服务。

根据本公开的第一个方面,提供了一种为商户提供诊断服务的方法,包括:配置诊断策略,所述诊断策略包括适用所述诊断策略的条件规则以及针对符合所述条件规则的商户或商户的商品提供诊断服务的服务规则;基于所述条件规则对多个商户的数据进行分析,筛选符合所述条件规则的商户或商户的商品;以及基于所述服务规则为符合所述条件规则的商户提供诊断服务,或为商户提供针对符合所述条件规则的商品的诊断服务。

可选地,该方法还包括:向符合所述条件规则的商户推送所述诊断服务;以及/或者响应于商户的请求,从多个诊断策略中选择所述商户符合其条件规则的诊断策略,并向所述商户提供所选诊断策略的诊断服务;以及/或者确定商户的多个商品中符合诊断策略的条件规则的商品,并基于所述诊断策略为所述商户推送针对所述商品的诊断服务;以及/或者响应于商户的请求,从多个诊断策略中选择所述商户的商品符合其条件规则的诊断策略,并基于所选诊断策略向所述商户提供针对所述商品的诊断服务。

可选地,所述诊断服务包括下述至少一项:分析商户和/或商户的商品存在的销售相关问题;提供销售相关问题的数据依据;针对所述销售相关问题提供解决方案建议;提供问题解决方案的接入入口。

可选地,所述条件规则是针对商户的数据设置的,或者所述条件规则是针对商户及同类商户的数据设置的;并且/或者针对商户的诊断策略的服务规则是基于商户的数据和/或同类商户的数据设置的;并且/或者针对商户的商品的诊断策略的服务规则是基于所述商户的所述商品的数据和/或其他商户的同类商品的数据设置的;并且/或者所述诊断策略是至少部分基于平台的活动规则和/或运营规则设置的,其中所述条件规则和/或所述服务规则是至少部分基于所述活动规则和/或运营规则的与数据相关的规则设置的。

可选地,该方法还包括:根据商户对所述诊断服务的反馈,重新配置诊断策略,以优化所述条件规则和/或所述服务规则;其中,所述反馈包括查看或采纳所述诊断服务的商户和/或商户的商品的数量、占比、销售额和/或类别。

可选地,配置诊断策略的步骤包括:设定用于构建实现所述诊断策略的决策流的规则模板集合,所述规则模板集合包括用于所述条件规则的模板和用于所述服务规则的模板;接收规则配置输入,所述规则配置输入对所述规则模板集合进行配置以确定所述条件规则和所述服务规则,从而形成定制的决策流;将所述决策流编译成SQL语句;以及将所述SQL语句提交到大数据处理平台,以在所述大数据处理平台执行所述诊断策略。

可选地,配置诊断策略的步骤在将所述决策流编译成SQL语句的步骤或者将所述SQL语句提交到大数据处理平台的步骤之前还包括:根据所述决策流来配置决策引擎以执行对应的诊断策略;从存储所述诊断策略的输入数据的数据库中选择至少部分数据记录作为仿真数据,并将所述仿真数据切片打包成多个数据块发送给所述决策引擎;在将所述仿真数据切片打包的同时,调度所述决策引擎利用已接收到的数据块中的仿真数据对所述诊断策略进行仿真;以及分析所述仿真的结果,并且在所述仿真的结果未达到预设指标的情况下,重新接收规则配置输入来更新规则模板集合的配置以形成新的定制的决策流。

可选地,对所述仿真的结果的分析包括所述诊断策略命中的商户和/或商户的商品的画像分析,并且/或者所述预设指标包括所述诊断策略命中的商户和/或商户的商品的比率。

可选地,所述决策流被分为关联执行的多个阶段,将所述决策流编译成SQL语句的步骤包括:用DSL脚本描述所述决策流,基于Antlr4语法将所述DSL脚本编译成与所述决策流的多个阶段分别对应的多段SQL语句,以及将所述多段SQL语句存入元数据库;并且其中,将所述SQL语句提交到大数据处理平台的步骤包括:将所述元数据库中的所述多段SQL语句提交给所述大数据处理平台,以根据所述多段SQL语句在所述大数据处理平台上部署所述诊断策略的多个执行节点,其中每个执行节点执行一段SQL语句,所述多个执行节点共同执行所述诊断策略。

可选地,所述诊断策略被配置为使得所述大数据处理平台针对存储所述诊断策略的输入数据的数据库中的至少一条数据记录定期或依指令或响应于满足预设条件离线执行所述诊断策略,并将执行结果存入结果数据库,并且在接收到针对一个商户执行所述诊断策略的请求的情况下,无需执行所述诊断策略而是从所述结果数据库中取出针对这个商户的执行结果。

可选地,在数据仓库中存储所述规则模板集合所要处理的数据,所述规则配置输入选择所述数据仓库中的至少一种数据作为所述决策流的输入数据,其中,至少部分数据是对历史行为日志进行统计分析得到的数据;并且/或者数据被分成多种数据主题,并且所述数据仓库包括多个数据表,其中每个数据表存储与一种数据主题相关的数据;并且/或者所述数据仓库以纵表的形式存储数据;并且/或者所述数据包括描述指标值的数据,所述描述指标值的数据被定义为字符串类型;并且/或者所述数据包括描述对所述数据仓库中部分数据进行处理得到的结果数据。

根据本公开的第二个方面,提供了一种在商户的客户端执行的方法,包括:接收并呈现诊断服务系统发来的诊断服务选项,所述诊断服务选项用于使用诊断策略对商户的数据进行诊断并提供诊断服务,所述诊断策略包括适用所述诊断策略的条件规则以及针对符合所述条件规则的商户或商户的商品提供诊断服务的服务规则;向所述诊断服务系统发送反馈,以便所述诊断服务系统根据商户对所述诊断服务的反馈,重新配置诊断策略,以优化所述条件规则和/或所述服务规则。其中,所述反馈包括下述至少一项:商户是否查看和/或是否采纳了所述诊断服务;商户查看和/或采纳了哪些诊断服务;以及商户查看和/或采纳了相应诊断服务的商品的数量、占比、销售额和/或类别。

根据本公开的第三个方面,提供了一种为商户提供诊断服务的系统,包括:策略配置系统,用于配置诊断策略,所述诊断策略包括适用所述诊断策略的条件规则以及针对符合所述条件规则的商户或商户的商品提供诊断服务的服务规则;大数据处理平台,用于基于所述条件规则对多个商户的数据进行分析,筛选符合所述条件规则的商户或商户的商品,并基于所述服务规则为符合所述条件规则的商户提供诊断服务,或为商户提供针对符合所述条件规则的商品的诊断服务。

可选地,所述策略配置系统包括:设定模块,被配置为设定用于构建实现所述诊断策略的决策流的规则模板集合,所述规则模板集合包括用于所述条件规则的模板和用于所述服务规则的模板;接收模块,被配置为接收规则配置输入,所述规则配置输入对所述规则模板集合进行配置以确定所述条件规则和所述服务规则,从而形成定制的决策流;编译模块,被配置为将所述决策流编译成SQL语句;以及发布模块,被配置为将所述SQL语句提交到大数据处理平台,以在所述大数据处理平台执行所述诊断策略。

根据本公开的第四个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一方面或第二方面所述的方法。

根据本公开的第五个方面,提供了一种计算机程序产品,包括可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上述第一方面或第二方面所述的方法。

根据本公开的第六个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一方面或第二方面所述的方法。

由此,通过使用规则配置诊断策略,本发明能够使商业诊断平台对诊断策略使用统一架构和统一方案,提升运维效率,方便对策略快速优化迭代。另外,通过利用预先设定的规则模板集合来配置所需策略的决策流,并且将决策流编译成大数据处理平台所采用的能高效处理大数据的SQL语句,本发明还能够为超大量商户提供快速的诊断服务。另外,通过所设计的策略仿真方案,将仿真数据切片分成多个仿真任务,从而可以利用决策引擎来对大数据级别的仿真数据进行策略仿真,缩短耗时。

附图说明

通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。

图1示出了根据本公开一个实施例的为商户提供诊断服务的方法的示意性流程图。

图2A示出了根据本公开一个实施例的诊断服务系统的示意性框图。

图2B示出了根据本公开一个实施例的策略配置方法的示意性流程图。

图3示出了根据本公开一个实施例的用于配置对应策略的决策流的可视化界面。

图4是根据本公开一个实施例的生成SQL语句并提交到大数据处理平台的过程的示意图。

图5示出了根据本公开一个实施例的仿真操作。

图6示出了根据本公开一个实施例的计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

针对上述商业诊断平台的策略快速开发的需求,本申请希望能对诊断平台上的策略提出统一架构,统一方案等,提升运维效率,及时发现问题,方便策略的快速优化迭代。因此,本申请提出了在智能诊断平台上实现智能策略配置化,取代代码开发模式。另外,本申请还考虑到商业诊断平台通常要处理上亿级别的商品数据,因此开发了特别适合处理超大规模商户/商品数据的策略配置方案。

下面结合图1-5来详细描述本发明的方案。

图1示出了根据本公开一个实施例的为商户提供诊断服务的方法的示意性流程图。

如图1所示,在步骤S110中,配置诊断策略,所述诊断策略包括适用所述诊断策略的条件规则以及针对符合所述条件规则的商户或商户的商品提供诊断服务的服务规则。

本文中所说的策略通常指的是能够由机器自动运行的实现特定服务的特定流程。

上文所谓的代码开发模式指的是,由程序员根据制定策略人员提出的需求逐个案子地编写代码,并且进行测试和维护。制定策略人员往往是了解服务需求的决策人员(如运营人员、产品经理等),不具备代码开发能力,需要与程序员反复沟通来使其实现所需策略,这导致角色间巨大的沟通成本,并且开发周期长,因此代码开发的速度无法满足策略开发的需求。

而相对地,配置诊断策略指的是在制定具体诊断策略之前,根据行业专家等的经验将同一类型的诊断策略抽象为一个统一架构,将该架构可能涉及的数据、规则等(可选地,还可以有模型、流程)都提前定义好,设置规则模板(可选地,还可以有流程模板)以供选择,制定策略人员可以通过例如可视化界面根据自己需求配置诊断策略,配置好后由预先设好的转换工具将其变成机器执行的代码,从而快速实现定制的诊断策略。

由此,可以通过配置统一的规则模板等来配置诊断策略,因此能够使商业诊断平台对诊断策略使用统一架构和统一方案,提升运维效率,方便对策略快速优化迭代,为商户提供更优的诊断服务。

然后,在步骤S120中,基于所述条件规则对多个商户的数据进行分析,筛选符合所述条件规则的商户或商户的商品。

然后,在步骤S130中,基于所述服务规则为符合所述条件规则的商户提供诊断服务,或为商户提供针对符合所述条件规则的商品的诊断服务。

步骤S120和S130实际上是执行配置好的诊断策略的过程,即,根据配置好的条件规则筛选商户和/或商品,然后根据配置好的服务规则为筛选出的商户或商品对应的商户提供相应的诊断服务。

优选地,在一些实施例中,条件规则是针对商户的数据设置的,或者是针对商户及同类商户的数据设置的;并且/或者,针对商户的诊断策略的服务规则是基于商户的数据和/或同类商户的数据设置的;并且/或者,针对商户的商品的诊断策略的服务规则是基于所述商户的所述商品的数据和/或其他商户的同类商品的数据设置的。同类商户和同类商品指的是在商业诊断平台为商品和商户分好类别(例如,服装、食品、化妆品等)的情况下属于同一类别的商户和商品。同类商户/商品的数据通常可以包括排序数据,例如同类商户/商品的销售额的前三名、访问量的前三名、商品标题关键词的访问量前三名等。使用同类商户/商品的数据可以为商户提供更优的诊断策略,从而更有效地提升商户的数据,如访问量、销售额等。

优选地,在一些实施例中,所述诊断策略是至少部分基于平台的活动规则和/或运营规则设置的,其中所述条件规则和/或所述服务规则是至少部分基于所述活动规则和/或运营规则的与数据相关的规则设置的。例如,在购物平台进行一些节日大促的情况下,诊断策略可以配合购物平台的大促方案为商户提供服务。由于本发明采用策略配置的方式,能够更方便、更快速地实现诊断策略,因此能够配合平台的活动规则或运营规则的实时变动,迅速调整诊断策略,为商户提供更好的服务。

优选地,在一些实施例中,上述的诊断服务包括下述至少一项:分析商户和/或商户的商品存在的销售相关问题;提供销售相关问题的数据依据;针对所述销售相关问题提供解决方案建议;提供问题解决方案的接入入口。例如,可以根据条件规则由商户的数据判断出商户最近(如近7日)的拉新量不足,从而作出诊断服务,即向商户提供其最近的拉新量数据、显示拉新量不足的问题、给出提高拉新量的建议(例如,对某款商品做推广)和/或给出为商品做推广的服务的接入入口(例如,商户可点击按钮直达推广服务界面)。

另外,优选地,在一些实施例中,本发明的方法还可以包括:

向符合所述条件规则的商户推送所述诊断服务;以及/或者

响应于商户的请求,从多个诊断策略中选择所述商户符合其条件规则的诊断策略,并向所述商户提供所选诊断策略的诊断服务;以及/或者

确定商户的多个商品中符合诊断策略的条件规则的商品,并基于所述诊断策略为所述商户推送针对所述商品的诊断服务;以及/或者

响应于商户的请求,从多个诊断策略中选择所述商户的商品符合其条件规则的诊断策略,并基于所选诊断策略向所述商户提供针对所述商品的诊断服务。

也就是说,本发明还可以通过主动推广的方式向策略命中的商户推送诊断服务,或者也可以根据商户需要为商户自动选择合适的诊断策略为其提供服务,从而为商户提供个性化服务,提高诊断服务被商户采纳的比例。

另外,在商户的客户端,可以接收并呈现诊断服务系统发来的一个或多个诊断服务的选项。商户进行选择、查看并且/或者接受(执行)诊断服务之后,客户端可以向诊断服务系统发送反馈。

这里,反馈可以包括下述至少一项:商户是否查看和/或是否采纳了诊断服务;商户查看和/或采纳了哪些诊断服务;以及商户查看和/或采纳了相应诊断服务的商品的数量、占比、销售额和/或类别。

这样,在一些实施例中,本发明的方法还可以包括:根据商户对所述诊断服务的反馈,重新配置诊断策略,以优化所述条件规则和/或所述服务规则;其中,所述反馈包括查看或采纳所述诊断服务的商户和/或商户的商品的数量、占比、销售额和/或类别。例如,对于某个诊断策略,向符合其条件规则的1万个商户推送了诊断服务,结果根据执行日志等得知其中仅50个商户采纳了该诊断服务(例如,点击了诊断建议给出的拉新服务入口),即该结果反馈该诊断策略的效果不佳,因此策略制定者可以对该诊断策略的条件规则和/或服务规则等进行优化,重新配置一个更优的诊断策略。

由此,本发明可以根据商户的反馈来及时调整诊断策略,或者为每个商户提供更个性化的服务。

下面结合图2A-2B、图3-5来更详细地描述本发明的策略配置方案。

图2A示出了根据本公开一个实施例的诊断服务系统示意性框图。

如图2A所示,该诊断服务系统包括策略配置系统100以及与策略配置系统100连接的大数据处理平台160。在一些实施例中,诊断服务系统还可以包括决策引擎170,以执行仿真处理。

在本实施例中,本发明的策略配置系统100被集成在商业诊断平台(例如诊断服务系统)中,但是本领域技术人员应该理解本发明不限于此。

如图2A所示,策略配置系统100包括设定模块110、接收模块120、编译模块130和发布模块140。在一些实施例中,策略配置系统100还可以包括仿真模块150。

策略配置系统100的各个模块分别执行如图2B所示的根据本公开一个实施例的策略配置方法的各个步骤。

具体而言,设定模块110被配置为执行图2B的步骤S210,即,设定用于构建实现诊断策略的决策流的规则模板集合,所述规则模板集合包括用于前述条件规则的模板和用于前述服务规则的模板。

一个具体策略通常可以通过一个决策流来实现,该决策流是由例如运营人员设置的按照一定规则和流程运行下的有向无环图,最终会被编译成计算机可执行语言来提供策略服务。因此,为了方便配置策略,在制定具体策略之前,可以根据行业专家经验等来预先设定决策流可能涉及的各种规则模板,供策略制定者选择使用,以形成所需决策流。例如,在一些情况下,一个规则模板可以规定在满足一个判断条件的情况下执行一个动作,并且规定判断所依据的输入数据的种类、判断要满足的参数的范围以及可以选择执行的多个动作,后续配置策略时可以选择该规则模板的判断条件和要执行的动作,从而形成所需的规则。比如在配置诊断策略的情况下,可以设定一个规则模板为:在商户的固定日期内新客访问数小于一个数值的情况下诊断商户的拉新表现不佳,其中固定日期内可以为7日内、14日内或30日内,数值的范围可以为1到1千万。后续配置诊断策略时,可以将该规则模板配置为“在商户的7日内新客访问数小于30000的情况下诊断商户的拉新表现不佳”,从而得到所需的规则。将配置得到的各个规则按照需要顺序连接即得到所需的决策流。另外,为了方便配置各规则之间的执行顺序,优选地还可以预先设定流程模板,在配置策略时可以先选择所需的流程,再选择流程的各个步骤所要用的规则。

在配置诊断策略时,可以通过接收模块120来定制决策流。该接收模块120被配置为执行图2B的步骤S220,即,接收规则配置输入,所述规则配置输入对前述规则模板集合进行配置以确定条件规则和服务规则,从而形成定制的决策流。在一些实施例中,所述规则配置输入可以从规则模板集合中选择所需规则模板,对规则模板进行配置以得到所需规则,并构造各规则之间的执行顺序,从而形成所需的决策流。

在一些实施例中,接收模块120可以是例如用户界面(UI)的可视化界面,策略制定者可以通过UI方便地选择预设的规则模板,设置规则的执行顺序、规则的输入数据(例如,判断条件所依据的数据)和输出数据(例如,要执行的动作)的种类、和/或规则的运行参数的数值。另外,在预设流程模板的情况下,也可以先通过UI选择决策流的流程,再点击流程的各步骤以通过规则模板配置要执行的规则。

当然,本发明的接收模块120不限于是可与用户交互的可视化界面,也可以是通过网络或其它途径直接接收规则配置输入信息的模块。

在一些实施例中,可以以合适的数据模型建立数据仓库来存放各规则模板要处理的各种数据,特别是要考虑在处理大数据的情况下数据模型的高效、稳定和可扩展性等。

例如,在诊断策略的情况下,常常需要利用商户、商品等的各种统计数据(例如对历史行为日志进行统计分析得到的数据,如7日内的访客数、交易金额等)作为诊断依据,即,作为决策流的输入数据(也是条件规则和服务规则等要使用的数据),要设计合适的数据模型来管理这些超大量的数据。目前有采用onedata建模方法来管理这些诊断的基础数据,但是onedata建模方法采用宽表设计,在诊断策略需要频繁改动数据模型设计的情况下,宽表的效率非常低。另外,不同数据主题(如商户、商品、活动、类目、内容等)的数据必要的元素是不同的,过度抽象会影响数据模型的可读性和使用便利性,需要按数据主题设计模型。因此,为了应对配置化的诊断策略用数需求,可以采用分主题纵表化设计的数据模型,即,将数据分成多种数据主题(如商户、商品、活动、类目、内容等),分别以纵表的形式按数据主题存储在对应的数据表中。

另外,对于存放指标值的数据字段,为了提升其扩展性,可以将其定义为字符串类型(如string类型),该类型允许用各种格式来表示指标值,因此,指标值可以根据需要设定为数值、文字、日期等等。

另外,优选地,可以为数据表设置一个或多个冗余字段,在该冗余字段中存放对数据表中的其它部分数据进行再处理后得到的结果数据。例如,对于排序等常见数据查询场景,可以将其单独固化成字段,从而可以保证查询性能,提高处理速度。还可以将策略中的规则常用的一些数据处理/计算提前到数据侧来完成,将常用数据处理的结果存入冗余字段中,在后续策略执行时只需调用即可,可以提高效率及稳定性。

另外,除了如上所述设置纵表以外,还可以在一些特定情形下增加横表以保障系统稳定性。纵表模式虽然效率高,但是涉及到全量商品维度,数据量就会根据指标的不同而翻倍。例如,在购物平台大促期间,针对这种查询的每秒查询率(QPS,Queries-per-second)较高的场景,增加部分指标的横表,能保障查询数据量的系统稳定性。

上述数据仓库可以建在大数据处理平台160中,或者可以由大数据处理平台160接入,以方便大数据处理平台160在执行策略时利用SQL语句对数据进行高效处理。

在如前所述接收模块120配置好决策流之后,编译模块130将决策流编译成SQL语句,即,执行图2B的步骤S230。

当前存在一些基于Java规则引擎将配置的决策流转成JavaJar包提供服务,以实现例如实时风控之类的策略。但是,本申请的发明人发现,这些Java实现的策略只能处理小数据量,而针对大数据(例如上亿的商品数据)时,策略执行对资源和时间的消耗过于严重,无法使用。

因此,本发明提出了将决策流编译成SQL语句的方案。SQL即结构化查询语言(Structured Query Language)的缩写,用来存储、检索和修改关系型数据库中存储的数据。优选地,本发明的SQL语句采用大数据处理平台160所使用的SQL语法,其适用于海量数据(TB级)但实时性要求不高的分布式处理场景。

在一些实施例中,优选地,可以设计一套适合于商业诊断决策流表达的DSL(Domain Specific Language,即领域专用语言),其专注于解决复杂策略的决策规则的表述问题,仅支持简单流程描述和表达式计算,具体语法支持如下:

1.变量声明、变量初始化;

2.支持IF-ELSEIF-ELSE、CASE-WHEN流程判断;

3.表达式(数学表达式、逻辑表达式、三目表达式、赋值表达式、访问表达式);

4.变量遍历;

5.函数调用(内建函数、对象函数)等等。

另外,该DSL对决策流所使用的数据的表述尽可能贴近SQL使用习惯,并且对于包含条件和动作两大要素的规则的描述尽量贴近自然语言,其既能支持大量复杂决策逻辑(多条件组合、分支嵌套),又尽可能提升了规则的可读性。

在决策流被配置完成后,利用DSL脚本来描述决策流,然后利用Antlr4语法将DSL脚本编译成SQL语句。

这种将决策流编译成适合高效处理大数据的SQL语句的操作是前人没有做过的,本申请的发明人经过调研、探索采用了设计DSL语言并基于Antlr4语法将其编译成SQL的操作,并经过大量的努力成功实现了这一编译过程,从而高效实现了针对超大规模数据处理的策略配置,其既能简单快速地定制诊断策略,又能保证诊断策略在大数据处理平台上运行以处理超大规模数据。

在如前所述编译模块130生成SQL语句之后,发布模块140将SQL语句提交到大数据处理平台160,即,执行图2B的步骤S240,以便在大数据处理平台160执行与配置的决策流对应的策略。

在一些实施例中,可以在大数据处理平台160上部署一个SQL执行节点来执行整个SQL语句,从而执行其对应配置的策略。

而在另一些实施例中,可以将SQL语句分成关联执行的多段,并根据多段SQL语句在大数据处理平台160上部署相应关联执行的多个执行节点,其中每个执行节点执行一段SQL语句,这多个执行节点关联运行从而实现该策略。在这种部署多个执行节点的情况下,可以进一步提高策略的执行效率,并且优化策略配置过程。例如,可以在配置决策流时,就按照策略逻辑等将决策流分为关联执行的多个阶段,有利于策略配置者对多个阶段分别进行配置。后续编译时将配置好的决策流编译成与这多个阶段分别对应的多段SQL语句,再提交到大数据处理平台160上以部署相应关联执行的多个执行节点。

下面结合图3-4详细描述诊断策略分段配置和部署的一个示例。

诊断策略通常可以被分为顺序执行的四个阶段:数据准备阶段、归因阶段、解法阶段和话术阶段。数据准备阶段对商户相关的数据进行处理,归因阶段根据数据的处理结果确认存在的问题,解法阶段提出对所述问题的解决办法,以及话术阶段向商户提供与所述解决办法对应的建议。在一些实施例中,通常,数据准备阶段和归因阶段可以包括前述的条件规则,解法阶段和话术阶段可以包括前述的服务规则。

在用户配置诊断策略时,可以在可视化界面上显示如图3所示的简化流程图,用户分别点进“数据准备”、“归因”、“解法”和“话术”四个方框,就可以对相应阶段的规则进行配置。在整个决策流配置完成后,如图4所示,决策流被编译成SQL语句,并存入元数据库中的一个决策流节点SQL表中,同时可以通知大数据处理平台160从该更新后的SQL表中获得各阶段的SQL语句,从而分别部署对应的各节点,各节点顺序执行以实现该策略。元数据库可以位于策略配置系统100内,也可以由例如云端对象存储服务(Object Storage Service,简称OSS)来提供,该云端OSS可以提供海量、安全、低成本和高可靠的云存储服务,并且可以方便大数据处理平台160接入。

SQL语句部署到大数据处理平台160后就可以触发大数据处理平台160进行离线计算,从而针对该策略的全部/部分输入数据(例如,全部/部分商户的某个统计数据)离线执行策略,并将执行结果存入结果数据库(例如,Hbase数据库)。在后续接收到要针对某个商户执行该诊断策略的请求的情况下,无需执行策略而是直接从结果数据库中取出针对该商户的执行结果即可。在本公开的上下文中,一条数据记录可以用于表示用作该诊断策略的输入数据的与一个商户相关的数据记录,例如一个商户自身的数据、与一个商户的所有或至少部分商品相关的数据、和/或同类商户/商品的数据等。本领域技术人员可以理解,上述策略的离线执行指的是针对该策略的大数据离线计算,其也可以理解为批处理(batch)计算,区别于在线计算或实时计算,离线计算在开始计算前已准备好所有输入数据,并且在计算时该数据不会产生变化。

在一些实施例中,配置的诊断策略可以让大数据处理平台160定期(例如,每天)或依指令或响应于满足预设条件对全部数据进行一次该策略的离线计算,并将结果同步到Hbase数据库。例如,作为诊断策略的输入数据的各商户、商品等的统计数据定期(例如,每天)更新一次,在数据更新完成后,让大数据处理平台160针对更新后的数据全部进行一次策略的离线计算,并将诊断结果同步到Hbase数据库中,在数据下一次更新前,线上商户发起的针对该诊断策略的请求都无需再进行计算,而是直接从Hbase数据库中取出诊断结果即可。这进一步解决了策略执行的耗时问题,也为线上策略执行提供了便利。

在一些实施例中,如图2A所示,优选地,策略配置系统100还可以包括仿真模块150,其被配置为执行图2B所示的步骤S220与S230之间的仿真操作。仿真操作也可以在步骤S230与S240之间执行。也就是说,在将SQL语句正式发布到大数据处理平台160之前对策略进行仿真操作即可,以保证所发布的诊断策略达到预期效果,可以正式使用。仿真的结果可以被反馈给策略配置者,在结果未达预期的情况下,可以对诊断策略进行优化调整,即再次执行步骤S220,重新配置生成更新的决策流。

下面结合图5详细描述诊断策略的仿真过程的一个示例。

配置平台(即前述策略配置系统,其可以集成在商业诊断平台内)的用户(即策略配置者)在配置好决策流之后,可以创建一个对该决策流的仿真任务。在这里仿真任务可以采用决策引擎170来完成。在现有技术中,采用决策引擎进行仿真任务时,会创建仿真任务相应的单个部署任务,在任务里面已经将策略和需要的所有数据进行了打包,这种批量处理方式对于大数据的仿真极为消耗内存资源且耗时严重。基于以上现有技术的问题,本发明提出了分布式的策略仿真方案,即,将例如千万级的仿真的取数查询任务进行切片打包,从而将千万级大数据的数据仿真任务拆分为若干个少量数据仿真任务,边执行取数打包任务边执行策略的仿真任务,从而缩短了仿真耗时,便于对策略配置进行快速调优。

具体而言,在创建仿真任务后,可以将决策流编译成java Jar包,并将该程序包上传至云端OSS,然后决策引擎170从云端OSS获取决策流程序包并安装部署以执行相应的策略。

同时,可以根据店铺维度(商户id、购物平台、店铺层级)和/或商品维度(商品id、访客量排名、销量排名)等来设置从存储该诊断策略的输入数据的数据库中筛选哪些仿真数据、仿真数据的总量以及仿真数据切片的方式。然后,根据数据切片的安排将仿真任务拆分成N个小任务1~N,每个小任务进行相应切片的仿真数据的取数查询任务,并将其打包成数据块上传到云端OSS。图5中的任务调度中心可以调度这N个仿真任务的执行情况。例如,可以在配置平台中的任务生产中心取数和打包的同时,让决策引擎170获取已经打包上传到云端OSS的任务的数据包,并针对这些仿真数据进行策略仿真,从而缩短了仿真耗时。

仿真任务的结果被回流到存放日志的数据库,并且反馈给配置平台,以对仿真结果进行分析。例如,可以进行诊断策略命中的商户和/或商户的商品的画像分析,了解诊断策略命中的商户和/或商户的商品的比率(即,策略的覆盖率)等。在例如诊断策略的覆盖率偏低的情况下,策略配置者可以优化诊断策略方案,重新进行诊断策略配置。

图6示出了根据本发明一实施例可用于实现上述为商户提供诊断服务的方法的计算设备的结构示意图。

参见图6,计算设备600包括存储器610和处理器620。

处理器620可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器620可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器620可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。

存储器610可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器620或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器610可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器610可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。

存储器610上存储有可执行代码,当可执行代码被处理器620处理时,可以使处理器620执行上文述及的为商户提供诊断服务的方法。

上文中已经参考附图详细描述了根据本发明的为商户提供诊断服务的方法。

此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。

或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。

附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

相关技术
  • 确定商户服务额度、为商户提供风险保障服务方法及装置
  • 细胞诊断支援装置、细胞诊断支援方法、远程诊断支援系统、服务提供系统及图像处理方法
技术分类

06120115961444