一种数据访问方法及装置制造方法及图纸

技术编号:28130542 阅读:23 留言:0更新日期:2021-04-19 11:51
本发明专利技术公开了一种数据访问方法及装置,首先通过轮询线程采集业务数据;同时通过所述独立于所述轮询线程的命令接收通道接收反控命令;进一步将所接收的反控命令转换为实时读写任务,并写入到实时任务队列;再通过轮询线程监测所述实时任务队列;最后当监测到所述实时任务队列中包括有实时读写任务时,输出所采集的业务数据。的业务数据。的业务数据。

【技术实现步骤摘要】
一种数据访问方法及装置


[0001]本专利技术涉及数据处理技术,尤其涉及一种数据访问方法及装置。

技术介绍

[0002]在物联网领域,特别是工业物联网领域,通过智能物联网平台解决工厂智能化的过程中,平台软件一般有如下几个数据处理步骤:设备数据采集、设备数据传输、设备数据存储、设备数据分析、分析结果反馈给设备。在分析结果反馈给设备的阶段中,对于很多设备来说需要实时的能接收反控命令并响应于反控命令对数据及时完成反馈处理。而用于接收反控命令并响应于反控命令对数据及时完成反馈处理的程序,即设备交互程序worker,一般同时还担当着很多其他的任务,比如获取大量设备数据,将大量设备数据向外传输等。因此,现有设备交互程序worker必然存在反控命令如何才能被及时优先处理的问题。

技术实现思路

[0003]本专利技术实施例为了解决现有设备交互程序worker所存在的上述缺陷,创造性地提供了一种数据访问方法及装置。
[0004]根据本专利技术第一方面,提供了一种数据访问方法,该方法包括:通过轮询线程采集业务数据;通过所述独立于所述轮询线程的命令接收通道接收反控命令;将所接收的反控命令转换为实时读写任务,并写入到实时任务队列;通过轮询线程监测所述实时任务队列;当监测到所述实时任务队列中包括有实时读写任务时,输出所采集的业务数据。
[0005]根据本专利技术一实施方式,所述通过轮询线程采集业务数据,包括:解析业务数据采集配置文件,得到轮询间隔时间;根据所述轮询间隔时间采集业务数据。
[0006]根据本专利技术一实施方式,按照第一设定频率通过轮询线程采集业务数据;按照第二设定频率通过轮询线程监测所述实时任务队列;其中,所述第一设定频率小于第二设定频率。
[0007]根据本专利技术一实施方式,所述第一设定频率与所述第二设定频率的比值为1:500。
[0008]根据本专利技术一实施方式,所述通过轮询线程采集业务数据,包括:获取动态更新后的数据采集吞吐量;通过轮询线程根据所述数据采集吞吐量采集业务数据。
[0009]根据本专利技术第二方面,还提供了一种数据访问装置,所述装置包括:数据采集模块,用于通过轮询线程采集业务数据;命令接收模块,用于通过所述独立于所述轮询线程的命令接收通道接收反控命令;转换模块,用于将所接收的反控命令转换为实时读写任务,并写入到实时任务队列;监测模块,用于通过轮询线程监测所述实时任务队列;数据输出模块,用于当监测到所述实时任务队列中包括有实时读写任务时,输出所采集的业务数据。
[0010]根据本专利技术一实施方式,所述数据采集模块,具体用于解析业务数据采集配置文件,得到轮询间隔时间;根据所述轮询间隔时间采集业务数据。
[0011]根据本专利技术一实施方式,所述数据采集模块,具体用于按照第一设定频率通过轮询线程采集业务数据;所述监测模块,具体用于按照第二设定频率通过轮询线程监测所述
实时任务队列;其中,所述第一设定频率小于第二设定频率。
[0012]根据本专利技术一实施方式,所述数据采集模块,具体用于获取动态更新后的数据采集吞吐量;通过轮询线程根据所述数据采集吞吐量采集业务数据。
[0013]根据本专利技术第三方面,又提供了一种数据访问装置,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任一数据访问方法。
[0014]本专利技术实施例数据访问方法及装置,首先通过轮询线程采集业务数据;同时通过所述独立于所述轮询线程的命令接收通道接收反控命令;进一步将所接收的反控命令转换为实时读写任务,并写入到实时任务队列;再通过轮询线程监测所述实时任务队列;最后当监测到所述实时任务队列中包括有实时读写任务时,输出所采集的业务数据。如此,本专利技术通过设置设备交互程序(worker)为至少包括轮询线程和独立于轮询线程的命令接收通道,使得能够在通过轮询线程进行业务数据采集的同时,通过独立于轮询线程的命令接收通道进行反馈命令的接收,进一步通过内部引入实时读写任务队列的方式,从而保证在轮询线程中按照业务情况在不同时机中加入处理实时任务队列的逻辑,有效实现对反馈命令的及时优化处理,进而提升数据访问的时效性及可靠性。
[0015]需要理解的是,本专利技术的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本专利技术的其他实施方式还能够实现上面未提到的有益效果。
附图说明
[0016]通过参考附图阅读下文的详细描述,本专利技术示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本专利技术的若干实施方式,其中:
[0017]在附图中,相同或对应的标号表示相同或对应的部分。
[0018]图1示出了本专利技术实施例数据访问方法的实现流程示意图一;
[0019]图2示出了本专利技术实施例数据访问方法的实现流程示意图二;
[0020]图3示出了本专利技术实施例数据访问方法的实现流程示意图三;
[0021]图4示出了本专利技术实施例数据访问装置的组成结构示意图。
具体实施方式
[0022]下面将参考若干示例性实施方式来描述本专利技术的原理和精神。应当理解,给出这些实施方式仅仅是为使本领域技术人员能够更好地理解进而实现本专利技术,而并非以任何方式限制本专利技术的范围。相反,提供这些实施方式是为使本专利技术更加透彻和完整,并能够将本专利技术的范围完整地传达给本领域的技术人员。
[0023]下面结合附图和具体实施例对本专利技术的技术方案进一步详细阐述。
[0024]相关技术中,现有设备交互程序worker为了解决无法对接收到的反控命令及时优化处理的问题,通常采用如下两种解决方案:
[0025]方案一,1.通过多个进程同时连接设备来进行并发处理,这种方案的好处是解决了设备独占通过多进程,多连接的办法来解决并发问题。这种方案的缺点是,在设备接收到
反控命令的时候,往往还需要做一些业务逻辑(这个可能需要程序内部各个模块协调配合后)之后才能把结果返回给设备,如果采用多进程方案,首先需要对多个进程进行管理,并且建立进程间的通信机制才能确保逻辑正常处理后写入设备,这样很明显给外围的管理程序造成了大量的管理成本;如果进程发生意外,还需要有相应的容错机制保证业务的重建。
[0026]方案二,在一个程序内部,命令接收到后依赖线程间的分片机制来对设备进行读写(线程间通过抢占设备锁的方式),这种方案的问题在于将实时处理的时机交给了操作系统(Operation System,OS),对于分时操作系统来说,应用层并不能完全保证线程能及时被调度马上处理。
[0027]为了有效解决现有技术所存在的上述问题,本专利技术实施例提供了一种数据访问方法及装置。
[0028]图1示出了本专利技术实施例数据访问方法的实现流程示意图一。
[0029]参考图1,本专利技术实施例提供了一种数据访问方法,该方法包括:操作101,通过轮询线程采集业务数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据访问方法,所述方法包括:通过轮询线程采集业务数据;通过所述独立于所述轮询线程的命令接收通道接收反控命令;将所接收的反控命令转换为实时读写任务,并写入到实时任务队列;通过轮询线程监测所述实时任务队列;当监测到所述实时任务队列中包括有实时读写任务时,输出所采集的业务数据。2.根据权利要求1所述的方法,其特征在于,所述通过轮询线程采集业务数据,包括:解析业务数据采集配置文件,得到轮询间隔时间;根据所述轮询间隔时间采集业务数据。3.根据权利要求1所述的方法,其特征在于,按照第一设定频率通过轮询线程采集业务数据;按照第二设定频率通过轮询线程监测所述实时任务队列;其中,所述第一设定频率小于第二设定频率。4.根据权利要求3所述的方法,其特征在于,所述第一设定频率与所述第二设定频率的比值为1:500。5.根据权利要求1至4任一项所述的方法,其特征在于,所述通过轮询线程采集业务数据,包括:获取动态更新后的数据采集吞吐量;通过轮询线程根据所述数据采集吞吐量采集业务数据。6.一种数据访问装置,其特征在于,所述装置包括:数据采集模块,用于通过轮询线程采集业务数据;命令接收模块,用于通过所述独...

【专利技术属性】
技术研发人员:张向国
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:

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

1