CN112799608B - 血糖数据的存储方法、系统和电子设备 - Google Patents
血糖数据的存储方法、系统和电子设备 Download PDFInfo
- Publication number
- CN112799608B CN112799608B CN202110392455.2A CN202110392455A CN112799608B CN 112799608 B CN112799608 B CN 112799608B CN 202110392455 A CN202110392455 A CN 202110392455A CN 112799608 B CN112799608 B CN 112799608B
- Authority
- CN
- China
- Prior art keywords
- data
- blood glucose
- cache region
- blood sugar
- glucose data
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Primary Health Care (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Epidemiology (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本公开提供一种血糖数据的存储方法、系统和电子设备,包括以下步骤,响应血糖检测仪发送的存储请求,并获取血糖检测仪上传的血糖数据;将所述血糖数据存入预先设置的缓存区,并向血糖检测仪返回与所述存储请求对应的请求结果;从所述缓存区中获取所述血糖数据并放入消息队列;通过消费者线程从所述消息队列中消费所述血糖数据,并将所述血糖数据写入数据库。通过延时方式,将血糖数据先存入缓存区,从缓存区中获取血糖数据上传到存储器,避免了数据量过大,存储器响应慢,无法上传血糖数据的情况。
Description
技术领域
本公开涉及医疗信息化领域,尤其涉及一种血糖数据的存储方法、系统和电子设备。
背景技术
根据糖尿病最新流行病学数据发布,2017年中国大陆糖尿病患者总人数估计为1.298亿,成为全球糖尿病患病率增长最快的国家之一。因此,糖尿病在中国是一个重要的健康问题,需要持续监测和有效控制。无论是医院内还是居家环境中,需要增加血糖检测仪,多方面进行血糖检测。血糖检测仪在无网络环境时会将血糖检测数据临时保存在设备中,当血糖检测仪联网时内置的上传服务将保存的临时数据上传到存储器。在现有技术中,当血糖检测仪较多,数据量较大时,容易出现存储器响应慢,血糖数据上传请求超时等问题。
发明内容
有鉴于此,本公开的目的在于提出一种血糖数据的存储方法、系统和电子设备。
基于上述目的,本公开提供了一种血糖数据的存储方法,包括:
响应血糖检测仪发送的存储请求,并获取血糖检测仪上传的血糖数据;
将所述血糖数据存入预先设置的缓存区,并向血糖检测仪返回与所述存储请求对应的请求结果;
从所述缓存区中获取所述血糖数据并放入消息队列;
通过消费者线程从所述消息队列中消费所述血糖数据,并将所述血糖数据写入数据库。
基于同一发明构思,本公开还提供了一种血糖数据的存储系统,包括:
获取模块,用于响应血糖检测仪发送的存储请求,并获取血糖检测仪上传的血糖数据;
暂存模块,用于将所述血糖数据存入预先设置的缓存区,并向血糖检测仪返回与所述存储请求对应的请求结果;
上传模块,用于从所述缓存区中获取所述血糖数据并放入消息队列;
存储模块,用于通过消费者线程从所述消息队列中消费所述血糖数据,并将所述血糖数据写入数据库。
基于同一发明构思,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的方法。
从上面所述可以看出,本公开提供的血糖数据的存储方法,当血糖检测仪将血糖数据上传到存储器时,通过延时方式,将血糖数据先存入缓存区,从缓存区中获取血糖数据上传到存储器,避免了数据量过大,存储器响应慢,无法上传血糖数据的情况。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例的应用场景示意图;
图2为本公开实施例的血糖数据的存储方法流程图;
图3为本公开实施例的血糖数据的存储系统结构示意图;
图4为本公开实施例的电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
发明概述
如背景技术部分所述,在相关技术中,在医院或者家居环境中使用血糖检测仪时,通常需要断网移动使用,当血糖仪联网时内置的上传服务将保存的血糖数据上传到存储器,当血糖检测仪较多,血糖数据量积攒较大时,血糖数据的上传容易出现存储器响应慢,血糖数据上传请求超时等问题。
针对上述现有技术存在的问题,本公开实施例提供了一种血糖数据的存储解决方案,当血糖检测仪将血糖数据上传到存储器时,通过延时方式,将血糖数据先存入缓存区,从缓存区中获取血糖数据上传到存储器,避免了数据量过大,存储器响应慢,无法上传血糖数据的情况。在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
应用场景介绍
参照图1,其为本公开提供的血糖数据的存储方法的应用场景示意图.该应用场景包括终端设备101、服务器102、和数据存储系统103。其中,终端设备101、服务器102以及数据存储系统103之间均可通过有线或无线的通信网络连接。终端设备101包括但不限于医院的血糖检测仪、居家环境下的的血糖检测仪或其他能够实现上述功能的电子设备等。服务器102和数据存储系统103均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
服务器102提供缓存区,用于暂时存放血糖数据,终端设备101请求将血糖数据存储到服务器102上,血糖数据通过通讯网络上传到服务器102上,服务器102向终端设备101返回与存储请求对应的请求结果,写入服务从服务器102中获取血糖数据存储到数据存储系统103中,从服务器10中获取血糖数据并放入消息队列,通过消费者线程从消息队列中消费血糖数据,并将血糖数据写入数据存储系统103。
数据存储系统103存储血糖数据和患者个人信息,将血糖数据和患者个人信息进行匹配。本公开可以用于医院、居家环境情况下,血糖检测仪联网上传血糖数据。数据量较大时,提升程序的响应能力和稳定性。
下面结合图1的应用场景,来描述根据本申请示例性实施方式的血糖数据的存储方法。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。实例性方法
在一些实施例中,提供了一种血糖数据的存储方法。参照图2,所述血糖数据的存储方法,包括以下步骤:
步骤S201、响应血糖检测仪发送的存储请求,并获取血糖检测仪上传的血糖数据。
本实施例中,血糖检测仪请求上传血糖数据,并且获取血糖检测仪上传的血糖数据。其中,血糖检测仪请求webAPI上传血糖数据,webAPI是浏览器提供的一系列用于操作浏览器和网页元素的方法。
使用webAPI上传数据,简单通用,能够节省流量,提高数据传输速度,适合构建移动客户端服务,血糖检测仪联网即可上传数据,移动性较好。
步骤S202、将所述血糖数据存入预先设置的缓存区,并向血糖检测仪返回与所述存储请求对应的请求结果。
本实施例中,先将血糖数据存入预先设置的缓存区,其中,缓存区可以为一个大的存储器,划分不同存储分类。可以为多个存储设备,缓存区可以使用Redis数据库,也可以使用其他数据库,血糖数据存入缓存区后,返回与上传请求对应的请求结果,例如血糖数据上传成功或血糖数据上传失败。
当血糖检测仪联网时,血糖仪联网时内置的上传服务将保存的血糖数据上传到存储器,血糖数据量积攒较大时,使用缓存区暂存数据,减少了对数据库的读写操作,数据库的压力降低,减小了数据存储压力,避免了程序响应慢和请求超时的问题,血糖数据上传到缓存区后,直接向血糖检测仪返回与上传请求对应的请求结果,减少了响应时间,防止由于血糖检测仪等待请求结果,出现数据上传慢的问题。
本实施例中,缓存区设置有多个,每个缓存区设置有对应预定的暴露权值。暴露权值根据设备的内存、主板和CPU情况等硬件配置预先确定,内存大和CPU运行速度快的情况下,暴露权值设置较大,,获取该缓存区的可能性就越高。假设希望抽到A缓存区的概率是50%,抽到B缓存区和C缓存区的概率是20%,D缓存区的概率是10%,可以给各缓存区附一个权值,抽取的概率正比于这个权值。
使用多缓存区,提高了存储的灵活性,如果一个缓存区存储失败,仍然可以使用缓存。减少了对数据库的读写操作,数据库的压力降低,加快了响应速度。同时,根据硬件配置,设置暴露权值,硬件配置高,运行速度较快,保证硬件配置高的缓存区使用机率大,进一步提高响应速度,增加血糖数据传输量,提高血糖数据传输速率。
在此基础上,当血糖数据上传至缓存区时,需要从多个缓存区中获取第一目标缓存区,将血糖数据上传到第一目标缓存区。第一目标缓存区通过轮询服务获取。如果当前缓存区存在容量上限配置并到达上限时暂时不会提供存储空间,继续获取其他缓存区。其中,轮询服务按照设定时间循环执行获取缓存区中的第一目标缓存区的操作。
本实施例中,每个缓存区都设置计数器,计数器的值用以记录缓存区存储的血糖数据量。
此外,不同缓存区的存储容量是不同的,一开始获取第一目标缓存区根据固定暴露权值,随着血糖数据的存储方法的使用,如果继续按照原来权值进行处理,按照固定暴露权值获取缓存区无法满足血糖数据高效存储,会出现其余缓存区使用率不高,其余缓存区利用率低,血糖数据存取效率变低的问题。向缓存区中存储数据时,当缓存区中血糖数据过多,即计数器数值超过设定第一阈值时,可以动态降低缓存区的暴露权值,减小该缓存区的获取机率,动态调整该缓存区的数据存放速度。
在此基础上,动态降低缓存区的暴露权值,首先获取缓存区计数器的值,当计数器的值大于预设的第一存储阈值,减小缓存区对应的暴露权值。其中,第一存储阈值为缓存区容量上限的2/3或3/4。根据公式C=C’*(s/q)减少暴露权值。其中,C表示减小后的暴露权值,C’表示原暴露权值,s表示存储区的可用容量,q表示存储区的容量上限。
步骤S203、从所述缓存区中获取所述血糖数据并放入消息队列。
本实施例中,通过消息队列进行数据的传输,消息队列是分布式系统中重要的组件,使用消息队列主要是为了通过异步处理提高系统性能和削峰、降低系统耦合性。消息队列是在消息的传输过程中保存消息的容器,队列的主要目的是提供路由并保证消息的传递。如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。应用程序通过读写出入队列的消息来通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。消息队列的使用避免了接收和发送应用程序同时执行的问题。消息队列中有生产者发布消息,一个或多个消费者订阅消息。其中,把数据放到消息队列叫做生产者,从消息队列里获取数据叫做消费者。
消息队列可以实现分布式部署。缓存区不局限某个特定的区域和地点,提高血糖数据传输的效率。轻松联合多个可用的缓存区,从缓存区中获取血糖数据。
具体的,作为一个可选的方式,消息队列可以为RabbitMQ消息队列,RabbitMQ 是一个由 Erlang 语言开发的高级消息队列协议的开源实现。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。另外,从缓存区中获取血糖数据,需要从多缓存区中,获取第二目标缓存区,第二目标缓存的的获取,也是根据暴露权值,通过轮询服务获取。
在此基础上,根据暴露权值,从缓存区中确定第二目标缓存区,从第二目标缓存区获取血糖数据后,需要根据RabbitMQ消息队列协议对所述血糖数据进行封装,并将封装后的所述血糖数据放入所述消息队列。其中,RabbitMQ消息队列以来发布-订阅模式,发布者为轮询服务,负责把数据给交换机,交换机会把数据放入绑定的队列中,队列又绑定了多个消费者,消费者为数据写入服务。
RabbitMQ消息队列使用发布-订阅模式,发布者与消费者松之间无密切关系,发布者和订阅者可以对系统拓扑结构保持一无所知。各自继续正常操作而无需顾及对方。防止出现当服务器进程不运行时,客户端无法发送消息给服务器,服务器也无法在客户端不运行时接收消息的问题,提高数据上传效率。
另外,当从缓存区中确定第二目标缓存区时,随着血糖数据的存储方法的使用,血糖数据放入RabbitMQ消息队列,缓存区内血糖数据数据量变少,即计数器数值低于设定第二阈值时,可以增加缓存区的暴露权值,增大该缓存区的获取机率,动态调整该缓存区的数据存放速度。在此基础上,缓存区中血糖数据量较少,增大缓存区的暴露权值,首先获取缓存区计数器的值,当计数器的值小于预设的第二存储阈值,减小缓存区对应的暴露权值。其中,第二存储阈值为缓存区容量上限的1/3或1/4。当计数器的值达到第二存储阈值时,将暴露权值增加30%或50%。
根据缓存区内数据量,动态调整暴露权值,提高每个缓存区的使用频率,保证数据传输速率,避免高暴露权值缓存区数据过多,低暴露权值缓存区利用率低出现缓存区空余情况,增加了数据传输效率。
本实施例中,通过轮询服务,循环获取缓存区,获取确定出的第二目标缓存区的计数器的值,判断计数器的值是否为0,如果不为0,从第二缓存区中获取血糖数据,如果为0,则不获取血糖数据,从其他全部缓存区中重新确定第二缓存区。
步骤204、通过消费者线程从所述消息队列中消费所述血糖数据,并将所述血糖数据写入数据库。
另外,消费者为独立数据写入服务,可设置任意数量。消费者一次可获取消息队列中一条到五条消息,根据计数器的值,确定获取血糖数据条数,计数器的值大于0小于缓存区容量上限的1/5,可获取一条血糖数据;计数器的值大于缓存区容量上限的1/5小于缓存区容量上限的2/5,可获取两条血糖数据;计数器的值大于缓存区容量上限的2/5小于缓存区容量上限的3/5,可获取三条血糖数据;计数器的值大于缓存区容量上限的3/5小于缓存区容量上限的4/5,可获取四条血糖数据;计数器的值大于缓存区容量上限的4/5,可获取五条数据。获取数据条数可以根据需要进行设置。
消费者可以设置多个,多消费者同步进行数据获取,提高数据存储效率。本实施例中,当监测到异常事件,生成异常事件通知,并将所述异常事件通知发送至预定的目标终端;其中,所述异常事件包括如下中的至少一项:血糖数据存入所述缓存区失败、所述消息队列发布消息失败、所述消费者线程写入所述数据库失败。目标终端可以为管理员的电脑、管理员的手机、管理员的手持设备、统计异常数据的服务器或血糖检测仪等。
管理员得知异常发生,可以直接通过目标终端进行管理,问题处理及时,避免出现数据堆积,数据无法存储的问题。
本实施例中,存储血糖数据时出现无缓存区或所有缓存区均达到容量上限,将存储方式改为现有直接存储方式,同时,通过邮件通知管理员,更改缓存区的容量上限。
存储血糖数据时出现无缓存区或所有缓存区均达到容量上限,直接转换为现有的数据存储方式,直接将血糖数据写入数据库,万一出现这种情况,数据有其他方式可以进行存储。
另外,上述说明为本公开一种实施方式,管理员可以手动设置接收到异常邮件或联网血糖检测仪较少时,使用现有数据存储方式,当血糖仪联网时内置的上传服务将保存的临时数据直接上传到服务器,不需要上传缓存区直接进行数据存储,防止数据丢失,提高数据传输速率。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种血糖数据的存储系统。
参考图3,所述血糖数据的存储系统,包括:
获取模块301,用于响应血糖检测仪发送的存储请求,并获取血糖检测仪上传的血糖数据;
暂存模块302,用于将所述血糖数据存入预先设置的缓存区,并向血糖检测仪返回与所述存储请求对应的请求结果;
上传模块 303,用于从所述缓存区中获取所述血糖数据并放入消息队列;
存储模块304,用于通过消费者线程从所述消息队列中消费所述血糖数据,并将所述血糖数据写入数据库。
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的系统用于实现前述任一实施例中相应的血糖数据的存储方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的血糖数据的存储方法。
图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线 1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的血糖数据的存储方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (8)
1.一种血糖数据的存储方法,包括:
响应血糖检测仪发送的存储请求,并获取血糖检测仪上传的血糖数据;
将所述血糖数据存入预先设置的缓存区,并向血糖检测仪返回与所述存储请求对应的请求结果;
其中,所述缓存区设置有多个,每个所述缓存区均对应有预定的暴露权值;每个所述缓存区均设置有计数器;所述计数器的值用于表示相应的所述缓存区存储有的数据量;
其中,所述将所述血糖数据存入预先设置的缓存区,具体包括:
根据所述暴露权值,从多个所述缓存区中确定第一目标缓存区;其中,所述暴露权值越大,所述缓存区确定为所述第一目标缓存区的可能性越高;
将所述血糖数据存入所述第一目标缓存区;
其中,所述将所述血糖数据存入预先设置的缓存区,还包括:
获取所述缓存区的计数器的值;
响应于确定所述计数器的值大于预设的第一存储阈值,
根据如下公式减小所述暴露权值:
C=C’*(s/q)
其中,C表示减小后的暴露权值,C’表示原暴露权值,s表示存储区的可用容量,q表示存储区的容量上限;
从所述缓存区中获取所述血糖数据并放入消息队列;
通过消费者线程从所述消息队列中消费所述血糖数据,并将所述血糖数据写入数据库。
2.根据权利要求1所述的方法,其中,所述从所述缓存区中获取所述血糖数据并放入消息队列,具体包括:
根据所述暴露权值,从多个所述缓存区中确定第二目标缓存区;
从所述第二目标缓存区中获取所述血糖数据并放入消息队列。
3.根据权利要求1所述的方法,其中,所述从所述缓存区中获取所述血糖数据并放入消息队列,具体包括:
获取所述缓存区的计数器的值;
响应于确定所述计数器的值小于预设的第二存储阈值,按照预定的比例,增大所述缓存区对应的所述暴露权值。
4.根据权利要求2所述的方法,
所述根据所述暴露权值,从多个所述缓存区中确定第二目标缓存区,之后还包括:
获取确定出的所述第二目标缓存区的计数器的值;
响应于确定所述计数器的值为0,从其他全部所述缓存区中重新确定第二目标缓存区。
5.根据权利要求1所述的方法,其中,所述消息队列为RabbitMQ;
所述从所述缓存区中获取所述血糖数据并放入消息队列,具体包括:
根据RabbitMQ消息队列协议对所述血糖数据进行封装,并将封装后的所述血糖数据放入所述消息队列。
6.根据权利要求1所述的方法,还包括:
响应于监测到异常事件,生成异常事件通知,并将所述异常事件通知发送至预定的目标终端;其中,所述异常事件包括如下中的至少一项:血糖数据存入所述缓存区失败、所述消息队列发布消息失败、所述消费者线程写入所述数据库失败。
7.一种血糖数据的存储系统,包括:
获取模块,用于响应血糖检测仪发送的存储请求,并获取血糖检测仪上传的血糖数据;
暂存模块,用于将所述血糖数据存入预先设置的缓存区,并向血糖检测仪返回与所述存储请求对应的请求结果;
其中,所述缓存区设置有多个,每个所述缓存区均对应有预定的暴露权值;每个所述缓存区均设置有计数器;所述计数器的值用于表示相应的所述缓存区存储有的数据量;
其中,所述暂存模块进一步包括:
目标确定模块,用于根据所述暴露权值,从多个所述缓存区中确定第一目标缓存区;其中,所述暴露权值越大,所述缓存区确定为所述第一目标缓存区的可能性越高;
缓存录入模块,用于将所述血糖数据存入所述第一目标缓存区;
所述暂存模块还包括:
第二获取模块,用于获取所述缓存区的计数器的值;
权值计算模块,用于响应于确定所述计数器的值大于预设的第一存储阈值,
根据如下公式减小所述暴露权值:
C=C’*(s/q)
其中,C表示减小后的暴露权值,C’表示原暴露权值,s表示存储区的可用容量,q表示存储区的容量上限;
上传模块,用于从所述缓存区中获取所述血糖数据并放入消息队列;
存储模块,用于通过消费者线程从所述消息队列中消费所述血糖数据,并将所述血糖数据写入数据库。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至6任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110392455.2A CN112799608B (zh) | 2021-04-13 | 2021-04-13 | 血糖数据的存储方法、系统和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110392455.2A CN112799608B (zh) | 2021-04-13 | 2021-04-13 | 血糖数据的存储方法、系统和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112799608A CN112799608A (zh) | 2021-05-14 |
CN112799608B true CN112799608B (zh) | 2021-08-03 |
Family
ID=75816895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110392455.2A Active CN112799608B (zh) | 2021-04-13 | 2021-04-13 | 血糖数据的存储方法、系统和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799608B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487037A (zh) * | 2020-12-08 | 2021-03-12 | 平安国际智慧城市科技股份有限公司 | 缓存数据的处理方法、装置、计算机设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8725291B2 (en) * | 2010-09-13 | 2014-05-13 | Ipcomm | Method and apparatus for remote monitoring of daily dispensing of medication |
CN103442081A (zh) * | 2013-09-09 | 2013-12-11 | 王绍兰 | 健康数据收集系统、健康基站和健康数据接入服务器 |
CN107463468A (zh) * | 2016-06-02 | 2017-12-12 | 北京京东尚科信息技术有限公司 | 缓存管理方法及其设备 |
CN107704591A (zh) * | 2017-10-12 | 2018-02-16 | 西南财经大学 | 一种基于云计算非数据库架构的智能可穿戴设备的数据处理方法 |
CN108053863B (zh) * | 2017-12-22 | 2020-09-11 | 中国人民解放军第三军医大学第一附属医院 | 适合大小文件的海量医疗数据存储系统及数据存储方法 |
CN111419216A (zh) * | 2020-04-09 | 2020-07-17 | 苏州维伟思医疗科技有限公司 | 心电数据传输系统及方法 |
-
2021
- 2021-04-13 CN CN202110392455.2A patent/CN112799608B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487037A (zh) * | 2020-12-08 | 2021-03-12 | 平安国际智慧城市科技股份有限公司 | 缓存数据的处理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112799608A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20220062101A (ko) | 정보 송신 방법, 장치, 판독 가능한 매체 및 전자 장치 | |
US20150309809A1 (en) | Electronic device and method of linking a task thereof | |
CN112965879A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN112433920A (zh) | 一种埋点数据上报方法、装置、设备及介质 | |
CN110881224B (zh) | 一种网络长连接方法、装置、设备及存储介质 | |
CN109032693A (zh) | 一种加载展示信息方法、装置、电子设备及可读存储介质 | |
CN112799608B (zh) | 血糖数据的存储方法、系统和电子设备 | |
CN109391658B (zh) | 一种账号数据同步方法及其设备、存储介质、终端 | |
CN112650804A (zh) | 大数据接入方法、装置、系统及存储介质 | |
CN106095886B (zh) | 一种数据处理方法及其装置 | |
CN108289165B (zh) | 一种基于手机控制相机的实现方法、装置及终端设备 | |
CN110730109A (zh) | 用于生成信息的方法和装置 | |
CN115426375A (zh) | 一种数据处理方法和数据处理系统 | |
CN113518431B (zh) | 通信处理方法、终端、装置及存储介质 | |
CN107977418A (zh) | 一种截屏图片管理方法、截屏图片管理装置及移动终端 | |
CN113852450A (zh) | 一种消息推送反馈方法、装置、电子设备和存储介质 | |
CN111813621A (zh) | 基于Flume数据中台的数据处理方法、装置、设备及介质 | |
CN112651212A (zh) | 一种远程获取字库的方法及终端 | |
CN111092817A (zh) | 一种数据传输方法及装置 | |
CN112185494B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN113672567B (zh) | 文件构建方法、装置、电子设备和计算机可读介质 | |
CN111314189B (zh) | 一种业务消息的发送方法及装置 | |
CN116820354B (zh) | 数据存储方法、数据存储装置和数据存储系统 | |
CN108491241A (zh) | 控制方法和电子设备 | |
CN113472565B (zh) | 服务器功能的扩容方法、装置、设备和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Storage methods, systems, and electronic devices for blood glucose data Effective date of registration: 20230608 Granted publication date: 20210803 Pledgee: Beijing first financing Company limited by guarantee Pledgor: BEIJING SINOMEDISITE BIO-TECH Co.,Ltd. Registration number: Y2023980043328 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |