发明内容
本发明提供了一种话单传输方法及系统,能实时的保证话单文件的正确性。
本发明提供了一种话单传输方法,包括:
步骤1、采集系统将话单文件发送给计费结算系统;
步骤2、在所述采集系统与所述计费结算系统之间建立实时消息类接口的连接;
步骤3、所述采集系统通过所述实时消息类接口,将包含有所述话单文件的校验信息的校验请求数据包发送给所述计费结算系统;
步骤4、所述计费结算系统根据解析得到所述校验信息,对所述话单文件进行校验;
步骤5、所述计费结算系统通过所述实时消息类接口,向所述采集系统发送包含校验结果的校验应答数据包。
本发明提供了一种话单传输系统,包括:
接收模块,用于接收采集系统发送的话单文件;
实时接口模块,用于与所述采集系统之间建立实时消息类接口的连接;
实时收发模块,用于通过所述实时消息类接口,接收所述采集系统发送的包含有所述话单文件的校验信息的校验请求数据包;以及,向所述采集系统发送包含校验结果的校验应答数据包;
校验模块,用于根据解析得到所述校验信息,对所述话单文件进行校验。
本发明在采集系统与计费结算系统之间建立实时消息类接口的连接,通过该实时消息类接口,接收校验请求数据包,并根据该校验请求数据包中携带的校验信息对话单文件进行校验,返回校验应答数据包,能够实时的保证话单文件传输前后的一致性和正确性。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
如图1所示,为本发明话单传输方法实施例一的流程图,具体包括如下步骤:
步骤1、采集系统将话单文件发送给计费结算系统;
步骤2、在采集系统与计费结算系统之间建立实时消息类接口的连接;
步骤3、采集系统通过实时消息类接口,将包含有话单文件的校验信息的校验请求数据包发送给计费结算系统;
步骤4、计费结算系统根据解析得到校验信息,对话单文件进行校验;
步骤5、计费结算系统通过实时消息类接口,向采集系统发送包含校验结果的校验应答数据包。
本实施例在采集系统与计费结算系统之间建立实时消息类接口的连接,通过该实时消息类接口,接收校验请求数据包,并根据该校验请求数据包中携带的校验信息对话单文件进行校验,返回校验应答数据包,能够实时的保证话单文件传输前后的一致性和正确性。
如图2所示,为本发明话单传输方法实施例二的流程图,具体包括如下步骤:
步骤101、采集系统将话单文件传送给计费结算系统;
步骤102、采集系统与计费计算系统建立实时消息类接口的连接;
其中实时消息类接口具体为套接字(SOCKET)接口。
步骤103、采集系统通过SOCKET接口,将包含话单文件的校验信息的校验请求数据包发送给所述计费结算系统;其中校验请求数据包说明了话单文件传送完毕;
具体地,校验信息可以包括话单文件名、话单文件大小信息、话单文件中话单个数或上述信息的任意组合,话单文件名遵循以下标准:
AAAAA_yyyymmddhhmiss.BBBB_CC_DDD_temp
其中,“AAAAA”表示文件类型,用于说明业务数据类型;“yyyymmddhhmiss”表示话单文件形成时间,格式为“yyyy”年“mm”月“dd”日“hh”时“mi”分“ss”秒,年为4位,时为24小时制时间;“BBBB”为话单文件序列号,为数字,在一定范围内对文件名进行编号;“CC”为数字或字符,用于区分采集数据源类别和/或数据格式类别;“DDD”为数字或字符,可以用于表示一个具体的数据采集点;“_temp”为固定部分。
校验请求数据包为采集系统发起的请求校验的数据包,该数据包内容可以包含类型、包长度、数据内容,如表1所示,为校验请求数据包的格式示意表。
表1.校验请求数据包的格式示意表
表1中“类型”可以为字符(char)型,其长度可以为1,例如传“Q”,表示该数据包为请求校验的数据包;“长度”可以为十进制数字,其长度可以为4,不足的可以左补0,用于说明数据内容的长度;“数据内容”可以包含话单文件名、话单文件大小信息以及话单文件中话单个数三部分,即校验信息;进一步的,话单文件名可以为字符(char)型;话单文件大小信息可以以字节为单位,为十进制数字;话单文件中话单个数可以为十进制数字。上述数据内容每两项之间可以使用“|”分隔。
步骤104、计费结算系统接收采集系统发送的校验请求数据包,解析得到校验信息,对话单文件进行校验;
计费结算系统解析出话单文件名、话单文件大小信息以及话单文件中话单个数等信息后,与计费主机上接收到的话单文件进行校验,若信息符合,则得到校验一致的校验结果;否则,得到校验不一致的校验结果。
步骤105、计费结算系统通过SOCKET接口,向采集系统发送包含校验结果的校验应答数据包;
其中校验应答数据包可以包含类型、包长度、数据内容以及结束符,如表2所示,为校验应答数据包的格式示意表。
表2,校验应答数据包的格式示意表
表2中“类型”可以为字符(char)型,其长度可以为1,例如传“A”,表示该数据包为应答校验的数据包;“长度”可以为十进制数字,其长度可以为4,不足的可以左补0,用于说明数据内容的长度;“数据内容”可以包含话单文件名和校验结果是否一致的标志两部分;进一步的,话单文件名可以为字符(char)型;当话单文件校验一致时校验结果是否一致的标志可以为“S”,当话单文件校验不一致时可以为“F”;上述数据内容每两项之间可以使用“|”分隔。
步骤106、采集系统判断是否在预定的时间内接收到校验结果为校验一致的校验应答数据包,若是,则采集系统和计费结算系统之间断开SOCKET连接,结束;否则,执行步骤107;
采集系统在预定时间内没有接收到校验结果为校验一致的校验应答数据包,包括两种情况:一为采集系统接收到校验结果为校验不一致的校验应答数据包,即通过校验得到校验不一致的结果;另一为在预定时间内,采集系统没有收到校验应答数据包。
步骤107、采集系统和计费结算系统之间断开SOCKET连接;
步骤108、计费结算系统判断是否为第一次执行上述校验流程,若是,则执行步骤101,否则,执行步骤109;
也就是说,当判断第一次执行上述校验流程(包括步骤101-107)时,再执行一次传输和校验流程,即重传输话单文件、重新建立SOCKET连接和重校验话单文件,同时可以记录日志、自动校正重传;重新传输话单文件时,要保证文件名不变。当采集系统接收到的重校验的结果为校验一致时,采集系统和计费结算系统之间断开SOCKET连接,结束。
步骤109、采集系统将话单文件保存在采集系统自身的某个目录下;
步骤110、计费结算系统定时扫描采集系统的该目录,当扫描到话单文件后,将该话单文件移送至计费结算系统中;
计费结算系统可以将该话单文件从目录中移走或修改文件名或删除。
步骤111、计费结算系统生成回执文件,并发送给采集系统。
具体地,回执文件可以包含两部分内容,分别为主文件和错误记录。各参数间可以采用“|”分隔,主文件和错误记录之间可以采用换行符作为分隔符。其中,主文件包括:请求的话单文件的原文件名;取文件的系统标识(ID);取文件的时间,格式为“YYYYMMDDHHMMSS”;删除文件的时间,格式为“YYYYMMDDHHMMSS”;文件处理结果,可以用“0”表示正确,“1”表示记录级错误,“2”表示文件级错误,如出现错误标识时,可以生成相应的错误记录;请求文件总记录数,一个流水号作为一个记录;正确处理记录数;错误记录数。错误记录包括记录级错误和文件级错误,例如:在记录级错误中,“100”表示流水号异常,“101”表示字段值超范围定义(用于无法以下列细项标识时),“102”表示字段个数不符,“103”表示非法字符,“104”表示字段类型错误,“900”表示系统异常;在文件级错误中,“200”表示文件无法打开,“201”表示文件命名错误,“202”表示文件名中文件序列号异常,“203”表示文件类型错误,“204”表示文件产生时间错误。
本实施例中,在采集系统与计费结算系统之间建立SOCKET接口的连接,SOCKET接口为实时消息类接口,通过SOCKET接口接收校验请求数据包,并根据该校验请求数据包中携带的校验信息对话单文件进行校验,返回校验应答数据包,能够实时的保证话单文件传输前后的一致性和正确性;当采集系统没有在预定时间内接收到校验结果为校验一致的校验应答数据包时,进行重传和重校验,如果重校验仍然出现错误,即采集系统仍然没有在预定时间内接收到校验结果为校验一致的校验应答数据包,则由计算结算系统定时扫描采集系统的目录,取走目录中的话单文件,并生成回执文件,由此,在校验出现错误的情况下,仍然能够保证话单文件传输前后的一致性和正确性。
如图3所示,为本发明话单传输系统一实施例的结构示意图,本实施例可以为计费结算系统,具体包括接收模块11、实时接口模块12、实时收发模块13以及校验模块14,其中接收模块11接收采集系统发送的话单文件;接收模块11接收到话单文件后,触发实时接口模块12与采集系统之间建立实时消息类接口的连接;实时收发模块13通过实时消息类接口,接收采集系统发送的包含话单文件的校验信息的校验请求数据包,校验模块14根据解析得到的校验信息,对话单文件进行校验,实时收发模块13向采集系统发送包含校验结果的校验应答数据包。
本实施例还可以包括断开模块15,该断开模块15断开实时消息类接口的连接。
进一步的,本实施例还可以包括扫描模块16和回执生成模块17,根据上述方法实施例二的描述,当通过重传和重校验话单文件,采集系统仍然没有得到校验一致的校验结果时,扫描模块16定时扫描采集系统的目录,当扫描到话单文件后,将话单文件移送至计费结算系统;回执生成模块17生成回执文件,并发送给采集系统。
上述实时消息类接口可以为SOCKET接口,也可以为其他实时消息类接口。
本实施例中,通过实时接口模块12在采集系统与计费结算系统之间建立实时消息类接口的连接,实时收发模块13通过该实时消息类接口接收校验请求数据包,校验模块14根据该校验请求数据包中携带的校验信息对话单文件进行校验,实时收发模块13返回校验应答数据包,能够实时的保证话单文件传输前后的一致性和正确性。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。