一种实现接口数据一致性的接口、方法及通信系统
技术领域
本发明是涉及接口之间实现数据一致性的方法,特别是关于一种客户维系与挽留系统接口实现数据一致性的接口、方法及通信系统。
背景技术
在竞争激烈的通信市场上,运营商正在为降低客户流失率而努力。目前,欧洲电信行业的客户流失率为25%,而美国为30%。客户流失给美国的电信运营商每年造成的收入损失高达90亿美元,还有额外的75亿美元的获得客户的费用。而不断推出的新业务将加速客户的流失,据In-Stat/MDR市场研究公司估计,号码携带的实施,将使美国的客户流失率增至46%。
上世纪90年代末,国内各个运营商开始奉行“以客户为中心、市场为导向、以利润为目标”的经营宗旨,由“生产型”企业向“利润型”企业转变,关注客户并相继按照统一规划、分布实施的建设模式打造各自的客户维系与挽留系统。
客户维系与挽留系统就是要有效控制客户流失,而其关键在于如何对客户流失预测分析,及时发现客户流失倾向并预警,对客户进行有效地维系和挽留。对于客户流失的预测分析,是通过定时采集计费营帐系统中的客户消费行为、缴费行为等资料数据,将采集的相关数据与根据历史经验设置相应的关键指标进行比对分析,根据分析的结果识别各种离网倾向,对有离网倾向的客户要及时向客户经理预警。
由于目前各大运营商的计费营帐系统多数由不同厂商提供,而客户维系与挽留系统需要采集计费营帐系统中与客户消费行为、缴费行为等相关的资料数据作为预测分析客户流失的依据,这些用户的原始数据往往不能直接从计费营帐系统获取,因此,在获取这些数据的时候,就需要有数据传递的接口,计费营帐厂商将数据按照约定方式导出来以供客户维系与挽留系统分析使用。客户维系与挽留系统接口将计费营帐厂商提供的数据文件导入到自己的系统中时,若不能保证数据的一致性,文件有的未入库,有的没有完全入库,有的被多次入库,甚至是入库的文件不是同一天产生的数据......这样的数据拿来进行分析,不但起不到控制客户流失,反而可能导致该回访的客户没有被回访,不该回访的客户却被客户经理回访了,招致客户对运营商的极大不满。
下面结合附图1介绍一下现有客户维系与挽留系统接口处理的过程。
步骤S101,计费营帐系统将客户维系与挽留系统所需的信息以文件形式导出,存放在双方协定的目录下;
步骤S102,客户维系与挽留系统的文件预处理模块对文件进行格式预处理,转换成入库模块识别的格式;
步骤S103,客户维系与挽留系统的文件入库模块将文件入库,入库信息存放在临时接口表中;
步骤S104,日处理操作的执行是一个由主机提供的crontab定时任务来唤醒的。现在问题就在于,定时任务该设定什么时间来唤醒日处理操作呢。若定时任务设定的时间过早,当到达日处理操作的时间时,而需要同批次导入的文件没有全部入库,就可能导致后续的分级、分配以及任务生成数据的不准确性;若将定时任务时间设置晚一点,确保所有同批次的文件全部入库,那么,留给分级、分配以及任务生成操作的时间就减少了,若到了运营商早晨开始营业的时间还没有完成日任务的处理操作,那么势必会影响到运营商的工作开展;进一步说,定时任务时间设置早一点与晚一点也不是固定的,随着数据量的增减,也许开始设置的晚一点的时间,当数据量大的时候,也无法满足全部数据入库。另外,若遇到网络问题或者计费营帐系统异常而导致数据没有正确导出,此时,如果不去进行任何判断而是等时间一到就开始执行日处理操作,同样也会导致后续的分级、分配以及任务生成数据的不准确性;
步骤S105,日处理操作未到时时,继续等待;
步骤S106,执行日处理操作,完成分级、分配以及任务生成。
发明内容
为解决上述的问题,本发明的目的在于,提出一种实现接口数据一致性的接口、方法和通信系统,以解决对计费营帐厂商提供的各种有效数据文件,同一批次进行入库,不能确保数据一致性,以及后续分级、分配以及任务生成准确性和效率的问题。
为实现上述目的,本发明提供了一种实现接口数据一致性的接口,与计费营帐系统和客户维系与挽留系统连接,其中,包括:
一文件预处理模块,用于对所述计费营帐系统导出的所述客户维系与挽留系统所需信息的文件,进行格式预处理,将所述文件的格式转换成文件入库模块可识别的格式;
一文件入库模块,用于将经过格式预处理的文件导入临时接口表中,当所述文件入库完毕后,将数据库中所述文件的准备就绪标志修改为已准备完毕状态;
一任务执行总控模块,用于定时读取所述数据库中文件的准备就绪标志,当所述准备就绪标志为已准备完毕状态时,激活对所述文件的后续任务处理,并协调执行后续任务,任务成功执行完毕后,恢复文件的准备就绪标志。
上述的实现接口数据一致性的接口,其中,所述文件预处理模块进一步包括:
一预处理配置文件,包含文件名信息、每行数据的长度、各字段分隔符、各字段名称和各字段起始位置信息。
上述的实现接口数据一致性的接口,其中,所述文件入库模块进一步包括:
一入库配置文件,包含登录数据库用户名、登录密码、登录数据库服务名、要入库的文件名信息、入库的临时接口表及其字段名、调用的存储过程、文件中字段分隔符和单次入库的行数。
上述的实现接口数据一致性的接口,其中,所述任务执行总控模块进一步包括:
一时间任务模块,用于设定循环等待时长和最大等待时长,根据所述循环等待时长定时启动对数据库中所述文件的准备就绪标志的查询,计算累计循环等待的次数,并换算成等待时长,若所述等待时长小于所述最大等待时长,则继续循环等待,若超过了最大等待时长,终止继续等待。
为实现上述目的,本发明还提供一种实现接口数据一致性的方法,其中,包括:
步骤一,对计费营帐系统导出的包含客户维系与挽留系统所需信息的文件,进行格式预处理,将所述文件的格式转换成文件入库模块可识别的格式;
步骤二,将经过格式预处理的文件导入临时接口表中,当所述文件入库完毕后,将数据库中所述文件的准备就绪标志修改为已准备完毕状态;
步骤三,定时读取所述数据库中文件的准备就绪标志,当所述准备就绪标志为已准备完毕状态时,激活对所述文件的后续任务处理,并协调执行后续任务,任务成功执行完毕后,恢复文件的准备就绪标志。
上述的实现接口数据一致性的方法,其中,所述步骤一之前进一步包括:
计费营帐系统将所述客户维系与挽留系统所需的涉及客户、用户、帐户和/或帐务资料信息以文件形式导出,存放在一指定位置下,其中不同类型信息的文件采用不同的文件名,多个同类型信息的文件分别采用不同的流水号。
上述的实现接口数据一致性的方法,其中,所述步骤一进一步包括:
步骤71,将从所述指定位置中获取到的文件,同样复制成两份,将一份文件根据预处理配置文件进行文件格式的预先处理,将另一份文件进行压缩备份;
步骤72,经过预处理后,将预处理成功的文件送入文件入库模块的输入位置,将预处理失败的文件放入预处理失败文件输出位置下进行备份。
上述的实现接口数据一致性的方法,其中,所述步骤二进一步包括:
步骤81,在数据库中查询到要入库文件类型的状态为锁释放状态,则先加锁,然后根据入库配置文件,将所述类型的一个文件进行入库,入库成功后,将锁释放,再按照上述步骤进行所述类型的下一个文件的入库;
步骤82,根据所述类型文件的流水号,判断所述类型的文件全部入库后,将所述数据库中所述类型文件的准备就绪标志修改为已准备完毕状态。
上述的实现接口数据一致性的方法,其中,所述步骤三进一步包括:
步骤91,定时读取所述数据库中全部类型的文件的准备就绪标志是否都为已准备完毕状态,若不是都为已准备完毕状态,则继续循环等待,进入步骤94,若都为已准备完毕状态,则进入步骤92;
步骤92,激活对所述数据库中文件的后续任务处理,进入步骤93;
步骤93,协调分级、分配以及任务生成的先后顺序,在所述数据库中文件的后续任务执行完毕后,修改所述文件的准备就绪标志为未准备完毕状态,记录日志并成功退出;
步骤94,将累计循环等待的次数换算成等待时长,若该时长小于系统设定的最大等待时长,则返回步骤91,若超过了最大等待时长,则进入步骤95;
步骤95,终止继续等待,记录错误日志,并发送一条告警信息,通知分级、分配以及任务生成失败。
为实现上述目的,本发明还提供了一种实现上述任意一项方法的通信系统,包括:
一客户维系与挽留系统,用于为实现对客户进行有效地维系与挽留而进行相应数据分级、分配以及业务生成处理;
一计费营帐系统,用于将客户维系与挽留系统所需信息以文件的形式导出,存放在指定的位置下;
一客户维系与挽留系统接口;
其中,所述客户维系与挽留系统接口进一步包括:
一文件预处理模块,用于对所述计费营帐系统导出的所述客户维系与挽留系统所需信息的文件,进行格式预处理,将所述文件的格式转换成文件入库模块可识别的格式;
一文件入库模块,用于将经过格式预处理的文件导入临时接口表中,当所述文件入库完毕后,将数据库中所述文件的准备就绪标志修改为已准备完毕状态;
一任务执行总控模块,用于定时读取所述数据库中文件的准备就绪标志,当所述准备就绪标志为已准备完毕状态时,激活对所述文件的后续任务处理,并协调执行后续任务,任务成功执行完毕后,恢复文件的准备就绪标志。
上述的通信系统,其中,所述通信系统进一步包括:
一文件目录,与所述计费营帐系统和客户维系与挽留系统接口连接,用于存放所述计费营帐系统以文件形式导出的所述客户维系与挽留系统所需信息。
本发明所述技术,与现有技术相比较,可以有效控制同批数据导入的一致性,解决了因待分析数据未导入、待分析数据尚未完全导入、待分析数据被多次导入以及非同批数据被导入到系统而带来的分级、分配以及任务生成数据的不准确性的问题。
附图说明
图1是现有技术客户维系与挽留系统接口的处理示意图;
图2是本发明所提供的实现接口数据一致性的通信系统的结构示意图;
图3是本发明客户维系与挽留系统接口实现接口数据一致性的处理过程的流程示意图。
具体实施方式
下面结合附图对本发明具体实施例进行说明。
图2是本发明提供的一种通信系统10,该通信系统10包括:计费营帐系统100,主要是提供客户资料、用户资料、帐户资料、用户套餐、帐务关系、综合帐单、用户欠费信息、用户实时话费、用户协议、用户月话费和帐户预存款原始数据。这些原始数据由计费营帐系统100以文件的形式导出来,并FTP到指定的文件目录400下;
客户维系与挽留系统接口200,为一种实现接口数据一致性的接口装置,包括:
文件预处理模块210,用于对所述计费营帐系统导出的所述客户维系与挽留系统所需信息的文件,进行格式预处理,将所述文件的格式转换成文件入库模块220可识别的格式;
文件入库模块220,用于将经过格式预处理的文件导入临时接口表中,当所述文件入库完毕后,将数据库中所述文件的准备就绪标志修改为已准备完毕状态;
任务执行总控模块230,用于定时读取所述数据库中文件的准备就绪标志,当所述准备就绪标志为已准备完毕状态时,激活对所述文件的后续任务处理,并协调执行后续任务,任务成功执行完毕后,恢复文件的准备就绪标志。
其中,文件预处理模块210还包括一预处理配置文件211,文件预处理模块210读取预处理配置文件211的信息,对原始文件指定目录400下的文件进行格式的预先转换,转换后的格式要确保能够被文件入库模块220所识别。
文件入库模块220包含一个入库配置文件221,文件入库模块220根据入库配置文件221找到文件预处理模块210的文件输出目录,并从该目录下读取经过预处理后的文件进行入库,文件首先入库到临时接口表中,当一种类型的文件全部入库完毕之后,修改文件的准备就绪标志为已准备完毕状态;任务执行总控模块230主要是等待文件的准备就绪标志变为已准备完毕状态,并在激活时,协调后续任务的分级、分配以及任务生成操作。
任务执行总控模块230何时被激活是由时间控制参数和状态控制参数共同决定的,任务执行总控模块230包括一时间任务模块231,用于设定循环等待时长和最大等待时长,根据所述循环等待时长定时启动对数据库中文件的准备就绪标志的查询,计算累计循环等待的次数,并换算成等待时长,若所述等待时长小于所述最大等待时长,则继续循环等待,若超过了最大等待时长,终止继续等待。
当所有的文件准备就绪标志为准备完毕状态,并且尚未超过时间任务模块231所设定的最长等待时间时,任务执行总控模块230就会被激活;
客户维系与挽留系统300,用于当总控模块被激活后,对文件进行后续任务的分级、分配以及任务生成。
如图3所示,是对本发明客户维系与挽留系统接口实现数据一致性的处理过程进行说明,包括如下步骤:
步骤S301,计费营帐系统100每日晚将客户维系与挽留系统300所需的涉及客户、用户、帐户以及帐务资料等信息以文件形式导出,存放在双方协定的目录下。不同信息的文件名不同(即,文件类型不同),同类型的文件若为多个,则以后四位流水号加以区分,生成的最后一个文件后四位流水号为XXXX;
步骤S302,客户维系与挽留系统接口200的文件预处理模块210首先把获取到的文件同样复制成两份,一份用来进行文件格式的预先处理,另一份则进行压缩备份。文件格式的预先处理是根据预处理配置文件211进行的,该预处理配置文件211包含文件名信息,每行数据的长度,各字段分隔符,各字段名称以及各字段起始位置信息。经过预处理后,预处理成功的文件送入文件入库模块220的输入目录,预处理失败的文件放入预处理失败文件输出目录下进行备份;
步骤S303,客户维系与挽留系统接口200的文件入库模块220首先到数据库查询判断要入库文件类型状态是否为锁释放状态,若为锁释放状态,则先加锁,并开始进行入库,等一个文件入库成功后,将锁释放,进行同类型的下一个文件的入库,当读到后四位流水号为XXXX的文件时,修改数据库中该类文件的准备就绪标志为已准备完毕状态,表明这一批的这一类文件已经全部入库完毕。文件入库模块220同样也有一个入库配置文件221,该入库配置文件221包含登录数据库用户名、密码和登录数据库服务名,要入库的文件名信息,入库的临时接口表名及其字段名,调用的存储过程,文件中字段分隔符以及单次入库的行数。入库模块调用存储过程,主要是对一些接口表中的数据进行进一步的规整,如日期格式,客户、用户和帐户的ID格式等。至此,所有的数据被同批次的导入到客户维系与挽留系统中;
步骤S304,任务执行总控模块230由定时任务模块231启动,当任务执行总控模块230启动之后,读取到并非所有类型的文件准备就绪标志都为已准备完毕状态,那么总控模块会每隔30秒(可配置)循环等待,等待一次会进行累计,此时进入步骤S305。若读取到所有类型的文件准备就绪标志都为已准备完毕状态,则进入步骤S306;
步骤S305,根据累计的次数换算成等待时长,若该等待时长小于定时任务模块231设定的最大等待时长时,则回到步骤S304,否则进入步骤S308;
步骤S306,任务执行总控模块230读取到所有类型的文件准备就绪标志都为已准备完毕状态,则该模块的后续执行操作将被激活,转入步骤S307;
步骤S307,任务执行总控模块230协调分级、分配以及任务生成的先后顺序,因为分级和分配所更新的数据会提供给任务生成,等待所有后续任务处理完毕后,修改数据库中文件的准备就绪标志都为未准备完毕,记录日志并成功退出;
步骤S308,当累计的次数换算成的等待时长大于系统设定的最大等待时长时,终止继续等待,记录错误日志,并发一条短信告警信息到短信平台,通知系统管理员本日分级、分配以及任务生成失败。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的普通技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。