通信系统中基站与服务器数据库实时同步方法

文档序号:7564751阅读:253来源:国知局
专利名称:通信系统中基站与服务器数据库实时同步方法
技术领域
本发明涉及的是一种分布式通讯设备不同数据库之间的同步方法,尤其是移动通讯领域无人值守基站设备的商用数据库和实时数据库之间的同步方式。
背景技术
目前移动通讯领域的基站系统可能由分布在一个城市或地区的很广范围内数以百计的基站组成,且为了便于维护、降低维护成本一般采用无人值守的方式通过网管系统自动化管理。
但是由于电信业技术日新月异,基站系统数据的更新也比较频繁。而移动通讯的基站系统是一个庞大的系统,基站控制中心和每个基站需要更新的数据量是非常巨大的,几乎每天都在进行数据的更新,以保证基站单板上运行的数据是最新的。
运行在基站单板上的数据是保证用户正常通话的关键,如果数据有异常,将直接导致掉话等严重问题。并且由于实时数据库和商用数据库差异很大,因此,怎样在较短的时间内保质保量的完成对整个基站或某几个基站的数据更新是摆在所有移动通讯厂商面前的一个难题。目前的移动通信系统中普遍采用通过消息一对一应答方式对基站数据进行更新的方法,采用这种方法,每次发出消息后都需要一定的等待时间,会大量占用传输带宽,也浪费时间,增加了不必要的风险。
我们这里所介绍的不同数据库之间高速同步的方法是一套能够大幅度提高系统数据更新速度的解决方案。本方法的主要特点是采用了一种新的高速传输机制来实现对基站不同数据库之间数据的更新。

发明内容
本发明的目的是为了克服现有的移动通信系统中不同数据库之间进行数据更新时速度慢,时间长的缺点,解决现有技术中数据同步时因为时间过长导致基站单板CPU占用率过高从而引起部分用户掉话的问题,保证移动通信系统的数据更新能够顺畅、稳定、迅速的完成。
本发明包括数据准备过程、数据传输过程和数据加载过程三个步骤所述数据准备过程包括服务器收到同步请求消息后,向基站索取实时数据库的表结构信息,从商业数据库中读取表记录数据,根据基站数据库的表结构信息来组织和处理服务器上商业数据库的数据;所述数据传输过程包括服务器向基站传送表记录地址,服务器向基站传送表记录信息,基站先把没有收到的数据包记录下来,每隔一定次数进行应答,服务器等到传完所有的数据包,再重传没有收到的数据包;所述数据加载过程,是指基站在接收到数据后通过内存块拷贝的方式直接写进数据库,在数据加载结束后,向服务器发送完成或失败消息。
其中,服务器向基站索取数据库的表结构信息,包括所有关系表名称,和每个表的所有字段的描述信息;组织和处理服务器上商业数据库中的数据,是指对消息和消息体的所有有效数据放入一个连续的缓存。
在上述方案中,所述服务器向基站传送表记录地址的过程,包括4.1 按照前台数据库缓冲区中数据存放方式,从后台数据库中获取数据并组织数据,放入服务器缓冲区;4.2 得到所有记录地址和要传送的包的个数;4.3 服务器向基站发送开始传输的消息;4.4 基站收到消息后初始化其缓冲区,同时传输进程通知基站启动进程开始数据同步;4.5 服务器根据缓冲区中的内容组织消息体,每次读取一个数据包长度的数据,放入消息体中,并传送到基站;4.6 基站发应答消息,并将收到的记录地址包的序号报给服务器,同时将每个表相关的地址信息写入基站缓冲区文件注册表中;4.7 如果记录地址数据量超过一个包,则继续发另一个包;由于地址包不多,每发一个地址包,给出一个应答,直到所有的地址包发送完成,流程结束。若是传输超时,则视为此次数据传输失败,流程结束。
所述服务器向基站传送表记录信息的过程,包括5.1 服务器根据缓冲区中的内容,每次读取一个数据包长度的数据,放入消息体中,把表的记录信息传送到基站。连续向基站传送N(默认为10)个数据包,设置一个定时器,等待基站的应答消息。在这个过程中,如果服务器判断传送记录信息任务已经完成,则直接跳转到步骤5.5,否则继续;5.2 果定时器到时,基站仍无应答,复位定时器,重复步骤5.1;5.3 基站每收到一个数据包,就把其中的记录信息写入缓冲区,仅当收到包号数除以N余数为(N-1)的数据包后,,发应答消息,把刚收到的各个包的序号告诉给服务器;5.4 务器判断向基站传送记录信息的任务是否已经完成,如果未完成,则继续向前台传送记录信息,重复步骤5.1;如果完成,转入步骤5.5;5.5 传送完记录信息后,服务器向基站发传送记录信息结束消息,复位定时器;5.6 基站收到传送表记录信息结束消息后,把刚收到的各个包的序号告诉给服务器,服务器根据此信息,进行如下操作如果基站收到所有的包,转入等待基站数据加载流程;如果基站有未收到的包,则服务器根据没有收到的包号,再次将该数据包的内容从缓冲区中读出,放入消息体中,发送到基站,基站将收到的数据包中的记录信息写入缓冲区,同时向服务器发应答消息,上报数据包号,直到接收到所有的包,转入等待基站数据加载流程。
本发明中的准备数据由服务器处理,对基站的业务没有影响;传输的时间大大减少,同时由于采用高速加载方式来把数据加载到实时数据库,大大减少基站CPU的处理时间,把数据的传输对基站业务的影响降到最少的程度。


图1是本发明的流程图;图2是服务器向基站索取表结构流程;图3是内存缓冲区文件注册表示意图;图4是传输进程进行高速数据传输时的状态跃迁图;图5是服务器向基站传送表记录地址流程;图6是服务器向基站传送表记录信息流程;图7是表记录信息丢包重传流程;图8是服务器等待基站数据加载流程。
具体实施例方式
本发明是要提高基站与服务器之间数据更新的速度,所以发明的关键在于必须在最短的时间内将服务器中商用数据库的数据同步到基站实时数据库中。同时,必须保证同步到基站实时数据库中数据的绝对正确性,还需要考虑同步时占用的资源和同步的效率问题。数据高速同步包括数据准备、数据传输和数据加载到实时数据库三个部分,数据传输通过消息传输机制保证,数据加载通过高速加载方式实现。
下面根据说明书附图对本发明进行详细说明。
图1是本发明的一个完整的流程图。本发明包括下述步骤1.服务器收到同步请求消息;2.服务器若没有表结构信息,则向基站索取实时数据库的表结构信息;3.服务器从商业数据库中读取表记录数据;4.服务器端按照基站数据库中数据存放的方式组织数据,放入缓存;5.服务器向基站传送表记录地址;
6.服务器向基站传送表记录信息;7.表记录信息丢包重传;8.基站将服务器端传输过来的数据暂时存放到缓存;9.所有数据传输完成后,基站把数据加载到实时数据库中。
上述步骤可以分为数据准备、高速传输和高速加载三个部分。
在现有技术中,数据准备的一般做法是从商业数据库读取记录数据,进行数据格式转换和相应处理,而本发明的做法是索取基站实时数据库的表结构信息,根据实时数据库的表结构信息来组织和处理服务器上商业数据库的数据,这样数据传到基站后不需要再进行处理,大大提高了数据的加载速度。
图2是服务器向基站索取表结构流程,具体描述如下1)服务器向基站索取所有关系表名称,向基站发“索取所有表名”消息;2)基站向服务器返回所有关系表的名称;3)服务器通知基站开始索取关系表信息,向基站发“开始索取表结构信息”消息;4)基站返回指定关系表的字段描述信息,向服务器发“基站返回表结构信息”消息;5)服务器确认,向基站发应答消息;6)如果基站还有要传的字段描述信息,则重复步骤4)和步骤5),否则,转入步骤7);7)基站通知服务器指定关系表的字段信息传送完成;8)服务器判断向基站索取字段信息的任务是否已经完成如果未完成,则继续索取下一个表的字段信息,重复步骤3)至步骤7);如果完成,转入如图5所示的服务器向基站传送表记录地址流程。
本发明的高速传输过程,采用滑窗方式,每隔一定次数进行应答,可以大量减少消息应答时间。对消息和消息体采用一种新的数据包封装方式,这种方式不再按照一条记录一条记录打包,而是把所有的有效数据放入一个连续的缓存,去掉冗余,充分利用每个数据包的潜力,提高了有效负载。为了在高速传输中保证数据的可靠性,采用一种选择性重传的丢包重传机制。该机制不是一丢包就重传,而是首先把没有收到的数据包记录下来,等到传完所有的数据包,再重传没有收到的数据包,这样不仅可以保证数据传输的可靠性,而且也可以进一步减少传输的时间。
服务器作为数据发送方,基站的传输进程作为数据接收方,共同完成基站与服务器之间的数据传输。
图3是基站数据库内存缓冲区的结构图。在传输开始之前,服务器根据基站的方式组织数据,即服务器有一个和基站几乎完全一样结构的缓冲区。
传输开始后,不再有“表”、“记录”的概念,只有“数据包”的概念。传输主要分两部分进行第一部分主要传送文件注册表中的内容,即各个表的记录地址包;第二部分主要传送各个表记录信息包及表记录信息丢包重传;传输过程中,基站不是每个数据包都给出回应,而是在收到了某一标志包后才向服务器发应答消息。图4是传输进程进行高速数据传输时的状态跃迁图,整个传输过程中,进程只处于一种状态,即等待状态,如此,克服了原来传输方式中的交互消息多、状态多的缺点。
图5是服务器向基站传送表记录地址流程,具体描述如下1)按照前台数据库缓冲区中数据存放方式,从后台数据库中获取数据并组织数据,放入服务器缓冲区;2)得到所有记录地址和要传送的包的个数;3)服务器向基站发送开始传输的消息;4)基站收到消息后初始化其缓冲区,同时传输进程通知基站启动进程开始数据同步;5)服务器根据缓冲区中的内容组织消息体,每次读取一个数据包长度的数据,放入消息体中,并传送到基站;6)基站发应答消息,并将收到的记录地址包的序号报给服务器,同时将每个表相关的地址信息写入基站缓冲区文件注册表中;7)如果记录地址数据量超过一个包,则继续发另一个包。由于地址包不多,每发一个地址包,给出一个应答,直到所有的地址包发送完成,流程结束。若是传输超时,则视为此次数据传输失败,流程结束。
该流程结束后转入服务器向基站传送表记录信息流程。
图6是服务器向基站传送表记录信息流程,具体描述如下1)服务器根据缓冲区中的内容,每次读取一个数据包长度的数据,放入消息体中,把表的记录信息传送到基站。连续向基站传送N(默认为10)个数据包,设置一个定时器,等待基站的应答消息。在这个过程中,如果服务器判断传送记录信息任务已经完成,则直接跳转到步骤5),否则继续;2)如果定时器到时,基站仍无应答,复位定时器,重复步骤1);3)基站每收到一个数据包,就把其中的记录信息写入缓冲区,仅当收到包号数除以N余数为(N-1)的数据包后,发应答消息,把刚收到的各个包的序号告诉给服务器;4)服务器判断向基站传送记录信息的任务是否已经完成,如果未完成,则继续向前台传送记录信息,重复步骤1);如果完成,转入步骤5);5)传送完记录信息后,服务器向基站发传送记录信息结束消息,复位定时器;6)基站收到传送表记录信息结束消息后,把刚收到的各个包的序号告诉给服务器,服务器根据此信息,进行如下操作如果基站收到所有的包,转入等待基站数据加载流程;如果基站有未收到的包,则转入表记录信息丢包重传流程。
图7是表记录信息丢包重传流程,具体描述如下1)服务器根据没有收到的包号,再次将该数据包的内容从缓冲区中读出,放入消息体中,发送到基站;2)基站将收到的数据包中的记录信息写入缓冲区,同时向服务器发应答消息,上报数据包号;3)服务器收到应答后,判断是否还有需要重传的包有,则重复步骤1)和步骤2);没有,则转入等待基站数据加载流程。
本发明的高速加载方式实质是服务器端按照基站实时数据库数据存放的方式进行组织数据,然后将数据传送到基站,这样基站在接收到数据后通过内存块拷贝的方式直接写进数据库,因此大大节省了CPU处理时间,提高了效率,同时也减少了因为时间过长,占用基站单板CPU资源过高而带来的危险。为了支持高速加载方式,在数据准备过程中,服务器端需要向基站索取表结构信息(如果有该信息,则不需要重复索取),其中包括所有关系表名称,和每个表的所有字段的描述信息。
最后一个步骤就是服务器等待基站进行数据加载,具体结合附图8进行说明1)服务器判断基站收到了所有的数据包,则发传输结束消息,收到基站应答后,开始等待基站进行数据加载;2)基站加载数据结束后,基站传输进程根据加载的结果分别向基站启动进程和服务器发结束消息成功,向基站启动进程发送“数据同步完成”消息,向服务器发送“数据同步完成”消息;失败,向基站启动进程发送“数据同步失败”消息,向服务器发送“数据同步失败”消息;3)服务器进程结束整个数据同步流程。
权利要求
1.一种通信系统中基站与服务器数据库实时同步方法,包括数据准备过程、数据传输过程和数据加载过程三个步骤,其特征在于所述数据准备过程包括服务器收到同步请求消息后,向基站索取实时数据库的表结构信息,从商业数据库中读取表记录数据,根据基站数据库的表结构信息来组织和处理服务器上商业数据库的数据;所述数据传输过程包括服务器向基站传送表记录地址,服务器向基站传送表记录信息,基站先把没有收到的数据包记录下来,每隔一定次数进行应答,服务器等到传完所有的数据包,再重传没有收到的数据包;所述数据加载过程,是指基站在接收到数据后通过内存块拷贝的方式直接写进数据库,在数据加载结束后,向服务器发送完成或失败消息。
2.权利要求1所述的通信系统中基站与服务器数据库实时同步方法,其特征在于,所述服务器向基站索取数据库的表结构信息,包括所有关系表名称,和每个表的所有字段的描述信息。
3.权利要求1或2所述的通信系统中基站与服务器数据库实时同步方法,其特征在于,所述组织和处理服务器上商业数据库中的数据,是指对消息和消息体的所有有效数据放入一个连续的缓存。
4.权利要求1所述的通信系统中基站与服务器数据库实时同步方法,其特征在于,所述服务器向基站传送表记录地址的过程,包括4.1按照前台数据库缓冲区中数据存放方式,从后台数据库中获取数据并组织数据,放入服务器缓冲区;4.2得到所有记录地址和要传送的包的个数;4.3服务器向基站发送开始传输的消息;4.4基站收到消息后初始化其缓冲区,同时传输进程通知基站启动进程开始数据同步;4.5服务器根据缓冲区中的内容组织消息体,每次读取一个数据包长度的数据,放入消息体中,并传送到基站;4.6基站发应答消息,并将收到的记录地址包的序号报给服务器,同时将每个表相关的地址信息写入基站缓冲区文件注册表中;4.7如果记录地址数据量超过一个包,则继续发另一个包;每发一个地址包,给出一个应答,直到所有的地址包发送完成,流程结束。
5.权利要求1所述的通信系统中基站与服务器数据库实时同步方法,其特征在于,所述服务器向基站传送表记录信息的过程,包括5.1服务器根据缓冲区中的内容,每次读取一个数据包长度的数据,放入消息体中,把表的记录信息传送到基站;连续向基站传送N个数据包,设置一个定时器,等待基站的应答消息;如果服务器判断传送记录信息任务已经完成,则直接跳转到步骤5.5,否则继续;5.2如果定时器到时,基站仍无应答,复位定时器,重复步骤5.1;5.3基站每收到一个数据包,就把其中的记录信息写入缓冲区,仅当收到包号数除以N余数为(N-1)的数据包后,发应答消息,把刚收到的各个包的序号告诉服务器;5.4服务器判断向基站传送记录信息的任务是否已经完成,如果未完成,则继续向前台传送记录信息,重复步骤5.1;如果完成,转入步骤5.5;5.5传送完记录信息后,服务器向基站发传送记录信息结束消息,复位定时器;5.6基站收到传送表记录信息结束消息后,把刚收到的各个包的序号告诉给服务器,服务器根据此信息,进行如下操作如果基站收到所有的包,转入等待基站数据加载流程;如果基站有未收到的包,则服务器根据没有收到的包号,再次将该数据包的内容从缓冲区中读出,放入消息体中,发送到基站,基站将收到的数据包中的记录信息写入缓冲区,同时向服务器发应答消息,上报数据包号,直到接收到所有的包,转入等待基站数据加载流程。
全文摘要
一种通信系统中基站与服务器数据库实时同步方法,包括服务器收到同步请求消息后,向基站索取实时数据库的表结构信息;从商业数据库中读取表记录数据;按照基站数据库中数据存放的方式组织数据,放入缓存;向基站传送表记录地址和表记录信息;表记录信息丢包重传;基站将服务器端传输过来的数据暂时存放到缓存;所有数据传输完成后,基站把数据加载到实时数据库中。本发明中的准备数据由服务器处理,对基站的业务没有影响;传输的时间大大减少,同时由于采用高速加载方式来把数据加载到实时数据库,大大减少基站CPU的处理时间,把数据的传输对基站业务的影响降到最少的程度。
文档编号H04W88/18GK1529457SQ0313499
公开日2004年9月15日 申请日期2003年9月29日 优先权日2003年9月29日
发明者吴建国, 王乐 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1