CN105224636A - 一种数据访问方法和装置 - Google Patents
一种数据访问方法和装置 Download PDFInfo
- Publication number
- CN105224636A CN105224636A CN201510618495.9A CN201510618495A CN105224636A CN 105224636 A CN105224636 A CN 105224636A CN 201510618495 A CN201510618495 A CN 201510618495A CN 105224636 A CN105224636 A CN 105224636A
- Authority
- CN
- China
- Prior art keywords
- data
- monitored item
- sampling time
- identification
- mark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据访问方法和装置,其中方法包括:接收请求访问目标数据的数据访问请求,所述数据访问请求携带所述目标数据的归属设备的设备标识、以及所述目标数据的数据标识;根据所述设备标识,获取用于存储所述归属设备的采集数据的数据库文件;在所述数据库文件中,获取用于存储所述数据标识对应的采集数据的监控项数据表;由所述监控项数据表中获取所述目标数据。本申请能够在数据量增加的情况下降低数据访问性能的下降幅度。
Description
技术领域
本申请涉及医疗设备技术,特别涉及一种数据访问方法和装置。
背景技术
在医疗设备领域,医疗设备的种类越来越丰富,产品的结构和工作原理的复杂度也越来越高,对于故障维护人员和产品开发人员来说,监控医疗设备的状态数据,在故障调查和设备分析等方面具有重要意义。相关技术中,医疗设备采样的状态监控数据(如,工作温度、工作电流等)可以传输至服务器存储,以供管理人员从服务器访问查询。但是,由于通常采集的设备状态监控数据的种类很多,并且采集时间较为密集(如,每半小时采集一次),使得服务器侧的存储数据量非常庞大。例如,假设设备要采集10种状态监控数据,且每30秒采样一次,那么1小时就会产生1200个数据项,这种庞大的数据量使得在服务器在存储数据和查询数据方面的性能大幅度下降。
发明内容
有鉴于此,本申请提供一种数据访问方法和装置,目的是在数据量增加的情况下降低数据访问性能的下降幅度。
具体地,本申请是通过如下技术方案实现的:
第一方面,提供一种数据访问方法,包括:
接收请求访问目标数据的数据访问请求,所述数据访问请求携带所述目标数据的归属设备的设备标识、以及所述目标数据的数据标识;
根据所述设备标识,获取用于存储所述归属设备的采集数据的数据库文件;在所述数据库文件中,获取用于存储所述数据标识对应的采集数据的监控项数据表;
由所述监控项数据表中获取所述目标数据。
第二方面,提供一种数据访问装置,包括:
访问请求接收模块,用于接收请求访问目标数据的数据访问请求,所述数据访问请求携带所述目标数据的归属设备的设备标识、以及所述目标数据的数据标识;
数据表获取模块,用于根据所述设备标识,获取用于存储所述归属设备的采集数据的数据库文件,并在所述数据库文件中,获取用于存储所述数据标识对应的采集数据的监控项数据表;
目标数据获取模块,用于由所述监控项数据表中获取所述目标数据。
本申请提供的数据访问方法和装置,通过设置对应归属设备的数据库文件以及与采集数据对应的监控项数据表,将数据进行了分散存储的方式,这种方式使得在进行数据访问时,查询的数据集合不会太大,从而不会大幅降低访问速度,能够在数据量增加的情况下降低数据访问性能的下降幅度。
附图说明
图1示例了一种收集医疗设备的状态监控数据的应用场景;
图2示例了一种在服务器中的数据存储结构;
图3示例了一种向服务器存储数据的流程图;
图4示例了一种采样时间表的设置方式;
图5示例了一种各数据表的关联关系;
图6示例了一种向服务器查询访问数据的流程图;
图7示例了一种获取指定时间段的采样数据的访问流程图;
图8示例了一种服务器的结构框图;
图9示例了一种数据访问装置的结构示意图;
图10示例了另一种数据访问装置的结构示意图;
图11示例了又一种数据访问装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在医疗设备领域,为了更好的对医疗设备进行故障调查及临床工作的安全性预警等,通常会收集并存储各个医疗设备的状态监控数据,该状态监控数据例如包括:设备的工作电压、工作电流、温度和湿度、IP地址等各个方面的信息。在医院的临床工作中,医疗设备经常会产生多种状态的变化,状态监控数据也会产生变化,可以通过带宽足够的宽带网络,将医疗设备定期采集的状态监控数据传输至服务器进行存储,后续设备管理人员可以通过访问服务器获取这些数据,并依据这些数据进行设备管理分析例如故障调查。
图1示例了一种收集医疗设备的状态监控数据的应用场景,如图1所示,可以通过云端的服务器11(如下简称:云服务器)来收集各个医疗设备的状态监控数据。例如,A医院、B医院等各个医院中的各个医疗设备(如,设备12、设备13、设备14等),都可以通过宽带网络将自己定期采集(如,每半小时采集一次)的状态监控数据,传输至云服务器11进行存储。
而随着监控的数据种类越来越多和数据采集密度较大,云服务器11所存储的数据量出现爆发式的增长,例如,假设设备要采集10种状态监控数据,且每30秒采样一次,那么1小时就会产生1200个数据项。为了防止这种庞大的数据量使得云服务器11的访问性能的大幅度下降,本申请提供了一种数据访问方法,该方法从数据存储结构和数据访问方式都进行了改进。
参见图2,本申请的实施例在云服务器11,设计了如下的数据存储结构(需要说明的是,本实施例的方案不仅可以实现在云服务器上,也可以实现在普通网络中的指定服务器):
将不同的医疗设备的采集数据、以及同一医疗设备的不同类型的数据,分开存储。示例性的,假设有三个设备,设备1、设备2和设备3将采集的状态监控数据传输至云服务器11,那么云服务器11可以为每个医疗设备分别创建单独用于存储该设备的采集数据的数据库文件。如图2所示,数据库文件1专用于存储设备1采集的数据,数据库文件2专用于存储设备2采集的数据,数据库文件3专用于存储设备3采集的数据。
以数据库文件2为例,来看在数据库文件中,是如何分别存储不同类型的采集数据:状态监控数据的种类很多,比如,温度、湿度、电流、电压等,可以将每一种类型的数据都用一个“监控项数据表”存储。并且,假设对每一种类型的数据设定一个数据标识,如,温度数据用A表示,湿度数据用B表示,电流数据用C表示,电压数据用D表示。那么,监控项数据表则是专用于存储该数据标识对应的采集数据的数据表。
如图2所示,在设备2的数据库文件中,可以包括三种表:
监控项注册表(ItemRegister):用于记录在该数据库文件中存储了哪些监控项数据表,比如图2所示的,注册表中的监控项也就是数据标识,比如,监控项A即表示温度数据这种类型,那么,既然在注册表中包括监控项A,就表示该数据库文件中已经存在了专用于存储温度数据的监控项数据表。注册表中的监控项还可以包括B和C等。
也就是说,当在数据库文件中新创建一种类型的监控项数据表时,那么需要将该监控项数据表用于存储的数据标识(或者称数据类型)记录在监控项注册表中。例如,设备2新增加了一种监控的状态数据“IP地址”,则可以将该IP地址的数据标识E增加进监控项注册表中。后续的步骤中,用户可以通过查询注册表,就可以知道该数据库文件中是否存在用于存储某种类型数据的数据表。
监控项数据表:如上述的,监控项数据表是用于存储各个类型的采集数据的数据表。例如,图2所示的,“监控项数据表-A”是用于存储数据标识A这种类型数据(即温度数据)的数据表,“监控项数据表-B”是用于存储数据标识B这种类型数据(即湿度数据)的数据表。其他表同理。
采样时间表(UpdateList):该表用于记录所存储的采集数据的采样时间以及对应的采样时间ID。
其中,采样时间可以有两种形式,例如,可以是采样时间点“2015-04-1409:00:00”,或者还可以是采样时间段,如“2015-04-1409:00:00(采样起始时间点)至2015-04-1409:30:00(采样终止时间点)”。当采样时间是采样时间段时,对应这个时间段的数据通常是产生于一段时间的累计值,并不属于某一个时间点,而属于整个时间段。此外,当记录采样时间段时,还可以记录数据记录时间等其他字段。
本例子中,采样时间表还用于与监控项数据表之间进行关联:如图2所示,两者之间可以通过采样时间标识进行关联,在监控项数据表中,可以记录采样时间标识与对应的采集数据,就表示该采集数据是在采样时间标识对应的采样时间进行采集的。这种关联记录的方式,使得在监控项数据表中不用保存具体的采样时间,只保留采样时间标识即可,从而有助于减小监控项数据表的容量占用,进而提升在查询数据表获取数据时的速度。
当然,数据库文件中并不局限于上述列举的三种表,在实际实施中,也可以存在其他类型的数据表,并且也可以有其他存储方式,只要是将各个数据标识对应的数据分开存储即可。可选的,也可以将多个(例如,该“多个”可以为两个、三个等)医疗设备的数据存储在同一个数据库文件,这样也便于存储在一块的同一医院或同一地区/时区的医疗设备数据库文件统一备份。这种方式虽然相对于“一个设备对应一个数据库文件,一种数据对应一个监控项数据表”的数据量有所增加,但是相对于传统方式中的所有的设备数据都存储在同一个文件中,也是可以在一定程度上提高访问速度。
由上述描述的存储结构可以看到,本申请的数据存储结构,旨在将不同医疗设备的数据分开在不同的数据库文件存储,并且对于同一医疗设备的数据,将不同种类的数据(即对应不同数据标识的数据)也分开在不同的监控项数据表进行存储,这种分散存储的方式,有助于降低在数据读取或写入时所针对的存储集合中的记录条数,提高数据处理的速度,并且,该分散存储的方式也可以增加各监控项数据读写的独立性,减少监控项间并行读写的相互影响,从而也能够提高各个监控项数据读写的速度。
图3示例了向云服务器存储数据的流程,该存储数据的流程是基于上述的存储结构进行的,假设某一个医疗设备(如,CT)在某一时间进行了采样,并且该设备将采样的数据通过网络传输至云服务器,那么云服务器将执行如图3所示的存储流程,将数据存储在服务器中,可以包括如下步骤:
在步骤301中,服务器接收到医疗设备发送的数据存储请求。
例如,当医疗设备在某个采样时间采集了状态监控数据后,将该数据上传至云服务器,服务器就接收到数据存储请求。本例子中,可以将待存储的数据称为“目标数据”,并且,由于该目标数据是医疗设备采集发送的,可以将医疗设备称为目标数据的“归属设备”。
本步骤中,数据存储请求中可以携带:目标数据的数据标识、以及归属设备的设备标识。例如,目标数据的数据标识可以是温度数据(如,用A表示),而归属设备的设备标识可以是采集该数据的医疗设备的标识。
此外,在数据存储请求中还可以携带目标数据的数据采集时间,例如,目标数据是于2015-04-1411:00:00采集。需要说明的是,在本步骤中,医疗设备在数据存储请求中携带上报了所有的监控项数据(如,监控项A、监控项B和监控项C),并且该所有监控项数据都是在同一时间采集,如,都是由医疗设备在2015-04-1411:00:00采集,因此,上述的数据存储请求中携带的数据采集时间是所有这些监控项数据的采集时间。
在步骤302中,服务器可以判断是否存在用于存储归属设备的采集数据的数据库文件。
例如,如前面描述的数据存储结构,在云服务器侧,将不同设备的数据是分别存储的,那么服务器可以检测是否存在步骤301中发送目标数据的医疗设备对应的数据库文件。
示例性的,可以通过设备标识来判断,通常如果存在设备对应的数据库文件,那么该数据库文件的属性信息(如,文件名)中可以包括其用于存储的数据归属的设备标识。服务器可以根据设备标识检测步骤301中发送数据存储请求的医疗设备,是否已经存在对应该设备的数据库文件。
如果判断结果为不存在该设备对应的数据库文件,则执行303,创建归属设备对应的数据库文件,并继续执行304。否则,如果判断结果为存在该设备对应的数据库文件,则直接转至304执行。
在步骤304中,服务器可以将数据存储请求中携带的数据采集时间,记录在数据库文件的采样时间表中,并设置对应数据采集时间的采样时间标识。
例如,服务器可以先检测数据库文件中是否存在采样时间表,如果没有,则创建。如果存在采样时间表,则可以将步骤301中获取到的数据采集时间,记录在采样时间表中。
如图4的示例,在采样时间表中增加了步骤301中获取到的采集时间“2015-04-1411:00:00”,可以将该采集时间添加在采样时间表的末尾,并记录对应的采样时间标识。在图4的采样时间表中,随着采样时间的递进,采样时间标识递增,比如,从9点到11点的采样时间中,每隔半小时采样一次,对应该采样时间的标识也按照“1-2-3-4-5”的顺序递增。
而如果数据库文件中不存在采样时间表,新创建了一个采样时间表,那么就将采样时间“2015-04-1411:00:00”记录在该表中即可,并记录对应的采样时间标识为“1”。
在步骤305中,服务器在数据库文件中判断是否存在对应待存储的目标数据的各个监控项数据表。
例如,假设在步骤301中的数据存储请求中携带的待存储的目标数据包括:监控项A:26,监控项B:3,监控项C:384。那么在本步骤中,服务器可以判断在数据库文件中是否存在分别对应各个监控项的数据表。
示例性的,服务器可以在监控项注册表中,查找是否存在上述的数据标识A、B或C。参见图5的示例,假设在监控项注册表中包括A和B,并未包括C,则服务器可以确定:存在监控项数据表-A和监控项数据表-B,但是并不存在监控项数据表C。
当本步骤的判断结果是不存在监控项数据表时,则执行306,在步骤306中,创建对应所述数据标识的监控项数据表,并将数据标识记录到监控项注册表中,将该数据标识对应的采集数据记录在该监控项数据表中。
例如图5所示,创建了监控项数据表-C,并且在记录目标数据时,是记录目标数据及对应的采样时间标识,即本次采样时间标识“5”与对应的监控项C的值384对应记录在监控项数据表-C中。并且,还将数据标识记录在监控项注册表中,如图5中所示的,将监控项“C”增加在监控项注册表中。
当本步骤的判断结果是存在监控项数据表时,则执行307。在步骤307中,服务器将目标数据与监控项数据表中的对应最后一个采样时间标识的数据进行比较,判断两者是否相等。
如果两者不相等,则表明该监控项发生了变化,执行步骤308,在所述最后一个采样时间标识之后增加记录所述采样时间标识及对应的所述目标数据。而如果两者相等,表明该监控项值没有变化,则不作记录。
比如,图5所示的,监控项A的值26与监控项数据表-A中最后一值不相等,则将待存储的目标数据记录在监控项数据表-A的尾部,而监控项B的值3与监控项数据表-B中最后一值相等,则不再存储监控项B。
需要说明的是,在将数据向监控项数据表中存储时,只存储数值改变的数据,这种方式可以大幅减少监控项数据表的数据量,因为在医疗设备的状态监控数据的采集中,经常会有很多数据的数值是比较稳定的,数据的变化频率很低,如果每次采样都保存数值,对存储空间是一种很大的冗余浪费,因此,通过上述的存储方式,只存储较前一项变化的数值,将有助于去除无变化的冗余数据,降低监控项数据表的数据量,提高查询速度。
可以按照上述图3所示的流程存储数据,直到本次采样的所有监控项数据都被处理完成。在对采样数据的存储中,通过使用采样时间标识将采样时间表与监控项数据表建立关联,使得监控项数据表的存储量进一步减小,从而提高数据查询时的效率。并且,通过设置监控项注册表,可以通过监控项注册表快速查询该数据库文件中是否存在某种监控项数据表。
此外,从上述的数据存储流程也可以看到,本例子通过将不同医疗设备的数据分开在不同的数据库文件存储,并且对于同一医疗设备的数据,将不同种类的数据也分开在不同的监控项数据表进行存储,可以使得在数据存储方面具有很好的扩展性。例如,当需要添加新设备时,云服务器可以自动产生该设备对应的数据库文件来保存该设备的监控项数据,不影响其它设备的数据存取工作;当需要为设备增加监控的监控项时,可以自动产生一个对应该监控项的监控项数据表即可,也不改变原有的框架结构和其它监控项数据的存取工作,数据扩展性很好。
云服务器在通过图3所示的流程存储数据之后,可以接收对于数据的访问查询,比如,管理人员可以在服务器查询某些采样数据以进行故障分析。图6示例了云服务器接收对于数据的访问查询的处理流程,可以包括:
在步骤601中,接收请求访问目标数据的数据访问请求,该请求中携带目标数据的归属设备的设备标识、以及目标数据的数据标识。
例如,在本步骤中,云服务器接收到的数据访问请求,可以是请求查询医疗设备2采集的工作湿度数据,那么,目标数据的归属设备的设备标识就是医疗设备2的设备标识,目标数据的数据标识即为湿度数据的标识(如B)。
在步骤602中,根据设备标识,获取用于存储归属设备的采集数据的数据库文件。例如,云服务器可以根据设备标识,查看是否存在用于存储医疗设备2的数据库文件。如果存在,则可以继续执行603,如果不存在,则云服务器可以反馈目标数据不存在的信息,例如,假设用户在某台电脑上访问服务器,当服务器无法找到目标数据时,用户的电脑上就可以显示目标数据不存在的反馈信息,以使得用户获知其所访问的目标数据不存在。
在步骤603中,在数据库文件中,获取用于存储数据标识对应的采集数据的监控项数据表。例如,云服务器可以根据数据标识,查找数据库文件中是否存在该数据标识对应的监控项数据表。如果存在,则可以继续执行604;如果不存在,则云服务器可以反馈目标数据不存在的信息。其中,本步骤中目标数据不存在的反馈信息与步骤602中的反馈信息,可以相同也可以不同,示例性的,以温度数据为例,两种情况下可以都反馈“所访问的温度数据不存在”;或者,在步骤602中可以反馈“您所访问的设备不存在”,而在步骤603中可以反馈“您所访问的设备数据中不存在温度数据”,还可以是其他类型的信息,主要使得用户得知目标数据不存在即可。
在步骤604中,由监控项数据表中获取目标数据。
例如,在本步骤中,由监控项数据表中获取目标数据时,可以依据采样时间标识;在步骤601中请求访问的目标数据的采样时间,具有对应的采样时间标识,根据该采样时间标识从监控项数据表中获取对应的目标数据即可。
本实施例的数据访问方法,云服务器在接收到对于目标数据的访问请求时,查找与该目标数据对应的数据库文件和监控项数据表,从该监控项数据表获取数据即可,由于监控项数据表的数据量相对较小,查询速度较高,并且对其他的监控项数据表和数据库文件也不会造成影响。
在实际的数据访问实施中,数据访问(读取)的情况可以有多种,例如,可以查看某个监控值,如,查看设备的工作湿度;或者,还可以是查询某个设备在某个对应的时间段内的其中一项监控项值;或者,还可以是,查询在某个指定的时刻点的所有监控项值,等。图7所示的访问流程,以获取某监控项在指定时间段内的所有采样数据值为例(获取数据后可以用于形成该设备的监控曲线图),对数据访问流程做进一步的说明。
在步骤701中,接收请求访问目标数据的数据访问请求,该请求携带目标数据的归属设备的设备标识、以及目标数据的数据标识。
例如,在本步骤中,云服务器接收到的数据访问请求,是请求访问医疗设备2的监控项B的数据,那么请求中携带的设备标识是医疗设备2的设备标识,目标数据的数据标识是B。本例子中将要查询的数据称为目标数据。
此外,请求中还可以限定目标数据的采集时间信息,例如,在本例子中,该采集时间信息可以是一个采样时间点。比如,要查询的监控项B的数据,可以是在采样时间2015-04-1409:30:00—11:00:00这个时间段的采集数据。
在步骤702中,在数据库文件的采样时间表中,获取采集时间信息对应的采样时间标识。
例如,在步骤701中的采样时间信息是2015-04-1409:30:00—11:00:00,该时间段在采样时间表中对应的采样时间标识,结合参见图4所示,采样时间标识为2/3/4/5,那么,云服务器可以在内存中形成一个数据还原框架:
表1数据还原框架
采样时间 | ID | 待填入的采样值 |
2015-04-14 09:30:00 | 2 | ? |
2015-04-14 10:00:00 | 3 | ? |
2015-04-14 10:30:00 | 4 | ? |
2015-04-14 11:00:00 | 5 | ? |
由上述表1的框架可以看到,云服务器已经找到了查询数据的采样时间对应的采样时间标识,还需要获取采样时间标识对应的采样数据值。继续执行如下的步骤。
在步骤703中,在对应数据标识的监控项数据表中,判断是否存在采样时间标识。例如,在对应监控项B的监控项数据表中,存储的是采样时间标识及与该标识对应的数据。在本步骤中,云服务器可以根据在步骤702中得到的采样时间标识,获取对应的采样数据值。
而在监控项数据表中,在本例子中是假设只存储有相对前一项监控值发生变化的数据,所以并不是每次采样的数据都要保存的。因此,本步骤要先判断是否存在采样时间标识。
如果判断结果为存在采样时间标识,则执行步骤704,获取采样时间标识对应的目标数据。如果判断结果为不存在步骤702中得到的采样时间标识,则执行步骤705,将小于所述采样时间标识且最接近的采样时间标识对应的数据作为目标数据。
例如,参见如下的表2示例的监控项数据表-B:
表2监控项数据表-B
ID | 值 |
1 | 1 |
4 | 3 |
如上述表2所示,其中只有采样时间标识4,获取对应的数据“3”即可,而并没有采样时间标识2、3、5,那么根据上述的原则,对于采样时间标识“2”来说,小于所述采样时间标识且最接近的采样时间标识是表2中的“1”,则将表2中的ID-1对应的值“1”作为采样时间标识2对应的数据。同理,可以得到采样时间标识3对应的数据也是“1”,采样时间标识5对应的数据是“3”,由此得到将表1填充完之后的表格,如下面的表3:
表3数据还原框架
采样时间 | ID | 待填入的采样值 |
2015-04-14 09:30:00 | 2 | 1 |
2015-04-14 10:00:00 | 3 | 1 |
2015-04-14 10:30:00 | 4 | 3 |
2015-04-14 11:00:00 | 5 | 3 |
可选的,在上述的例子中,采样时间表中记录的都是对应采样时间点的数据,而采样时间表的记录方式还可以是采样时间段及对应该时间段的数据。例如,表4示例了一种采样时间表的方式:
表4采样时间表
采样时间 | ID |
2015-04-14 09:30:00---09:42:00 | 1 |
2015-04-14 09:42:00---10:00:00 | 2 |
2015-04-14 10:00:00---10:20:00 | 3 |
2015-04-14 10:20:00---11:0:00 | 4 |
在上述的表4中,采样时间记录的是采样时间段,包括采样起始时间点和采样终止时间点。例如,“2015-04-1409:42:00---10:00:00”中的采样起始时间点为09:42:00,采样终止时间点为10:00:00。那么,结合表4,如果查询的数据仍然为步骤701中的2015-04-1409:30:00—11:00:00这个时间段的采集数据,那么需要查询在采样时间表中,采样起始时间点和采样终止时间点都在查询的时间段内的记录,比如,上述的采样起始时间点09:42:00和采样终止时间点10:00:00都在“09:30:00—11:00:00”这个时间段内,因此可以确定采样时间ID“2”是要找的数据对应的ID。同理可以确定其他采样时间标识。在确定采样时间标识之后,查找数据的方式与图7相同,不再详述。
在另一个例子中,云服务器接收到的数据访问请求中,请求查询的数据也可能不是类似步骤701中所述的时间段,如2015-04-1409:30:00—11:00:00,而可能是获取某个指定时刻点的所有监控项值,如,要读取2015-04-1410:00:00时刻的所有监控项值。
这种情况下,同样要先从采样时间表中,获取指定的时刻点对应的采样时间标识,并从各个监控项数据表中获取对应采样时间标识的数据,过程与图7的流程类似,不再详述。需要说明的是,当采样时间表中没有查询数据对应的指定时刻点时,可以获取小于该时间点且最接近该时间点的采样时间的标识。此外,在查询监控项数据表时,如果没有采样时间标识,并且没有小于该采样时间标识且最近的时间标识,则可能该监控项在查询的时刻点尚未进行过采样数据的保存,将该时刻点的数据确定为空即可。
上述的例子中列举了几种数据访问的应用,包括查询某个时间段的对于特定监控项数据的查询,或者在某个时刻点对于所有监控项数据的查询,也可以还有其他的应用场景,不再一一列举,比如,也可以查询某个监控项值,直接在指定的监控项数据表中获取所有值即可。
此外,在实际项目应用中,对于采样数据的查看,常常需要根据不同的监控项形成不同类型的统计图形,以实现更为直观的查看。这种情况下,本例子在监控项注册表(ItemRegister)中,为不同的监控项预留扩展字段,以保存用于建立统计图的类型信息,如下面的表5所示:
表5扩展型的监控项注册表
ID | 监控项 | 统计图呈现类型 | 统计图中所需值的转换算法 | ……… |
1 | A | 曲线图 | 转为百分比 | ……… |
2 | B | 曲线图 | 进行Log运算 | ……… |
3 | C | 散点图 | 无转换 | ……… |
该表5中扩展保存了监控项值要生成的统计图类型,以及监控项值要进行何种转换形成统计图中的对应值。这种扩展实现了通过采样监控项值形成对应统计图的高度灵活性,免去了程序中实现统计图的代码对每监控项个体特性的依赖。该扩展表还可由用户自定义加入新字段项,实现对监控项本身特性信息的记录,加大了代码对采样监控项处理的兼容性。
本申请例子中的数据访问方法,可以是云服务器执行,请参考图8,提供了一种服务器的框图,该服务器可以包括:处理器(processor)810,通信接口(CommunicationsInterface)820,存储器(memory)830,总线840。处理器810,通信接口820,存储器830通过总线840完成相互间的通信。通信接口820,可以用于与医疗设备通信,比如接收医疗设备发送的采集数据。处理器810,可以用于调用执行存储器830中存储的数据存储和访问逻辑指令,来执行本申请实施例的方法。
而上述的“数据存储和访问逻辑指令”,如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例将“数据存储和访问逻辑指令”可以称为“数据访问装置”,并且将该装置从逻辑上划分为各个模块。如图9所示,该装置可以包括:访问请求接收模块91、数据表获取模块92和目标数据获取模块93。
访问请求接收模块91,用于接收请求访问目标数据的数据访问请求,所述数据访问请求携带所述目标数据的归属设备的设备标识、以及所述目标数据的数据标识;
数据表获取模块92,用于根据所述设备标识,获取用于存储所述归属设备的采集数据的数据库文件,并在所述数据库文件中,获取用于存储所述数据标识对应的采集数据的监控项数据表;
目标数据获取模块93,用于由所述监控项数据表中获取所述目标数据。
进一步的,参见图10,数据表获取模块92,可以包括:
标识获取子模块921,用于在所述数据库文件的采样时间表中,获取所述采集时间信息对应的采样时间标识;
数据获取子模块922,用于在对应所述数据标识的监控项数据表中,获取所述采样时间标识对应的所述目标数据。
进一步的,目标数据获取模块93,用于在所述监控项数据表中不存在所述采样时间标识时,则将小于所述采样时间标识且最接近的采样时间标识对应的数据作为所述目标数据;在所述采样时间表中,随着采样时间的递进,所述采样时间标识递增。
进一步的,参见图11,该装置还可以包括:存储请求接收模块94、数据表查找模块95和目标数据存储模块96。
存储请求接收模块94,用于接收所述归属设备发送的请求存储所述目标数据的数据存储请求,所述数据存储请求携带所述目标数据的数据标识、以及所述归属设备的设备标识;
数据表查找模块95,用于根据所述设备标识,判断是否存在用于存储所述归属设备的采集数据的数据库文件;若判断结果为不存在所述数据库文件,则创建所述数据库文件;若判断结果为存在所述数据库文件,则在所述数据库文件中根据所述数据标识判断是否存在用于存储数据标识对应的采集数据的监控项数据表;若不存在所述监控项数据表,则创建所述监控项数据表;
目标数据存储模块96,用于将所述目标数据存储在所述监控项数据表中。
进一步的,数据表查找模块95可以包括:
注册判断子模块951,用于在所述数据库文件中的监控项注册表中,查找是否存在所述数据标识;若存在所述数据标识,则确定存在所述监控项数据表;
注册创建子模块952,用于在所述注册判断子模块的判断结果为不存在所述监控项数据表时,创建对应所述数据标识的监控项数据表,并将所述数据标识记录在所述监控项注册表。
进一步的,目标数据存储模块96可以包括:
标识记录子模块961,用于将所述数据存储请求中携带的数据采集时间,记录在所述数据库文件的采样时间表中,并设置对应所述数据采集时间的采样时间标识;
数据记录子模块962,用于在对应所述数据标识的所述监控项数据表中,记录所述采样时间标识及对应的所述目标数据。
进一步的,数据记录子模块962,用于将目标数据与监控数据表中的对应最后一个采样时间标识的数据进行比较;在确定两者不相等时,在所述最后一个采样时间标识之后增加记录所述采样时间标识及对应的所述目标数据。
进一步的,所述监控项数据表中,还记录对应所述数据标识的统计图生成信息,所述统计图生成信息用于依据生成对应数据标识的监控项统计图。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (17)
1.一种数据访问方法,其特征在于,包括:
接收请求访问目标数据的数据访问请求,所述数据访问请求携带所述目标数据的归属设备的设备标识、以及所述目标数据的数据标识;
根据所述设备标识,获取用于存储所述归属设备的采集数据的数据库文件;在所述数据库文件中,获取用于存储所述数据标识对应的采集数据的监控项数据表;
由所述监控项数据表中获取所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述数据访问请求还携带:所述目标数据的采集时间信息;
所述获取用于存储所述数据标识对应的采集数据的监控项数据表,包括:
在所述数据库文件的采样时间表中,获取所述采集时间信息对应的采样时间标识;
在对应所述数据标识的监控项数据表中,获取所述采样时间标识对应的所述目标数据。
3.根据权利要求2所述的方法,其特征在于,所述采集时间信息,包括:
采样时间点;
或者,包括采样起始时间点和采样终止时间点的采样时间段。
4.根据权利要求2所述的方法,其特征在于,所述获取所述采样时间标识对应的所述目标数据,包括:
若所述监控项数据表中,不存在所述采样时间标识,则将小于所述采样时间标识且最接近的采样时间标识对应的数据作为所述目标数据;
在所述采样时间表中,随着采样时间的递进,所述采样时间标识递增。
5.根据权利要求1~4任一所述的方法,其特征在于,在接收请求访问目标数据的数据访问请求之前,还包括:
接收所述归属设备发送的请求存储所述目标数据的数据存储请求,所述数据存储请求携带所述目标数据的数据标识、以及所述归属设备的设备标识;
根据所述设备标识,判断是否存在用于存储所述归属设备的采集数据的数据库文件;
若判断结果为不存在所述数据库文件,则创建所述数据库文件;
若判断结果为存在所述数据库文件,则在所述数据库文件中根据所述数据标识判断是否存在用于存储数据标识对应的采集数据的监控项数据表;若不存在所述监控项数据表,则创建所述监控项数据表;
将所述目标数据存储在所述监控项数据表中。
6.根据权利要求5所述的方法,其特征在于,所述在数据库文件中根据所述数据标识判断是否存在用于存储数据标识对应的采集数据的监控项数据表,若不存在所述监控项数据表,则创建所述监控项数据表;包括:
在所述数据库文件中的监控项注册表中,查找是否存在所述数据标识;
若存在所述数据标识,则确定存在所述监控项数据表;
否则,创建对应所述数据标识的监控项数据表,并将所述数据标识记录在所述监控项注册表。
7.根据权利要求5所述的方法,其特征在于,所述将所述目标数据存储在所述监控项数据表中,包括:
将所述数据存储请求中携带的数据采集时间,记录在所述数据库文件的采样时间表中,并设置对应所述数据采集时间的采样时间标识;
在对应所述数据标识的所述监控项数据表中,记录所述采样时间标识及对应的所述目标数据。
8.根据权利要求7所述的方法,其特征在于,所述记录所述采样时间标识及对应的所述目标数据,包括:
将所述目标数据与所述监控项数据表中的对应最后一个采样时间标识的数据进行比较;
在确定两者不相等时,在所述最后一个采样时间标识之后增加记录所述采样时间标识及对应的所述目标数据。
9.根据权利要求1所述的方法,其特征在于,所述监控项数据表中,还记录对应所述数据标识的统计图生成信息,所述统计图生成信息用于依据生成对应所述数据标识的监控项统计图。
10.一种数据访问装置,其特征在于,包括:
访问请求接收模块,用于接收请求访问目标数据的数据访问请求,所述数据访问请求携带所述目标数据的归属设备的设备标识、以及所述目标数据的数据标识;
数据表获取模块,用于根据所述设备标识,获取用于存储所述归属设备的采集数据的数据库文件,并在所述数据库文件中,获取用于存储所述数据标识对应的采集数据的监控项数据表;
目标数据获取模块,用于由所述监控项数据表中获取所述目标数据。
11.根据权利要求10所述的装置,其特征在于,所述数据访问请求还携带:所述目标数据的采集时间信息;
所述数据表获取模块,包括:
标识获取子模块,用于在所述数据库文件的采样时间表中,获取所述采集时间信息对应的采样时间标识;
数据获取子模块,用于在对应所述数据标识的监控项数据表中,获取所述采样时间标识对应的所述目标数据。
12.根据权利要求11所述的装置,其特征在于,
所述目标数据获取模块,用于在所述监控项数据表中不存在所述采样时间标识时,则将小于所述采样时间标识且最接近的采样时间标识对应的数据作为所述目标数据;在所述采样时间表中,随着采样时间的递进,所述采样时间标识递增。
13.根据权利要求10~12任一所述的装置,其特征在于,还包括:
存储请求接收模块,用于接收所述归属设备发送的请求存储所述目标数据的数据存储请求,所述数据存储请求携带所述目标数据的数据标识、以及所述归属设备的设备标识;
数据表查找模块,用于根据所述设备标识,判断是否存在用于存储所述归属设备的采集数据的数据库文件;若判断结果为不存在所述数据库文件,则创建所述数据库文件;若判断结果为存在所述数据库文件,则在所述数据库文件中根据所述数据标识判断是否存在用于存储数据标识对应的采集数据的监控项数据表;若不存在所述监控项数据表,则创建所述监控项数据表;
目标数据存储模块,用于将所述目标数据存储在所述监控项数据表中。
14.根据权利要求13所述的装置,其特征在于,
所述数据表查找模块,包括:
注册判断子模块,用于在所述数据库文件中的监控项注册表中,查找是否存在所述数据标识;若存在所述数据标识,则确定存在所述监控项数据表;
注册创建子模块,用于在所述注册判断子模块的判断结果为不存在所述监控项数据表时,创建对应所述数据标识的监控项数据表,并将所述数据标识记录在所述监控项注册表。
15.根据权利要求13所述的装置,其特征在于,
所述目标数据存储模块,包括:
标识记录子模块,用于将所述数据存储请求中携带的数据采集时间,记录在所述数据库文件的采样时间表中,并设置对应所述数据采集时间的采样时间标识;
数据记录子模块,用于在对应所述数据标识的所述监控项数据表中,记录所述采样时间标识及对应的所述目标数据。
16.根据权利要求15所述的装置,其特征在于,
所述数据记录子模块,用于将所述目标数据与所述监控数据表中的对应最后一个采样时间标识的数据进行比较;在确定两者不相等时,在所述最后一个采样时间标识之后增加记录所述采样时间标识及对应的所述目标数据。
17.根据权利要求10所述的装置,其特征在于,所述监控项数据表中,还记录对应所述数据标识的统计图生成信息,所述统计图生成信息用于依据生成对应所述数据标识的监控项统计图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510618495.9A CN105224636A (zh) | 2015-09-24 | 2015-09-24 | 一种数据访问方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510618495.9A CN105224636A (zh) | 2015-09-24 | 2015-09-24 | 一种数据访问方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105224636A true CN105224636A (zh) | 2016-01-06 |
Family
ID=54993604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510618495.9A Pending CN105224636A (zh) | 2015-09-24 | 2015-09-24 | 一种数据访问方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105224636A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868071A (zh) * | 2016-03-23 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 监测数据的处理方法及装置 |
CN106022615A (zh) * | 2016-05-23 | 2016-10-12 | 成都镜杰科技有限责任公司 | 基于云计算的企业资源管理方法 |
CN106886372A (zh) * | 2017-02-21 | 2017-06-23 | 深圳实现创新科技有限公司 | 安防监控的大数据管理方法及装置 |
CN107103003A (zh) * | 2016-02-23 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 获取链路中数据的方法、获取设备、处理设备和系统 |
CN109246235A (zh) * | 2018-09-30 | 2019-01-18 | 广州圣亚科技有限公司 | 监测数据的接收方法、装置和数据监测系统 |
CN109308305A (zh) * | 2018-09-30 | 2019-02-05 | 广州圣亚科技有限公司 | 监测数据的查询方法、装置和计算机设备 |
CN109408508A (zh) * | 2018-09-30 | 2019-03-01 | 广州恩业电子科技有限公司 | 监测数据的存储和查询方法、装置和计算机设备 |
CN109800270A (zh) * | 2019-01-22 | 2019-05-24 | 青岛聚好联科技有限公司 | 一种数据存储和查询的方法及物联网系统 |
CN110012063A (zh) * | 2019-02-22 | 2019-07-12 | 视联动力信息技术股份有限公司 | 一种数据包的处理方法和系统 |
CN110689953A (zh) * | 2019-09-03 | 2020-01-14 | 东软医疗系统股份有限公司 | 数据存储方法及装置、数据查找方法及装置、电子设备 |
CN111556097A (zh) * | 2020-04-07 | 2020-08-18 | 深圳市海洋王照明工程有限公司 | 一种数据传输方法、采集站、采集终端及数据采集系统 |
CN112818004A (zh) * | 2021-01-21 | 2021-05-18 | 杭州海康威视数字技术股份有限公司 | 数据存储方法、查询方法及电子设备 |
CN114880352A (zh) * | 2022-06-08 | 2022-08-09 | 北京声智科技有限公司 | 数据查询方法、装置、服务器及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375449A (zh) * | 2011-10-18 | 2012-03-14 | 靳其兵 | 基于工控领域的数据库优化存储及查询方法 |
CN202854794U (zh) * | 2012-06-21 | 2013-04-03 | 深圳市谷米科技有限公司 | 海量数据存储器 |
-
2015
- 2015-09-24 CN CN201510618495.9A patent/CN105224636A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375449A (zh) * | 2011-10-18 | 2012-03-14 | 靳其兵 | 基于工控领域的数据库优化存储及查询方法 |
CN202854794U (zh) * | 2012-06-21 | 2013-04-03 | 深圳市谷米科技有限公司 | 海量数据存储器 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103003A (zh) * | 2016-02-23 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 获取链路中数据的方法、获取设备、处理设备和系统 |
CN107103003B (zh) * | 2016-02-23 | 2021-03-26 | 创新先进技术有限公司 | 获取链路中数据的方法、获取设备、处理设备和系统 |
CN105868071A (zh) * | 2016-03-23 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 监测数据的处理方法及装置 |
CN106022615B (zh) * | 2016-05-23 | 2020-05-19 | 上海中传网络技术股份有限公司 | 基于云计算的企业资源管理方法 |
CN106022615A (zh) * | 2016-05-23 | 2016-10-12 | 成都镜杰科技有限责任公司 | 基于云计算的企业资源管理方法 |
CN106886372A (zh) * | 2017-02-21 | 2017-06-23 | 深圳实现创新科技有限公司 | 安防监控的大数据管理方法及装置 |
CN109246235A (zh) * | 2018-09-30 | 2019-01-18 | 广州圣亚科技有限公司 | 监测数据的接收方法、装置和数据监测系统 |
CN109308305A (zh) * | 2018-09-30 | 2019-02-05 | 广州圣亚科技有限公司 | 监测数据的查询方法、装置和计算机设备 |
CN109408508A (zh) * | 2018-09-30 | 2019-03-01 | 广州恩业电子科技有限公司 | 监测数据的存储和查询方法、装置和计算机设备 |
CN109308305B (zh) * | 2018-09-30 | 2021-06-08 | 广州圣亚科技有限公司 | 监测数据的查询方法、装置和计算机设备 |
CN109800270B (zh) * | 2019-01-22 | 2020-12-04 | 青岛聚好联科技有限公司 | 一种数据存储和查询的方法及物联网系统 |
CN109800270A (zh) * | 2019-01-22 | 2019-05-24 | 青岛聚好联科技有限公司 | 一种数据存储和查询的方法及物联网系统 |
CN110012063A (zh) * | 2019-02-22 | 2019-07-12 | 视联动力信息技术股份有限公司 | 一种数据包的处理方法和系统 |
CN110689953A (zh) * | 2019-09-03 | 2020-01-14 | 东软医疗系统股份有限公司 | 数据存储方法及装置、数据查找方法及装置、电子设备 |
CN111556097A (zh) * | 2020-04-07 | 2020-08-18 | 深圳市海洋王照明工程有限公司 | 一种数据传输方法、采集站、采集终端及数据采集系统 |
CN111556097B (zh) * | 2020-04-07 | 2023-08-08 | 深圳市海洋王铁路照明技术有限公司 | 一种数据传输方法、采集站、采集终端及数据采集系统 |
CN112818004A (zh) * | 2021-01-21 | 2021-05-18 | 杭州海康威视数字技术股份有限公司 | 数据存储方法、查询方法及电子设备 |
CN114880352A (zh) * | 2022-06-08 | 2022-08-09 | 北京声智科技有限公司 | 数据查询方法、装置、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105224636A (zh) | 一种数据访问方法和装置 | |
US10367827B2 (en) | Using network locations obtained from multiple threat lists to evaluate network data or machine data | |
US9251157B2 (en) | Enterprise node rank engine | |
CN111459985B (zh) | 标识信息处理方法及装置 | |
US9262454B2 (en) | Web page retrieval method and device | |
Baumgarten et al. | User-driven navigation pattern discovery from internet data | |
CN111190792B (zh) | 一种日志存储的方法、装置、电子设备及可读存储介质 | |
EP3432520A1 (en) | Efficient storage and querying of time series metrics | |
US10901811B2 (en) | Creating alerts associated with a data storage system based on natural language requests | |
US20140019454A1 (en) | Systems and Methods for Caching Data Object Identifiers | |
Sujatha | Improved user navigation pattern prediction technique from web log data | |
CN104636368A (zh) | 数据检索方法、装置及服务器 | |
CN111371757B (zh) | 恶意通信检测方法、装置、计算机设备和存储介质 | |
US20160321345A1 (en) | Chain understanding in search | |
CN114385821A (zh) | 资源检索方法和装置、存储介质及电子设备 | |
US20200104188A1 (en) | Resegmenting chunks of data for efficient load balancing across indexers | |
CN111552684A (zh) | 异常数据定位方法、装置、计算机设备和存储介质 | |
CN107545039B (zh) | 关键词的指数获取方法和装置、计算机设备和存储介质 | |
CN104424316A (zh) | 一种数据存储方法、数据查询方法、相关装置和系统 | |
CN103605744A (zh) | 网站搜索引擎流量数据的分析方法及装置 | |
US9430521B2 (en) | Query expansion through searching content identifiers | |
CN117093556A (zh) | 日志分类方法、装置、计算机设备及计算机可读存储介质 | |
CN110442614B (zh) | 元数据的搜索方法及装置、电子设备、存储介质 | |
Langhnoja et al. | Web usage mining to discover visitor group with common behavior using DBSCAN clustering algorithm | |
KR20050070955A (ko) | 과학기술 정보분석 방법 및 그 방법에 대한 컴퓨터프로그램을 저장한 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160106 |
|
RJ01 | Rejection of invention patent application after publication |