CN113794574B - 一种话单生成和传输的方法与装置 - Google Patents
一种话单生成和传输的方法与装置 Download PDFInfo
- Publication number
- CN113794574B CN113794574B CN202111080239.0A CN202111080239A CN113794574B CN 113794574 B CN113794574 B CN 113794574B CN 202111080239 A CN202111080239 A CN 202111080239A CN 113794574 B CN113794574 B CN 113794574B
- Authority
- CN
- China
- Prior art keywords
- ticket
- file
- current
- files
- service
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1403—Architecture for metering, charging or billing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
申请公开了一种话单生成和传输的方法,包括:每当接收到针对当前业务的话单SQL中写话单的insert语句后,执行话单生成操作;每隔设定的时间间隔,执行话单文件上传操作;话单生成操作包括:对insert语句进行分解,根据insert语句中包括的话单表名称确定所述当前业务的话单配置文件;按照话单文件命名规则,找到与insert语句对应的第一话单文件;按照话单格式,利用insert语句中包括的话单内容,生成一条话单写入第一话单文件中;话单文件上传操作包括:将对应当前业务的所有当前话单文件作为待上传的话单文件,按照话单文件命名规则生成一个或多个空白话单文件作为当前业务对应的当前话单文件,将所有待上传的话单文件发送给计费系统。应用本申请,能够针对不同业务统一话单生成和传输流程,大大减少版本修改、配置和维护的成本,节省话单生成及传输的后期开发成本。
Description
技术领域
本申请涉及通信系统中的计费技术,特别涉及一种话单生成和传输的方法与装置。
背景技术
话单是用来对通话进行计费的。一般每个电话用户通话结束后,都会产生一条话单。电信运营商可以根据话单中的数据进行计费。传统的每种话单,单独写一个分拣的程序,时间长了,非常难维护。为了方便话单生成软件的维护和管理,所以发明了通用话单及传输装置。
目前话单生成及传输的方法主要是通过针对不同业务逐一定制的方式进行。具体地,可以根据电信运营商对某种业务话单的需求,为该业务的话单定制一种话单生成及传输的软件。比如云南IVPN业务订制一种话单生成软件,或者,针对亲情业务订制一种话单生成软件。
上述针对业务逐一定制生成话单的方法有一些缺陷,具体如下:
1、话单生成版本繁多,系统需要维护多达数百种话单生成软件;
2、修改调整复杂,每次调整话单格式都需要升级版本;
3、不容易统一更新和维护;
综上所述,目前的话单生成和传输方法在版本修改、配置和维护上,都需要耗费更多的人力和系统资源,需要大量的后期开发成本。
为了方便版本修改、配置和维护,节省后期开发成本,所以开发了通用话单及传输的装置。
发明内容
本申请提供一种话单生成和传输的方法与装置,能够针对不同业务统一话单生成和传输流程,大大减少版本修改、配置和维护的成本,节省话单生成及传输的后期开发成本。
为实现上述目的,本申请采用如下技术方案:
一种话单生成和传输的方法,包括:
每当接收到针对当前业务的话单SQL中写话单的insert语句后,执行话单生成操作;每隔设定的时间间隔,执行话单文件上传操作;
所述话单生成操作包括:
对所述insert语句进行分解,根据所述insert语句中包括的所述话单表名称确定对应所述当前业务的话单配置文件;其中,所述话单配置文件包括针对当前业务的话单文件命名规则和话单格式;
按照所述话单配置文件中给出的所述话单文件命名规则,在对应所述当前业务的所有当前话单文件中找到与所述insert语句对应的第一话单文件;按照所述话单配置文件中给出的所述话单格式,利用所述insert语句中包括的话单内容,生成一条话单写入所述第一话单文件中;
所述话单文件上传操作包括:将对应当前业务的所有所述当前话单文件作为待上传的话单文件,按照所述话单文件命名规则生成一个或多个空白话单文件作为当前业务对应的当前话单文件,将所有待上传的话单文件发送给计费系统。
较佳地,若当前业务包括多个话单类型,则在所述话单配置文件中包括话单文件指示信息,用于指示不同话单类型的话单分别写入不同的话单文件还是写入同一个话单文件;
当所述话单文件指示信息指示不同话单类型的话单分别写入同一个话单文件时,生成的所述空白话单文件为一个,对应所述当前业务的所有当前话单文件为一个话单文件,所述第一话单文件为所述当前话单文件;
当所述话单文件指示信息指示不同话单类型的话单分别写入不同的话单文件时,生成的所述空白话单文件为多个,分别对应不同的话单类型,按照所述话单文件命名规则为所述多个空白话单分别命名,对应所述当前业务的所有当前话单文件为多个话单文件,分别对应不同的话单类型;所述在对应所述当前业务的所有当前话单文件中找到与所述insert语句对应的第一话单文件包括:根据所述insert语句中包括的话单内容确定话单类型,并在对应所述当前业务的所有话单文件中找到与确定出的话单类型对应的当前话单文件作为所述第一话单文件。
较佳地,若当前业务包括一个话单类型,则生成的所述空白话单文件为一个,对应所述当前业务的所有当前话单文件为一个话单文件,所述第一话单文件为所述当前话单文件。
较佳地,所述话单生成操作进一步包括:当根据所述话单配置文件中给出的所述话单文件命名规则未找到对应所述第一话单文件时,在等待设定的第一时间后,按照所述话单文件命名规则生成所述第一话单文件。
较佳地,所述话单配置文件进一步用于配置话单文件的开始和结束标识;
在所述将所有待上传的话单文件发送给所述计费系统之前,该方法进一步包括:在每个所述待上传的话单文件中加上所述话单配置文件中给出的所述话单文件的开始和结束标识。
较佳地,在新业务上线前,该方法进一步包括话单环境初始化操作:
确定所述新业务对应的话单配置文件;
根据新业务对应的话单配置文件中给出的话单文件命名规则创建并命名一个或多个空白话单文件。
较佳地,所述新业务对应的话单配置文件中给出的话单文件命名规则中包括话单序列号;
在创建空白话单文件时创建对应所述新业务的话单序列号文件,用于记录所述当前话单文件的话单文件名中包括的话单序列号;
所述按照所述话单文件命名规则生成对应所述当前业务的一个或多个空白话单文件作为对应当前业务的当前话单文件包括:确定对应所述当前业务的话单序列号文件,提取该话单序列号文件中保存的话单序列号,并进行自加或自减,作为所述当前话单文件的文件名中的话单序列号,更新所述话单序列号文件中保存的话单序列号;
所述按照所述话单配置文件中给出的所述话单文件命名规则在对应所述当前业务的所有当前话单文件中找到与所述insert语句对应的第一话单文件时,从对应所述当前业务的话单序列号文件中提取保存的话单序列号,作为所有所述当前话单文件和所述第一话单文件的文件名中的话单序列号。
较佳地,对应不同的业务设置各自的所述时间间隔。
较佳地,在按照所述话单文件命名规则生成一个或多个空白话单文件作为当前业务对应的当前话单文件前,该方法进一步包括:按照所述话单文件命名规则确定新话单文件的文件名,若找到与新话单文件的文件名一致的话单文件,则不再执行生成一个或多个空白话单文件的操作,将找到的话单文件作为当前业务对应的当前话单文件;若未找到与新话单文件的文件名一致的话单文件,则继续执行生成一个或多个空白话单文件作为当前业务对应的当前话单文件的操作。
较佳地,在将所有待上传的话单文件发送给计费系统时,该方法进一步包括:对所有待上传的话单文件在本地进行备份。
一种话单生成和传输装置,包括:话单生成单元和话单传输单元;
所述话单生成单元,用于每当接收到针对当前业务的话单SQL中写话单的insert语句后,执行话单生成操作;
所述话单传输单元,用于每隔设定的时间间隔,执行话单文件上传操作;
所述话单生成操作包括:
对所述insert语句进行分解,根据所述insert语句中包括的所述话单表名称确定对应所述当前业务的话单配置文件;其中,所述话单配置文件用于配置针对当前业务的话单文件命名规则和话单格式;
按照所述话单配置文件中给出的所述话单文件命名规则,在对应所述当前业务的所有当前话单文件中找到与所述insert语句对应的第一话单文件;按照所述话单配置文件中给出的所述话单格式,利用所述insert语句中包括的话单内容,生成一条话单写入所述第一话单文件中;
所述话单文件上传操作包括:将对应当前业务的所有所述当前话单文件作为待上传的话单文件,按照所述话单文件命名规则生成一个或多个空白话单文件作为当前业务对应的当前话单文件,将所有待上传的话单文件发送给计费系统。
较佳地,该装置还包括初始化单元,用于在新业务上线前,确定所述新业务对应的话单配置文件,并根据新业务对应的话单配置文件中给出的话单文件命名规则创建并命名一个或多个空白话单文件。
由上述技术方案可见,本申请中,预先生成与业务相对应的话单配置文件,用于规定话单文件命名规则和话单格式,优选地,还可以规定话单文件的开始和结束标识。每当接收到针对当前业务的话单SQL中写话单的insert语句后,对insert语句进行分解,根据其中的话单表找到当前业务对应的话单配置文件,按照话单配置文件中规定的话单文件命名规则,在当前业务对应的所有当前话单文件中找到与insert语句对应的第一话单文件,并按照话单配置文件中规定的话单格式生成符合该业务要求的单条话单,再写入找到的第一话单文件中。这样,就可以得到符合业务要求的各条具体话单。同时,每隔预设的时间间隔,将当前业务对应的所有当前话单文件标记为待上传的话单文件,再生成一个或多个空白话单文件作为当前业务对应的当前话单文件,根据话单配置文件给出的话单文件命名规则对所有当前话单文件进行命名,最后将待上传的所有话单文件发送给计费系统。
通过上述方式对于不同的业务进行话单配置文件的个性化定制即可,对于话单生成操作和每隔设定时间间隔所进行的传输操作都是依据话单配置文件进行的通用操作。因此,本申请中的话单生成和传输方法,能够针对不同业务统一话单生成和传输流程,大大减少版本修改、配置和维护的成本,节省话单生成及传输的后期开发成本。
附图说明
图1为本申请实施例中系统组成结构的示意图;
图2为本申请实施例中话单生成操作的具体流程示意图;
图3为本申请实施例中话单文件传输操作的具体流程示意图一;
图4为本申请实施例中话单文件传输操作的具体流程示意图二;
图5为本申请中话单生成和传输装置的基本结构示意图。
具体实施方式
为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。
本申请的基本思想在于:引入话单配置文件,用于记录对应于业务的话单文件名命名方式、话单格式以及话单文件的开始和结束标识等;在进行话单生成和传输时,依据话单配置文件执行通用的话单生成和传输操作。这样,一方面通过话单配置文件保证实现各类不同业务对于话单的个性化定制要求;另一方面通过通用的话单生成和传输操作统一话单生成和传输处理,以便减少版本修改、配置和维护的成本,节省话单生成及传输的后期开发成本。
具体地,本申请中最基本的话单生成和传输方法的基本流程包括:
每当接收到针对当前业务的话单SQL中写话单的insert语句后,执行话单生成操作;每隔设定的时间间隔,执行话单文件上传操作。
其中,话单生成操作包括:
对insert语句进行分解,根据insert语句中包括的话单表名词确定对应当前业务的话单配置文件;其中,话单配置文件包括针对当前业务的话单文件命名规则和话单格式;
按照话单配置文件中给出的话单文件命名规则,在对应当前业务的所有当前话单文件中找到与接收的insert语句对应的第一话单文件;按照话单配置文件中给出的话单格式,利用insert语句中包括的话单内容,生成一条话单写入第一话单文件中;
话单文件上传操作包括:将对应当前业务的所有所述当前话单文件作为待上传的话单文件,按照话单文件命名规则生成一个或多个空白话单文件作为当前业务对应的当前话单文件,将所有待上传的话单文件发送给计费系统。
另外,通常在新业务上线前,还可以包括话单环境初始化操作,具体包括:确定新业务对应的话单配置文件;根据新业务对应的话单配置文件中给出的话单文件命名规则创建并命名空话单文件。这样就初始化一个业务对应的话单文件,后续可以通过话单生成操作向话单文件中写入各条话单。然后,在每次话单文件操作时,将旧的话单文件上传前,由话单文件上传操作创建该业务新的话单文件,用于记载后续其他话单;再上传旧的话单文件。也就是说,在业务初始,第一个话单文件是通过话单环境初始化操作创建并命名的,而之后该业务的其他话单文件是通过话单文件上传操作创建并命名的。
在上述本申请的处理中,话单生成操作可以写入第一文件(例如文件cdr_sql1000016.bin)中,每当接收到insert语句就通过系统进程自动调用该第一文件来执行一次话单生成操作,从而生成一条符合业务要求的话单,将该话单保存到业务对应的当前话单文件中与insert语句对应的第一话单文件中。
同样地,话单文件上传操作可以写入第二文件(例如文件cdr_ftp1000015.bin)中,每隔设定的时间间隔,就通过系统进程调用第二文件来执行话单文件上传操作,从而将业务对应的所有当前完整话单文件发送给计费系统;优选地,还可以在本地对该完整话单文件进行备份,以及,还可以根据维护的话单序列号文件,结合话单配置文件中关于话单文件命名规则的规定,在上传话单文件前创建并命名业务对应的新的话单文件。
同样地,话单环境初始化操作可以写入第三文件(例如文件cdr_init1000014.bin)中,在新业务上线前,通过系统进程调用第三文件来执行话单环境初始化操作,从而创建对应该新业务的第一个话单文件;优选地,还可以创建话单序列号文件,用于记录当前使用的话单文件的序列号,以供后续话单文件命名时与之前的话单文件名相区分,避免对应相同业务的不同话单文件名冲突。
如上即为本申请中话单生成和传输方法的概述。由上述可见,本申请中通过话单配置文件实现业务对话单的个性化定制,然后通过通用的话单生成操作在话单文件中写入各条符合业务要求的话单,再通过通用的话单上传操作定时生成完整的话单文件并上传到计费系统中。
下面通过具体实施例说明上述话单生成和传输方法的具体实现。
在本实施例中,具体系统结构组成如图1所示。其中,将话单环境初始化操作写入文件cdr_init1000014.bin中,将话单生成操作写入文件cdr_sql1000016.bin中,将话单传输操作写入文件cdr_ftp1000015.bin中。话单配置文件具体为xmlwoods配置文件。
如图1所示,业务控制节点(SCP)用于加载业务,在呼叫产生时,生成SQL语句格式的话单,并通过SYNC接口同步到业务管理节点(SMP),其中加载的业务即图1中的service。本申请中关于SCP和SYNC的处理均与现有方式相同,这里就不再赘述。
SMP加载本申请的话单生成和传输方法,具体到本申请中,即在相应的时机调用cdr_init1000014.bin、cdr_sql1000016.bin和cdr_ftp1000015.bin,用于生成标准格式的话单文件(图1中的cdr_file),上传到BSS的计费系统中。
下面通过cdr_init1000014.bin、cdr_sql1000016.bin和cdr_ftp1000015.bin三个文件的具体描述给出本申请的具体实现。
在介绍三个文件之前,首先介绍xmlwoods配置文件。针对不同的业务创建对应的xmlwoods配置文件,其中规定了符合业务要求的话单文件命名规则、话单内容和话单标识。
具体地,在目前的话单生成方法中,对应不同的业务都有各自的话单表。在SQL语句的话单中包括该话单表名称。本申请中xmlwoods配置文件与业务的对应关系最简单地可以利用配置文件的名称来标记,具体可以为业务对应的xmlwoods配置文件命名为业务的话单表名称,例如,假定业务A的话单表名称为acr_record,则业务A对应的xmlwoods配置文件名称为acr_record.xml。当然,也可以通过其他方式来标记业务与其xmlwoods配置文件的对应关系,例如,通过建立对应关系表等,本申请对此不做限定。
话单文件名通常包括话单序列号、话单创建时间和特殊标识等,话单文件名格式给出了话单文件名包含的内容以及排列顺序等。
话单格式通常包括话单的各项内容以及排列方式,例如主叫、被叫、通话时长等。
话单标识通常包括话单文件的开始和结束标识,具体可以包括起始时间、结束时间和话单行数等。
通过上述xmlwoods配置文件中关于话单文件名格式、话单内容的规定。进一步还可以包括话单标识的规定。这样,可以定制出符合业务要求的话单以及话单文件。
接下来,具体介绍cdr_init1000014.bin、cdr_sql1000016.bin和cdr_ftp1000015.bin三个文件分别完成的操作。
1、cdr_init1000014.bin
cdr_init1000014.bin用于创建话单处理业务的环境,在新业务上线前初始化环境时使用。可以通过系统进程(具体可以为inaccess终端)的invoke命令调用cdr_init1000014.bin,从而触发初始化操作的执行。invoke命令格式为:
invoke<servicekey><tablename>
其中,servicekey是cdr_init1000014.bin在SMP上加载的业务键,tablename是呼叫业务话单所使用的话单表名称。
在新业务上线前,已经生成了该业务对应的xmlwoods配置文件,且已知新业务的话单表名称,cdr_init1000014.bin文件中的具体操作包括:
通过话单表名称找到业务对应的xmlwoods配置文件,按照该配置文件中规定的话单文件名格式创建并命名业务的第一组话单文件,并创建初始话单序列号文件等。其中,话单序列号文件用于记录当前话单文件的序列号。
这里,对应业务创建的话单文件可能是单个话单文件,也可能是多个话单文件构成的一组话单文件。这主要是考虑到,一个业务可能包括多个不同的话单类型,对应不同的话单类型,话单文件可能是不同的,这种情况下,需要在初始化时,对应业务的每种话单类型分别创建一个话单文件,因此需要创建多个话单文件,每个话单文件的具体名称按照xmlwoods配置文件给出的话单文件命名规则进行命名。
2、cdr_sql1000016.bin
cdr_sql1000016.bin用于分解SYNC接口同步来的SQL的insert语句,并生成一条话单记录保存到与当前insert语句对应的话单文件中。当SMP进程接收到insert语句后,读取该insert语句以及xmlwoods目录下的smp配置文件,该smp配置文件中配置了对cdr_sql1000016.bin文件的调用,从而触发话单生成操作,执行一次话单生成操作。
cdr_sql1000016.bin文件中的具体操作如图2所示,包括:
步骤201,对接收的insert语句进行分解,根据insert语句中包括的话单表名称确定对应当前业务的xmlwoods配置文件。
Insert语句中都包括本条SQL话单对应的业务(以下称为业务A)的话单表名称,根据该话单表名称找到相同名称的xmlwoods配置文件,也就是业务A对应的xmlwoods配置文件。
步骤202,按照xmlwoods配置文件中给出的话单文件名命名规则确定对应当前业务以及insert语句的第一话单文件名称。
这里,当前业务会对应一个或多个当前话单文件,第一话单文件是其中一个当前话单文件。接下来,详细介绍当前话单文件和第一话单文件之间的关系。
当前话单文件就是目前可以写入业务话单的话单文件。之所以业务可以对应一个或多个当前话单文件,是考虑到一个业务可能包括一个或多个话单类型。
一般地,当业务包括一个话单类型时,该业务在同一时刻可以写入的话单文件为一个,将其称为业务的当前话单文件。由于业务仅对应一个当前话单文件,那么第一话单文件也就是当前话单文件。
当业务包括多个话单类型时,分两种情况。第一种情况下,不同话单类型的话单写入同一个话单文件,那么该业务在同一时刻可以写入的话单文件仍然为一个,将其称为业务的当前话单文件。由于业务仅对应一个当前话单文件,那么第一话单文件也就是当前话单文件。
当业务包括多个话单类型时,第二种情况下,不同话单类型的话单写入不同的话单文件中,那么该业务在同一时刻可以写入的话单文件就为多个,分别对应不同的话单类型,将这些对应不同话单类型的可以写入话单的话单文件称为当前话单文件,由于业务对应多个话单文件,那么第一话单文件就是多个当前话单文件中的一个,具体是与insert语句携带的话单类型相对应的那个当前话单文件。
本步骤中,需要根据xmlwoods配置文件确定业务A以及接收的insert语句对应的第一话单文件的名称,从而可以找到相应的话单文件并写入话单。
最简单地,当业务对应的当前话单文件为一个(也就是业务包括一个话单类型,或者,业务包括多个话单类型但不同话单类型的话单写入同一个话单文件中)时,根据话单文件命名规则得出业务A对应的当前话单文件的文件名,也就是第一话单文件的文件名。
当业务对应的当前话单文件为多个(也就是业务包括多个话单类型,且不同话单类型的话单写入不同的话单文件中)时,根据接收的insert语句确定话单类型,根据话单文件命名规则和确定出的话单类型确定出第一话单文件的文件名。其中,具体话单类型可以根据insert语句中包括的话单内容来确定。
另外,话单文件名中包括话单序列号时,需要查询话单序列号文件,找到第一话单文件的序列号,再根据话单文件命名规则得出当前话单文件以及第一话单文件的文件名。
步骤203,判断是否找到与步骤202确定出的话单文件名称一致的话单文件,若未找到,则执行步骤204,否则执行步骤205。
一般情况下,业务A对应的第一话单文件应该是存在的,但是由于系统故障、文件被意外删除等各种各样的原因,也不排除该文件不存在的可能。基于此,通过本步骤来进行文件是否能够找到的判断,从而可以在未找到相应文件的情况下给出救济的处理方式。
步骤204,等待60s后,按照步骤202确定出的话单文件名称创建并命名业务和insert语句对应的第一话单文件,再执行步骤205。
如果没有找到业务A对应的第一话单文件,那么等待设定的时间间隔(例如60秒)重新创建一个第一话单文件,并按照步骤202确定出的话单文件名称进行命名,从而可以在后续该业务A的相应话单生成操作中写入该话单文件。
步骤205,按照xmlwoods配置文件中给出的话单格式,利用insert语句中包括的话单内容,生成一条话单写入第一话单文件中。
如前所述,xmlwoods配置文件中给出了业务A的话单格式,即单条话单中包括的项目内容、项目排列顺序、项目间的间隔字符等。按照该话单格式,将insert语句中携带的话单内容进行重排,得到符合业务A要求的一条话单,写入业务A的第一话单文件中。
至此,一次话单生成操作结束。具体实现时,每次收到insert语句,都会调用一次cdr_sql1000016.bin文件,来执行一次话单生成操作,生成一条话单写入话单文件中。
3、cdr_ftp1000015.bin
cdr_ftp1000015.bin文件按照定时时间被调用,用于生成完整的话单文件上传到计费系统,并生成新的用于写入话单的当前话单文件;优选地,还用于维护话单序列号文件。
具体地,可以由SMP进程根据schedule.scf.*文件中配置的定时时间,周期性调用cdr_ftp1000015.bin文件,从而触发话单文件上传操作。周期性调用的定时时长可以根据不同的业务分别设置,也可以统一设置,以此来调节每个话单文件的时长。调用cdr_ftp1000015.bin文件的命令格式为:
invoke<servicekey><tablename>
其中,servicekey为cdr_init1000014.bin在SMP上加载的业务键,tablename为呼叫业务话单所使用的话单表名称。
具体话单文件上传操作包括:
将对应当前业务的所有当前话单文件作为待上传的话单文件,按照话单文件命名规则生成一个或多个空白话单文件作为当前业务对应的当前话单文件,将所有待上传的话单文件发送给计费系统。
其中,优选地,先完成新话单文件(即空白话单文件)的创建,再进行旧话单文件(即待上传的话单文件)的上传。这样处理的好处在于:旧话单文件的上传不会影响新的话单内容的写入。具体地,旧话单上传过程中可能有新的话单内容需要写入,如果在旧话单文件上传后再生成新话单文件,那么旧话单上传过程中产生的新的话单内容没有话单文件可以写入,如果在旧话单文件上传前就生成新话单文件,则可以避免这种情况。
考虑到计费系统中的话单文件可能丢失,优选地,可以将待上传的话单文件在本地进行备份,具体可以在该话单文件完成上传后进行备份操作。
另外,与前述描述的业务对应的当前话单文件可能为一个或多个的情况相对应的,在生成新话单文件时,也需要按照业务对应的当前话单文件数量生成一个或多个空白话单文件作为对应当前业务的当前话单文件。
同时,优选地,如果话单文件名中包括话单序列号,那么还需要在话单文件上传操作中维护和更新话单序列号文件。具体地,在确定新生成的话单文件的文件名时,首先确定对应当前业务的话单序列号文件,提取该话单序列号文件中保存的话单序列号,并进行自加或自减,作为新生成的当前话单文件的文件名中的话单序列号,并利用自加或自减后的话单序列号更新话单序列号文件中保存的话单序列号。
另外,考虑到可能有多个系统共用相同的话单文件,例如系统中还包括旧的话单生成系统,其中包括与本申请中相同名称的话单文件,那么优选地可以在按照话单文件命名规则生成一个或多个空白话单文件作为当前业务对应的当前话单文件前,进一步执行如下处理:按照话单文件命名规则确定新话单文件的文件名,若找到与新话单文件的文件名一致的话单文件,则不再执行生成一个或多个空白话单文件的操作,将找到的话单文件作为当前业务对应的当前话单文件;若未找到与新话单文件的文件名一致的话单文件,则继续执行生成一个或多个空白话单文件作为当前业务对应的当前话单文件的操作。
另外,优选地,在xmlwoods配置文件中还可以包括话单标识,具体可以为话单文件的开始标识和结束标识。那么在将所有待上传的话单文件发送给计费系统之前,还可以在每个待上传的话单文件中加上话单文件的开始和结束标识,形成完整的话单文件,然后将完整的话单文件上传给计费系统。
下面针对业务对应一个当前话单文件和多个当前话单文件的情况,给出话单文件上传操作的示例性流程。图3为业务对应一个当前话单文件(也就是业务包括一个话单类型,或者,业务包括多个话单类型但不同话单类型的话单写入同一个话单文件中)情况下的文件上传操作示例性流程,如图3所示,该流程包括:
步骤301,将业务对应的当前话单文件标记为待上传的话单文件;
步骤302,在话单序列号文件中读取话单序列号,生成新的话单序列号,并根据新的话单序列号,确定新话单文件的文件名;
步骤303,判断是否存在与新的话单文件的文件名一致的话单文件,若存在,则结束本次文件上传操作流程;否则,执行步骤304;
步骤304,创建一个新的空白话单文件,并利用步骤302确定的文件名进行命名,将其作为业务对应的当前话单文件;
步骤305,更新序列号文件;
步骤306,判断待上传的话单文件是否包括开始和结束标识,若包括,则执行步骤307,若不包括,则直接执行步骤308;
步骤307,在待上传的话单文件中加入开始和结束标识;
步骤308,将待上传的话单文件发送给计费系统;
步骤309,将待上传的话单文件在本地备份。
图4为业务对应多个当前话单文件(也就是业务包括多个话单类型,且不同话单类型的话单写入不同的话单文件中)情况下的文件上传操作示例性流程,如图4所示,该流程包括:
步骤401,获取业务对应的话单类型总数;
步骤402,将已处理话单类型数设为1;
步骤403,判断已处理话单类型数是否大于或等于业务对应的话单类型总数,若是,则结束本次话单文件上传操作;否则,执行步骤404;
步骤404,将业务的当前话单类型对应的当前话单文件标记为待上传的话单文件;
步骤405,在话单序列号文件中读取话单序列号,生成新的话单序列号,并根据新的话单序列号和当前话单类型,确定新话单文件的文件名;
步骤406,判断是否存在与新的话单文件的文件名一致的话单文件,若存在,则结束本次文件上传操作流程;否则,执行步骤407;
步骤407,创建一个新的空白话单文件,并利用步骤405确定的文件名进行命名,将其作为业务对应的当前话单类型下的当前话单文件;
步骤408,更新序列号文件中关于当前话单类型下的话单序列号;
步骤409,判断待上传的话单文件是否包括开始和结束标识,若包括,则执行步骤410,若不包括,则直接执行步骤411;
步骤410,在待上传的话单文件中加入开始和结束标识;
步骤411,将待上传的话单文件发送给计费系统;
步骤412,将待上传的话单文件在本地备份;
步骤413,将已处理话单类型数进行自加,返回步骤403。
通过上述图4的流程实现了定时进行业务的所有话单类型对应的多个话单文件的上传。
上述即为本实施例中通用话单生成和传输方法的具体实现。本申请还提供了一种话单生成和传输装置,可以用于实施本申请中的话单生成和传输方法。图5为本申请中话单生成和传输装置的基本结构示意图。如图5所示,最基本的,该话单生成和传输装置包括话单生成单元和话单传输单元,优选地,还可以进一步包括初始化单元。
其中,话单生成单元,用于每当接收到针对当前业务的话单SQL中写话单的insert语句后,执行话单生成操作。话单传输单元,用于每隔设定的时间间隔,执行话单文件上传操作。
在话单生成单元中,话单生成操作包括:
对insert语句进行分解,根据insert语句包括的话单表名称确定对应当前业务的话单配置文件;其中,话单配置文件用于配置针对当前业务的话单文件命名规则和话单格式;按照话单配置文件中给出的话单文件命名规则,在对应当前业务的所有当前话单文件中找到与insert语句对应的第一话单文件;按照话单配置文件中给出的话单格式,利用insert语句中包括的话单内容,生成一条话单写入第一话单文件中。
在话单传输单元中,话单文件上传操作包括:将对应当前业务的所有当前话单文件作为待上传的话单文件,按照话单文件命名规则生成一个或多个空白话单文件作为当前业务对应的当前话单文件,将所有待上传的话单文件发送给计费系统。
初始化单元,用于在新业务上线前,确定新业务对应的话单配置文件,并根据新业务对应的话单配置文件中给出的话单文件名格式创建并命名空话单文件。
通过上述本申请的具体实现可见,本申请中的通用话单生成方法与装置,可以在SMP组件中实现,并能够实现如下技术效果:
1.通用适配,兼容多种话单格式;
2.配置简单,可以快速生成新的话单格式;
3.方便维护,当话单格式有调整时,通过修改配置文件即可实现;
4.兼容NFS/FTP/SFTP等多种上传模式。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种话单生成和传输的方法,其特征在于,包括:
每当接收到针对当前业务的话单SQL中写话单的insert语句后,执行话单生成操作;每隔设定的时间间隔,执行话单文件上传操作;
所述话单生成操作包括:
对所述insert语句进行分解,根据所述insert语句中包括的话单表名称确定对应所述当前业务的话单配置文件;其中,所述话单配置文件包括针对当前业务的话单文件命名规则和话单格式;
按照所述话单配置文件中给出的所述话单文件命名规则,在对应所述当前业务的所有当前话单文件中找到与所述insert语句对应的第一话单文件;按照所述话单配置文件中给出的所述话单格式,利用所述insert语句中包括的话单内容,生成一条话单写入所述第一话单文件中;
所述话单文件上传操作包括:将对应当前业务的所有所述当前话单文件作为待上传的话单文件,按照所述话单文件命名规则生成一个或多个空白话单文件作为当前业务对应的当前话单文件,将所有待上传的话单文件发送给计费系统。
2.根据权利要求1所述的方法,其特征在于,若当前业务包括多个话单类型,则在所述话单配置文件中包括话单文件指示信息,用于指示不同话单类型的话单分别写入不同的话单文件还是写入同一个话单文件;
当所述话单文件指示信息指示不同话单类型的话单分别写入同一个话单文件时,生成的所述空白话单文件为一个,对应所述当前业务的所有当前话单文件为一个话单文件,所述第一话单文件为所述当前话单文件;
当所述话单文件指示信息指示不同话单类型的话单分别写入不同的话单文件时,生成的所述空白话单文件为多个,分别对应不同的话单类型,按照所述话单文件命名规则为所述多个空白话单分别命名,对应所述当前业务的所有当前话单文件为多个话单文件,分别对应不同的话单类型;所述在对应所述当前业务的所有当前话单文件中找到与所述insert语句对应的第一话单文件包括:根据所述insert语句中包括的话单内容确定话单类型,并在对应所述当前业务的所有话单文件中找到与确定出的话单类型对应的当前话单文件作为所述第一话单文件。
3.根据权利要求1所述的方法,其特征在于,若当前业务包括一个话单类型,则生成的所述空白话单文件为一个,对应所述当前业务的所有当前话单文件为一个话单文件,所述第一话单文件为所述当前话单文件;和/或,
对应不同的业务设置各自的所述时间间隔;和/或,
在将所有待上传的话单文件发送给计费系统时,该方法进一步包括:对所有待上传的话单文件在本地进行备份。
4.根据权利要求1所述的方法,其特征在于,所述话单生成操作进一步包括:当根据所述话单配置文件中给出的所述话单文件命名规则未找到对应所述第一话单文件时,在等待设定的第一时间后,按照所述话单文件命名规则生成所述第一话单文件。
5.根据权利要求1所述的方法,其特征在于,所述话单配置文件进一步用于配置话单文件的开始和结束标识;
在所述将所有待上传的话单文件发送给所述计费系统之前,该方法进一步包括:在每个所述待上传的话单文件中加上所述话单配置文件中给出的所述话单文件的开始和结束标识。
6.根据权利要求1所述的方法,其特征在于,在新业务上线前,该方法进一步包括话单环境初始化操作:
确定所述新业务对应的话单配置文件;
根据新业务对应的话单配置文件中给出的话单文件命名规则创建并命名一个或多个空白话单文件。
7.根据权利要求6所述的方法,其特征在于,所述新业务对应的话单配置文件中给出的话单文件命名规则中包括话单序列号;
在创建空白话单文件时创建对应所述新业务的话单序列号文件,用于记录所述当前话单文件的话单文件名中包括的话单序列号;
所述按照所述话单文件命名规则生成对应所述当前业务的一个或多个空白话单文件作为对应当前业务的当前话单文件包括:确定对应所述当前业务的话单序列号文件,提取该话单序列号文件中保存的话单序列号,并进行自加或自减,作为所述当前话单文件的文件名中的话单序列号,更新所述话单序列号文件中保存的话单序列号;
所述按照所述话单配置文件中给出的所述话单文件命名规则在对应所述当前业务的所有当前话单文件中找到与所述insert语句对应的第一话单文件时,从对应所述当前业务的话单序列号文件中提取保存的话单序列号,作为所有所述当前话单文件和所述第一话单文件的文件名中的话单序列号。
8.根据权利要求1所述的方法,其特征在于,
在按照所述话单文件命名规则生成一个或多个空白话单文件作为当前业务对应的当前话单文件前,该方法进一步包括:按照所述话单文件命名规则确定新话单文件的文件名,若找到与新话单文件的文件名一致的话单文件,则不再执行生成一个或多个空白话单文件的操作,将找到的话单文件作为当前业务对应的当前话单文件;若未找到与新话单文件的文件名一致的话单文件,则继续执行生成一个或多个空白话单文件作为当前业务对应的当前话单文件的操作。
9.一种话单生成和传输装置,其特征在于,包括:话单生成单元和话单传输单元;
所述话单生成单元,用于每当接收到针对当前业务的话单SQL中写话单的insert语句后,执行话单生成操作;
所述话单传输单元,用于每隔设定的时间间隔,执行话单文件上传操作;
所述话单生成操作包括:
对所述insert语句进行分解,根据所述insert语句中包括的话单表名称确定对应所述当前业务的话单配置文件;其中,所述话单配置文件用于配置针对当前业务的话单文件命名规则和话单格式;
按照所述话单配置文件中给出的所述话单文件命名规则,在对应所述当前业务的所有当前话单文件中找到与所述insert语句对应的第一话单文件;按照所述话单配置文件中给出的所述话单格式,利用所述insert语句中包括的话单内容,生成一条话单写入所述第一话单文件中;
所述话单文件上传操作包括:将对应当前业务的所有所述当前话单文件作为待上传的话单文件,按照所述话单文件命名规则生成一个或多个空白话单文件作为当前业务对应的当前话单文件,将所有待上传的话单文件发送给计费系统。
10.根据权利要求9所述的装置,其特征在于,该装置还包括初始化单元,用于在新业务上线前,确定所述新业务对应的话单配置文件,并根据新业务对应的话单配置文件中给出的话单文件命名规则创建并命名一个或多个空白话单文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111080239.0A CN113794574B (zh) | 2021-09-15 | 2021-09-15 | 一种话单生成和传输的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111080239.0A CN113794574B (zh) | 2021-09-15 | 2021-09-15 | 一种话单生成和传输的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113794574A CN113794574A (zh) | 2021-12-14 |
CN113794574B true CN113794574B (zh) | 2023-06-16 |
Family
ID=78878414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111080239.0A Active CN113794574B (zh) | 2021-09-15 | 2021-09-15 | 一种话单生成和传输的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113794574B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002067616A1 (en) * | 2001-02-16 | 2002-08-29 | Sonera Oyj | System, method and network node for providing service-specific billing in a telecommunications system |
CN101415170A (zh) * | 2008-11-24 | 2009-04-22 | 华为软件技术有限公司 | 话单的定制处理方法、装置及系统 |
CN101662758A (zh) * | 2009-10-10 | 2010-03-03 | 中国电信股份有限公司 | 计费方法、网关设备及内容计费系统 |
CN106412866A (zh) * | 2015-07-30 | 2017-02-15 | 三亚中兴软件有限责任公司 | 话单生成的方法及装置 |
-
2021
- 2021-09-15 CN CN202111080239.0A patent/CN113794574B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002067616A1 (en) * | 2001-02-16 | 2002-08-29 | Sonera Oyj | System, method and network node for providing service-specific billing in a telecommunications system |
CN101415170A (zh) * | 2008-11-24 | 2009-04-22 | 华为软件技术有限公司 | 话单的定制处理方法、装置及系统 |
CN101662758A (zh) * | 2009-10-10 | 2010-03-03 | 中国电信股份有限公司 | 计费方法、网关设备及内容计费系统 |
CN106412866A (zh) * | 2015-07-30 | 2017-02-15 | 三亚中兴软件有限责任公司 | 话单生成的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113794574A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6345245B1 (en) | Method and system for managing a common dictionary and updating dictionary data selectively according to a type of local processing system | |
CN102207957B (zh) | 部分项改变跟踪和同步 | |
US6141663A (en) | Automatic external data synchronization method | |
CN100478956C (zh) | 生成和获取报表的方法及相应的系统 | |
US20010034244A1 (en) | Contact management system having wireless telephone interface capability | |
US7085822B1 (en) | Managing pervasive devices | |
CN101556669A (zh) | 利用人机交互技术与用户进行个性化营销的方法和设备 | |
CN110990482A (zh) | 异步数据库之间的数据同步方法及装置 | |
CN110351715A (zh) | At指令处理方法、终端适配器及计算机可读存储介质 | |
CN110389766A (zh) | HBase容器集群部署方法、系统、设备及计算机可读存储介质 | |
CN113821565A (zh) | 一种多数据源同步数据的方法 | |
JPH09505918A (ja) | 一群のデータからデータを抽出する方法および装置 | |
CN106657433A (zh) | 一种多网卡环境下物理网卡的命名方法和装置 | |
CN104657164A (zh) | 软件升级处理方法和装置 | |
CN101534346B (zh) | 基于短信模板的短信息发送方法及终端 | |
CN104202431A (zh) | 具有个性化的单位通讯录同步方法、装置和智能通信系统 | |
CN113794574B (zh) | 一种话单生成和传输的方法与装置 | |
US4480308A (en) | Text processing system with communication data save facility | |
JPS5851339A (ja) | 制御情報管理方式 | |
US5951640A (en) | Method and apparatus for creating condition sets and extraction programs to identify and retrieve data from files in a network | |
CN114547060A (zh) | 一种政务事项数据交换方法及系统 | |
CN109150694A (zh) | 动态场景信息的发送方法、显示方法及服务器和移动终端 | |
US20030179873A1 (en) | Method and networking architecture for implementing service voice dynamic loading on intelligent network | |
CN104468926A (zh) | 移动终端中联系人的控制方法及装置 | |
CN108595591A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |