名单数据处理方法、装置、设备及存储介质与流程

文档序号:22757088发布日期:2020-10-31 09:54阅读:91来源:国知局
本发明涉及大数据技术的差异同步领域,尤其涉及一种名单数据处理方法、装置、设备及存储介质。
背景技术
::水壶kettle是一种用于数据抽取、转换和装载的工具,可以在不同的操作系统上运行,数据抽取高效稳定。kettle通过提供一个图形化的用户环境管理来自不同数据库的数据,然后以一种指定的格式输出数据。kettle中有两种脚本文件,分别是转换transformation和任务job,transformation用于指示数据的基础转换,job则用于指示对整个工作流的控制。目前调度系统通过接口或者数据迁移工具接收来自上游的名单,当名单到达调度系统时,首先写入名单同步表,然后通过job同步至名单表,现在存在多个同时独立运行的job,分别处理不同类型的名单同步数据,但每个job中各自对应的核心代码处理逻辑基本一致,表结构也基本相同,当新增job时,需要重新编写相关功能的代码,导致冗余代码过多。技术实现要素:本发明的主要目的在于解决了现有的名单同步策略中通过job执行多个名单同步任务时存在代码冗余的技术问题。为实现上述目的,本发明第一方面提供了一种名单数据处理方法,包括:当接收到终端发送的创建名单同步任务请求时,按照所述创建名单同步任务请求获取目标功能函数集,并对所述目标功能函数集进行代码拼接,得到名单同步任务,所述目标功能函数集包括源表取值功能函数、去重功能函数、校验功能函数和目标表处理功能函数;当接收到所述终端发送的执行所述名单同步任务请求时,通过所述源表取值功能函数从初始名单数据表中获取所述待处理的名单数据;通过所述去重功能函数对所述待处理的名单数据进行去重处理,并将已去重的名单数据同步到第一目标名单数据表中,得到第一名单数据;通过所述校验功能函数对所述第一名单数据进行黑名单校验,得到第二名单数据,所述第二名单数据包括已过滤黑名单的目标号码;通过所述目标表处理功能函数将所述第二名单数据同步到第二目标名单数据表中,并对所述已过滤黑名单的目标号码进行语音呼叫。可选的,在本发明第一方面的第一种实现方式中,所述当接收到终端发送的创建名单同步任务请求时,按照所述创建名单同步任务请求获取目标功能函数集,并对所述目标功能函数集进行代码拼接,得到名单同步任务,所述目标功能函数集包括源表取值功能函数、去重功能函数、校验功能函数和目标表处理功能函数,包括:当接收到终端发送的创建名单同步任务请求时,解析所述创建名单同步任务请求,得到任务类型;按照所述任务类型查询对应的目标配置信息;按照所述目标配置信息读取对应的目标功能函数集,并对所述目标功能函数集进行代码封装,得到目标代码文件,所述目标功能函数集包括源表取值功能函数、去重功能函数、校验功能函数和目标表处理功能函数;对所述目标代码文件设置任务入口地址,并将所述任务入口地址写入到预置任务列表中,得到名单同步任务。可选的,在本发明第一方面的第二种实现方式中,所述当接收到所述终端发送的执行所述名单同步任务请求时,通过所述源表取值功能函数从初始名单数据表中获取所述待处理的名单数据,包括:当接收到所述终端发送的执行所述名单同步任务请求时,对第一预置名单类型和初始名单数据表按照结构化查询语言语法规则生成第一查询语句;将所述第一查询语句设置为所述源表取值功能函数对应的参数值,并基于所述参数值执行所述源表取值功能函数,得到所述待处理的名单数据,所述待处理的名单数据包括待筛选号码。可选的,在本发明第一方面的第三种实现方式中,所述通过所述去重功能函数对所述待处理的名单数据进行去重处理,并将已去重的名单数据同步到第一目标名单数据表中,得到第一名单数据,包括:从所述待处理的名单数据中提取所述待筛选号码;通过所述去重功能函数判断所述待筛选号码是否存在第一目标名单数据表中;若所述待筛选号码不存在所述第一目标名单数据表中,则保留所述待筛选号码对应的名单数据;若所述待筛选号码存在所述第一目标名单数据表中,则从第一目标名单数据表中读取所述待筛选号码对应的最新同步日期;获取当前日期,并对所述当前日期与所述最新同步日期进行差运算,得到差异时长;判断所述差异时长是否小于预置时长;若所述差异时长小于预置时长,则删除所述待筛选号码对应的重复名单数据;若所述差异时长大于或者等于预置时长,则保留所述待筛选号码对应的名单数据;按照预置数据格式封装已去重的名单数据,并将已封装的名单数据更新到所述第一目标名单数据表中,得到第一名单数据。可选的,在本发明第一方面的第四种实现方式中,所述通过所述校验功能函数对所述第一名单数据进行黑名单校验,得到第二名单数据,所述第二名单数据包括已过滤黑名单的目标号码,包括:从所述第一名单数据中读取待验证号码,并通过所述校验功能函数判断所述待验证号码是否存在预置黑名单中;若所述待验证号码不存在预置黑名单中,则对所述待验证号码对应的名单数据进行保留;若所述待验证号码存在预置黑名单中,则对所述待验证号码对应的名单数据进行删除;当对所述第一名单数据中的待验证号码全部校验完成时,将已过滤黑名单的名单数据设置为第二名单数据,所述第二名单数据包括已过滤黑名单的目标号码。可选的,在本发明第一方面的第五种实现方式中,在所述当接收到终端发送的创建名单同步任务请求时,按照所述创建名单同步任务请求获取目标功能函数集,并对所述目标功能函数集进行代码拼接,得到名单同步任务,所述目标功能函数集包括源表取值功能函数、去重功能函数、校验功能函数和目标表处理功能函数之前,所述名单数据处理方法还包括:从多个已开发的源代码中按照预置业务类型循环提取多个预设代码,并对所述多个预设代码进行预处理,所述多个预设代码用于指示按照所述预置业务类型实现多个同步数据处理的代码块;对预处理后的多个预设代码进行语法解析,得到多个抽象语法树;从所述多个抽象语法树中抽取任意两个抽象语法树,并基于所述任意两个抽象语法树中的词汇计算余弦距离,得到相似的预设代码;基于预置规则对所述相似的预设代码进行相同类别标识,得到多个类别标识码;按照所述多个类别标识码对已标识的预设代码进行筛选并去重处理,得到每个类别对应的待封装代码块;对所述每个类别对应的待封装代码块按照所述预置业务类型进行函数封装,并对已封装的函数添加各自对应的预置参数,得到目标功能函数集。可选的,在本发明第一方面的第六种实现方式中,所述在所述通过所述目标表处理功能函数将所述第二名单数据同步到第二目标名单数据表中,并对所述已过滤黑名单的目标号码进行语音呼叫之后,所述名单数据处理方法还包括:当接收到所述终端发送的推送名单请求时,基于待推送数据表和第二预置名单类型设置第二查询语句;通过所述源表取值功能函数执行所述第二查询语句,得到待推送的名单数据;通过所述目标表处理功能函数获取目标终端的标识信息,并按照所述标识信息将所述待推送的名单数据推送到所述目标终端。本发明第二方面提供了一种名单数据处理装置,包括:创建模块,当接收到终端发送的创建名单同步任务请求时,用于按照所述创建名单同步任务请求获取目标功能函数集,并对所述目标功能函数集进行代码拼接,得到名单同步任务,所述目标功能函数集包括源表取值功能函数、去重功能函数、校验功能函数和目标表处理功能函数;获取模块,当接收到所述终端发送的执行所述名单同步任务请求时,用于通过所述源表取值功能函数从初始名单数据表中获取所述待处理的名单数据;去重模块,用于通过所述去重功能函数对所述待处理的名单数据进行去重处理,并将已去重的名单数据同步到第一目标名单数据表中,得到第一名单数据;校验模块,用于通过所述校验功能函数对所述第一名单数据进行黑名单校验,得到第二名单数据,所述第二名单数据包括已过滤黑名单的目标号码;呼叫模块,用于通过所述目标表处理功能函数将所述第二名单数据同步到第二目标名单数据表中,并对所述已过滤黑名单的目标号码进行语音呼叫。可选的,在本发明第二方面的第一种实现方式中,所述创建模块具体用于:当接收到终端发送的创建名单同步任务请求时,解析所述创建名单同步任务请求,得到任务类型;按照所述任务类型查询对应的目标配置信息;按照所述目标配置信息读取对应的目标功能函数集,并对所述目标功能函数集进行代码封装,得到目标代码文件,所述目标功能函数集包括源表取值功能函数、去重功能函数、校验功能函数和目标表处理功能函数;对所述目标代码文件设置任务入口地址,并将所述任务入口地址写入到预置任务列表中,得到名单同步任务。可选的,在本发明第二方面的第二种实现方式中,所述获取模块具体用于:当接收到所述终端发送的执行所述名单同步任务请求时,对第一预置名单类型和初始名单数据表按照结构化查询语言语法规则生成第一查询语句;将所述第一查询语句设置为所述源表取值功能函数对应的参数值,并基于所述参数值执行所述源表取值功能函数,得到所述待处理的名单数据,所述待处理的名单数据包括待筛选号码。可选的,在本发明第二方面的第三种实现方式中,所述去重模块具体用于:从所述待处理的名单数据中提取所述待筛选号码;通过所述去重功能函数判断所述待筛选号码是否存在第一目标名单数据表中;若所述待筛选号码不存在所述第一目标名单数据表中,则保留所述待筛选号码对应的名单数据;若所述待筛选号码存在所述第一目标名单数据表中,则从第一目标名单数据表中读取所述待筛选号码对应的最新同步日期;获取当前日期,并对所述当前日期与所述最新同步日期进行差运算,得到差异时长;判断所述差异时长是否小于预置时长;若所述差异时长小于预置时长,则删除所述待筛选号码对应的重复名单数据;若所述差异时长大于或者等于预置时长,则保留所述待筛选号码对应的名单数据;按照预置数据格式封装已去重的名单数据,并将已封装的名单数据更新到所述第一目标名单数据表中,得到第一名单数据。可选的,在本发明第二方面的第四种实现方式中,所述校验模块具体用于:从所述第一名单数据中读取待验证号码,并通过所述校验功能函数判断所述待验证号码是否存在预置黑名单中;若所述待验证号码不存在预置黑名单中,则对所述待验证号码对应的名单数据进行保留;若所述待验证号码存在预置黑名单中,则对所述待验证号码对应的名单数据进行删除;当对所述第一名单数据中的待验证号码全部校验完成时,将已过滤黑名单的名单数据设置为第二名单数据,所述第二名单数据包括已过滤黑名单的目标号码。可选的,在本发明第二方面的第五种实现方式中,所述名单数据处理装置还包括:预处理模块,用于从多个已开发的源代码中按照预置业务类型循环提取多个预设代码,并对所述多个预设代码进行预处理,所述多个预设代码用于指示按照所述预置业务类型实现多个同步数据处理的代码块;解析模块,用于对预处理后的多个预设代码进行语法解析,得到多个抽象语法树;计算模块,用于从所述多个抽象语法树中抽取任意两个抽象语法树,并基于所述任意两个抽象语法树中的词汇计算余弦距离,得到相似的预设代码;标识模块,用于基于预置规则对所述相似的预设代码进行相同类别标识,得到多个类别标识码;筛选模块,用于按照所述多个类别标识码对已标识的预设代码进行筛选并去重处理,得到每个类别对应的待封装代码块;封装模块,用于对所述每个类别对应的待封装代码块按照所述预置业务类型进行函数封装,并对已封装的函数添加各自对应的预置参数,得到目标功能函数集。可选的,在本发明第二方面的第六种实现方式中,所述名单数据处理装置还包括:设置模块,当接收到所述终端发送的推送名单请求时,用于基于待推送数据表和第二预置名单类型设置第二查询语句;执行模块,用于通过所述源表取值功能函数执行所述第二查询语句,得到待推送的名单数据;推送模块,用于通过所述目标表处理功能函数获取目标终端的标识信息,并按照所述标识信息将所述待推送的名单数据推送到所述目标终端。本发明第三方面提供了一种名单数据处理设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述名单数据处理设备执行上述的名单数据处理方法。本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的名单数据处理方法。本发明提供的技术方案中,当接收到终端发送的创建名单同步任务请求时,按照所述创建名单同步任务请求获取目标功能函数集,并对所述目标功能函数集进行代码拼接,得到名单同步任务,所述目标功能函数集包括源表取值功能函数、去重功能函数、校验功能函数和目标表处理功能函数;当接收到所述终端发送的执行所述名单同步任务请求时,通过所述源表取值功能函数从初始名单数据表中获取所述待处理的名单数据;通过所述去重功能函数对所述待处理的名单数据进行去重处理,并将已去重的名单数据同步到第一目标名单数据表中,得到第一名单数据;通过所述校验功能函数对所述第一名单数据进行黑名单校验,得到第二名单数据,所述第二名单数据包括已过滤黑名单的目标号码;通过所述目标表处理功能函数将所述第二名单数据同步到第二目标名单数据表中,并对所述已过滤黑名单的目标号码进行语音呼叫。本发明实施例中,通过对已有的同步任务的代码逻辑进行解耦处理,并划分为数据流处理实例的独立功能函数,对于不同的名单处理任务,可以按照业务逻辑调用不同的独立功能函数,避免新增业务或者修改代码逻辑重写job的困扰,降低代码的冗余性,并提高代码的复用率。附图说明图1为本发明实施例中名单数据处理方法的一个实施例示意图;图2为本发明实施例中名单数据处理方法的另一个实施例示意图;图3为本发明实施例中名单数据处理装置的一个实施例示意图;图4为本发明实施例中名单数据处理装置的另一个实施例示意图;图5为本发明实施例中名单数据处理设备的一个实施例示意图。具体实施方式本发明实施例提供了一种名单数据处理方法、装置、设备及存储介质,用于通过对已有的同步任务的代码逻辑进行解耦处理,并划分为数据流处理实例的独立功能函数,对于不同的名单处理任务,可以按照业务逻辑调用不同的独立功能函数,避免新增业务或者修改代码逻辑重写job的困扰,降低代码的冗余性,并提高代码的复用率。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中名单数据处理方法的一个实施例包括:101、当接收到终端发送的创建名单同步任务请求时,按照创建名单同步任务请求获取目标功能函数集,并对目标功能函数集进行代码拼接,得到名单同步任务,目标功能函数集包括源表取值功能函数、去重功能函数、校验功能函数和目标表处理功能函数。其中,目标功能函数集为具备不同业务功能的代码块,负责各类型的业务逻辑处理,因此目标功能函数集可以根据实际业务需求组合并被调用。源表取值功能函数用于按照预置条件抽取数据,去重功能函数用于将抽取的数据删除重复的数据,得到待校验的数据;校验功能函数用于根据预置规则对待校验的数据进行校验;目标表处理功能函数用于处理通过校验的数据。进一步地,服务器按照创建名单同步任务请求获取同步任务的类型;服务器基于同步任务的类型获取目标功能函数集,并对将目标功能函数集进行代码拼接,创建名单同步任务。可以理解的是,本发明的执行主体可以为名单数据处理装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。102、当接收到终端发送的执行名单同步任务时,通过源表取值功能函数从初始名单数据表中获取待处理的名单数据。通过模块化处理将已开发的源代码中每块业务逻辑作为一个功能函数,通过终端页面操作将各个功能函数调用并串联起来,形成完整的工作流。因此,初始名单数据表中一条记录即为一个工作流,工作流为多个功能函数组合而成的任务。其中,初始名单数据表为一种名单类型的源表,是指名单数据未处理前所放置的数据表,该初始名单数据表中的数据来自不同的上游系统。因此,当检测到名单同步任务定时执行时,服务器调用源表取值功能函数,得到源表取值功能函数的输出值,并将源表取值功能函数输出值设置为待处理的名单数据。103、通过去重功能函数对待处理的名单数据进行去重处理,并将已去重的名单数据同步到第一目标名单数据表中,得到第一名单数据。其中,去重处理是指从待处理的名单数据中去掉重复的数据,而去重功能函数对应的处理规则为在预置时长内按照预置去重次数进行处理,例如,去重功能函数采用预置去重逻辑对待处理的名单数据进行去重处理,待处理的名单数据包括待筛选号码,其中,预置去重逻辑是指x天y次去重逻辑,即在x天内,待筛选号码最多保留y次,例如,7天1次,也就是在7天内,待筛选号码可保留1次,待筛选号码包括移动号码和座机号码。进一步地,服务器将已去重的名单数据同步存储到第一目标名单数据表中,得到第一名单数据,并在对已去重的名单数据同步过程中,每个已去重的名单数据都会写入第一目标名单数据表,并记录数据写入的日期及次数。例如,对已去重的名单数据a在2019-12-12进行名单同步,第一目标名单数据表table_data中保留已去重的名单数据a,同时table_data中还记录了数据写入的日期及次数,也就是[{"count":1,"savedate":"2019-12-12"}]。104、通过校验功能函数对第一名单数据进行黑名单校验,得到第二名单数据,第二名单数据包括已过滤黑名单的目标号码。其中,黑名单校验用于从第一名单数据中删除不能外呼的名单数据。需要说明的是,在名单数据同步过程中,服务器将目标号码存入第一目标名单数据表后,还需要调用校验功能函数校验验证待筛选号码是否可拨打,校验的原则是服务器对第一名单数据中的待筛选号码进行逐个验证处理,也就是,服务器查询得到第一名单数据对应的黑名单,并基于黑名单对第一名单数据进行保留或者删除,例如,若服务器验证第一名单数据中的待筛选号码a存在黑名单中,则将第一名单数据中的待筛选号码a对应的重复名单数据进行删除;若服务器验证第一名单数据中的待筛选号码b不存在黑名单中,则将第一名单数据中的待筛选号码b对应的名单数据进行保留。当对待筛选号码全部校验完成后,得到第二名单数据,第二名单数据包括已过滤黑名单的目标号码,服务器将第二名单数据写入到内存数据库中,提高数据查询效率。105、通过目标表处理功能函数将第二名单数据同步到第二目标名单数据表中,并对第二目标名单数据表中的第二名单数据进行语音呼叫。进一步地,通过目标表处理功能函数将第二名单数据同步到第二目标名单数据表后,对初始名单数据表和第一名单数据表的相关字段更新同步状态,以便于下次触发同步时则不会重复筛选该名单数据。然后,服务器对第二目标名单数据表中的已过滤黑名单的目标号码进行语音呼叫,统计已呼叫次数,并记录呼叫明细信息,呼叫明细信息包括呼叫时间、呼叫对象以及呼叫结果,例如,2020-3-112:36:45,目标号码a,呼叫失败。可以理解的是,服务器采用模块化处理得到目标功能函数集,目标功能函数集中每个功能函数的代码块都是独立的,不受其他功能函数中代码逻辑优化和迭代的影响,不仅应用于名单同步任务,其他同步流程也可以使用模块化后的目标功能函数集去定制,实现了代码优化和代码去冗余。本发明实施例中,通过对已有的同步任务的代码逻辑进行解耦处理,并划分为数据流处理实例的独立功能函数,对于不同的名单处理任务,可以按照业务逻辑调用不同的独立功能函数,避免新增业务或者修改代码逻辑重写job的困扰,降低代码的冗余性,并提高代码的复用率。请参阅图2,本发明实施例中名单数据处理方法的另一个实施例包括:201、从多个已开发的源代码中按照预置业务类型循环提取多个预设代码,并对多个预设代码进行预处理,多个预设代码用于指示按照预置业务类型实现多个同步数据处理的代码块。预处理包括删除多个预设代码中注释信息和运算符等文本内容,以便得到查找重复的有效内容。需要说明的是,多个已开发的源代码根据预置业务类型,例如,名单的类型,同时开发了多个同步任务,每个同步任务之间除了个别字段的差异外,存在相同的代码块,造成代码冗余。202、对预处理后的多个预设代码进行语法解析,得到多个抽象语法树。服务器可以通过先用的代码解析工具对预处理后的多个预设代码进行语法解析,例如,语法分析器antrl、抽象语法树解析器astparser和语法和词法分析器javacc对文件代码进行语法解析,得到多个抽象语法树。203、从多个抽象语法树中抽取任意两个抽象语法树,并基于任意两个抽象语法树中的词汇计算余弦距离,得到相似的预设代码。抽象语法树中各个叶节点中的词汇包括变量,根据词汇将抽象语法树映射成空间向量,基于空间向量的余弦距离,计算代码相似度,并基于此确定相似的叶节点,最终确定任意两个抽象语法树的相似度,得到相似的预设代码。204、基于预置规则对相似的预设代码进行相同类别标识,得到多个类别标识码。其中,预置规则为对相似的预设代码添加对应的代码注解,代码注解中采用相同的预设标识符表示相似的预设代码,预设标识符包括数字、字母以及下划线等字符,例如,服务器采用label_1、label_2和label_3作为多个类别标识码。205、按照多个类别标识码对已标识的预设代码进行筛选并去重处理,得到每个类别对应的待封装代码块。具体的,服务器按照类别标识码逐个获取每个重复的已标识的预设代码,进一步获取每个已标识的预设代码的位置信息,对重复的已标识的预设代码按照位置信息进行去重处理,得到每个类别对应的待封装代码块。206、对每个类别对应的待封装代码块按照预置业务类型进行函数封装,并对已封装的函数添加各自对应的预置参数,得到目标功能函数集。进一步地,服务器对目标功能函数集中任意一个功能函数进行调试,确保目标功能函数集中多个参数和代码逻辑的准确性。其中,多个重复代码块也是多个已有的同步任务中包括通用代码块,将通用代码块中冗余信息和预置参数一并封装为函数,同时构建目标功能函数集,目标功能函数集中个功能函数之间的代码块是独立的,不受其他功能函数中代码逻辑优化和迭代的影响,实现了代码优化去冗余。207、当接收到终端发送的创建名单同步任务请求时,按照创建名单同步任务请求获取目标功能函数集,并对目标功能函数集进行代码拼接,得到名单同步任务,目标功能函数集包括源表取值功能函数、去重功能函数、校验功能函数和目标表处理功能函数。其中,源表取值功能函数用于按照预置条件抽取数据;去重功能函数用于删除抽取的数据中重复的数据,得到待校验的数据;校验功能函数用于对待校验的数据进行黑名单校验;目标表处理功能函数用于处理通过校验的数据。具体的,当接收到终端发送的创建名单同步任务请求时,服务器解析创建名单同步任务请求,得到任务类型,例如,任务类型为001表示创建名单同步任务,002表示推动名单数据任务,具体此处不做限定;服务器按照任务类型查询对应的目标配置信息去,其中,目标配置信息用于指示不同的目标功能函数集,不同的目标功能函数集包括不同的功能函数;服务器按照目标配置信息读取对应的目标功能函数集,并对目标功能函数集进行代码封装,得到目标代码文件,目标功能函数集包括源表取值功能函数、去重功能函数、校验功能函数和目标表处理功能函数;服务器将目标代码文件存储到预置文件目录中,得到对应的存储路径和文件名;服务器基于存储路径和文件名设置任务入口地址,并将任务入口地址写入到预置任务列表中,得到名单同步任务,其中,任务入口地址可以为http://127.0.0.1/task/data_sync_01.php,也可以为task/data_sync_01.php,具体此处不做限定。208、当接收到终端发送的执行名单同步任务请求时,通过源表取值功能函数从初始名单数据表中获取待处理的名单数据。具体的,首先,当接收到终端发送的执行名单同步任务请求,服务器对第一预置名单类型和初始名单数据表按照结构化查询语言语法规则生成第一查询语句,其中,第一预置名单类型用于指示初始名单数据表中名单数据的类型,进一步地,服务器扫描初始名单数据表,得到查询结果;服务器判断查询结果是否为空值;若查询结果为空值,则服务器确定初始名单数据表中不存在待处理的名单数据;若查询结果不为空值,则服务器确定初始名单数据表中存在待处理的名单数据。然后,服务器将第一查询语句设置为源表取值功能函数对应的参数值,并基于参数值执行源表取值功能函数,得到待处理的名单数据,待处理的名单数据包括目标号码,其中,传参的方式包括,服务器调用源表取值功能函数,并将第一目标参数值作为源表取值功能函数的参数值,将源表取值功能函数的返回值设置为待处理的名单数据,进一步地,服务器获取源表取值功能函数对应的预置文件地址和功能函数名称,并根据第一目标参数值、预置文件地址和功能函数名称设置请求统一资源定位符;服务器发送请求统一资源定位符到源表取值功能函数,得到响应数据,并将响应数据设置为待处理的名单数据。可选的,在当接收到终端发送的同步名单的请求时,服务器将第一预置名单类型和初始名单数据表按照结构化查询语言语法规则生成第一查询语句之前,服务器接收终端发送的处理名单记数据的请求;服务器从处理名单数据的请求中解析得到请求参数,请求参数包括初始名单数据表、操作类型和待处理的名单数据;服务器将初始名单数据表、操作类型和待处理的名单数据按照预置参数格式进行设置,得到请求参数值,并按照请求功能函数名称和请求参数值调用预置接口;服务器按照操作类型在初始名单数据表中对待处理的名单数据进行数据处理,数据处理包括增加数据、删除数据和更新数据,进一步地,增加数据、删除数据和更新数据为修改待处理的名单数据的状态,待处理的名单数据的状态包括未处理状态、处理成功状态和处理失败状态,可采用0、1和2分别标识,具体此处不做限定。209、通过去重功能函数对待处理的名单数据进行去重处理,并将已去重的名单数据同步到第一目标名单数据表中,得到第一名单数据。其中,去重处理是指在预置时长内按照预置去重次数从待处理的名单数据中去掉重复的数据,其中,预置去重次数为1天,例如,7天1次去重逻辑。具体的,服务器从待处理的名单数据中提取待筛选号码;通过去重功能函数判断待筛选号码是否存在第一目标名单数据表中;服务器若待筛选号码不存在第一目标名单数据表中,则保留待筛选号码对应的名单数据;若待筛选号码存在第一目标名单数据表中,则服务器从第一目标名单数据表中读取待筛选号码对应的最新同步日期;服务器获取当前日期,并对当前日期与最新同步日期进行差运算,得到差异时长;服务器判断差异时长是否小于预置时长;若差异时长小于预置时长,则服务器删除待筛选号码对应的重复名单数据,进一步地,对已去重的名单数据同步过程中,每个已去重的待筛选号码都会写入第一目标名单数据表,并记录写入的日期及次数。例如,待处理的名单数据a中目标号码11在2019-12-12进行名单同步,那么第一目标名单数据表中的对应记录为[{"count":1,"savedate":"2019-12-12"}];同日,待处理的名单数据b中包括相同的目标号码11,当再次进行名单同步时,从第一目标名单数据表中查找该号码得知最新同步日期在7天内,则将初始名单数据表中待处理的名单数据b标记为去重,号码库更新为[{"count":2,"savedate":"2019-12-12"}];若差异时长大于或者等于预置时长,则服务器保留待筛选号码对应的名单数据;服务器按照预置数据格式封装已去重的名单数据,并将已封装的名单数据更新到第一目标名单数据表中,得到第一名单数据,例如,2019-12-20,待处理的名单数据c有相同的目标号码11再次同步,若第一目标名单数据表中该待筛选的号码的最新同步日期已超过7天,则对待处理的名单数据c不去重,将第一目标名单数据表更新为[{"count":2,"savedate":"2019-12-12"},{"count":1,"savedate":"2019-12-20"}]。可选的,服务器还可以根据去重功能函数和预置名单类型将待处理的名单数据写入预置角色表和/或预置资源表,对去重后的名单数据进行标记,也就是通过字段sign_status标识名单是否去重,非去重为0,去重后,初始名单数据表中该字段更新为1。210、通过校验功能函数对第一名单数据进行黑名单校验,得到第二名单数据,第二名单数据包括已过滤黑名单的目标号码。具体的,服务器从第一名单数据中读取待验证号码,并通过校验功能函数判断待验证号码是否存在预置黑名单数据中;若待验证号码不存在预置黑名单数据中,则服务器对待验证号码对应的名单数据进行保留;若第一名单数据中的目标号码存在预置黑名单数据中,则服务器对待验证号码对应的名单数据进行删除,得到第二名单数据;当服务器对第一名单数据中的待验证号码全部校验完成时,将已过滤黑名单的名单数据设置为第二名单数据,第二名单数据包括已过滤黑名单的目标号码。211、通过目标表处理功能函数将第二名单数据同步到第二目标名单数据表中,并对已过滤黑名单的目标号码进行语音呼叫。进一步地,服务器通过目标表处理功能函数将第二名单数据同步成功后,初始名单数据表和第一目标名单数据表的相关字段均被同步更新状态,以便于下次执行名单同步任务时则不会重复筛选该名单数据。而服务器对第二目标名单数据表中的已过滤黑名单的目标号码进行语音呼叫处理后,还需要对已成功呼叫的名单数据进行呼叫次数的更新,以及对未成功呼叫的名单数据进行重试呼叫操作。可选的,当接收到终端发送的推送名单请求时,服务器基于待推送数据表和第二预置名单类型设置第二查询语句;服务器通过源表取值功能函数执行第二查询语句,得到待推送的名单数据;服务器通过目标表处理功能函数获取目标终端的标识信息,并按照标识信息将待推送的名单数据推送到目标终端。本发明实施例中,通过对已有的同步任务的代码逻辑进行解耦处理,并划分为数据流处理实例的独立功能函数,对于不同的名单处理任务,可以按照业务逻辑调用不同的独立功能函数,避免新增业务或者修改代码逻辑重写job的困扰,降低代码的冗余性,并提高代码的复用率。上面对本发明实施例中名单数据处理方法进行了描述,下面对本发明实施例中名单数据处理装置进行描述,请参阅图3,本发明实施例中名单数据处理装置的一个实施例包括:创建模块301,当接收到终端发送的创建名单同步任务请求时,用于按照创建名单同步任务请求获取目标功能函数集,并对目标功能函数集进行代码拼接,得到名单同步任务,目标功能函数集包括源表取值功能函数、去重功能函数、校验功能函数和目标表处理功能函数;获取模块302,当接收到终端发送的执行名单同步任务请求时,用于通过源表取值功能函数从初始名单数据表中获取待处理的名单数据;去重模块303,用于通过去重功能函数对待处理的名单数据进行去重处理,并将已去重的名单数据同步到第一目标名单数据表中,得到第一名单数据;校验模块304,用于通过校验功能函数对第一名单数据进行黑名单校验,得到第二名单数据,第二名单数据包括已过滤黑名单的目标号码;呼叫模块305,用于通过目标表处理功能函数将第二名单数据同步到第二目标名单数据表中,并对已过滤黑名单的目标号码进行语音呼叫。本发明实施例中,通过对已有的同步任务的代码逻辑进行解耦处理,并划分为数据流处理实例的独立功能函数,对于不同的名单处理任务,可以按照业务逻辑调用不同的独立功能函数,避免新增业务或者修改代码逻辑重写job的困扰,降低代码的冗余性,并提高代码的复用率。请参阅图4,本发明实施例中名单数据处理装置的另一个实施例包括:创建模块301,当接收到终端发送的创建名单同步任务请求时,用于按照创建名单同步任务请求获取目标功能函数集,并对目标功能函数集进行代码拼接,得到名单同步任务,目标功能函数集包括源表取值功能函数、去重功能函数、校验功能函数和目标表处理功能函数;获取模块302,当接收到终端发送的执行名单同步任务请求时,用于通过源表取值功能函数从初始名单数据表中获取待处理的名单数据;去重模块303,用于通过去重功能函数对待处理的名单数据进行去重处理,并将已去重的名单数据同步到第一目标名单数据表中,得到第一名单数据;校验模块304,用于通过校验功能函数对第一名单数据进行黑名单校验,得到第二名单数据,第二名单数据包括已过滤黑名单的目标号码;呼叫模块305,用于通过目标表处理功能函数将第二名单数据同步到第二目标名单数据表中,并对已过滤黑名单的目标号码进行语音呼叫。可选的,创建模块301还可以具体用于:当接收到终端发送的创建名单同步任务请求时,解析创建名单同步任务请求,得到任务类型;按照任务类型查询对应的目标配置信息;按照目标配置信息读取对应的目标功能函数集,并对目标功能函数集进行代码封装,得到目标代码文件,目标功能函数集包括源表取值功能函数、去重功能函数、校验功能函数和目标表处理功能函数;对目标代码文件设置任务入口地址,并将任务入口地址写入到预置任务列表中,得到名单同步任务。可选的,获取模块302还可以具体用于:当接收到终端发送的执行名单同步任务请求时,对第一预置名单类型和初始名单数据表按照结构化查询语言语法规则生成第一查询语句;将第一查询语句设置为源表取值功能函数对应的参数值,并基于参数值执行源表取值功能函数,得到待处理的名单数据,待处理的名单数据包括待筛选号码。可选的,去重模块303还可以具体用于:从待处理的名单数据中提取待筛选号码;通过去重功能函数判断待筛选号码是否存在第一目标名单数据表中;若待筛选号码不存在第一目标名单数据表中,则保留待筛选号码对应的名单数据;若待筛选号码存在第一目标名单数据表中,则从第一目标名单数据表中读取待筛选号码对应的最新同步日期;获取当前日期,并对当前日期与最新同步日期进行差运算,得到差异时长;判断差异时长是否小于预置时长;若差异时长小于预置时长,则删除待筛选号码对应的重复名单数据;若差异时长大于或者等于预置时长,则保留待筛选号码对应的名单数据;按照预置数据格式封装已去重的名单数据,并将已封装的名单数据更新到第一目标名单数据表中,得到第一名单数据。可选的,校验模块304还可以具体用于:从第一名单数据中读取待验证号码,并通过校验功能函数判断待验证号码是否存在预置黑名单中;若待验证号码不存在预置黑名单中,则对待验证号码对应的名单数据进行保留;若待验证号码存在预置黑名单中,则对待验证号码对应的名单数据进行删除;当对第一名单数据中的待验证号码全部校验完成时,将已过滤黑名单的名单数据设置为第二名单数据,第二名单数据包括已过滤黑名单的目标号码。可选的,名单数据处理装置还包括:预处理模块306,用于从多个已开发的源代码中按照预置业务类型循环提取多个预设代码,并对多个预设代码进行预处理,多个预设代码用于指示按照预置业务类型实现多个同步数据处理的代码块;解析模块307,用于对预处理后的多个预设代码进行语法解析,得到多个抽象语法树;计算模块308,用于从多个抽象语法树中抽取任意两个抽象语法树,并基于任意两个抽象语法树中的词汇计算余弦距离,得到相似的预设代码;标识模块309,用于基于预置规则对相似的预设代码进行相同类别标识,得到多个类别标识码;筛选模块310,用于按照多个类别标识码对已标识的预设代码进行筛选并去重处理,得到每个类别对应的待封装代码块;封装模块311,用于对每个类别对应的待封装代码块按照预置业务类型进行函数封装,并对已封装的函数添加各自对应的预置参数,得到目标功能函数集。可选的,名单数据处理装置还包括:设置模块312,当接收到终端发送的推送名单请求时,用于基于待推送数据表和第二预置名单类型设置第二查询语句;执行模块313,用于通过源表取值功能函数执行第二查询语句,得到待推送的名单数据;推送模块314,用于通过目标表处理功能函数获取目标终端的标识信息,并按照标识信息将待推送的名单数据推送到目标终端。本发明实施例中,通过对已有的同步任务的代码逻辑进行解耦处理,并划分为数据流处理实例的独立功能函数,对于不同的名单处理任务,可以按照业务逻辑调用不同的独立功能函数,避免新增业务或者修改代码逻辑重写job的困扰,降低代码的冗余性,并提高代码的复用率。上面图3和图4从模块化功能实体的角度对本发明实施例中的名单数据处理装置进行详细描述,下面从硬件处理的角度对本发明实施例中名单数据处理设备进行详细描述。图5是本发明实施例提供的一种名单数据处理设备的结构示意图,该名单数据处理设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对名单数据处理设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在名单数据处理设备500上执行存储介质530中的一系列指令操作。名单数据处理设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图5示出的名单数据处理设备结构并不构成对名单数据处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述名单数据处理方法的步骤。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1