话单数据的数据帧接收方法、装置及计费网关的制作方法

文档序号:7662741阅读:126来源:国知局
专利名称:话单数据的数据帧接收方法、装置及计费网关的制作方法
技术领域
本发明涉及移动通信系统的计费技术,尤其涉及一种对话单数据的数据帧 处理技术。
背景技术
第三代移动通信标准化组织(3rd Generation Partnership Project, 3GPP )技 术规范制定了跨Gn和Gp接口的通用分组无线业务(General Packet Radio Service, GPRS)隧道协议(GPRS Tunnel Protocol, GTP)标准。GTP,协议是基 于GTP协议的计费协议,在计费网关(Charging Gateway, CG )和GPRS支持 节点(GPRS Support Node, GSN)节点之间的接口上定义。按照3GPP技术规 范,GTP,协i义可以基于传输控制协议(Transmission Control protocol, TCP)或 用户数据报协议(User Datagram Protocol, UDP ),但通常情况下基于UDP协 议,数据的传输在基于UDP协议的情况下是不可靠的。按照GTP,协议的规定,GSN节点以GTP,协议数据帧方式向CG发送话单 数据,以下筒称"GTP,协议数据帧"为"数据帧",每个数据帧包括话单数据 和唯一的帧序列号,CG在接收并成功保存数据帧后向GSN节点发送已成功接 收该数据帧的响应。如果GSN节点没有接收到成功接收响应,将定时重发该 数据帧,并且重发时帧序列号和话单数据是不变的。如果CG已接收并成功保 存某个数据帧,但是没有向GSN节点发送响应或者发送成功接收响应过晚或 者GSN节点没有接收到成功接收响应,会导致CG接收到GSN节点重复发送 的该数据帧。CG保存的重复数据帧会浪费存储空间,应该丢弃,丢弃重复数 据帧的过程称为剔重。另外,CG存在网络连接中断、设备突发重启、系统掉 电、软件进程异常退出等软硬件故障,在CG发生故障时,会丟失话单数据。
现有技术中提供了一种保存数据帧后剔重的方法,解决CG保存的重复数 据帧问题。处理流程为CG先接收并保存所有的数据帧到外部存储单元,然后 对保存的重复数据帧进行剔重操作。现有技术提供的方法中接收过程和剔重过 程分离,剔重过程对外部存储单元的IO访问量较大,导致剔重速度緩慢,同时由于剔重时机滞后,4妄收到重复lt据帧后无法及时有效地响应GSN端。 发明内容本发明实施例提供了 一种话单数据的数据帧接收方法、装置及计费网关, 在新接收到数据帧时能够及时丢弃重复的数据帧,保证保存的话单数据不重 复。本发明实施例提供了 一种话单数据的数据帧接收方法,包括接收数据帧,所述数据帧包括话单数据和帧序列号;判断是否已经记录了该到达的数据帧的帧序列号,如果是则丢弃该到达的数据帧,否则,接收该到达的数据帧,并记录该到达的数据帧的帧序列号。 本发明实施例提供了 一种话单数据的数据帧接收装置,包括 接收单元,用于接收数据帧,所述数据帧包括话单数据和帧序列号; 控制单元用于判断是否已经记录了该到达的数据帧的帧序列号,如果是则丟弃该到达的数据帧,否则,接收该到达的数据帧,并记录该到达的数据帧的帧序列号。本发明实施例还公开了一种计费网关,包括话单数据的数据帧接收装置。 本发明实施例提供的话单数据的数据帧接收方法、装置及计费网关,能够在新接收到数据帧时及时丢弃重复数据帧,保证保存的话单数据不重复,丟弃重复数据帧的时机合理,方法简单高效。


图1为本发明实施例中话单数据的数据帧接收装置框图2为本发明实施例中话单数据的数据帧接收方法流程图; 图3为本发明实施例中数据帧状态迁移示意图; 图4为本发明实施例中数据帧剔重机制示意图; 图5为本发明实施例中话单数据存储过程中的存储保证方法流程图; 图6为本发明实施例中异常情况1和3下的数据包状态持久化对象示意图; 图7、图9和图IO分别为本发明实施例中异常情况1、 2、 3发生前和数据 恢复后的已接收数据帧状态队列对比示意图;图8为本发明实施例中异常情况2下的数据包状态持久化对象示意图; 图11为本发明实施例中已接收数据帧状态队列的长度控制方法示意图; 图12为本发明实施例中话单数据的数据帧接收装置结构示意图。
具体实施方式
本发明实施例提供了一种话单数据的数据帧接收方法、装置及计费网关, 在新接收到数据帧时进行判断,能够及时丢弃重复数据帧,保证保存的话单数 据不重复,进一步在接收到的重复发送的数据帧时能及时向GSN返回响应, 更进一步实现异常情况发生后的自动恢复。如图l所示,本发明实施例首先提供了一种计费网关100,包括数据帧接 收装置101,数据帧接收装置101可以实现在新接收到数据帧时进行判断并及 时丟弃重复数据帧,并进一步在接收到的重复发送的数据帧能及时向GSN返 回已经成功4妄收响应;计费网关100还可以包括存储保证装置102和外部存储装置103,外部存 储装置103设置在计费网关100外,外部存储装置103为硬盘、磁盘等永久性 存储设备,存储保证装置102和外部存储装置103实现异常情况发生后的自动 恢复。其中数据帧接收装置101:用于接收包括话单数据和帧序列号的数据帧,并判 断是否已经记录了该到达的数据帧的帧序列号,如果是则丢弃该到达的数据帧,否则,接收该到达的数据帧,并记录该到达的数据帧的帧序列号。采用数据帧接收装置101已能够实现在新接收到数据帧时进行判断,及时丢弃重复数据帧,能够保证保存的话单数据不重复,增加存储保证装置102和 外部存储装置103为了实现话单数据的可靠、高效存储,其中数据帧接收装置101:还用于保存已接收的数据帧的帧序列号,提取至少 一个已接收的数据帧组成数据包,并为数据包生成唯一的包序列号,提交保存 组成该数据包的各数据帧,记录包序列号与各数据帧的帧序列号之间的对应关 系,并在得知该数据包中各数据帧的话单数据成功保存后,向GSN节点返回 已成功接收各数据帧的响应;每一个数据包中包括设定数据的数据帧,设定数 目例如一个或多个;存储保证装置102:用于接收数据帧接收装置101提交的数据包,将数据 包中各数据帧的话单数据保存到外部存储装置103,并在各数据帧的话单数据 成功保存后向数据帧接收装置101返回已成功保存各数据帧的话单数据的响 应;外部存储装置103:用于保存存储保证装置102发送的话单凄史据。 本发明实施例提供了一种话单数据的数据帧接收方法,数据帧接收装置记 录有已接收的数据帧的帧序列号,如图2所示,包括步骤5201、 GSN节点以数据帧方式向CG发送话单数据,数据帧包括话单数据 和唯一的帧序列号;5202、 在数据帧到达时,数据帧接收装置根据到达的数据帧的帧序列号和 记录的已接收的数据帧的帧序列号,判断是否已经记录了该到达的数据帧的帧 序列号,如果是则丢弃该到达的数据帧;否则,接收该到达的数据帧,并记录 其帧序列号。根据S201和S202能够实现在新接收数据帧时及时丢弃重复数据帧,保证 保存的话单数据不重复,为了保证话单数据的可靠、高效存储,还包括以下步 骤5203、 数据帧接收装置提取至少一个已接收的数据帧组成数据包,并为所述数据包生成唯一的包序列号;应当理解,也可以是以数据帧为单位提交保存;5204、 数据帧接收装置向存储保证装置提交保存该数据包,记录该数据包的包序列号与各数据帧的帧序列号之间的对应关系;5205、 存储保证装置将数据帧接收装置提交保存的数据包中各数据帧的话 单数据保存到外部存储装置;5206、 存储保证装置在成功保存话单数据后向数据帧接收装置返回已成功 保存各数据帧的话单数据的响应,通知数据帧接收装置其提交保存的数据包中 各数据帧的话单数据已成功保存到外部存储装置;5207、 数据帧接收装置得知其提交保存的数据包中各数据帧的话单数据保 存成功后向GSN节点发送各数据帧已成功接收的响应。为了保证话单数据的数据帧能够在接收时快速高效丟弃重复数据帧,并且 能够可靠存储已接收的数据帧的话单数据,本发明实施例进一步提供了以下解 决方法,下面将进行详细介绍。本发明实施例中将数据帧接收装置接收的数据帧区分为以下四种数据帧 状态,包括未接收状态、已接收但未提交保存状态、已接收并已提交保存状态 和已接收并已保存成功状态。如图3所示,提供了数据帧状态迁移示意图,对 于一个GSN节点新发送的数据帧来说,如果数据帧接收装置从未接收过该数 据帧,则该数据帧为"未接收"状态;该数据帧被数据帧接收装置接收后状态 改变为"已接收但未提交保存"状态;数据帧接收装置会定时将一定数量"已 接收但未提交保存,,状态的数据帧组成数据包并提交到存储保证装置,当数据 帧被提交后状态改变为"已接收并已提交保存状态"状态;当存储保证装置成 功保存该数据帧的话单数据并通知数据帧接收装置后,该数据帧的状态改变为 "已接收并已保存成功"状态。数据帧接收装置中存在一个已接收数据帧状态队列,已接收数据帧状态队 列保存在CG的内存空间,记录所有已接收的数据帧的帧序列号和对应该帧序
列号的数据帧状态。已接收数据帧状态队列可以有多种实现方法, 一种较优方 法是根据已接收的数据帧的状态,对应帧序列号记录已接收的数据帧的状态信 息,状态信息包括第一状态信息,表示对应数据帧的数据帧状态为已接收但未提交保存状态;第二状态信息,表示对应凄t据帧的数据帧状态为已接收且已 提交保存状态;第三状态信息表示对应数据帧的数据帧状态为已接收且已保存 成功状态。另一种较优方法是根据已接收的数据帧的状态,将帧序列号分别记录到三 个帧序列号队列,第一帧序列号队列,记录已接收但未提交保存的数据帧的帧序列号;第二帧序列号队列,记录已接收并已提交保存的数据帧的帧序列号;第三帧序列号队列,记录已接收并已保存成功的数据帧的帧序列号。当已接收的数据帧未提交保存时,将该数据帧的帧序列号保存在第一帧序列号队列;当 已接收的数据帧被提交保存后,将该数据帧的帧序列号保存在第二帧序列号队 列中,并在第一帧序列号队列中删除该数据帧的帧序列号;当已接收的数据帧 的话单数据被成功保存后,将该数据帧的帧序列号保存在第三帧序列号队列 中,并在第二帧序列号队列中删除该数据帧的帧序列号。基于已接收数据帧状态队列,本发明实施例提供了 一种话单数据的数据帧 接收方法,CG保存一定时间范围或一定帧序列号范围内的已接收的数据帧的 帧序列号和对应数据帧的数据帧状态,当CG新接收到数据帧时,根据该数据 帧的帧序列号判断是否已经记录,如果是,则认为该数据帧重复,丢弃该数据 帧,并根据数据帧状态采取相应操作,否则接收该数据帧,如图4所示,包括S401、当接收到GSN节点发送的数据帧时,根据帧序列号在巳接收数据 帧状态队列中查找该数据帧是否已经记录于该队列中,并根据数据帧状态采取 相应处理,其中分为以下四种情况S402a、如果发现该数据帧的帧序列号没有记录于该队列中,即该数据帧 为未接收状态,则接收并緩存该数据帧;S402b、如果发现该数据帧的帧序列号记录于该队列中且数据帧状态为已
接收但未提交保存状态,则丢弃该数据帧;S402c、如果发现该数据帧的帧序列号记录于该队列中且数据帧状态为已 接收且已提交保存状态,则丢弃该数据帧;S402d、如果发现该数据帧的帧序列号记录于该队列中且数据帧状态为已 接收且已保存成功状态,则丢弃该数据帧,并向GSN节点返回已成功接收该 凄史据帧的响应。根据已接收数据帧状态队列丟弃到达的重复数据帧的数据帧接收方法,在 新接收到数据帧时进行判断,能够及时丢弃重复数据帧,保证保存的话单数据 不重复,方法简单高效;丢弃重复数据帧的时机合理,并且对接收到的重复数 据帧能及时有效地响应GSN端。数据帧接收并緩存后,数据帧接收装置定时将一定数量緩存的数据帧取 出,组合成一个包括至少一个数据帧的数据包,为每个数据包生成唯一的包序 列号。数据帧接收装置以数据包形式向存储保证装置提交数据帧,数据包中各 数据帧的话单数据被存储保证装置顺序地保存到外部存储装置,采用了两种状 态持久化对象,确保话单数据存储的可靠性,状态持久化对象保存在硬盘等永 久性存储设备中,可以采用文件或数据库的形式保存,两种状态持久化对象包 括数据包状态持久化对象和数据包保存位置状态持久化对象,其中数据包状态持久化对象包含提交的数据包中各数据帧的帧序列号,每提交 一个数据包会生成一个数据包状态持久化对象,且数据包状态持久化对象的名 称中包括包序列号;数据包保存位置状态持久化对象包含已经被存储保证装置成功保存的最 后一个凄t据包的包序列号。基于已接收数据帧状态队列和两种状态持久化对象,本发明实施例提供了 一种话单数据的数据帧接收保存方法,如图5所示,包括步骤
S501 、数据帧接收装置从緩存的数据帧中提取至少 一个数据帧组成数据 包,可以采用定时揭j又的方式,并为数据包生成唯一的包序列号;S502、数据帧接收装置将组成数据包的各数据帧的帧序列号记录于一个数 据包状态持久化对象,并将包序列号写入该数据包状态持久化对象的名称中; S5(B、数据帧接收装置将该数据包发送给存储保证装置;5504、 存储保证装置将数据包中各数据帧的话单数据保存到外部存储装 置,保存成功后将包序列号记录于数据包保存位置状态持久化对象,并向数据 帧接收装置返回已成功保存各数据帧的话单数据的应答响应;5505、 当数据帧接收装置接收到存储保证装置的应答响应后,可以依照应 答响应中的包序列号在对应的数据包状态持久化对象中查找已经成功保存的 数据帧的帧序列号,并在已接收数据帧状态队列中将这些数据帧对应数据帧状 态刷新为已接收并已保存成功状态,并向GSN主机节点回复已成功接收该数 据帧的响应。本发明实施例提供的话单数据的数据帧保存方法,保证了数据帧可靠地保 存到外部存储装置,无需进行剔重,以及避免将重复数据存储到外部存储装置 中,使得对外部存储装置的访问量大大降低。本发明实施例同时提供了异常情况发生后的自动恢复方法。异常情况指一 些预期外的突发情况,例如网络连接中断、设备突发重启、系统掉电、软件进 程异常退出等软硬件故障。在异常情况发生后,由于已接收数据帧状态队列记 录在CG的内存空间,所以会丢失,CG需要在已接收数据帧状态队列中恢复 已接收并已成功保存状态的数据帧对应的帧序列号,避免GSN节点发送的重 复数据帧因为缺少比较信息而被重复接收。由于数据包状态持久化对象和数据 包保存位置状态持久化对象永久保存,所以可以根据数据包状态持久化对象恢 复异常情况发生前的所有已接收并已成功保存的数据帧的帧序列号,将其加入 已接收数据帧状态队列,并将对应数据帧的数据帧状态设置为已接收且已保存 成功状态,方法包括 异常情况发生后,判断数据包状态持久化对象中包序列号的最大值与数据 包保存位置状态持久化对象的包序列号是否相等,如果是,则将各数据包状态 持久化对象中记录的帧序列号重新加入已接收lt据帧状态队列,并将对应凄t据 帧的数据帧状态设置为已接收且已保存成功状态;如果否,则删除包序列号的最大值对应的数据包状态持久化对象,并将其 余数据包状态持久化对象中记录的帧序列号重新加入已接收数据帧状态队列, 并将对应数据帧的数据帧状态设置为已接收且已保存成功状态。针对异常情况发生的不同时机,对本发明实施例提供的异常情况发生后的自动恢复方法加以描述异常情况1,当提交数据包但未完成数据包持久化对象的记录时发生异常 情况,如图6所示,假设当前系统中保存的数据包状态持久化对象的最小的包 序列号为K,最大的包序列号为K+N,因为数据包持久化对象的记录没有完成, 数据包保存位置持久化对象的记录和最大的包序列号一致,即数据包保存位置 状态持久化对象中记录的包序列号也为K+N。可知,包序列号为K到K+N的 数据包均是已经成功保存的数据包。这种情况下,话单数据恢复后的已接收数 据帧状态队列中相对于异常情况发生前,缺少了已接收但未提交保存状态的数 据帧帧序列号,如图7所示。异常情况2,当已提交数据包但未完成数据包保存位置持久化对象的记录 时发生异常情况,如图8所示,假设当前装置中保存的数据包状态持久化对象 的最小的包序列号为K,最大的包序列号为K+N,因为凝:据包保存位置持久化 对象的记录没有完成,数据包保存位置持久化对象的记录和最大包序列号的前 一个序列号 一致,数据包保存位置状态持久化对象中记录的包序列号为 K+N-l。可知,包序列号为K到K+N-l的数据包均是已经成功保存的数据包, 话单数据恢复时需要先删除数据包持久化对象K+N。这种情况下,话单数据恢 复后的数据帧状态队列中相对于异常情况发生前,缺少了已接收但未提交保存
异常情况3,当已完成数据包保存位置持久化对象记录但未刷新数据帧的 状态时发生异常情况,如图6所示,当前装置中保存的数据包状态持久化对象的最小的包序列号为K,最大的包序列号为K+N,同时,数据包保存位置状态 持久化对象中记录的包序列号为K+N。虽然已接收且已提交保存状态的数据帧 的状态没有刷新为已接收且已保存成功状态,但此部分数据帧已经成功保存, 所以话单数据恢复后应将其状态刷新为已接收且已保存成功状态。可知,序列 号为K到K+N的数据包均是已经成功保存的数据包。这种情况下,话单数据 恢复后的数据帧状态队列中相对于异常情况发生前,缺少了已接收但未提交保 存状态的教:据帧的帧序列号信息,如图IO所示。应当理解,帧序列号和包序 列号可采用递增或递减的方式表示,以增量为l为例子可实现,其他情况也同 样适用。基于以上描述,自动恢复后的数据帧状态队列中相对于异常情况发生前, 缺少了已接收但未提交保存状态的数据帧的帧序列号信息和/或缺少了已接收 并已提交保存状态的数据帧的帧序列号信息,但由于这部分数据帧未回复响应 帧,GSN节点会在一定时间后重发这部分数据帧,避免了数据帧的丢失。同时, 由于已接收并已保存成功状态的帧序列号得到恢复,避免了数据接收时重复接 收已经保存成功的数据帧。本发明实施例提供的异常情况发生后的自动恢复方法极大地提高了数据 帧接收的正确性和可靠性。本发明实施例提供了 一种已接收数据帧状态队列的长度控制方法。已接收 数据帧状态队列的长度会影响查找帧序列号和数据帧状态的速度,队列长度过 长,会使查找速度变慢,从而导致接收过程中丢弃重复数据帧的速度下降。另 一方面,保存大量的已成功保存的数据帧的序列号和数据帧状态也会占用大量 的内存空间和外存空间,已接收数据帧状态队列保存在内存空间,数据包状态 持久化对象保存在外存空间。因此,控制已接收数据帧状态队列的长度,及时 地清理掉过期的已接收且已保存成功状态的数据帧的信息非常重要。
本发明实施例提供了一种已接收数据帧状态队列长度控制方法,如图11 所示,假设当前系统中,保存的数据包状态持久化对象中最小的包序列号为K,数据包保存位置状态持久化对象记录的包序列号为K+N,该方法包括当包序列号为K+N的数据包保存成功时,计算数据包状态持久化对象K+1 至K+N中包含的数据帧总数;当该数据帧总数超过设置的长度阈值L时,L设置为大于GSN节点发送 窗口的长度,例如L为1500,则在已接收数据帧状态队列中删除数据包状态 持久化对象K中包括的帧序列号,即清理占用的内存空间,并删除数据包状态 持久化对象K,即清理占用的外存空间。本发明实施例提供的已接收数据帧状态队列长度控制方法,可以有效控制 已接收数据帧状态队列的长度,保证了接收过程中的丟弃重复数据帧的速度, 并自动清理了过期的已接收且已保存成功状态的数据帧占用的内外存空间。如图12所示,本发明实施例提供了话单数据的凄t据帧接收装置的一种实 现结构,设置在计费网关中,包括接收单元1200:用于接收数据帧,所述数据帧包括话单数据和帧序列号;控制单元1201:用于判断是否已经记录了该到达的数据帧的帧序列号,如 果是则丢弃该到达的数据帧,否则,接收并缓存该到达的数据帧,并记录该到 达的数据帧的帧序列号。上述两个单元实现了接收并在接收过程中丢弃重复凄y居帧的功能,均设置 在数据帧接收装置101中,后续提交保存数据帧的话单数据时,数据帧接收装 置101还包括帧序列号存储单元1202,数据帧緩存单元1203,数据包提交单 元1204,数据包提交单元1204外接一个硬盘、磁盘等具有永久性存储功能的 第一持久化存储单元1205,存储保证装置102包括存储保证单元1206,存储 保证单元1206与话单数据存储单元1207连接,第一持久化存储单元1205和 话单数据存储单元1207均位于外部存储装置103中,其中帧序列号存储单元1202:用于保存该到达的数据帧的帧序列号; 数据帧緩存单元1203:用于緩存控制单元1201已接收的数据帧; 数据包提交单元1204:用于从数据帧緩存单元1203中提取至少一个数据 帧组成数据包,并为数据包生成唯一的包序列号,提交保存组成该数据包的各 数据帧,将包序列号与各数据帧的帧序列号之间的对应关系记录到第 一持久化 存储单元1205;第一持久化存储单元1205:用于保存已提交保存的数据包的包序列号与各 数据帧的帧序列号之间的对应关系;存储保证单元1206:用于接收数据包提交单元1204提交的数据包并将各 数据帧的话单数据保存到话单数据存储单元1207,在各数据帧的话单数据成功 保存后,向控制单元1201返回已成功保存各数据帧的话单数据的响应;控制单元1201,还用于在接收到存储保证单元1206返回的已成功保存各 数据帧的话单数据的响应后,向GSN节点返回已成功接收各数据帧的响应;话单数据存储单元1207:用于保存存储保证单元1206发送的话单数据。为了在帧序列号存储单元1202中进一步保存帧序列号对应数据帧的数据 帧状态,数据帧接收装置101还包括第一管理指示单元1208,其中数据包提交单元1204:还用于在提交保存组成数据包的各数据帧时向第一 管理指示单元1208发送已接收并已提交保存的数据帧的帧序列号,在数据包 中的话单数据保存成功时向第一管理指示单元1208发送已接收并已保存成功 的数据帧的帧序列号;第一管理指示单元1208:所述控制单元1201将帧序列号输出给第一管理 指示单元1208,第一管理指示单元1208将接收的帧序列号保存到帧序列号存 储单元1202,并将对应数据帧的状态信息设置为第一状态信息;将数据包提交 单元1204发送的已接收并已提交保存数据帧的帧序列号对应数据帧的状态信 息刷新为第二状态信息;将数据包提交单元1204发送的已接收并已保存成功 的数据帧的帧序列号对应数据帧的状态信息刷新为第三状态信息。第一管理指示单元1208实现以状态信息的方式区分保存数据帧状态,如 101可以采用第二管理指示单元代替第一管理指示单元1208,图12中是以第 一管理指示单元1208为例进行说明的,其中第二管理指示单元所述控制单元1201将帧序列号输出给第二管理指示 单元,第二管理指示单元将接收的所述帧序列号保存到帧序列号存储单元1202 中的第 一帧序列号队列;将数据包提交单元1204发送的已接收并已提交保存 数据帧的帧序列号在第 一帧序列号队列中删除并保存到帧序列号存储单元 1202中的第二帧序列号队列;将数据包提交单元发送的已接收并已保存成功数 据帧的帧序列号在第二帧序列号队列中删除并保存到帧序列号存储单元1202 中的第三帧序列号队列。当控制单元1201判断出到达的数据帧的状态信息为第三状态信息或者数 据帧的序列号保存在第三帧序列号队列时时,向GSN节点返回已成功接收该 数据帧的响应。为了对已接收数据帧状态队列进行长度控制,数据帧接收装置101还包括 长度控制单元1209:用于根据第一持久化存储单元1205保存的对应关系 计算除包序列号的最小值之外其它包序列号对应的数据帧总数,并当数据帧总 数超过设置的长度阈值时,指示控制单元1201删除帧序列号存储单元1202中 保存的包序列号的最小值对应的各帧序列号,并由数据包提交单元1204在第 一持久化存储单元1205中删除包序列号的最小值及其对应的各数据帧的帧序 列号。更进一步,为了应对异常情况的发生,实现异常情况发生后帧序列号存储 单元1202中恢复保存的帧序列号及数据帧状态,存储保证单元1206外接一个 硬盘、磁盘等具有永久性存储功能的第二持久化存储单元1210,第二持久化存 储单元1210也设置在外部存储装置103中,数据帧接收装置101还包括第一 帧序列号恢复单元1211,其中存储保证单元1206:还用于将已经被成功保存话单数据的最后一个数据包
的包序列号记录在第二持久化存储单元1210;第二持久化存储单元1210:用于保存已经被成功保存话单数据的最后一个 数据包的包序列号;第一帧序列号恢复单元1211:用于在异常情况发生后,判断第一持久化存 储单元1205中保存的包序列号的最大值与所述第二持久化存储单元1210中保 存的包序列号是否相等,如果是则将第一持久化存储单元1205中保存的各帧 序列号重新保存到帧序列号存储单元1202,并将各帧序列号对应数据帧的状态 信息设置为第三状态信息,如果否则由数据包提交单元1204在第一持久化存 储单元1205中删除包序列号的最大值及其对应的各it据帧的帧序列号,并将 第一持久化存储单元1205中保存的其余各帧序列号重新保存到帧序列号存储 单元1202,并将其余各帧序列号对应数据帧的状态信息设置为第三状态信息。第一帧序列号恢复单元1211实现以状态信息的方式恢复保存的数据帧状 态,如果采用不同的帧序列号的方式恢复保存的数据帧状态,则数据帧接收装 置101可以采用第二帧序列号恢复单元代替第一帧序列号恢复单元1211,图 12中是以第一帧序列号恢复单元1211为例进行说明的,其中第二帧序列号恢复单元用于在异常情况发生后,判断第一持久化存储单 元1205中保存的包序列号的最大值与所述第二持久化存储单元1210中保存的 包序列号是否相等,如果是则将第一持久化存储单元1205中记录的各帧序列 号重新保存到所述第三帧序列号队列,如果否则指示数据包提交单元1204在 第一持久化存储单元1205中删除包序列号的最大值及其对应的各数据帧的帧 序列号,并将第一持久化存储单元1205中保存的其余各帧序列号重新保存到 所述第三帧序列号队列。图12所示的,第一持久化存储单元1205、第二持久化存储单元1210和话 单数据存储单元1207可以位于一个外部存储装置中,也可以分别位于不同的 外部存储装置中,或者其中两个位于一个外部存储装置中,另外一个位于其它 外部存储装置中。
本发明实施例提供的对话单数据的数据帧的各种处理方法、装置及计费网 关,在新接收到数据帧时进行判断,能够及时丟弃重复数据帧,保证保存的话单数据不重复,并且对接收到的重复数据帧能及时有效地响应GSN端,避免 重复发送;保存已接收的数据帧的话单数据时,保证了数据帧安全可靠地保存 到外部存储装置,保存已接收的数据帧的话单数据时,以数据包为单位,提高 了保存的速度,并且无需进行剔重使得对外部存储装置的IO访问量大大降低, 并且由于不再重复保存数据帧,使得数据存储过程对外部存储装置的IO访问 量大大降低,以及通过利用已接收数据帧状态队列中的已接收并已保存成功状 态的数据帧序列号,便于从没保存过的数据帧才会访问外部存储装置,使得数 据恢复过程对外部存储装置的IO访问量大大降低;针对掉电等异常情况的发 生,通过两种状态持久化对象能够自动恢复已接收数据帧的帧序列号和状态信 息,极大地提高了数据帧接收的正确性和可靠性;同时,可以有效控制已接收 数据帧状态队列的长度,即从有效长度的已接收数据帧状态队列中查找是否存 在相同帧序列号的数据帧,从而减少了比较所花费的时间,保证了接收过程中 的丢弃重复数据帧的速度,并自动清理了过期的已接收且已保存成功状态的数 据帧占用的内外存空间。应当理解的是,在本发明实施例中,可以提供更多的状态信息种类来用于 丢弃重复数据帧即剔重,比较的范围也可以加大。可以利用更多种类的状态持 久化对象来用于数据恢复,也可以将不同种类状态持久化对象合一。可以使用 于其他用于控制已接收数据帧状态队列长度的方法,但实现均依赖于几种状态 信息对应的数据帧的数量。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤 是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可 读取存储介质中,该程序在执行时,包括上述实施例方法中的全部或部分步骤, 所述的存储介质,如ROM/RAM、磁碟、光盘等。
明的精神和范围。这样,^^^i^^^^^ 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、 一种话单数据的数据帧接收方法,其特征在于,包括 接收数据帧,所述数据帧包括话单数据和帧序列号;判断是否已经记录了该到达的数据帧的帧序列号,如果是则丢弃该到达的 数据帧,否则,接收该到达的数据帧,并记录该到达的数据帧的帧序列号。
2、 如权利要求l所述的方法,其特征在于,还包括提取至少一个已接收的数据帧组成数据包,并为所述数据包生成唯一的包 序列号;提交保存所述数据包,记录所述包序列号与各数据帧的帧序列号之间的对 应关系;并在所述各数据帧的话单数据成功保存后,向GSN节点返回已成功接收所 述各数据帧的响应。
3、 如权利要求2所述的方法,其特征在于,所述向GSN节点返回已成功 接收所述各数据帧的响应,包括根据被成功保存话单数据的数据包的包序列号,在所述对应关系中查询对 应的各数据帧的帧序列号;才艮据查询到的各帧序列号向GSN节点返回已成功接收各数据帧的响应, 该响应中携带有对应的帧序列号。
4、 如权利要求2或3所述的方法,其特征在于,还包括根据所述已接 收的数据帧的状态,对应数据帧的帧序列号记录数据帧的状态信息,其中当所述已接收的数据帧未提交保存时,该数据帧的状态信息为所述第一状 态信息,所述第一状态信息用于指示所述已接收的数据帧为已接收但未提交保 存状态;当所述已接收的数据帧被提交保存后,该数据帧的状态信息刷新为第二状 态信息,所述第二状态信息用于指示所述已接收的数据帧为已接收并已提交保 存状态;当所述已接收的数据帧的话单数据被成功保存后,该数据帧的状态信息刷 新为第三状态信息,所述第三状态信息用于指示所述已接收的数据帧为已接收 并已保存成功状态。
5、 如权利要求2或3所述的方法,其特征在于,根据所述已接收的数据 帧的状态,所述已接收的数据帧的帧序列号被分别记录在不同的帧序列号队列 中,其中当所述已接收的数据帧未提交保存时,将该数据帧的帧序列号保存在所述 第 一帧序列号队列,所述第一帧序列号队列用于记录已接收但未提交保存的数 据帧的帧序列号;当所述已接收的数据帧被提交保存后,将该数据帧的帧序列号保存在所述 第二帧序列号队列中,所述第二帧序列号队列用于记录已接收并已提交保存的 数据帧的帧序列号;当所述已接收的数据帧的话单数据被成功保存后,将该数据帧的帧序列号 保存在所述第三帧序列号队列中,所述第三帧序列号队列用于记录已接收并已 保存成功的数据帧的帧序列号。
6、 如权利要求4所述的方法,其特征在于,如果到达的数据帧的状态信 息为所述第三状态信息,所述方法还包括向GSN节点返回表示已成功接收 该凄t据帧的响应。
7、 如权利要求5所述的方法,其特征在于,如果到达的数据帧的帧序列 号记录在所述第三帧序列号队列中,所述方法还包括向GSN节点返回表示 已成功接收该数据帧的响应。
8、 如权利要求2或3所述的方法,其特征在于,所述在各数据帧的话单 数据成功保存后,还包括根据所述对应关系计算除包序列号的最小值之外其它包序列号对应的数 据帧总数;当所述数据帧总数超过设置的长度阈值时,在记录的已接收的数据帧的帧序列号中删除包序列号的最小值对应的各帧序列号;并在所述对应关系中删除包序列号的最小值及其对应的各数据帧的帧序列
9、 如权利要求4所述的方法,其特征在于,还包括记录已经被成功保存话单数据的最后一个数据包的包序列号; 异常情况发生后,当判断出所述对应关系中记录的包序列号的最大值与所述最后 一个数据包的包序列号不相等时,在所述对应关系中删除包序列号的最大值及其对应的各数据帧的帧序列号;将所述对应关系中记录的各帧序列号重新记录在已接收的数据帧的帧序列号中,并将各帧序列号对应的数据帧的状态信息设置为第三状态信息。
10、 如权利要求5所述的方法,其特征在于,还包括记录已经被成功保存话单数据的最后一个数据包的包序列号; 异常情况发生后,当判断出所述对应关系中记录的包序列号的最大值与所述最后 一个数据包的包序列号不相等时,在所述对应关系中删除包序列号的最大值及其对应的各数据帧的帧序列号;将所述对应关系中记录的各帧序列号重新记录到所述第三帧序列号队列。
11、 一种话单数据的数据帧接收装置,其特征在于,包括 接收单元用于接收数据帧,所述数据帧包括话单数据和帧序列号; 控制单元用于判断是否已经记录了该到达的数据帧的帧序列号,如果是则丟弃该到达的数据帧,否则,接收该到达的数据帧,并记录该到达的数据帧 的帧序列号。
12、 如权利要求11所述的装置,其特征在于,还包括 帧序列号存储单元用于保存该到达的数据帧的帧序列号; 数据帧緩存单元用于緩存所述控制单元已接收的数据帧。
13、 如权利要求12所述的装置,其特征在于,还包括数据包提交单元、 第一持久化存储单元、存储保证单元和话单数据存储单元,其中所述数据包提交单元用于从数据帧緩存单元中提取至少一个数据帧组成 数据包,并为所述数据包生成唯一的包序列号,提交保存组成该数据包的各数 据帧,将所述包序列号与各数据帧的帧序列号之间的对应关系记录到所述第一持久化存储单元;所述第一持久化存储单元用于保存已提交保存的数据包的包序列号与各 数据帧的帧序列号之间的对应关系;所述存储保证单元用于接收所述数据包提交单元提交的数据包并将各数 据帧的话单数据保存到话单数据存储单元,在所述各数据帧的话单数据成功保 存后,向控制单元返回已成功保存各数据帧的话单lt据的响应;所述控制单元还用于在接收到存储保证单元返回的已成功保存各数据帧 的话单数据的响应后,返回表示已成功接收各数据帧的响应;所述话单数据存储单元用于保存所述存储保证单元发送的话单数据。
14、 如权利要求13所述的装置,其特征在于,还包括第一管理指示单元, 其中所述数据包提交单元还用于在提交保存组成数据包的各数据帧时向所述 第一管理指示单元发送已接收并已提交保存的数据帧的帧序列号,在数据包中 的话单数据保存成功时向所述第一管理指示单元发送已接收并已保存成功的 数据帧的帧序列号;所述控制单元将该到达的数据帧的帧序列号输出给第 一管理指示单元,所 述第一管理指示单元将接收的所述帧序列号保存到帧序列号存储单元,并将对 应数据帧的状态信息设置为第一状态信息;将数据包提交单元发送的已接收并 已提交保存的数据帧的帧序列号对应数据帧的状态信息刷新为第二状态信息; 将数据包提交单元发送的已接收并已保存成功的数据帧的帧序列号对应数据 帧的状态信息刷新为第三状态信息。
15、 如权利要求13所述的装置,其特征在于,还包括第二管理指示单元, 其中所述数据包提交单元还用于在提交保存组成数据包的各数据帧时向所述 第二管理指示单元发送已接收并已提交保存的数据帧的帧序列号,在数据包中 的话单数据保存成功时向所述第二管理指示单元发送已接收并已保存成功的数据帧的帧序列号;所述控制单元将该到达的数据帧的帧序列号输出给第二管理指示单元,所 述第二管理指示单元将接收的所述帧序列号保存到帧序列号存储单元中的第一帧序列号队列;将数据包提交单元发送的已接收并已提交保存的数据帧的帧 序列号保存到帧序列号存储单元中的第二帧序列号队列;将数据包提交单元发 送的已接收并已保存成功的数据帧的帧序列号保存到帧序列号存储单元中的 第三帧序列号队列。
16、 如权利要求14所述的装置,其特征在于,所述控制单元还用于当判 断出到达的数据帧的状态信息为第三状态信息时,向GSN节点返回表示已成 功接收该数据帧的响应。
17、 如权利要求15所述的装置,其特征在于,所述控制单元还用于当判 断出到达的数据帧的帧序列号保存在第三帧序列号队列时,向GSN节点返回 表示已成功接收该数据帧的响应。
18、 如权利要求13所述的装置,其特征在于,还包括 长度控制单元用于根据所述第一持久化存储单元保存的对应关系计算除包序列号的最小值之外其它包序列号对应的数据帧总数,并当所述数据帧总数 超过设置的长度阚值时,由所述控制单元删除帧序列号存储单元中保存的包序 列号的最小值对应的各帧序列号,并由所述数据包提交单元在第一持久化存储 单元中删除包序列号的最小值及其对应的各数据帧的帧序列号。
19、 如权利要求14所述的装置,其特征在于,还包括第二持久化存储单 元和第一帧序列号恢复单元,其中所述存储保证单元还用于将已经被成功保存话单数据的最后一个数据包 的包序列号记录在第二持久化存储单元;数据包的包序列号;所述第一帧序列号恢复单元用于在异常情况发生后,判断所述第一持久化 存储单元中保存的包序列号的最大值与所述第二持久化存储单元中保存的包 序列号是否相等,如果是则将第 一持久化存储单元中保存的各帧序列号重新保 存到帧序列号存储单元,并将各帧序列号对应数据帧的状态信息设置为第三状 态信息,如果否则由该数据包提交单元在第一持久化存储单元中删除包序列号 的最大值及其对应的各数据帧的帧序列号,并将第 一持久化存储单元中保存的 其余各帧序列号重新保存到帧序列号存储单元,并将其余各帧序列号对应数据 帧的状态信息设置为第三状态信息。
20、 如权利要求15所述的装置,其特征在于,还包括第二持久化存储单 元和第二帧序列号恢复单元,其中所述存储保证单元还用于将已经被成功保存话单数据的最后一个数据包的包序列号记录在第二持久化存储单元;所述第二持久化存储单元用于保存已经被成功保存话单数据的最后一个数据包的包序列号;所述第二帧序列号恢复单元用于在异常情况发生后,判断所述第一持久化 存储单元中保存的包序列号的最大值与所述第二持久化存储单元中保存的包 序列号是否相等,如果是则将第一持久化存储单元中记录的各帧序列号重新保 存到所述第三帧序列号队列,如果否则由该数据包提交单元在第一持久化存储 单元中删除包序列号的最大值及其对应的各数据帧的帧序列号,并将第 一持久 化存储单元中保存的其余各帧序列号重新保存到所述第三帧序列号队列。
21、 一种计费网关,其特征在于,包括权利要求13至20任一所述的装置。
全文摘要
本发明涉及移动通信系统的计费技术,尤其涉及一种对话单数据的数据帧处理技术。本发明实施例公开了一种话单数据的数据帧接收方法、装置及计费网关,在新接收到数据帧时能够及时丢弃重复的数据帧,保证保存的话单数据不重复。其中,话单数据的数据帧接收方法,包括接收数据帧,所述数据帧包括话单数据和帧序列号;判断是否已经记录了该到达的数据帧的帧序列号,如果是则丢弃该到达的数据帧,否则,接收该到达的数据帧,并记录该到达的数据帧的帧序列号。话单数据的数据帧接收装置包括帧序列号存储单元、控制单元和数据帧缓存单元。本发明实施例还提供了一种计费网关,包括所述话单数据的数据帧接收装置。
文档编号H04L1/18GK101145893SQ20071016312
公开日2008年3月19日 申请日期2007年10月8日 优先权日2007年10月8日
发明者啸 孙, 奇 王, 锋 王 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1