设备数据读取方法及系统的制作方法

文档序号:10569896阅读:186来源:国知局
设备数据读取方法及系统的制作方法
【专利摘要】本发明公开了一种设备数据读取方法及系统,其中,所述设备数据读取方法包括:将设备产生的数据放入一数据库中;获取所述数据库中的数据并将获取到的数据存入一中间文件中;在接收到一查询请求时,从所述中间文件中调取数据。本发明弥补了现有技术中查询数据库中的数据容易造成服务器资源重复浪费的不足,通过改变设备数据的存储位置,减少了资源浪费,加快了调取数据的时间,即使设备数据不断地更新,也不易出现数据丢失或者查询缓慢甚至无法查询等不良后果,能够监控设备的性能状态,为设备的维修和诊断提供了一定的依据,提高了生产效率。
【专利说明】
设备数据读取方法及系统
技术领域
[0001]本发明涉及自动化工业生产领域,尤其涉及一种设备数据读取方法及系统。
【背景技术】
[0002]随着自动化工业的发展,人们已经实现了对生产设备的全面监控,在监控过程中往往会产生多种多样的数据,目前传统的数据读取方法是将数据放入服务器的数据库中,在需要查询数据时就从数据库中进行查找,由于数据库中的数据量比较庞大,在每次查询时都要数据库中重复查找,造成了服务器资源重复的浪费。尤其是当设备的状态变化频繁时候,数据库中的数据要进行多次的更新,这对数据库中数据的查询也带来了一定难度,浪费资源的现象更为明显,同时还有可能造成数据丢失或者查询缓慢甚至无法查询等不良后果O

【发明内容】

[0003]本发明要解决的技术问题是为了克服现有技术中查询数据库中的数据容易造成服务器资源重复浪费的缺陷,提供一种便于查询的设备数据读取方法及系统。
[0004]本发明是通过以下技术方案解决上述技术问题的:
[0005]本发明提供一种设备数据读取方法,其特点是,所述设备数据读取方法包括:
[0006]将设备产生的数据放入一数据库中;
[0007]获取所述数据库中的数据并将获取到的数据存入一中间文件中;
[0008]在接收到一查询请求时,从所述中间文件中调取数据。
[0009]本技术方案没有直接从存储有大量数据的数据库中直接调取数据,转而从中间文件中调取数据,避免了访问大数据库所造成的资源重复浪费,加快了调取数据的时间,防止了出现数据丢失或者查询缓慢甚至无法查询等不良后果。
[0010]较佳地,所述中间文件以纯文本形式存储数据。
[0011]其中,所述中间文件可以为CSV(—种文件格式)文件,CSV文件以纯文本形式存储数据。使用以纯文本形式存储数据的中间文件可以减少存储信息的容量,有利于数据传输以及后续处理,同时由于以纯文本形式存储数据的中间文件中只有数据而没有其它的数据,所以,在一定程度上提高了数据安全性。
[0012]较佳地,所述设备数据读取方法还包括:
[0013]在所述数据库中的数据被更新时,将更新后的数据存入所述中间文件中。
[0014]本技术方案有利于对更新后的数据进行查询,进一步加快了调取数据的时间。
[0015]较佳地,所述设备产生的数据包括:一用于表征设备状态的状态值以及所述状态值对应的时刻;
[0016]所述在所述数据库中的数据被更新时,将更新后的数据存入所述中间文件中包括:
[0017]在所述数据库中放入新的数据时,判断放入的新的数据与所述数据库中前一次放入的数据的状态值是否相同,若相同,不将所述新的数据存入所述中间文件中,若不同,将所述新的数据存入所述中间文件中。
[0018]本技术方案中,只在连续的放入的两个状态值不同时才对中间文件进行更新,这样能够防止中间文件反复更新,能够简化中间文件的数据更新过程,提高处理效率。
[0019]较佳地,所述设备产生的数据包括:一用于表征设备状态的状态值以及所述状态值对应的时刻;
[0020]所述设备数据读取方法还包括:
[0021]计算设备状态比例并将所述设备状态比例存入所述中间文件中,所述设备状态比例为在过去的一时间段内设备连续处于一个状态的时间占比。
[0022]本技术方案中根据所述状态值和所述状态值对应的时刻可以获知设备连续处于一个状态的时间,进而获得设备状态比例。例如,9月8日6点的状态值反映出设备处于正常运行状态,中间文件显示在过去的24小时(即9月7日6点至9月8日6点)内,设备在9月8日I点?2点之间处于告警状态,2点?6点设备一直处于正常运行的状态,那么,设备处于正常运行状态的设备状态比例等于4/24,等于1/6。
[0023]较佳地,所述设备数据读取方法还包括:在从所述中间文件中调取数据时,以进度条的形式显示在过去的所述时间段内的每一设备状态比例。
[0024]本技术方案能够清楚直观地显示出设备的状态,便于用户读取。
[0025]较佳地,所述设备数据读取方法还包括:
[0026]在服务器上创建所述数据库以及所述中间文件;
[0027]以及,客户端向所述服务器发起所述查询请求,所述服务器接收所述查询请求并将所述中间文件返回给所述客户端,所述客户端从所述中间文件中调取数据并显示。
[0028]本技术方案中,用户可以通过客户端查询设备的数据,由于本技术方案本身已经避免了访问大数据库所造成的资源重复浪费,加快了调取数据的时间,所以,即使有多个客户端同时查询设备的数据,也不会造成服务器的负担。
[0029]本发明还提供一种设备数据读取系统,其特点是,所述设备数据读取系统包括:
[0030]一存储单元,用于将设备产生的数据放入一数据库中;
[0031]—转存单元,用于获取所述数据库中的数据并将获取到的数据存入一中间文件中;
[0032]—查询单元,用于在接收到一查询请求时,从所述中间文件中调取数据。
[0033]较佳地,所述中间文件以纯文本形式存储数据。
[0034]较佳地,所述设备数据读取系统还包括:
[0035]—更新单元,用于在所述数据库中的数据被更新时,将更新后的数据存入所述中间文件中。
[0036]较佳地,所述设备产生的数据包括:一用于表征设备状态的状态值以及所述状态值对应的时刻;
[0037]所述更新单元包括:
[0038]—判断模块,用于在所述数据库中放入新的数据时,判断放入的新的数据与所述数据库中前一次放入的数据的状态值是否相同,若相同,不将所述新的数据存入所述中间文件中,若不同,将所述新的数据存入所述中间文件中。
[0039]较佳地,所述设备产生的数据包括:一用于表征设备状态的状态值以及所述状态值对应的时刻;
[0040]所述设备数据读取系统还包括:
[0041]—计算单元,用于计算设备状态比例并将所述设备状态比例存入所述中间文件中,所述设备状态比例为在过去的一时间段内设备连续处于一个状态的时间占比。
[0042]较佳地,所述设备数据读取系统还包括:
[0043]—显示单元,用于在从所述中间文件中调取数据时,以进度条的形式显示在过去的所述时间段内的每一设备状态比例。
[0044]较佳地,所述设备数据读取系统还包括:
[0045]—设于服务器上的创建单元,用于创建所述数据库以及所述中间文件;
[0046]—设于客户端上的请求单元,用于向所述服务器发起所述查询请求;
[0047]所述查询单元包括一设于所述服务器上的接收模块、一设于所述服务器上的发送模块和一设于所述客户端上的调取模块;
[0048]所述接收模块,用于接收所述查询请求;
[0049]所述发送模块,用于将所述中间文件返回给所述客户端;
[0050]所述调取模块,用于从所述中间文件中调取数据并显示。
[0051]在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
[0052]本发明的积极进步效果在于:本发明通过改变设备数据的存储位置,减少了资源浪费,加快了调取数据的时间,即使设备数据不断地更新,也不易出现数据丢失或者查询缓慢甚至无法查询等不良后果,能够监控设备的性能状态,为设备的维修和诊断提供了一定的依据,提高了生产效率。
【附图说明】
[0053]图1为本发明实施例的设备数据读取方法的流程图;
[0054]图2为本发明实施例的设备数据读取系统的系统框图。
【具体实施方式】
[0055]下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
[0056]实施例
[0057]—种设备数据读取方法,如图1所示,包括服务器执行以下步骤:
[0058]步骤101、创建一数据库以及一中间文件。
[0059]步骤102、将设备产生的数据放入所述数据库中。所述设备产生的数据包括:一用于表征设备状态的状态值以及所述状态值对应的时刻,所述数据库中的数据按照时间顺序排列。
[0060]如预先在设备上安装用于检测设备状态的模块,并且所述模块定时将检测到的设备状态以及设备处于这一状态的时间发送给所述服务器。其中,状态值包括G、Y、R和O ;状态值为G代表设备正常运行,设备亮起了绿灯;状态值为Y代表设备处于告警状态,设备亮起了黄灯;状态值为R代表设备出错,设备了亮起红灯;状态值为O代表设备处于离线状态,安装在设备上的模块没法检测到设备目前处于的什么状态,也被视为是设备不正常工作了。
[0061 ] 步骤103、获取所述数据库中的数据并将获取到的数据存入所述中间文件中。所述中间文件存储的数据按照时间顺序排列,以纯文本形式存储数据,如CSV文件。使用CSV文件做数据存储的容量比XML ( 一种文件格式)文件小,功能比TXT ( 一种文件格式)文件强,EXCEL也直接支持CSV文件的查看和生成。通过简单的存储方式,一方面可以减少存储信息的容量,这样有利于网络传输以及后续处理;另一方面,由于文件中数据没有任何说明,可以保证数据的安全性。
[0062]步骤104、检测设备是否产生新的数据,若是,将所述新的数据放入所述数据库中,若否,等待下一次检测时间后再次执行步骤104。
[0063]步骤105、判断放入的新的数据与所述数据库中前一次放入的数据的状态值是否相同,若相同,不将所述新的数据存入所述中间文件中,若不同,将所述新的数据存入所述中间文件中。
[0064]由于数据库中的数据是按照时间顺序排列的,所以中间文件只需要存入与前一次放入的数据的状态值不同的数据。如设备在10点20分产生的数据中状态值为G,并且这一条数据通过步骤104?105被放入了数据库和中间文件中,若设备在10点40分产生的数据中状态值还为G,那么这一条数据由于与上一条数据的状态值相同,故只会通过步骤104被放入数据库中而不会被放入中间文件中,若设备在11点产生的数据中状态值为R,那么这一条数据由于与上一条数据的状态值不同,故会通过步骤104?105被放入了数据库和中间文件中。
[0065]通过步骤104?105,本实施例的设备数据读取方法实现了对所述数据库中的数据的更新以及对中间文件中的数据的更新。
[0066]步骤106、计算设备状态比例并将所述设备状态比例存入所述中间文件中。所述设备状态比例为在过去的一时间段内设备连续处于一个状态的时间占比。如设定所述时间段为24小时,中间文件表明设备在9月10日14点的状态值为G,在9月10日14点向前推送的24小时(即9月9日14点至9月10日14点)内,设备在9月10日9点?14点的状态值为G,设备状态值为G的设备状态比例等于5/24。
[0067]所述设备数据读取方法还包括客户端执行以下步骤:
[0068]步骤201、封装一插件模块。所述插件模块包括用于以进度条的形式显示设备状态比例的多个函数,如当状态值为G时在进度条上显示绿色,当状态值为Y时在进度条上显示黄色,当状态值为R时在进度条上显示红色,当状态值为O时在进度条上显示灰色,进度条中一个颜色的长度代表了对应的状态值连续持续的时间。封装于插件模块中的函数可以增强了可移植性,任何客户端都可以通过安装所述插件模块实现服务器上数据的读取。
[0069]所述设备数据读取方法还包括客户端与服务器通过以下步骤实现设备数据的读取:
[0070]步骤301、客户端向所述服务器发起一查询请求。
[0071]步骤302、服务器接收所述查询请求并将所述中间文件返回给所述客户端。
[0072]步骤303、客户端从接收到的中间文件中调取数据。
[0073]步骤304、客户端调取所述插件模块中的函数,在web页面上以进度条的形式显示在过去的所述时间段内的每一设备状态比例。通过所述进度条,用户可以清楚直观地知道在过去的所述时间段内设备的状态。同时web页面也可以提供一个下载中间文件的路径,供用户下载参考。
[0074]当再次刷新状态信息时,只需要客户端再次发起所述查询请求,就会更新web页面的显示,无需再让服务器去读取数据库中的数据。
[0075]本实施例的设备数据读取系统,如图2所示,包括:一创建单元401、一存储单元402、一转存单元403、一更新单元404和一计算单元405。上述单元均设于服务器4上。
[0076]所述创建单元401,用于创建一数据库以及一中间文件。
[0077]所述存储单元402,用于将设备产生的数据放入所述数据库中。所述设备产生的数据包括:一用于表征设备状态的状态值以及所述状态值对应的时刻,所述数据库中的数据按照时间顺序排列。
[0078]所述转存单元403,用于获取所述数据库中的数据并将获取到的数据存入所述中间文件中。所述中间文件存储的数据按照时间顺序排列,以纯文本形式存储数据,如CSV文件。
[0079]所述更新单元404包括:
[0080]一检测模块4041,用于检测设备是否产生新的数据,若是,将所述新的数据放入所述数据库中,若否,等待下一次检测时间后再次调用所述检测模块。
[0081]—判断模块4042,用于判断放入的新的数据与所述数据库中前一次放入的数据的状态值是否相同,若相同,不将所述新的数据存入所述中间文件中,若不同,将所述新的数据存入所述中间文件中。
[0082]通过所述检测模块4041和所述判断模块4042,本实施例的设备数据读取系统实现了对所述数据库中的数据的更新以及对中间文件中的数据的更新。
[0083]所述计算单元405,用于计算设备状态比例并将所述设备状态比例存入所述中间文件中。所述设备状态比例为在过去的一时间段内设备连续处于一个状态的时间占比。
[0084]所述设备数据读取系统还包括:一封装单元501。所述封装单元501设于客户端5上。
[0085]所述封装单元501,用于封装一插件模块。所述插件模块包括用于以进度条的形式显示设备状态比例的多个函数
[0086]所述设备数据读取系统还包括:一请求单元502、一接收模块406、一发送模块407、一调取模块503和一显示单元504。
[0087]所述请求单元设于客户端5上,用于向所述服务器4发起一查询请求。
[0088]所述接收模块406设于所述服务器4上,用于接收所述查询请求。
[0089]所述发送模块407设于所述服务器4上,用于将所述中间文件返回给所述客户端5。
[0090]所述调取模块503设于所述客户端上,用于从接收到的中间文件中调取数据。
[0091]所述显示单元504设于所述客户端上,用于在从所述中间文件中调取数据时,调取所述插件模块中的函数,在web页面上以进度条的形式显示在过去的所述时间段内的每一设备状态比例。
[0092]本实施例中服务器可以基于Tornado服务架构(非阻塞式的服务器)实现,所述客户端利用WEB前端技术编写。
[0093]同时,本实施例的设备数据读取方法及设备读取系统同样适用于多个客户端同时访问服务器以获取数据,不会出现因为访问用户过多而造成服务器处理缓慢,出现数据丢失或者用户没法访问的情况。
[0094]虽然以上描述了本发明的【具体实施方式】,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
【主权项】
1.一种设备数据读取方法,其特征在于,所述设备数据读取方法包括: 将设备产生的数据放入一数据库中; 获取所述数据库中的数据并将获取到的数据存入一中间文件中; 在接收到一查询请求时,从所述中间文件中调取数据。2.如权利要求1所述的设备数据读取方法,其特征在于,所述中间文件以纯文本形式存储数据。3.如权利要求1或2所述的设备数据读取方法,其特征在于,所述设备数据读取方法还包括: 在所述数据库中的数据被更新时,将更新后的数据存入所述中间文件中。4.如权利要求3所述的设备数据读取方法,其特征在于,所述设备产生的数据包括:一用于表征设备状态的状态值以及所述状态值对应的时刻; 所述在所述数据库中的数据被更新时,将更新后的数据存入所述中间文件中包括: 在所述数据库中放入新的数据时,判断放入的新的数据与所述数据库中前一次放入的数据的状态值是否相同,若相同,不将所述新的数据存入所述中间文件中,若不同,将所述新的数据存入所述中间文件中。5.如权利要求1或2所述的设备数据读取方法,其特征在于,所述设备产生的数据包括:一用于表征设备状态的状态值以及所述状态值对应的时刻; 所述设备数据读取方法还包括: 计算设备状态比例并将所述设备状态比例存入所述中间文件中,所述设备状态比例为在过去的一时间段内设备连续处于一个状态的时间占比。6.如权利要求5所述的设备数据读取方法,其特征在于,所述设备数据读取方法还包括:在从所述中间文件中调取数据时,以进度条的形式显示在过去的所述时间段内的每一设备状态比例。7.如权利要求1或2所述的设备数据读取方法,其特征在于,所述设备数据读取方法还包括: 在服务器上创建所述数据库以及所述中间文件; 以及,客户端向所述服务器发起所述查询请求,所述服务器接收所述查询请求并将所述中间文件返回给所述客户端,所述客户端从所述中间文件中调取数据并显示。8.一种设备数据读取系统,其特征在于,所述设备数据读取系统包括: 一存储单元,用于将设备产生的数据放入一数据库中; 一转存单元,用于获取所述数据库中的数据并将获取到的数据存入一中间文件中; 一查询单元,用于在接收到一查询请求时,从所述中间文件中调取数据。9.如权利要求8所述的设备数据读取系统,其特征在于,所述中间文件以纯文本形式存储数据。10.如权利要求8或9所述的设备数据读取系统,其特征在于,所述设备数据读取系统还包括: 一更新单元,用于在所述数据库中的数据被更新时,将更新后的数据存入所述中间文件中。11.如权利要求10所述的设备数据读取系统,其特征在于,所述设备产生的数据包括:一用于表征设备状态的状态值以及所述状态值对应的时刻; 所述更新单元包括: 一判断模块,用于在所述数据库中放入新的数据时,判断放入的新的数据与所述数据库中前一次放入的数据的状态值是否相同,若相同,不将所述新的数据存入所述中间文件中,若不同,将所述新的数据存入所述中间文件中。12.如权利要求8或9所述的设备数据读取系统,其特征在于,所述设备产生的数据包括:一用于表征设备状态的状态值以及所述状态值对应的时刻; 所述设备数据读取系统还包括: 一计算单元,用于计算设备状态比例并将所述设备状态比例存入所述中间文件中,所述设备状态比例为在过去的一时间段内设备连续处于一个状态的时间占比。13.如权利要求12所述的设备数据读取系统,其特征在于,所述设备数据读取系统还包括: 一显示单元,用于在从所述中间文件中调取数据时,以进度条的形式显示在过去的所述时间段内的每一设备状态比例。14.如权利要求8或9所述的设备数据读取系统,其特征在于,所述设备数据读取系统还包括: 一设于服务器上的创建单元,用于创建所述数据库以及所述中间文件; 一设于客户端上的请求单元,用于向所述服务器发起所述查询请求; 所述查询单元包括一设于所述服务器上的接收模块、一设于所述服务器上的发送模块和一设于所述客户端上的调取模块; 所述接收模块,用于接收所述查询请求; 所述发送模块,用于将所述中间文件返回给所述客户端; 所述调取模块,用于从所述中间文件中调取数据并显示。
【文档编号】G06F17/30GK105930324SQ201510703073
【公开日】2016年9月7日
【申请日】2015年10月26日
【发明人】牟小欢, 陈绪金
【申请人】上海剑桥科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1