一种快速采集设备数据并高效率持久化方法及系统技术方案

技术编号:34430584 阅读:13 留言:0更新日期:2022-08-06 16:07
本发明专利技术提供一种快速采集设备数据并高效率持久化方法及系统,方法包括:对socket传输设备,通过预置插件集成硬件设备SDK,据以连接硬件设备并根据预设规则向硬件设备传输网络数据,对文本传输设备,利用读模式及轮询操作获取文件更新信息;维护多个线程,利用线程中的设备状态检测线程检测传输设备的设备状态,据以控制线程中的采集线程的开关状态;在出现新硬件采集任务时,向设备状态检测现场注册,利用设备状态检测线程托管采集线程;将socket传输设备及文本传输设备的设备数据传递至预置业务系统;根据持久化规则将设备数据固化于预置数据库及文件服务器中。本发明专利技术解决了缺乏硬件添加功能、适用性低以及不支持持久化规则的技术问题。的技术问题。的技术问题。

【技术实现步骤摘要】
一种快速采集设备数据并高效率持久化方法及系统


[0001]本专利技术涉及计算机信息系统的数据采集及处理领域,更具体涉及一种快速采集设备数据并高效率持久化方法及系统。

技术介绍

[0002]在大多数的软硬结合类信息系统中均会或多或少的出现需要硬件设备数据的业务需求,信息系统获取设备数据的方式包括主动获取和被动上报,而设备数据类型却多种多样,并且不同的数据是否有用、使用方式不同。
[0003]当前市面上数据采集类软件很多,支持通过API接口、数据流、文档、网络爬取等方式获取数据,但绝大多数不支持采集硬件设备数据或仅支持市面上广泛存在的硬件产品。申请号为202010592657.7的现有专利技术专利《一种文件读取方法、装置、电子设备和存储介质》其中方法包括:获取目标文件的读取请求;通过预先创建的多线程请求队列,并行下发读取请求到各存储节点;在接收到目标存储节点返回的成功读取目标文件的消息时,将目标文件反馈给目标文件请求方,并将其它存储节点返回的读取结果消息设置为无效。本专利技术实施例中,通过预先建立的多线程请求队列,将获取的读取请求并行下发到各存储节点后,若某一目标存储节点返回所请求的目标文件,则立即将目标文件立即返回请求方,其余存储节点返回的读取结果自动失效处理。该现有专利的技术方案中未披露本申请中的持久化规则以及采用插件形式添加硬件设备的技术方案,该现有技术与本申请存在显著区别。现有技术中的此类软件中存在部分支持持久化的技术,但多数不支持定制持久化规则。另外,此类软件过度使用系统资源,适用于独立使用,但并不适用于集成传统的大型软件系统。
[0004]本专利立足于插件化思想,能够定制采集规则、数据传输规则、持久化规则,方便适配硬件设备,及时响应业务需求,降低持久化能耗,适用于大型软件系统。
[0005]综上,现有技术缺乏硬件添加功能、适用性低以及不支持持久化规则的技术问题。

技术实现思路

[0006]本专利技术所要解决的技术问题在于如何解决现有技术缺乏硬件添加功能、适用性低以及不支持持久化规则的技术问题。
[0007]本专利技术是采用以下技术方案解决上述技术问题的:一种快速采集设备数据并高效率持久化方法包括:
[0008]S1、对socket传输设备,通过预置插件集成硬件设备SDK,据以连接所述硬件设备并根据预设规则向所述硬件设备传输网络数据,对文本传输设备,利用读模式及轮询操作获取文件更新信息;
[0009]S2、维护不少于2个的线程,利用所述线程中的设备状态检测线程检测所述socket传输设备及所述文本传输设备的设备状态,据以控制所述线程中的采集线程的开关状态;
[0010]S3、在出现新硬件采集任务时,向所述设备状态检测现场注册,利用所述设备状态
检测线程托管所述采集线程,其中,所述采集线程的采集规则包括:采样率、采集内容及传输方式;
[0011]S4、将所述socket传输设备及所述文本传输设备的设备数据传递至预置业务系统;
[0012]S5、根据持久化规则将所述设备数据固化于预置数据库及文件服务器中,其中,所述持久化规则包括:丢弃规则、持久化周期、批量数量、持久化方式,在持久化环节中,守护线程加载并根据所述持久化规则触发持久化操作。
[0013]本专利技术立足于插件化思想,针对不同类型的设备,制定不同的采集规则,实时采集设备数据、及时响应第三方查询、订阅推送、批量持久化,达到快速响应以及减少对数据库的操作的目的,适用于大型软件系统。本专利技术以多线程的方式,利用socket网络通信和轮询文件的方法实时采集不同类型的设备数据。本专利技术提供了硬件添加功能,提高了系统适用性。
[0014]在更具体的技术方案中,所述步骤S1包括:
[0015]S11、对所述socket传输设备,通过插件集成硬件设备厂商提供的所述硬件设备SDK;
[0016]S12、根据所述硬件设备SDK进行创建、初始化、连接操作,以建立与所述硬件设备的网络连接;
[0017]S13、通过所述网络连接接收网络数据,并根据既定规则传输所述网络数据。
[0018]本专利技术实现一种快速采集设备数据、不同数据投递方式、低影响持久化的采集系统,使用者以插件的方式集成设备,定制差异化的采集规则,定制差异化的数据投递规则,并有效降低对数据库的性能影响,以达到适用于大型软件系统的目的。本专利技术以插件的形式组织设备,方便扩展不同类型的设备,支持以不同的传输手段传输设备数据,以达到兼容多个业务系统的目的。
[0019]在更具体的技术方案中,所述步骤S1中对于将数据存储在一个文件中的所述文本传输设备,通过读模式打开文件,并设置offset标签,监听增量信息。
[0020]在更具体的技术方案中,所述步骤S1中针对将数据存储在不同文件中的所述文本传输设备,通过轮询文件位置,以得到新文件。
[0021]本专利技术以插件的形式兼容多种存储方式,以达到兼容多个业务系统的目的。
[0022]在更具体的技术方案中,所述步骤S2包括:
[0023]S21、维护不少于2个的线程;
[0024]S22、利用所述线程中的设备状态检测线程检测所述socket传输设备及所述文本传输设备的设备状态;
[0025]S23、根据所述设备状态控制所述线程中的采集线程的开关状态。
[0026]在更具体的技术方案中,所述步骤S3包括:
[0027]S31、设置采样率,据以调节上报数据量;
[0028]S32、设置采集内容,以获取业务系统需求数据,据以降低网络带宽。
[0029]本专利技术通过配置采样率、采集内容,以达到支持上报数据量的控制,有效降低网络带宽。
[0030]在更具体的技术方案中,所述步骤S3中的传输方式包括立即存入数据库、暂存
redis内存数据库、放入Kafka消息队列。
[0031]本专利技术将设备数据存储于内存数据库redis中,用于暂时存储以及响应第三方查询。将设备数据通过消息队列kafka进行实时推送,提升了数据处理效率。本专利技术为了避免频繁操作数据库影响业务系统操纵数据库的效率,可选择暂存redis,这样能够有效避免采集模块对业务系统效率的影响。
[0032]在更具体的技术方案中,所述步骤S4包括:
[0033]S41、提供网络连接接口;
[0034]S42、管理Kafka功能数据。
[0035]在更具体的技术方案中,所述步骤S5中的所述持久化规则包括:持久化周期、批量数量、持久化方式。
[0036]本专利技术为避免频繁操作数据库,过度消耗数据库性能,影响业务软件使用,故而批量持久化数据到数据库中。本专利技术通过配置传输方式以及持久化规则,满足不同业务系统需求,降低对存储目的地的性能影响。本专利技术支持通过暂存以及批量存储的方式管理设备数据,以达到降低对数据库以及文件服务器的影响。
[0037]在更具体的技术方案中,一种快速采集设备数据并高效率持久化系统包括:
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种快速采集设备数据并高效率持久化方法,其特征在于,所述方法包括:S1、对socket传输设备,通过预置插件集成硬件设备SDK,据以连接所述硬件设备并根据预设规则向所述硬件设备传输网络数据,对文本传输设备,利用读模式及轮询操作获取文件更新信息;S2、维护不少于2个的线程,利用所述线程中的设备状态检测线程检测所述socket传输设备及所述文本传输设备的设备状态,据以控制所述线程中的采集线程的开关状态;S3、在出现新硬件采集任务时,向所述设备状态检测现场注册,利用所述设备状态检测线程托管所述采集线程,其中,所述采集线程的采集规则包括:采样率、采集内容及传输方式;S4、将所述socket传输设备及所述文本传输设备的设备数据传递至预置业务系统;S5、根据持久化规则将所述设备数据固化于预置数据库及文件服务器中,其中,所述持久化规则包括:丢弃规则、持久化周期、批量数量、持久化方式,在持久化环节中,守护线程加载并根据所述持久化规则触发持久化操作。2.根据权利要求1所述的一种快速采集设备数据并高效率持久化方法,其特征在于,所述步骤S1包括:S11、对所述socket传输设备,通过插件集成硬件设备厂商提供的所述硬件设备SDK;S12、根据所述硬件设备SDK进行创建、初始化、连接操作,以建立与所述硬件设备的网络连接;S13、通过所述网络连接接收网络数据,并根据既定规则传输所述网络数据。3.根据权利要求1所述的一种快速采集设备数据并高效率持久化方法,其特征在于,所述步骤S1中对于将数据存储在一个文件中的所述文本传输设备,通过读模式打开文件,并设置offset标签,监听增量信息。4.根据权利要求1所述的一种快速采集设备数据并高效率持久化方法,其特征在于,所述步骤S1中针对将数据存储在不同文件中的所述文本传输设备,通过轮询文件位置,以得到新文件。5.根据权利要求1所述的一种快速采集设备数据并高效率持久化方法,其特征在于,所述步骤S2包括:S21、维护不少于2个的线程;S22、利用所述线程中的设备状态检测线程检测所述socket传输设备及所述文本...

【专利技术属性】
技术研发人员:谢文徐鸿鑫钟宜兴叶志红丁忠熙
申请(专利权)人:中国人民解放军陆军炮兵防空兵学院
类型:发明
国别省市:

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

1