网关数据上传数据库连接数控制方法、装置、设备及介质制造方法及图纸

技术编号:20687165 阅读:22 留言:0更新日期:2019-03-27 20:41
本发明专利技术公开了一种网关数据上传数据库连接数控制方法,包括以下步骤:获取网关上传的文件,以及文件的时间戳;对文件进行解压缩,将目标文件根据时间戳保存至对应的文件夹中;生成一个缓存线程池,缓存线程池用于管理扫描线程和数据处理线程,使用阻塞队列,存放扫描线程扫描的目标文件,所述数据处理线程从阻塞队列读取目标文件内容,执行上传数据库操作。本发明专利技术还公开了网关数据上传数据库连接数控制装置、电子设备及存储介质。本发明专利技术通过把要上传的文件暂时保存成目标文件,不直接入库的方式减少对数据库的压力,另外通过专门的文件扫描服务和数据入库服务,限制入库服务启动的最优线程数来进一步控制数据库连接,提高用户体验。

【技术实现步骤摘要】
网关数据上传数据库连接数控制方法、装置、设备及介质
本专利技术涉及数据入库
,尤其涉及一种物联网关数据上传数据库连接数控制方法、装置、电子设备及介质。
技术介绍
现在系统的物联网数据采集模块数据上传的方式是设备采集的实时数据统一在网关汇总,然后网关通过4G无线网络或光纤上传到云平台,平台接收到数据后,开启一个线程对数据进行解析校验,验证通过后把数据插入数据库中,然而在网关越来越多的时候数据入库容易造成数据库连接占满,表被锁等情况。试想一下如果数据库连接数上限为100,现在有100个以上网关在同时上传数据,那么数据库很快就占满了连接。从用户使用角度来看,由于数据库连接数占满了,其它数据库请求无法执行,就会出现网页上的请求无法响应,界面出现假死现象,给客户带来非常不好的影响。
技术实现思路
为了克服现有技术数据库连接出现拥堵及占满,连接数无法释放造成的一系列问题,本专利技术的目的之一在于提供一种网关数据上传数据库连接数控制方法,其通过把要上传的文件暂时保存成目标文件,不直接入库(上传数据库)的方式减少对数据库的压力,另外通过专门的文件扫描服务和数据入库服务,并限制入库服务启动的最优线程数来进一步控制数据库连接,其中还使用了一个线程安全的阻塞队列LinkedBlockingQueue保证数据有序的入库,提高用户体验。本专利技术的目的之二在于提供一种网关数据上传数据库连接数控制装置,其通过把要上传的文件暂时保存成目标文件,不直接入库(上传数据库)的方式减少对数据库的压力,另外通过专门的文件扫描服务和数据入库服务,并限制入库服务启动的最优线程数来进一步控制数据库连接,其中还使用了一个线程安全的阻塞队列LinkedBlockingQueue保证数据有序的入库,提高用户体验。本专利技术的目的之三在于提供一种实现上述网关数据上传数据库连接数控制方法的电子设备。本专利技术的目的之四在于提供一种存储上述网关数据上传数据库连接数控制方法的计算机可读存储介质。本专利技术的目的之一采用如下技术方案实现:一种网关数据上传数据库连接数控制方法,包括以下步骤:获取网关上传的文件,以及文件的时间戳;对所述文件进行解压缩,将目标文件根据所述时间戳保存至对应的文件夹中,所述目标文件为解压缩后的文件;生成一个缓存线程池,所述缓存线程池用于管理扫描线程和数据处理线程,使用阻塞队列,存放扫描线程扫描的目标文件,所述数据处理线程从所述阻塞队列读取目标文件内容,执行上传数据库操作。进一步地,网关上传文件的文件名称包括网关的S/N码以及时间戳信息,网关上传文件的后缀名为.tar.gz,所述时间戳信息包括分钟信息。进一步地,获取网关上传的文件,以及文件的时间戳,之后,还包括:判断所述时间戳是否大于系统时间,或者是否比系统时间小预设天数,如果时间戳大于系统时间,或者比系统时间小预设天数,则丢弃所述网关上传的文件,所述预设天数为35天。进一步地,对所述文件进行解压缩,将所述目标文件根据所述时间戳保存至对应的文件夹中,包括:将所述目标文件以分钟信息进行分类保存,每个文件夹保存的目标文件的分钟数相同,即共有60个文件夹保存各个目标文件;所述目标文件的文件名仍以网关的S/N码以及时间戳信息进行命名,目标文件的后缀名为.json。进一步地,线程数为N+1个,其中一个线程为扫描线程,其余线程均为数据处理线程,N为CPU的核数。进一步地,使用阻塞队列,存放扫描线程扫描的目标文件,所述数据处理线程从所述阻塞队列读取目标文件内容,执行上传数据库操作,包括:扫描线程扫描文件夹中后缀名为.json的目标文件,对上述目标文件数据进行解析,把目标文件对象和数据组装在阻塞队列的对象放入队列中,所述扫描线程并将组装后的目标文件的后缀名改为.json.bak;数据处理线程从所述阻塞队列获取目标文件后,解析目标文件的数据、网关S/N码,执行上传数据库处理,如果上传数据库成功,则将所述目标文件标记为入库成功,对于与标记入库成功的目标文件相同的文件名称的文件,则不再执行上传数据库操作;如果上传数据库失败,则将目标文件的后缀名由.json.bak改为.json。进一步地,在上传数据库执行过程中:如果阻塞队列为空,则数据处理线程挂起变成等待状态;如果阻塞队列已满,则扫描线程挂起变成等待状态。本专利技术的目的之二采用如下技术方案实现:获取模块,用于获取网关上传的文件,以及文件的时间戳;保存模块,用于对所述文件进行解压缩,将所述目标文件根据所述时间戳保存至对应的文件夹中,所述目标文件为解压缩后的文件;上传模块,用于生成一个缓存线程池,所述缓存线程池用于管理扫描线程和数据处理线程,使用阻塞队列,存放扫描线程扫描的目标文件,所述数据处理线程从所述阻塞队列读取目标文件内容,执行上传数据库操作。本专利技术的目的之三采用如下技术方案实现:一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术目的之一的网关数据上传数据库连接数控制方法。本专利技术的目的之四采用如下技术方案实现:一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本专利技术目的之一的网关数据上传数据库连接数控制方法。相比现有技术,本专利技术的有益效果在于:本专利技术通过把要上传的文件暂时保存成目标文件,不直接入库的方式减少对数据库的压力,另外通过专门的文件扫描服务和数据入库服务,并限制入库服务启动的最优线程数来进一步控制数据库连接,其中还使用了一个线程安全的阻塞队列LinkedBlockingQueue保证数据有序的入库,用户体验好。附图说明图1为本专利技术实施例一的网关数据上传数据库连接数控制方法的流程图;图2为本专利技术实施例二的网关数据上传数据库连接数控制装置的结构示意图;图3为本专利技术实施例三的电子设备的结构示意图。具体实施方式下面,结合附图以及具体实施方式,对本专利技术做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。实施例一本专利技术实施例一公开了一种网关数据上传数据库连接数控制方法,该方法可以由入库平台(硬件或/和软件)来执行,请参照图1所示,其包括以下步骤:110、服务器获取网关上传的文件,以及文件的时间戳。把Xgate网关上传文件到入库平台后,入库平台的接口服务器获取上传文件压缩流,判断时间戳是否大于系统时间,或者是否比系统时间小预设天数(根据需要设置,例如10天、30天、35天等),如果时间戳大于系统时间,或者比系统时间小预设天数,则丢弃所述网关上传的文件。网关上传文件的文件名称包括网关的S/N码以及时间戳信息,网关上传文件的后缀名为.tar.gz,时间戳信息包括分钟信息,例如某个网关上传的文件名称为“SN+20170719081000.tar.gz”,其中,SN为Xgate网关的唯一识别码(S/N码,全网唯一),20170719081000为时间戳,这样确保所有网关上传的文件不会重名。在本专利技术较佳的实施例中,时间戳包括年(2017年)、月(07月)、日(19日)、时(08时)、分(10分)和秒(00秒)。其中,10则为该时间戳对应的分钟信息。120、服务器对所述文件进行解压缩,将目标文件根据所述本文档来自技高网...

【技术保护点】
1.一种网关数据上传数据库连接数控制方法,其特征在于包括以下步骤:获取网关上传的文件,以及文件的时间戳;对所述文件进行解压缩,将目标文件根据所述时间戳保存至对应的文件夹中,所述目标文件为解压缩后的文件;生成一个缓存线程池,所述缓存线程池用于管理扫描线程和数据处理线程,使用阻塞队列,存放扫描线程扫描的目标文件,所述数据处理线程从所述阻塞队列读取目标文件内容,执行上传数据库操作。

【技术特征摘要】
1.一种网关数据上传数据库连接数控制方法,其特征在于包括以下步骤:获取网关上传的文件,以及文件的时间戳;对所述文件进行解压缩,将目标文件根据所述时间戳保存至对应的文件夹中,所述目标文件为解压缩后的文件;生成一个缓存线程池,所述缓存线程池用于管理扫描线程和数据处理线程,使用阻塞队列,存放扫描线程扫描的目标文件,所述数据处理线程从所述阻塞队列读取目标文件内容,执行上传数据库操作。2.如权利要求1所述的网关数据上传数据库连接数控制方法,其特征在于,网关上传文件的文件名称包括网关的S/N码以及时间戳信息,网关上传文件的后缀名为.tar.gz,所述时间戳信息包括分钟信息。3.如权利要求1所述的网关数据上传数据库连接数控制方法,其特征在于,获取网关上传的文件,以及文件的时间戳,之后,还包括:判断所述时间戳是否大于系统时间,或者是否比系统时间小预设天数,如果时间戳大于系统时间,或者比系统时间小预设天数,则丢弃所述网关上传的文件,所述预设天数为35天。4.如权利要求2所述的网关数据上传数据库连接数控制方法,其特征在于,对所述文件进行解压缩,将所述目标文件根据所述时间戳保存至对应的文件夹中,包括:将所述目标文件以分钟信息进行分类保存,每个文件夹保存的目标文件的分钟数相同,即共有60个文件夹保存各个目标文件;所述目标文件的文件名仍以网关的S/N码以及时间戳信息进行命名,目标文件的后缀名为.json。5.如权利要求4所述的网关数据上传数据库连接数控制方法,其特征在于,线程数为N+1个,其中一个线程为扫描线程,其余线程均为数据处理线程,N为CPU的核数。6.如权利要求4所述的网关数据上传数据库连接数控制方法,其特征在于,使用阻塞队列,存放扫描线程扫描的目标文件,所述数据处理线程从所述阻塞队列读取目标文件...

【专利技术属性】
技术研发人员:温桂龙王炜连朔
申请(专利权)人:珠海派诺科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1