CN112699177A - 一种流量话单数据同步方法、系统、计算设备和存储介质 - Google Patents
一种流量话单数据同步方法、系统、计算设备和存储介质 Download PDFInfo
- Publication number
- CN112699177A CN112699177A CN201911008112.0A CN201911008112A CN112699177A CN 112699177 A CN112699177 A CN 112699177A CN 201911008112 A CN201911008112 A CN 201911008112A CN 112699177 A CN112699177 A CN 112699177A
- Authority
- CN
- China
- Prior art keywords
- database
- sub
- node
- slave
- call
- 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.)
- Pending
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Abstract
本发明公开了一种流量话单数据同步方法、系统、计算设备和存储介质,所述方法包括:在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点;在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程;通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。该方案利用规模相同的主数据库和从数据库,通过主数据库子节点和从数据库子节点之间的同步进程对应的复制线程,能够快速地将主数据库子节点的流量话单数据同步至从数据库子节点中,实现了主数据库到从数据库点到点的快速同步。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种流量话单数据同步方法、系统、计算设备和存储介质。
背景技术
随着5G技术的发展,为更好满足用户需求,运营商离不开对流量话单的有效分析。近年来,随着流量业务蓬勃发展,下一代业务运营支撑系统(Next Generation BusinessOperation Support System,NGBOSS)流量话单数急剧增长。其中,手机上网总流量同比大幅度增长。业务增长的同时,数据仓库话单也激增,使得通常的统计分析(例如用户数据流量分析、流量是否超套等)需要耗费数倍时间才能返回SQL结果,严重影响了分析人员效率。因此,为了缓解生产压力、提升分析效率,现有技术通常采用“读写分离”方式:即先把话单文件加载到主库(生产库)加工生成表,然后从主库同步到从库(分析库)供后续读取分析。
现有方法在同步规模较小的表时(例如行数小于10万),基于数据库导出、文件中转、数据库导入即可简单实现数据同步。但是对于大流量话单而言(例如每日100亿行),则传统同步方法耗时较长、效率较低、影响分析人员效率,且在同步过程中容易造成数据不一致。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种流量话单数据同步方法、系统、计算设备和存储介质。
根据本发明的一个方面,提供了流量话单数据同步方法,包括以下步骤:在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点;针对任一主数据库子节点,在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程;通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。
根据本发明的另一方面,提供了一种流量话单数据同步系统,包括:子节点部署模块,用于在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点;复制线程创建模块,针对任一主数据库子节点,在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程;同步模块,用于通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述流量话单数据同步方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述流量话单数据同步方法对应的操作。
根据本发明的流量话单数据同步方法、系统、计算设备和存储介质,通过在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点;针对任一主数据库子节点,在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程;通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。本发明利用规模相同的主数据库和从数据库,通过主数据库子节点和从数据库子节点之间的同步进程对应的复制线程,能够快速地将主数据库子节点的流量话单数据同步至从数据库子节点中,实现了主数据库到从数据库点到点的快速同步,具有较强的同步并发性,有效地提高了数据同步效率,为后续数据分析节省了时间,提高了工作效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种流量话单数据同步方法的流程图;
图2示出了本发明实施例提供的另一种流量话单数据同步方法的流程图;
图3示出了本发明实施例提供的一种流量话单数据同步方法中的流量话单数据表以及针对话单行的两级分区的示意图;
图4示出了本发明实施例提供的一种流量话单数据同步方法中的基于手机尾号字段对应的同步进程示意图;
图5示出了本发明实施例提供的一种流量话单数据同步方法中的点到点同步进程示意图;
图6示出了本发明实施例提供的一种流量话单数据装置的结构示意图;
图7示出了本发明实施例提供的另一种流量话单数据装置的结构示意图;
图8示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
实施例一
图1示出了本发明实施例提供的一种流量话单数据同步方法的流程图,如图1所示,包括以下步骤:
S101:在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点。
在本步骤中,主数据库和从数据库可为基于大规模并行处理(MassivelyParallel Processing,MPP)架构的数据库,在主数据库和从数据库中对子节点进行一一对应配置,使得主数据库和从数据库的规模相同。
S102:针对任一主数据库子节点,在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程。
在本步骤中,当需要对流量话单数据进行同步处理时,创建同步进程,同步进程利用封装gp_dist_random(gp_id指令)方法定位对应的主数据库子节点以及主数据库子节点对应的从数据库子节点,然后在所确定的主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程,其中,每个同步进程可对应有多个复制(copy)线程,以便通过复制线程进行对流量话单数据的同步。
S103:通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。
在本步骤中,每个复制线程通过读取对应的主数据库子节点的数据块,该数据块中包括有待同步的流量话单数据,把主数据库子节点的数据块插入到对应的从数据库子节点中,从而实现主数据库至从数据库点到点并发的数据同步。
采用本实施例提供的这种方法,通过在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点;针对任一主数据库子节点,在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程;通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。本实施例利用规模相同的主数据库和从数据库,通过主数据库子节点和从数据库子节点之间的同步进程对应的复制线程,能够快速地将主数据库子节点的流量话单数据同步至从数据库子节点中,实现了主数据库到从数据库点到点的快速同步,具有较强的同步并发性,有效地提高了数据同步效率,为后续数据分析节省了时间,提高了工作效率。
实施例二
图2示出了本发明实施例提供的另一种流量话单数据同步方法的流程图,如图2所示,包括以下步骤:
S201:在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点。
在本步骤中,主数据库和从数据库可为基于大规模并行处理(MassivelyParallel Processing,MPP)架构的数据库,在主数据库和从数据库中对子节点进行一一对应配置,使得主数据库和从数据库的规模相同。
S202:采集包括有多个话单行的话单文件。
在本步骤中,从通信系统中采集包括有多个话单行的话单文件,这些话单文件每行为定长、可分割的话单记录,作为后续主数据库的数据源。
S203:按照预设流量话单行格式,对话单文件中的多个话单行进行处理,创建包括有话单基本字段和话单扩展字段的流量话单数据表,并将多个话单行加载至主数据库中。
通过步骤S202从通信系统中采集包括有多个话单行的话单文件,在将该话单文件加载至主数据库之前,还需对话单文件进行预处理,具体地,过滤话单文件中的脏数据,将话单文件中的多个话单行进行分割处理,得到多个话单行。例如,主数据库中可包括有入库预处理模块和流量表生成模块,假设前一天通信系统中共计生成了50批次流量话单文件,则通过步骤S202采集完50批次的话单文件后,传给入库预处理模块。入库预处理模块对每个话单文件逐行扫描,对不符合定长的脏数据进行过滤,对符合定长的数据(即话单行)输送给流量表生成模块,由流量表生成模块创建流量话单数据表。
具体地说,步骤S203生成的流量话单数据表主要包含两部分字段:话单基本字段和话单扩展字段。如图3所示,上层为流量话单数据表(即父表),包含话单基本字段和话单扩展字段,其中,第一部分为话单基本字段,即通过通信系统采集而来的话单原有字段(Original_columns),如计费号码(Phone_No)、计费流量、通话类型(cdrType)等;第二部分为话单扩展字段,包括“话单日期“(CDR_date)字段和“手机尾号”(Last_phone)字段。
需要说明的是,主数据库中还可包括有配置信息模块,配置信息模块存储有预设流量话单行格式,预设流量话单行格式规定了流量话单各字段的起始位置、终止位置和长度,以便为流量话单数据入库提供必要信息。读取配置信息模块的预设流量话单行格式,通过解析话单原有字段,按照预设流量话单行格式填充到流量话单数据表对应字段中。预设流量话单行格式可如表1所示:
中文名称 | 英文名称 | 起始位置 | 终止位置 | 长度 |
专业名称 | svcName | 1 | 3 | 3 |
计费号码 | phone_no | 4 | 18 | 15 |
计费流量(上行) | volumeUplink | 19 | 28 | 10 |
计费流量(下行) | volumeDownlink | 29 | 38 | 10 |
通话类型 | cdrType | 39 | 43 | 15 |
表1
同时,对于话单扩展字段,“话单日期”字段可用入库时的日期减去1填充,即T-1;“手机尾号”字段用计费号码的最后一位有效位填充。例如假设某条话单入库日期为“2019-04-19”,计费手机号码为“139****8899”,则“话单日期”字段用“2019-04-18”填充,即入库日期的前一天;“手机尾号”字段用‘9’填充,即计费号码的最后一位。
S204:依据流量话单数据表中的话单扩展字段,对主数据库中的多个话单行进行分区处理,得到多个分区话单数据子表。
作为本实施例一种改进的实现方式,步骤S204进一步包括:
依据流量话单数据表中的话单扩展字段中的话单日期字段,对主数据库中的多个话单行进行分区处理,得到多个单位时间段内的流量话单数据;
针对每个单位时间段内的流量话单数据,按照话单扩展字段中的手机尾号字段,对单位时间段内的流量话单数据进行分区处理,得到多个手机尾号对应的流量话单数据,并依据每个手机尾号对应的流量话单数据,构建对应的分区话单数据子表。
具体地说,对小的流量话单数据表而言,分区意义不大,且创建高并发的复制线程是需要巨大开销的,考虑到业务量不同造成的流量话单数据表大小不同,因此可在配置信息模块中设置分区同步开关以便有效区分,分区同步开关可为布尔型配置项,指示“是/否”需要分区同步。当流量话单数据表的数据量较小时,则不需要分区,当流量话单数据表的数据量较大时,则需要进行分区,如图3所示,在流量话单数据表的下层示出了针对话单行的两级分区:其中,第一级分区基于“话单日期字段”,定义为date类型,可通过数据库分区指令一:Partition by子句指令实现;第二级分区基于“手机尾号字段”,定义为char(1)类型,取值范围为{‘1’,‘2’,...,‘0’}共10个枚举值,可通过数据库分区指令二:Subpartitionby子句指令实现,依据话单日期字段对主数据库中的多个话单行进行分区处理,将话单日期处于同一个单位时间段内的话单行划分至同一分区内,将同一分区内的话单行确定为同一单位时间段内的流量话单数据,从而得到多个单位时间段内的流量话单数据,其中,本领域技术人员可根据实际需要对单位时间段进行设置,例如,单位时间段可为1天或7天等,此处不做具体限定。针对每个单位时间段内的流量话单数据,依据手机尾号字段,对单位时间段内的流量话单数据进行分区处理,得到多个手机尾号对应的流量话单数据,然后依据每个手机尾号对应的流量话单数据,构建对应的分区话单数据子表,实现了基于话单日期字段和手机尾号字段的两级分区。
S205:针对每个分区话单数据子表,创建分区话单数据子表对应的同步进程,并通过同步进程确定同步进程对应的主数据库子节点以及主数据库子节点对应的从数据库子节点。
其中,针对每个分区话单数据子表,为每个手机尾号创建独立的同步进程。步骤S205进一步包括:通过同步进程对应的复制线程,按照同步进程对应的分区话单数据子表,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。
如图4所示,为基于手机尾号字段对应的同步进程示意图,图4中所示出的各个字段均为本领域技术人员能够明确获知其含义的字段,此处不再对各个字段的含义进行赘述。具体地说,以单位时间段为1天为例,通过在同步子句话单日期(CDR_date)为具体某天(例如where CDR_date=‘2019-02-19’),则不需要全表扫表,即可快速圈定该天数据,圈定某天数据之后,则按手机尾号Last_phone进一步均匀分割,创建10个同步进程。利用手机尾号的均匀分布特性,使得10个同步进程开始和结束的时间接近,通过化大表为小表,解决了大表同步时耗时过长的问题。
S206:针对任一主数据库子节点,在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程。
S207:通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。
在本步骤中,如图5所示,为本实施例提供的点到点同步进程示意图,如图5所示,每个复制线程通过读取主数据库子节点的数据块,主数据库子节点的数据块中包括流量话单数据,把主数据库子节点的数据块插入到对应的从数据库子节点中,从而实现主数据库至从数据库点到点并发的数据同步。这种“点到点同步技术”是主数据库子节点和从数据库子节点之间底层大规模并行传输,基于MPP架构数据库,使得主数据库子节点和从数据库子节点直接进行数据传输,不需要经过主节点,因此其并发性很高,和MPP集群实例规模成正比。
例如,若MPP集群中的主数据库和从数据库的子节点的规模均为20,那么说明MPP集群子节点实例规模为20,则相当于有10*20=200个线程在高并发同步1天的数据。其中10为“手机尾号”对应的10个同步进程,其分布具有均匀性;20为MPP集群子节点实例规模,对应每个进程下的20个点到点的复制线程,共计200个线程,通过复制线程,将主数据库子节点的流量话单数据直接传输到从数据库子节点,有效地解决了大表同步时耗时过长的问题,实现了主数据库到从数据库的快速同步。
S208:响应于从数据库的校验信息,检测主数据库中存储的流量话单数据是否与从数据库中存储的流量话单数据一致;若是,则执行S209;若否,则执行S210。
S209:生成同步成功结果。
S210:生成同步失败结果。
具体地说,步骤S208进一步包括:
根据主数据库中存储的流量话单数据,计算主数据库对应的项目数据;
根据从数据库中存储的流量话单数据,计算从数据库对应的项目数据;
检测主数据库对应的项目数据是否与从数据库对应的项目数据一致;
若是,则确定主数据库中存储的流量话单数据与从数据库中存储的流量话单数据一致;若否,则确定主数据库中存储的流量话单数据与从数据库中存储的流量话单数据不一致。
需要说明的是,项目数据包括:各个通信网络的计费流量、手机上网活跃用户数量和/或话单行数量。另外,项目数据还可包括其他数据,此处不做限定。
由于受主机文件格式、数据库字符集等多种环境因素影响,数据在同步过程中,字段错位、或有多余空格的异常情况时有发生,这些都会影响数据同步前后的一致性。因此,为了避免流量话单数据条数一致、但数据内容却不同的情况,本发明在从数据库接收到主数据库同步过来的数据后,还需要校验主数据库数据和从数据库数据是否一致。例如检测主数据库中数据对应的2G/3G/4G/5G网络的计费流量、手机上网活跃用户数和/或话单行数量等是否与从数据库中的相关内容一致。假设在同步时某条话单行发生错位,导致上行流量字段异常,则通过比较计费流量(sum)即“计费总流量”,即可发现不一致性。若校验成功,则说明完成同步,生成同步成功结果。若校验不成功,则生成同步失败结果,以便业务维护人员根据生成同步失败结果获知同步失败,通过查看日志或人工介入等方式解决不一致原因,重新发起申请同步,直到一致性校验通过。
采用本实施例提供的方法,约定主数据库和从数据库规模一致,实现了构建了快速同步的技术架构;同时,结合“两级分区法”和“点到点同步技术”产生新的倍增方法和效应,实现了大流量话单数据的快速同步方法,解决了当话单条数较多的场景下(例如记录数超过100亿条),大表难以快速同步的问题;另外,还提出了一种基于流量特征的一致性校验方式,通过比对各个通信网络的计费流量一致性、手机上网活跃用户数量一致性,实现了主数据库和从数据库的数据校验,提升了话单同步一致性校验的可靠性。
实施例三
图6示出了本发明一种流量话单数据同步系统的结构示意图,如图6所示,包括:
子节点部署模块601,用于在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点。
复制线程创建模块602,针对任一主数据库子节点,在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程。
同步模块603,用于通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。
采用本实施例提供的系统,通过在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点;针对任一主数据库子节点,在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程;通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。本实施例利用规模相同的主数据库和从数据库,通过主数据库子节点和从数据库子节点之间的同步进程对应的复制线程,能够快速地将主数据库子节点的流量话单数据同步至从数据库子节点中,实现了主数据库到从数据库点到点的快速同步,具有较强的同步并发性,有效地提高了数据同步效率,为后续数据分析节省了时间,提高了工作效率。
实施例四
图7示出了本发明另一种流量话单数据同步系统的结构示意图,如图7所示,包括:
子节点部署模块701,用于在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点。
话单文件采集模块702,用于采集包括有多个话单行的话单文件。
话单文件处理模块703,用于按照预设流量话单行格式,对话单文件中的多个话单行进行处理,创建包括有话单基本字段和话单扩展字段的流量话单数据表,并将多个话单行加载至主数据库中。
话单数据子表生成模块704,用于依据流量话单数据表中的话单扩展字段,对主数据库中的多个话单行进行分区处理,得到多个分区话单数据子表。
作为本实施例一种改进的实现方式,话单数据子表生成模块704进一步用于:依据流量话单数据表中的话单扩展字段中的话单日期字段,对主数据库中的多个话单行进行分区处理,得到多个单位时间段内的流量话单数据;针对每个单位时间段内的流量话单数据,按照话单扩展字段中的手机尾号字段,对单位时间段内的流量话单数据进行分区处理,得到多个手机尾号对应的流量话单数据,并依据每个手机尾号对应的流量话单数据,构建对应的分区话单数据子表。
同步进程创建模块705:用于针对每个分区话单数据子表,创建分区话单数据子表对应的同步进程,并通过同步进程确定同步进程对应的主数据库子节点以及主数据库子节点对应的从数据库子节点。
同步进程创建模块705进一步用于:通过同步进程对应的复制线程,按照同步进程对应的分区话单数据子表,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。
复制线程创建模块706,针对任一主数据库子节点,在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程。
同步模块707,用于通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。
校验模块708,用于响应于从数据库的校验信息,检测主数据库中存储的流量话单数据是否与从数据库中存储的流量话单数据一致;若是,则生成同步成功结果;若否,则生成同步失败结果。
具体地说,校验模块708进一步用于:
根据主数据库中存储的流量话单数据,计算主数据库对应的项目数据;
根据从数据库中存储的流量话单数据,计算从数据库对应的项目数据;
检测主数据库对应的项目数据是否与从数据库对应的项目数据一致;
若是,则确定主数据库中存储的流量话单数据与从数据库中存储的流量话单数据一致;若否,则确定主数据库中存储的流量话单数据与从数据库中存储的流量话单数据不一致。
需要说明的是,项目数据包括:各个通信网络的计费流量、手机上网活跃用户数量和/或话单行数量。
采用本实施例提供的系统,约定主数据库和从数据库规模一致,实现了构建了快速同步的技术架构;同时,结合“两级分区法”和“点到点同步技术”产生新的倍增方法和效应,实现了大流量话单数据的快速同步方法,解决了当话单条数较多的场景下,大表难以快速同步的问题;另外,还提出了一种基于流量特征的一致性校验方式,通过比对各个通信网络的计费流量一致性、手机上网活跃用户数量一致性,实现了主数据库和从数据库的数据校验,提升了话单同步一致性校验的可靠。
实施例五
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的流量话单数据同步方法。
可执行指令具体可以用于使得处理器执行以下操作:
在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点;针对任一主数据库子节点,在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程;通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。
实施例六
图8示出了本发明计算设备实施例的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图8所示,该计算设备可以包括:处理器(processor)、通信接口(Communications Interface)、存储器(memory)、以及通信总线。
其中:处理器、通信接口、以及存储器通过通信总线完成相互间的通信。通信接口,用于与其它设备比如客户端或其它服务器等的网元通信。处理器,用于执行程序,具体可以执行上述流量话单数据同步方法实施例中的相关步骤。
具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。
处理器可能是中央处理器CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器,用于存放程序。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序具体可以用于使得处理器执行以下操作:
在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点;针对任一主数据库子节点,在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程;通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种流量话单数据同步方法,其特征在于,包括以下步骤:
在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点;
针对任一主数据库子节点,在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程;
通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。
2.根据权利要求1所述的方法,其特征在于,在所述通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中之前,所述方法还包括:
采集包括有多个话单行的话单文件;
按照预设流量话单行格式,对所述话单文件中的多个话单行进行处理,创建包括有话单基本字段和话单扩展字段的流量话单数据表,并将多个话单行加载至主数据库中;
依据所述流量话单数据表中的话单扩展字段,对主数据库中的多个话单行进行分区处理,得到多个分区话单数据子表;
针对每个分区话单数据子表,创建所述分区话单数据子表对应的同步进程,并通过所述同步进程确定所述同步进程对应的主数据库子节点以及主数据库子节点对应的从数据库子节点。
3.根据权利要求2所述的方法,其特征在于,所述依据所述流量话单数据表中的话单扩展字段,对主数据库中的多个话单行进行分区处理,得到多个分区话单数据子表进一步包括:
依据所述流量话单数据表中的话单扩展字段中的话单日期字段,对主数据库中的多个话单行进行分区处理,得到多个单位时间段内的流量话单数据;
针对每个单位时间段内的流量话单数据,按照所述话单扩展字段中的手机尾号字段,对所述单位时间段内的流量话单数据进行分区处理,得到多个手机尾号对应的流量话单数据,并依据每个手机尾号对应的流量话单数据,构建对应的分区话单数据子表。
4.根据权利要求2所述的方法,其特征在于,所述通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中进一步包括:
通过同步进程对应的复制线程,按照所述同步进程对应的分区话单数据子表,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。
5.根据权利要求1-4任一项所述的方法,其特征在于,在所述通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中之后,所述方法还包括:
响应于从数据库的校验信息,检测主数据库中存储的流量话单数据是否与从数据库中存储的流量话单数据一致;
若是,则生成同步成功结果;若否,则生成同步失败结果。
6.根据权利要求5所述的方法,其特征在于,所述响应于从数据库的校验信息,检测主数据库中存储的流量话单数据是否与从数据库中存储的流量话单数据一致进一步包括:
根据主数据库中存储的流量话单数据,计算主数据库对应的项目数据;
根据从数据库中存储的流量话单数据,计算从数据库对应的项目数据;
检测主数据库对应的项目数据是否与从数据库对应的项目数据一致;
若是,则确定主数据库中存储的流量话单数据与从数据库中存储的流量话单数据一致;若否,则确定主数据库中存储的流量话单数据与从数据库中存储的流量话单数据不一致。
7.根据权利要求6所述的方法,其特征在于,所述项目数据包括:各个通信网络的计费流量、手机上网活跃用户数量和/或话单行数量。
8.一种流量话单数据同步系统,其特征在于,包括:
子节点部署模块,用于在主数据库中部署多个主数据库子节点,在从数据库中部署每个主数据库子节点对应的从数据库子节点;
复制线程创建模块,针对任一主数据库子节点,在主数据库子节点和主数据库子节点对应的从数据库子节点之间,创建同步进程对应的复制线程;
同步模块,用于通过同步进程对应的复制线程,将主数据库子节点的数据块中存储的流量话单数据同步至主数据库子节点对应的从数据库子节点中。
9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的流量话单数据同步方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的流量话单数据同步方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911008112.0A CN112699177A (zh) | 2019-10-22 | 2019-10-22 | 一种流量话单数据同步方法、系统、计算设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911008112.0A CN112699177A (zh) | 2019-10-22 | 2019-10-22 | 一种流量话单数据同步方法、系统、计算设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112699177A true CN112699177A (zh) | 2021-04-23 |
Family
ID=75504978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911008112.0A Pending CN112699177A (zh) | 2019-10-22 | 2019-10-22 | 一种流量话单数据同步方法、系统、计算设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112699177A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020169745A1 (en) * | 2001-05-08 | 2002-11-14 | Timo Hotti | Method and arrangement for the management of database schemas |
US20130198134A1 (en) * | 2012-01-30 | 2013-08-01 | International Business Machines Corporation | Online verification of a standby database in log shipping physical replication environments |
CN109271450A (zh) * | 2018-10-10 | 2019-01-25 | 北京百度网讯科技有限公司 | 数据库同步方法、装置、服务器和存储介质 |
-
2019
- 2019-10-22 CN CN201911008112.0A patent/CN112699177A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020169745A1 (en) * | 2001-05-08 | 2002-11-14 | Timo Hotti | Method and arrangement for the management of database schemas |
US20130198134A1 (en) * | 2012-01-30 | 2013-08-01 | International Business Machines Corporation | Online verification of a standby database in log shipping physical replication environments |
CN109271450A (zh) * | 2018-10-10 | 2019-01-25 | 北京百度网讯科技有限公司 | 数据库同步方法、装置、服务器和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110472068B (zh) | 基于异构分布式知识图谱的大数据处理方法、设备及介质 | |
CN103729442B (zh) | 记录事务日志的方法和数据库引擎 | |
CN107807982B (zh) | 一种异构数据库的一致性校验方法及装置 | |
US20140207820A1 (en) | Method for parallel mining of temporal relations in large event file | |
US10783163B2 (en) | Instance-based distributed data recovery method and apparatus | |
CN103390041A (zh) | 一种基于中间件提供数据服务的方法和系统 | |
CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
CN108205560B (zh) | 一种数据同步方法以及装置 | |
CN105512283A (zh) | 数据质量管理控制方法及装置 | |
CN104111958A (zh) | 一种数据查询方法及装置 | |
CN111753016A (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
CN103942138A (zh) | 测试方法及装置 | |
CN106294128B (zh) | 一种导出报表数据的自动化测试方法及装置 | |
CN112579692A (zh) | 一种数据同步方法、装置、系统、设备及存储介质 | |
CN110399026B (zh) | 基于fpga的多源单输出复位方法、装置及相关设备 | |
CN112699177A (zh) | 一种流量话单数据同步方法、系统、计算设备和存储介质 | |
CN109284268A (zh) | 一种快速解析日志的方法、系统及电子设备 | |
JP2015130165A (ja) | ハイパーグラフソルバーのためのグラフ入力の自動編集 | |
CN115422180A (zh) | 数据校验方法及系统 | |
CN114281761A (zh) | 一种数据文件加载方法、装置、计算机设备及存储介质 | |
CN102346757A (zh) | Ims数据库联机交易中数据影印方法及系统 | |
CN114372051A (zh) | 一种数据处理系统、基于区块链的数据处理方法及设备 | |
CN103164431B (zh) | 关系型数据库的数据存储方法和存储系统 | |
CN106844242B (zh) | 一种数据交换方法和系统 | |
CN111026613A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210423 |