一种基于连接池技术的北斗数据发送系统及其方法

文档序号:8005280阅读:507来源:国知局
一种基于连接池技术的北斗数据发送系统及其方法
【专利摘要】本发明提出一种基于连接池技术的北斗数据发送系统,用于发送来自应用服务终端的信息数据,包括北斗指挥机群集、北斗指挥机管理单元和北斗指挥机资源调度单元;所述北斗指挥机群集包括多部北斗指挥机;所述北斗指挥机管理单元将北斗指挥机群集中状态正常的指挥机的连接作为对象放入资源连接池;所述北斗指挥机资源调度单元接收应用服务终端的信息数据发送申请,排列生成申请队列,并将资源连接池中的连接分配给信息数据发送申请。本发明可以很好的解决现有北斗指挥机普遍存在的发送频率限制以及发送故障等问题,提高北斗指挥机的利用率,增强北斗数据发送系统的可靠性和稳定性,降低北斗系统在民用市场领域的应用门槛,实现北斗民用化的目标。
【专利说明】一种基于连接池技术的北斗数据发送系统及其方法
【技术领域】
[0001]本发明涉及通信领域,特别涉及一种基于连接池技术的北斗数据发送系统及其方法。
【背景技术】
[0002]进入21世纪以来,全球卫星导航定位系统迅速发展,由于信息化进展的需要,社会对个人位置服务共享业务需求迫切,通过GPS定位和通信手段,进行位置报告的组合式服务已不能全面满足社会需要,急需寻求一种新的模式,将测量、定位与位置报告融为一体,将不同层次用户需求和复杂的数学处理简化成十分简单的操作,摆脱日趋面临的用户操作复杂、用户终端设备复杂度高、基础设施愈来愈庞大的局面,使卫星导航以低成本、高效率进入国家的经济活动和人们的生活出行之中。
[0003]北斗卫星导航系统是我国正在实施的自主发展、独立运行,并与美国的GPS、俄罗斯的GL0NASS (格洛纳斯)、欧洲的GALILEO (伽利略)卫星导航系统兼容共用的全球卫星导航系统。北斗卫星导航系统具有快速定位、双向通信和精密授时三大基本功能,提供开放服务和授权服务两种模式,尤其是双向短报文通信功能,是北斗卫星导航系统的绝对优势。
[0004]北斗导航系统与其他卫星导航系统的显著区别是其能实现消息的收发功能,通过这种卫星消息通讯,可以将最大36个汉字的文字信息传输给其他的北斗设备,不仅可以点对点发送,还可以实现群发,即通过广播方式将消息发送给其他北斗终端。
[0005]在民用市场中的实际应用中,短报文往往通过北斗指挥机实现收发,北斗指挥型用户机是北斗卫星导航系统特有的机型,它不但能够定位和通信,还可实时监视下属基本用户的定位和通信信息,以及实现对下属用户的指挥和控制,便于集团用户指挥调度组网使用。此次,指挥机具有强大的短报文的通播、群发等功能,可实现北斗终端之前的消息通信。该指挥机适合在固定指挥所、移动指挥所、车辆、边海防舰船、渔业船位监控、方舱和救助系统的应用。
现有北斗指挥机在进行短报文消息发送时,受服务级别的限制,连续两条短报文发送间隔需要满足设定的时间值,一般民用领域是50-60秒的间隔限制。由于北斗指挥机独立工作,各个指挥机的负载不均衡,造成部分短报文发送延时,发送实时性不高,很难满足实际的时间要求,同时,北斗指挥机缺少容错机制,存在单点故障,在服务质量上无法满足实际要求。
[0006]连接池技术的核心思想是:连接复用,通过建立一个资源连接池以及一套连接使用、分配、管理策略,使得该连接池中的连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。方便了应用对于连接的使用,优化了访问效率也正是因为这个封装层的存在,隔离了应用的本身的处理逻辑和具体资源访问逻辑,使应用本身的复用成为可能。连接池主要由三部分组成:连接池的建立、连接池中连接的使用管理、连接池的关闭。连接池管理策略是连接池机制的核心。当连接池建立后,如何对连接池中的连接进行管理,解决好连接池内连接的分配和释放,对系统的性能有很大的影响。连接的合理分配、释放可提高连接的复用,降低了系统建立新连接的开销,同时也加速了用户的访问速度。连接池的分配、释放策略对于有效复用连接非常重要,该模式在复用资源方面应用的非常广泛,把该方法运用到对于连接的分配释放上,为每一个数据库连接,保留一个引用记数,用来记录该连接的使用者的个数。

【发明内容】

[0007]本发明旨在至少解决现有技术中北斗指挥机上述技术缺陷之一,结合连接池技术,提出了基于连接池技术的集群技术方法,实现多台指挥机的共享发送,缩短发送短报文的时间间隔,提高实时性,满足民用市场的要求。
[0008]为此,本发明的第一个目的在于提出一种基于连接池技术的北斗数据发送系统,用于发送来自应用服务终端的信息数据,其特征在于,所述系统包括北斗指挥机群集、北斗指挥机管理单元和北斗指挥机资源调度单元;其中,
所述北斗指挥机群集包括多部北斗指挥机;
所述北斗指挥机管理单元将北斗指挥机群集中状态正常的指挥机的连接作为对象放入资源连接池;
所述北斗指挥机资源调度单元接收应用服务终端的信息数据发送申请,排列生成申请队列,并将资源连接池中的连接分配给信息数据发送申请。
[0009]优选地,所述北斗指挥机管理单元实时监听北斗指挥机群集内北斗指挥机的工作状态,进行资源连接池更新。
[0010]优选地,所述资源连接池更新具体为:
若出现新增北斗指挥机,北斗指挥机管理单元向资源连接池中添加所述新增北斗指挥机的连接;
若北斗指挥机异常时,北斗指挥机管理单元将资源连接池中的对应于异常的北斗指挥机的连接标记为无效状态。
[0011]优选地,当连接标记为无效状态时,北斗指挥机管理单元对无效连接对应的北斗指挥机启动恢复操作,当恢复操作达到预定的次数所述无效连接对应的北斗指挥机仍未恢复时,北斗指挥机管理单元将所述无效状态的连接从资源连接池中删除。
[0012]优选地,所述申请队列是将信息数据发送申请按时间顺序排列生成。
[0013]优选地,在所述申请队列,高级别的信息数据发送申请可优先排列至申请队列首位。
[0014]本发明另一目的在于提出一种基于连接池技术的北斗数据发送方法,其特征在于,所述北斗数据发送方法包括以下步骤:
步骤一、北斗指挥机管理单元建立资源连接池;
步骤二、北斗指挥机管理单元将状态正常的北斗指挥机对应的连接放入资源连接池
中;
步骤三、北斗指挥机资源调度单元接收来自多个应用服务终端的信息数据发送申请,按顺序生成申请队列;
步骤四、北斗指挥机资源调度单元从资源连接池中获得空闲连接分配给申请队列队头的信息数据发送申请;步骤五、通过分配的所述空闲连接发送信息数据发送申请对应的信息数据。
[0015]优选地,步骤五后包括以下步骤:北斗指挥机管理单元监听北斗卫星针对当前信息数据发送的反馈消息:
当反馈消息为发送成功消息时,在当前北斗指挥机的发送等待间隔倒计时计数归零后,释放当前北斗指挥机对应的连接,并将该连接重新放入资源连接池;
当反馈消息为发送不成功消息时,在当前北斗指挥机的发送等待间隔倒计时归零后返回步骤五,重复发送当前信息数据;当重复执行到第三次时,反馈消息仍为发送不成功时,则当前信息数据的发送申请将重新加入申请队列中,置于申请队列的队尾,并返回步骤四,由北斗指挥机资源调度单元重新分配其他北斗指挥机所对应的的连接资源给当前服务申请。
[0016]本发明可以很好的解决现有北斗指挥机普遍存在的发送频率限制问题,缩短发送间隔,例如现有民用市场,指挥机系统只能每50-60秒发送一条短报文,而通过本发明可以缩短50%乃止90%的等待时间,在提高客户使用满意度的同时,有效降低北斗系统在民用市场领域的应用门榲,实现北斗民用化的目标。
【专利附图】

【附图说明】
[0017]图1为本发明实施例中基于连接池技术的北斗数据发送系统的示意图。
[0018]图2为本发明实施例中资源连接池中连接的自动分配示意图。
[0019]图3为本发明实施例中基于连接池技术的北斗数据发送方法的流程图。
【具体实施方式】
.[0020]下面参考说明书附图描述根据本发明实施例的基于连接池技术的北斗数据发送系统和方法。
[0021]图1为本发明一个实施例的基于连接池技术的北斗数据发送系统的示意图。
[0022]如图1所示,本发明中基于连接池技术的北斗数据发送系统主要包括北斗指挥机群集、北斗指挥机管理单元和北斗指挥机资源调度单元
北斗指挥机群集由N台北斗指挥机(如指挥机1、指挥机2、…、指挥机N)组成,用于将各个应用服务终端的信息数据(包括北斗短报文和北斗定位申请信息)通过北斗卫星转发给接收端。
[0023]北斗指挥机管理单元与北斗指挥机群集相连,是各个北斗指挥机的连接资源的管理单元,对多台北斗指挥机采用集群技术管理,对外提供统一的服务调用接口。北斗指挥机管理单元建立资源连接池,将可用或状态正常的指挥机的连接资源(在后简称连接)作为对象放入资源连接池,通常一台北斗指挥机仅具有一个连接,或不提供连接,例如备用指挥机。当需要北斗指挥机进行信息数据的发送时,只需要从资源连接池中取得某一连接,并通过该连接所对应的指挥机发送该信息数据。当该连接使用完毕后,重新释放并返回资源连接池,以供其他信息数据的发送使用。
[0024]在系统运行期间,北斗指挥机管理单元通过监听方式实时监测北斗指挥机群集中北斗指挥机的工作状态,并进行资源连接池更新。如果发现新增指挥机,将向资源连接池中添加该新增指挥机的连接;如果发生某一指挥机异常,如宕机或者发送消息阻塞时,由北斗指挥机管理单元将资源连接池中对应于该指挥机的的连接标记为无效状态,并通知北斗指挥机资源调度单元将当前的发送消息切换至可用的或状态正常的指挥机的连接,从而避免单点故障,保证服务的可靠性和可用性。当其连接标记为无效状态时,北斗指挥机管理单元还会同时对该指挥机启动恢复操作,当该操作达到预定的次数仍未恢复时,北斗指挥机管理单元将对应于该指挥机的资源连接池中的连接(即无效连接)删除。
[0025]北斗指挥机资源调度单元与所述北斗指挥机管理单元相连,接收应用服务终端的信息数据发送申请,排列生成申请队列,并向所述信息数据发送申请自动分配资源连接池中的连接,该申请队列的初始长度为O。其中的应用服务终端,如服务终端A、服务终端B、...、服务终端X,是北斗信息数据的发送终端,当需要发送北斗信息数据时,向北斗指挥机资源调度单元发送针对该北斗信息数据的发送申请,以获得资源连接池中可用的连接。
[0026]其中,北斗指挥机资源调度单元对资源连接池中连接的自动分配算法,是采用发送申请队列先进先出的方式的来实现连接池连接的自动分配,如图2所示。
[0027]在初始时刻,资源连接池中的可使用连接数为M,为每个连接设置唯一标识i=l、
2、3…M,并记录连接空闲数为M,其中,空闲数M <北斗指挥机群集中的指挥机数量N。
[0028]一旦应用服务终端发出信息数据发送申请后,从资源连接池取一个空闲的连接给信息数据发送申请,同时将该连接移出资源连接池,并将空闲数减一;当该连接使用完毕后,释放该连接,并重新将该连接放入资源连接池,空闲数加一。
[0029]如果空闲数为0,即资源连接池中所有连接均已被分配完毕,若应用服务终端发出信息数据发送申请后,则需将信息数据发送申请按照时间顺序依次放入申请队列中;如果空闲数不为0,即资源连接池中具有可用连接时,即按先进先出原则将空闲连接分配给申请队列中等待时间最长的申请,即队列首位的申请。
[0030]如图2所示, 资源连接池空闲数为O后,申请等待队列中的等待的信息数据发送申请按照时间顺序依次为发送申请a、发送申请b、…、发送申请χ,首先,资源连接池中的连接I被释放并重新放入连接池中,则将连接I分配给申请队列首位的发送申请a,将发送申请a从申请队列中移除,接着,资源连接池中的连接2被释放并重新放入连接池中,则将连接2分配给变换后的申请队列首位的发送申请b,…以此类推。
[0031]整个分配处理过程保持线程同步,避免连接资源争用。同时基于上述连接的整合调度,避免了指挥机独立工作时负载不均匀的缺点,提高了发送效率和指挥机的利用率。
[0032]进一步地,当资源连接池内无空闲连接,且申请队列长度大于等于长度阈值T时,北斗指挥机资源调度单元启动系统告警,例如:告知所有应用服务终端在预定时间段内北斗指挥机发送系统已满负荷。
[0033]本发明的基于连接池技术的北斗数据发送方法包括以下步骤:
步骤一、初始化步骤,系统启动,由北斗指挥机管理单元建立资源连接池。
[0034]步骤二、北斗指挥机管理单元开始检测北斗指挥机群集中北斗指挥机状态,将状态正常可以用于发送的指挥机对应的连接依次放入资源连接池中。
[0035]在后续过程中,北斗指挥机资源调度单元将每隔3-5秒进行指挥机状态检测,如果发现指挥机群集新增指挥机,将向资源连接池中添加该新增指挥机的连接;如果发现现有指挥机群集中的指挥机状态异常,将资源连接池中对应于该指挥机的连接标记为无效状态,同时对该指挥机启动恢复操作,当该恢复操作达到预定的次数指挥机仍未恢复正常状态时,北斗指挥机管理单元将对应于该指挥机的连接从资源连接池中删除。
[0036]步骤三、北斗指挥机资源调度单元接收来自多个应用服务终端的信息数据发送申请,按顺序生成申请队列。
[0037]北斗指挥机资源调度单元对于普通级别的发送申请将按照先进先出方式放入申请队列,等待获取资源连接池中空闲的发送连接,一旦有高级别的发送申请,将插入申请队列的队头,进行优先发送。发送申请级别的高低根据信息数据发送申请的内容而定,例如内容为报警的发送申请。
[0038]步骤四、北斗指挥机资源调度单元从申请队列的队头获得发送申请,同时从资源连接池中获得空闲连接,将其分配给该发送申请,同时该发送申请将正式移出发送申请队列。
[0039]特殊情况下,如果连接池内所有连接均已经被占用,无法满足发送请求,以至申请队列长度达到或超过可接受的长度阈值T时,北斗指挥机资源调度单元启动系统告警机制,即告知应用服务终端在预定时间段内北斗指挥机发送系统已满负荷,不可用。
[0040]步骤五、获得了空闲连接的信息数据发送申请将进行信息数据的发送,S卩,通过获得的空闲连接所对应的北斗指挥机将信息数据发送给北斗卫星,再通过北斗卫星将信息数据传送给接收终端。
[0041]考虑到卫星通信的稳定性因素,即使系统通过北斗指挥机将信息数据发往北斗卫星,但由于云层等其他因素的印象,该信息数据仍存在发送失败的可能。因此本发明启用了反馈机制同时实行了应对不同反馈的措施。
[0042]信息数据发送后,由于北斗指挥机的发射频度的限制,会存在50-60秒的发送等待间隔,在对该发送等待间隔倒计时的同时,若北斗卫星发送成功,将向该北斗指挥机反馈发送成功消息,若发送不成功,则向北斗指挥机反馈发送不成功消息。
[0043]北斗指挥机管理单元监听北斗指挥机接收的反馈消息:
当反馈消息为发送成功消息时,北斗指挥机管理单元在北斗指挥机的发送等待间隔倒计时计数归零后,释放当前北斗指挥机对应的连接,并将该连接重新放入资源连接池,等待分配给下一个申请。
[0044]当反馈消息为发送不成功消息时,在该北斗指挥机发送等待间隔倒计时归零后返回步骤五,重复通过该北斗指挥机发送当前信息数据;当重复执行到第三次时,北斗指挥机管理单元监听的上述反馈消息仍为发送不成功时,则当前信息数据的发送申请将重新加入申请队列中,置于申请队列的队尾,并返回步骤四,由北斗指挥机资源调度单元重新分配其他北斗指挥机所对应的连接资源给当前服务申请,并暂时取消利用该北斗指挥机对应的连接发送信息数据。
[0045]通过实际测试,在本发明的北斗数据发送系统中,当北斗指挥机群集中的北斗指挥机数量为3,发送间隔均为50秒时,每发送一条信息大致需1-2秒,在具体的实践中,采用本发明基于连接池技术的北斗数据发送方式一个小时内的信息数据发送数量可达50-60条,而采用传统的三台北斗指挥机独立工作方式最大只能发送30条,因此有效提高北斗指挥机的利用率;同时利用本发明基于连接池技术的北斗数据发送方式后,当北斗指挥机出现故障,能够灵活实现资源的调度,有效保证信息数据发送成功,提高系统可用性和稳定性。[0046]尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
【权利要求】
1.一种基于连接池技术的北斗数据发送系统,用于发送来自应用服务终端的信息数据,其特征在于,所述系统包括北斗指挥机群集、北斗指挥机管理单元和北斗指挥机资源调度单元;其中, 所述北斗指挥机群集包括多部北斗指挥机; 所述北斗指挥机管理单元将北斗指挥机群集中状态正常的指挥机的连接作为对象放入资源连接池; 所述北斗指挥机资源调度单元接收应用服务终端的信息数据发送申请,排列生成申请队列,并将资源连接池中的连接分配给信息数据发送申请。
2.如权利要求1所述的基于连接池技术的北斗数据发送系统,其特征在于,所述北斗指挥机管理单元实时监听北斗指挥机群集内北斗指挥机的工作状态,进行资源连接池更新。
3.如权利要求2所述的基于连接池技术的北斗数据发送系统,其特征在于,所述资源连接池更新具体为: 若出现新增北斗指挥机,北斗指挥机管理单元向资源连接池中添加所述新增北斗指挥机的连接; 若北斗指挥机异常时,北斗指挥机管理单元将资源连接池中的对应于异常的北斗指挥机的连接标记为无效状态。
4.如权利要求3所述的基于连接池技术的北斗数据发送系统,其特征在于,当连接标记为无效状态时,北斗指挥机管理单元对无效连接对应的北斗指挥机启动恢复操作,当恢复操作达到预定的次数所述无效连接对应的北斗指挥机仍未恢复时,北斗指挥机管理单元将所述无效状态的连接从资源连接池中删除。
5.如权利要求1所述的基于连接池技术的北斗数据发送系统,其特征在于,所述申请队列是将信息数据发送申请按时间顺序排列生成。
6.如权利要求1所述的基于连接池技术的北斗数据发送方法,其特征在于,在所述申请队列,高级别的信息数据发送申请可优先排列至申请队列首位。
7.一种基于连接池技术的北斗数据发送方法,其特征在于,所述北斗数据发送方法包括以下步骤: 步骤一、北斗指挥机管理单元建立资源连接池; 步骤二、北斗指挥机管理单元将状态正常的北斗指挥机对应的连接放入资源连接池中; 步骤三、北斗指挥机资源调度单元接收来自多个应用服务终端的信息数据发送申请,按顺序生成申请队列; 步骤四、北斗指挥机资源调度单元从资源连接池中获得空闲连接分配给申请队列队头的信息数据发送申请; 步骤五、信息数据发送申请所对应的信息数据通过分配的所述空闲连接发送。
8.如权利要求8所述的基于连接池技术的北斗数据发送方法,其特征在于,步骤五后包括以下步骤:北斗指挥机管理单元监听北斗卫星针对当前信息数据发送的反馈消息: 当反馈消息为发送成功消息时,在当前北斗指挥机的发送等待间隔倒计时计数归零后,释放当前北斗指挥机对应的连接,并将该连接重新放入资源连接池;当反馈消息为发送不成功消息时,在当前北斗指挥机的发送等待间隔倒计时归零后返回步骤五,重复发送当前信息数据;当重复执行到第三次时,反馈消息仍为发送不成功时,则当前信息数 据的发送申请将重新加入申请队列的队尾,并返回步骤四。
【文档编号】H04W72/12GK103442395SQ201310375683
【公开日】2013年12月11日 申请日期:2013年8月26日 优先权日:2013年8月26日
【发明者】刘建国, 黄翊, 翁志伟 申请人:北京车网互联科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1