本发明涉及信息技术领域,尤其是涉及一种批量匹配数据配置化实现业务推荐的方法及系统。
背景技术:
电信运营商在对客户进行业务推荐时,往往需要确认用户的多个条件,再精确给出客户可以办理的业务推荐。
目前,在具体项目开发确认客户的多个条件时,需要依次遍历校验匹配多个条件,每遍历校验匹配完成一个条件后,输出符合该条件的相关结果,根据符合该条件的结果,再进入下一个条件的遍历校验和匹配,直到将所有条件遍历完成,得到最终结果;由于每次校验匹配的条件还会经常增加或变化;如果针对每个需确认的条件都进行代码开发,需要消耗较多的人力和时间成本,且当匹配条件增加或变化时需要更改代码,费时费力,不利于系统维护。
基于此,本发明设计了一种通过对数据库进行配置,实现统一返回获取信息的方法。
技术实现要素:
针对上述问题,本发明提供了一种批量匹配数据配置化实现业务推荐的方法及系统,通过对数据库中业务类型进行参数匹配,实现多种业务场景均可精准快速展示业务信息。
为实现上述目的,本发明提供了一种批量匹配数据配置化实现业务推荐的方法,包括:
将每种业务的业务推荐信息与对应的网别配置到业务推荐定义表中;
将每种业务的所述业务推荐信息与对应的规则信息配置到匹配规则表中;
定义公共变量并获取待推荐用户的公共变量信息;其中,所述公共变量信息包括网别;
根据待推荐用户的网别查询所述业务推荐定义表,得到一个或多个业务推荐信息;
根据得到的一个或多个所述业务推荐信息查询所述匹配规则表,基于对应的规则信息分别判断每个所述业务推荐信息的全部匹配规则结果;
返回推荐信息。
作为本发明的进一步改进,所述业务推荐信息包括分组id、分组名称和解释。
作为本发明的进一步改进,所述规则信息包括规则类型、对象、sql语句和需满足条件。
作为本发明的进一步改进,所述公共变量还包括号码、地市编码和业务办理信息。
作为本发明的进一步改进,所述根据待推荐用户的网别查询所述业务推荐定义表,得到一个或多个业务推荐信息;具体包括:
根据待推荐用户的网别,查询所述业务推荐定义表,筛选到待推荐用户所有可推荐的业务推荐信息的分组id,可推荐的业务推荐信息为一个或多个。
作为本发明的进一步改进,根据得到的一个或多个所述业务推荐信息查询匹配规则表数据,分别判断每个所述业务推荐信息的全部匹配规则结果,具体为:
基于id得到一个或两个规则类型,基于规则类型所对应的匹配规则带入用户的公共变量信息,得到一个或多个匹配规则结果,分别判断得到的一个或多个匹配规则结果是否与对应需满足条件中的数据一致;
判断分组id对应的所有规则类型的匹配规则结果是否全部与需满足条件中数值一致;
若全部一致,则返回此业务推荐内容;
否则,不返回此业务的推荐内容。
作为本发明的进一步改进,多个所述业务推荐信息的分组id,分别在匹配规则表中查询,得到的结果相互独立;
若一个业务推荐信息的分组id对应的所有规则类型的结果全部与需满足条件中数值一致,另一个业务推荐信息的分组id对应的所有规则类型的结果不完全与需满足条件一致,则只返回第一个业务的推荐内容。
作为本发明的进一步改进,所述分组id的规则类型对应的匹配规则有两种,规则类型1对应匹配规则为获取对象字段的数据;规则类型为2对应匹配规则为执行sql语句。
作为本发明的进一步改进,所述基于id得到一个或两个规则类型,基于规则类型所对应的匹配规则带入用户的公共变量信息,得到一个或多个匹配规则结果,分别判断得到的一个或多个匹配规则结果是否与对应需满足条件中的数据一致;具体包括:
当分组id有一个规则类型;
若规则类型为1,则获取对象字段的数据,所述对象字段的数据包含在公共变量的业务办理信息中,比较对象字段的数据与对应规则类型需满足结果条件中的数值是否一致;
若规则类型为2,则获取sql语句的运行结果,比较sql语句运行结果与对应规则类型需满足的条件是否一致;
当分组id有两个规则类型,规则类型为1和2;
则同时获取比较对象字段数据和sql语句的运行结果,分别与规则类型为1和规则类型为2需满足结果条件中的数值比较,判断是否分别一致。
本发明还提供了一种实现如上技术方案所述的批量匹配数据配置化实现业务推荐方法的系统,包括:数据库配置模块、公共变量获取模块、数据查询模块和结果返回模块;
所述数据库配置模块,用于:
将每种业务的业务推荐信息与对应的网别配置到业务推荐定义表中;
将每种业务的所述业务推荐信息与对应的规则信息配置到匹配规则表中;
所述公共变量获取模块,用于:
定义公共变量并获取到待推荐用户的公共变量信息;
其中,所述公共变量信息包括网别;
所述数据查询模块,用于:
根据待推荐用户的公共变量信息查询数据库中所述业务推荐定义表,得到一个或多个业务推荐信息;
根据得到的一个或多个所述业务推荐信息查询所述匹配规则表,基于对应的规则信息分别判断每个所述业务推荐信息的全部匹配规则结果;
所述结果返回模块,用于:
根据数据查询模块的查询结果,返回业务推荐结果。
与现有技术相比,本发明的有益效果为:该方法可通过数据库参数配置,使通信运营商在向用户进行业务推荐时,减少后台业务推荐程序的代码开发复杂度,节约开发成本和程序运行时间,实现统一返回业务推荐信息。
在业务推荐条件增加或变化时,只需对业务推荐定义表和匹配规则表进行调整,开发较少的sql语句,便于后期维护。
附图说明
图1为本发明一种实施例公开的根据业务动态展示受理信息的方法流程图;
图2为本发明一种实施例公开的根据业务动态展示受理信息的系统示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
如图1所示,本发明提供的一种批量匹配数据配置化实现业务推荐的方法,包括:
s1、将每种业务的业务推荐信息与对应的网别配置到业务推荐定义表中;
其中,业务推荐信息包括分组id、分组名称和解释。
s2、将每种业务的业务推荐信息与对应的规则信息配置到匹配规则表中;
其中,规则信息包括规则类型、对象、sql语句和需满足条件。
s3、定义公共变量并获取待推荐用户的公共变量信息;其中,公共变量信息包括网别;
其中,公共变量还包括号码、地市编码和业务办理信息。
s4、根据待推荐用户的网别查询业务推荐定义表,得到一个或多个业务推荐信息;
其中,根据待推荐用户的网别,查询业务推荐定义表,筛选到待推荐用户所有可推荐的业务推荐信息的分组id,可推荐的业务推荐信息为一个或多个。
s5、根据得到的一个或多个业务推荐信息查询匹配规则表,基于对应的规则信息分别判断每个业务推荐信息的全部匹配规则结果;
其中,根据业务推荐定义表中查询到一个或多个业务推荐信息的分组id,分别查询匹配规则表中对应的分组id;根据分组id在匹配规则表中对应的一个或两个规则类型;
分组id的规则类型对应的匹配规则有两种,规则类型1对应匹配规则为获取对象字段的数据;规则类型2对应匹配规则为执行sql语句。
当分组id对应的有一个规则类型;
若规则类型为1,则获取对象字段的数据,对象字段的数据包含在公共变量的业务办理信息中,比较对象字段的数据与对应规则类型需满足结果条件中的数值是否一致;
若规则类型为2,则获取sql语句的运行结果,比较sql语句运行结果与对应规则类型需满足的条件是否一致;
当分组id对应的有两个规则类型,规则类型为1和2;
则同时获取比较对象字段数据和sql语句的运行结果,分别与规则类型为1和规则类型为2需满足结果条件中的数值比较,判断是否分别一致。
判断分组id对应的所有规则类型的匹配规则结果是否全部与需满足条件中数值一致;
若全部一致,则返回此业务推荐内容;
否则,不返回此业务的推荐内容。
s6、返回推荐信息。
多个业务推荐信息的分组id,分别在匹配规则表中查询,得到的结果相互独立;
若一个业务推荐信息的分组id对应的所有规则类型的结果全部与需满足条件中数值一致,另一个业务推荐信息的分组id对应的所有规则类型的结果不完全与需满足条件一致,则只返回第一个业务的推荐内容。
若两个业务推荐信息的分组id对应的所有规则类型的结果全部与需满足条件中数值一致,则同时返回两个业务的推荐内容。
如图2所示,本发明还提供了一种用于实现步骤s1~s6的系统,包括数据库配置模块、公共变量获取模块、数据查询模块和结果返回模块;
数据库配置模块,用于:
将每种业务的业务推荐信息与对应的网别配置到业务推荐定义表中;
将每种业务的业务推荐信息与对应的规则信息配置到匹配规则表中;
公共变量获取模块,用于:
定义公共变量并获取到待推荐用户的公共变量信息;
其中,公共变量信息包括网别;
数据查询模块,用于:
根据待推荐用户的公共变量信息查询数据库中业务推荐定义表,得到一个或多个业务推荐信息;
根据得到的一个或多个业务推荐信息查询匹配规则表,基于对应的规则信息分别判断每个业务推荐信息的全部匹配规则结果;
结果返回模块,用于:
根据数据查询模块的查询结果,返回业务推荐结果。
与现有技术相比,本发明的有益效果为:该方法可通过数据库参数配置,使通信运营商在向用户进行业务推荐时,减少后台业务推荐程序的代码开发复杂度,节约开发成本和程序运行时间,实现统一返回业务推荐信息。
在业务推荐条件增加或变化时,只需对业务推荐定义表和匹配规则表进行调整,开发较少的sql语句,便于后期维护。
实施例:以客户当前已办理200m的宽带业务,且宽带未办理iptv业务的场景,向客户推荐宽带类业务为例;
步骤1、将每种业务的业务推荐信息与对应的网别配置到业务推荐定义表中;其中,业务推荐信息包括分组id、分组名称和解释。
业务推荐定义表如下所示:
步骤2、将每种业务的业务推荐信息与对应的规则信息配置到匹配规则表中;其中,规则信息包括规则类型、对象、sql语句和需满足条件。
匹配规则表如下所示:
步骤3、定义公共变量并获取待推荐用户的公共变量信息;其中,公共变量包括号码、地市编码、网别和业务办理信息。
号码(serial_number):18678875769
地市编码(eparchy_code):山东济南-37
用户id(user_id):a000007a85ade2
网别(net_type_code):40(宽带)
业务办理信息-是否已办理过宽带提速业务(speed_up_flag):未办理(0)
步骤4、推荐用户的公共变量信息查询业务推荐定义表,得到一个或多个业务推荐信息;
其中,根据待推荐用户的网别信息(40-宽带),查询业务推荐定义表,筛选到待推荐用户所有可推荐的业务推荐信息的分组id(1001、1002、1003)。
步骤5、根据得到的三个业务推荐信息查询匹配规则表数据,分别判断每个业务推荐信息的全部匹配规则结果;
其中,根据业务推荐定义表中查询到一个或多个业务推荐信息的分组id,分别查询匹配规则表中对应的分组id;根据分组id在匹配规则表中对应的一个或两个规则类型;
分组id-1001,对应有两个规则类型,1:对象;2:sql语句;
分组id-1002,对应有两个规则类型,1:对象;2:sql语句;
分组id-1003,对应有一个规则类型,2:sql语句;
规则类型为1表示需获取对象字段的数据;规则类型为2表示执行sql语句。
分组id分组id-1001对应有两个规则类型为1和2,则同时获取规则类型1的比较对象字段数据和sql语句:
对象字段数据为公共变量信息中的speed_up_flag(是否已办理过宽带提速业务),根据提前获取到的公共变量信息,可知未办理,结果为0;
sql语句selectcount(1)fromt_f_userinfowhereserial_number=&serial_numberandeparchy_code=&eparchy_codeanduser_speed='100m'(当前宽带是否为100m),带入公共变量serial_number和eparchy_code,在数据库中找到该用户的号码,对应当前带宽信息是200m,故运行结果为0,
将规则类型对应的匹配规则结果分别与规则类型1和规则类型2需满足结果条件中的数值比较,对象结果0与其需满足结果0一致;sql语句运行结果0与对应的需满足结果1不一致;
分组id分组id-1002对应有两个规则类型为1和2,则同时获取规则类型1的比较对象字段数据和sql语句:
对象字段数据为公共变量信息中的speed_up_flag(是否已办理过宽带提速业务),根据提前获取到的公共变量信息,可知未办理,结果为0;
sql语句selectcount(1)fromt_f_userinfowhereserial_number=&serial_numberandeparchy_code=&eparchy_codeanduser_speed='200m'(当前宽带是否为200m),带入公共变量serial_number和eparchy_code,在数据库中找到该用户的号码,对应当前带宽信息是200m,故运行后结果为1,
将规则类型对应的匹配规则结果分别与规则类型1和规则类型2需满足结果条件中的数值比较,对象结果0与其需满足结果0一致;sql语句运行结果1与对应的需满足结果1不一致;
分组id分组id-1003对应有一个规则类型为2,则获取sql语句的运行结果:
sql语句:selectcount(1)fromucr_crm6.tf_f_user_productwhereuser_id=&user_idandproduct_idin(89002817,90442581)andend_date>sysdate
带入用户id,在数据库中找到该用户id对应的业务办理信息,查询到该用户宽带未办理iptv业务,故运行结果为0;sql语句运行结果(0)与对应规则类型需满足的条件数据(0)一致;
步骤6、返回推荐信息。
多个业务推荐信息的分组id,分别在匹配规则表中查询,得到的结果相互独立;
业务推荐信息的分组id-1001对应的两个规则类型的结果与需满足条件不完全一致,业务推荐信息的分组id-1002对应的两个规则类型的结果完全与需满足条件一致,业务推荐信息的分组id-1003对应的一个规则类型的结果与需满足条件一致,故调用业务推荐定义表中解释项内容,返回业务推荐信息的分组id-1002和id-1003的推荐内容,不返回业务推荐信息的分组id-1001的推荐内容;
即为:您的宽带为200m,推荐可办理宽带提速业务;您的宽带未办理iptv业务,推荐可办理。
本发明的优点:可通过数据库参数配置,使通信运营商在向用户进行业务推荐时,减少后台业务推荐程序的代码开发复杂度,节约开发成本和程序运行时间,实现统一返回业务推荐信息。
在业务推荐条件增加或变化时,只需对业务推荐定义表和匹配规则表进行调整,开发较少的sql语句,便于后期维护。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。