CN112035437B - 病案数据的传输方法、装置、计算机设备及存储介质 - Google Patents
病案数据的传输方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112035437B CN112035437B CN202010897780.XA CN202010897780A CN112035437B CN 112035437 B CN112035437 B CN 112035437B CN 202010897780 A CN202010897780 A CN 202010897780A CN 112035437 B CN112035437 B CN 112035437B
- Authority
- CN
- China
- Prior art keywords
- data
- medical records
- medical
- message queue
- redis
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000005540 biological transmission Effects 0.000 title claims abstract description 34
- 238000003062 neural network model Methods 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 3
- 201000010099 disease Diseases 0.000 claims description 3
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 3
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数字医疗领域,公开了一种病案数据的传输方法,包括以下步骤:获取到病案数据时,利用神经网络模型识别所述病案数据的内容信息对应的第一特征值;检测是否存在与所述第一特征值相同的第二特征值;当检测到不存在与所述第一特征值相同的第二特征值时,根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列;在数据上传服务启动时,从所述消息队列中确定目标消息队列;将所述目标消息队列中的病案数据传输至服务器。本申请还公开了一种病案数据的传输装置、计算机设备以及计算机可读存储介质。本申请提高了本地存储的病案数据上传至服务器的效率。
Description
技术领域
本申请涉及数字医疗领域领域,尤其涉及一种病案数据的传输方法、病案数据的传输装置、计算机设备以及计算机可读存储介质。
背景技术
目前,针对医疗综合支付项目,需要一些医院数据系统向其他医院数据系统提供病案上传接口,以上传病案数据供其他医院使用。
现有医院数据系统数据库的业务逻辑处理流程中,对病案上传处理的步骤极长,期间需要跨越多个数据库模块,并且每个模块中都有相应的数据库操作,随着需要上传的病案量的增加,操作数据库需要的时间也越来越长,病案数据上传的速度也就越来越慢了。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请的主要目的在于提供一种病案数据的传输方法、病案数据的传输装置、计算机设备以及计算机可读存储介质,旨在解决本地存储的病案数据上传速度慢的问题。
为实现上述目的,本申请提供一种病案数据的传输方法,所述病案数据的传输方法包括以下步骤:
获取到病案数据时,利用神经网络模型识别所述病案数据的内容信息对应的第一特征值;
检测是否存在与所述第一特征值相同的第二特征值,其中,所述第二特征值为所述神经网络模型识别有在Redis中缓存的病案数据的内容信息得到的;
当检测到不存在与所述第一特征值相同的第二特征值时,根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列;
在数据上传服务启动时,从所述消息队列中确定目标消息队列;
将所述目标消息队列中的病案数据传输至服务器。
进一步地,所述将所述目标消息队列中的病案数据传输至服务器的步骤包括:
将所述目标消息队列中的病案数据上传至区块链节点,以通过所述区块链节点将所述病案数据传输至所述服务器。
进一步地,所述将所述目标消息队列中的病案数据传输至服务器的步骤包括:
根据所述服务器用于接收数据的空闲线程数,对所述目标消息队列进行分批处理并逐批获取;
将获取到的目标消息队列中的病案数据传输至所述服务器。
进一步地,所述将所述目标消息队列中的病案数据上传至服务器的步骤之后,还包括:
将上传至所述服务器的病案数据从Redis移存至数据库中。
进一步地,所述根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列的步骤之后,还包括:
检测到预设条件满足时,将Redis中缓存的病案数据作为目标病案数据,并将所述目标病案数据移存至所述数据库中;
在数据上传服务启动时,将所述数据库中的目标病案数据移存至Redis中,并根据所述目标病案数据对应的数据库操作,将所述目标病案数据缓存到与所述数据库操作对应的消息队列中。
进一步地,所述预设条件包括以下至少一个:
Redis的剩余存储空间小于预设阈值;
当前时间点位于预设间隔时段内;
Redis缓存的病案数据的数量大于预设数量。
进一步地,所述病案数据的传输方法还包括:
获取到病案数据时,根据所述病案数据的属性信息检测Redis的缓存记录中是否存在相同的属性信息,所述属性信息包括名称、数据大小、病案字数和病案文档页数;
若否,执行所述根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列的步骤;
若是,执行所述利用神经网络模型识别所述病案数据的内容信息对应的第一特征值的步骤。
为实现上述目的,本申请还提供一种病案数据的传输装置,所述病案数据的传输装置包括:
获取模块,用于获取到病案数据时,利用神经网络模型识别所述病案数据的内容信息对应的第一特征值;
检测模块,用于检测是否存在与所述第一特征值相同的第二特征值,其中,所述第二特征值为所述神经网络模型识别有在Redis中缓存的病案数据的内容信息得到的;
缓存模块,用于当检测到不存在与所述第一特征值相同的第二特征值时,根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列;
确定模块,用于在数据上传服务启动时,从所述消息队列中确定目标消息队列;
传输模块,用于将所述目标消息队列中的病案数据传输至服务器。
为实现上述目的,本申请还提供一种计算机设备,所述计算机设备包括:
所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的病案数据的传输程序,所述病案数据的传输程序被所述处理器执行时实现如上述病案数据的传输方法的步骤。
为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有病案数据的传输程序,所述病案数据的传输程序被处理器执行时实现如上述病案数据的传输方法的步骤。
本申请提供的病案数据的传输方法、病案数据的传输装置、计算机设备以及计算机可读存储介质,获取到病案数据时,利用神经网络模型识别所述病案数据的内容信息对应的第一特征值;检测是否存在与所述第一特征值相同的第二特征值,其中,所述第二特征值为所述神经网络模型识别有在Redis中缓存的病案数据的内容信息得到的;当检测到不存在与所述第一特征值相同的第二特征值时,根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列;在数据上传服务启动时,从所述消息队列中确定目标消息队列;将所述目标消息队列中的病案数据传输至服务器。这样,在缓存病案数据之前,通过神经网络模型进行病案数据的快速筛查,避免病案数据重复保存,同时通过Redis缓存未上传至服务器的病案数据,并通过解耦数据处理和数据库操作,使得不同数据库操作的数据处理不再受其他数据库操作的影响,当从Redis缓存中提取病案数据上传服务器时,可便于快速发送病案数据,避免因数据库响应时间长而影响终端传输数据的能力,从而提高了本地存储的病案数据上传至服务器的效率。
附图说明
图1为本申请一实施例中病案数据的传输方法步骤示意图;
图2为本申请一实施例中病案数据的传输装置示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,在一实施例中,所述病案数据的传输方法包括:
步骤S10、获取到病案数据时,利用神经网络模型识别所述病案数据的内容信息对应的第一特征值。
步骤S20、检测是否存在与所述第一特征值相同的第二特征值,其中,所述第二特征值为所述神经网络模型识别有在Redis中缓存的病案数据的内容信息得到的。
本实施例中,实施例终端可以是计算机设备,或者包含多个计算机设备的系统,如某个医院的医院数据系统,以下以实施例终端为医院数据系统为例进行说明。
可选的,医院数据系统除了一个主数据库DB(Data Base)外,另外还利用Redis(Remote Dictionary Server)作为内存数据库,通过Redis缓存数据以及作为主数据库的消息发送队列,模拟MQ(Message Queue)的功能。
其中,Redis中划分有多个消息队列,不同消息队列对应不同的数据库操作。终端在获取到入库的病案数据时,先不将病案数据插入数据库(即主数据库)中,而是根据病案数据对应的数据库操作,将病案数据缓存在对应的Redis消息队列中。
可选的,终端预先训练有用于进行文本识别的神经网络模型,该神经网络模型基于数量足够多的病案数据样本训练得到,可以进行病案数据的内容信息对应的特征值的提取。
可选的,为了提高神经网络模型的文本识别效率,可以只是针对内容信息中关键信息的识别和训练,并将关键信息提取为特征值。其中,关键信息可以是病人信息、就诊日期、病种信息中的至少一种。
可选的,终端每次将病案数据缓存进Redis之前,先利用训练好的神经网络模型识别病案数据中内容信息对应的第二特征值并保存。
当终端获取到新的病案数据时,将病案数据输入到神经网络模型之中,识别病案数据的内容信息对应的第一特征值,然后获取先前的保存记录进行比对,检测是否保存有与第一特征值相同的第二特征值;
若终端检测到存在与第一特征值相同的第二特征值,则不允许新病案数据缓存到Redis中(判定Redis先前已缓存有相同的病案数据);
若终端检测到不存在与第一特征值相同的第二特征值时,则允许新病案数据缓存到Redis中。
这样,可以避免数据库中出现了重复病案,并导致医院上传报错的问题,同时减少数据库不必要的数据存储,以及避免不必要的病案数据上传。
步骤S30、当检测到不存在与所述第一特征值相同的第二特征值时,根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列。
一种数据库操作可对应一个或多个Redis消息队列,但一个Redis消息队列只能对应一种数据库操作。
一般来说数据库操作包括增、删、改、查等操作,例如Redis中针对数据增加操作建立有消息队列,针对数据修改操作也建立有相应的消息队列等,根据病案数据所针对的数据库操作,即可将病案数据缓存到对应的消息队列中。
可选的,当检测到不存在与第一特征值相同的第二特征值时,则允许该第一特征值对应的病案数据缓存到Redis中,并根据病案数据对应的数据库操作,将该病案数据缓存到Redis中的与该数据库操作对应的消息队列中。
这样,通过解耦业务处理(数据处理)和数据库操作,使得不同数据库操作的数据处理不再受其他数据库操作的影响,当后续进行病案数据的并发处理时,可便于快速发送病案数据。
步骤S40、在数据上传服务启动时,从所述消息队列中确定目标消息队列。
步骤S50、将所述目标消息队列中的病案数据传输至服务器。
可选的,终端可以是每隔一段时间则主动启动一轮数据上传服务,又或是当终端接收到服务器发送的数据上传指令时,则启动数据上传服务。
在数据上传服务启动时,终端生成消费者线程,从Redis的消息队列中确定目标消息队列,并获取目标消息队列的病案数据上传至服务器,循环执行。
需要说明的是,服务器可以是其他医院数据系统的线上服务器,也可以是用于供所有医院数据系统进行数据共享的云服务器。
可选的,终端检测缓存有病案数据的消息队列,将这些消息队列作为当前需要上传病案数据的目标消息队列;或者,终端获取服务器发送的数据上传指令所针对的消息队列,作为目标消息队列。
消费者线程可为并行线程也可为串行线程,当有多个消息队列需要上传病案数据时,则为并行线程;若只有一个消息队列需要上传病案数据,则消费者线程为串行线程。
其中,当消费者线程暂时在目标消息队列未获取到病案数据时,则等待一段时间后,继续获取目标消息队列中的病案数据,防止线程不必要的循环。当终端检测到在目标消息队列未获取到病案数据的次数大于预设次数时,则判定该目标消息队列中的病案数据已经上传完毕,并将该目标消息队列对应的消费者线程分配至其他目标消息队列中,但若检测到其他目标消息队列也已上传完毕或已分配有消费者线程,则直接结束该消费者线程。
应当理解的是,预设次数可以根据实际情况需要设置,如3次、5次等。
这样,通过根据不同的数据库操作上传病案数据,使得服务器能快速针对相应的数据库操作对病案数据进行处理,从而快速进行病案数据的整合,减少了服务器接收病案数据的响应时间,而这样也能减少服务器在不同数据库操作之间的切换频次,在一定程度上降低服务器宕机的概率,这些都有利于提高病案数据上传至服务器的效率。
需要说明的是,在以往本地与线上服务器数据传输过程中,往往是直接将本地数据先存储在数据库中,当需要上传数据至服务器时,再从数据量庞大的数据库中查询后上传,这样的数据调用十分缓慢,尤其病案数据的数据容量一般都很大,传统方式更不能适应医院上传病案数据的需求。
而在一实施例中,在缓存病案数据之前,通过神经网络模型进行病案数据的快速筛查,避免病案数据重复上传,同时通过Redis缓存未上传至服务器的病案数据,并通过解耦数据处理和数据库操作,使得不同数据库操作的数据处理不再受其他数据库操作的影响,当从Redis缓存中提取病案数据上传服务器时,可便于快速发送病案数据,避免因数据库响应时间长而影响终端传输数据的能力,从而提高了本地存储的病案数据上传至服务器的效率(实际测试结果表明,可以将每个病案数据的平均上传时间从8-9s减少到2s以内)。
在一实施例中,在上述实施例基础上,所述将所述目标消息队列中的病案数据传输至服务器的步骤包括:
步骤S51、将所述目标消息队列中的病案数据上传至区块链节点,以通过所述区块链节点将所述病案数据传输至服务器。
本实施例中,每个医院数据系统在上传病案数据至服务器时,都可以将病案数据上传至区块链节点,再通过区块链节点将病案数据传输至服务器。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
可选的,医院数据系统在获取到Redis中的目标消息队列后,将目标消息队列中的病案数据上传至区块链节点中,由区块链节点将医院数据系统上传的病案数据以块链式的账本进行存储。每个医院数据系统均可具有与之对应的区块链节点,并将病案数据上传至对应的区块链节点中。而区块链框架内的任一区块链节点,基于块链式的账本又可以得到所有医院数据系统上传的病案数据。服务器只需向任一区块链节点处发送病案数据获取请求,由该区块链节点向服务器进行病案数据的传输即可,服务器最终也可以得到所有医院数据系统上传的病案数据。
这样,服务器获取医院数据系统上传的病案数据时,只需与某个区块链节点一对一通信即可,无需再与多个医院数据系统进行一对多通信,可以避免多个医院数据系统同时上传病案数据时,容易出现服务器宕机的问题。
在一实施例中,在上述实施例基础上,所述将所述目标消息队列中的病案数据传输至服务器的步骤包括:
步骤S52、根据服务器用于接收数据的空闲线程数,对所述目标消息队列进行分批处理并逐批获取;
步骤S53、将获取到的目标消息队列中的病案数据传输至所述服务器。
本实施例中,终端在向服务器上传数据时,获取服务器当前用于接收数据的空闲线程数,当终端检测到服务器空闲线程数为0时,则暂停病案数据的上传,同时持续监听服务器的空闲线程数,并在检测到空闲线程数大于0时,重新开启病案数据的上传;当终端检测到服务器空闲线程数为1时,则以目标消息队列为单位,进行逐个队列逐个队列的病案数据的上传;当终端检测到服务器空闲线程数为多个时,则根据空闲线程数进行目标消息队列中的病案数据的并行上传,其中一个线程对应一个目标消息队列。
可选的,终端可以是先根据空闲线程数对目标消息队列进行分批处理,每一批次中的目标消息队列的数量需小于或等于空闲线程数。然后终端逐一获取各批次的目标消息队列,每次获取一批目标消息队列进行病案数据的上传,当这些目标消息队列中的病案数据传输至服务器完毕后,则获取下一批次的目标消息队列进行病案数据的上传,直至所有批次的目标消息队列均获取完毕。
其中,服务器可根据自身的网络资源负载、数据处理负载、繁忙线程数等,实时更新并确定空闲线程数,并且当服务器接收到医院数据系统的数据上传请求时,为医院数据系统分配相应的空闲线程,并告知医院数据系统相应的空闲线程数,使医院数据系统根据服务器空闲线程数进行病案数据的上传。
这样,可以避免多个医院数据系统同时上传病案数据时,容易出现服务器宕机的问题。
在一实施例中,在上述实施例基础上,所述将所述目标消息队列中的病案数据上传至服务器的步骤之后,还包括:
步骤S60、将上传至所述服务器的病案数据从Redis移存至数据库中。
本实施例中,当终端从Redis中获取的病案数据成功上传至服务器时,将病案数据相应保存至数据库DB(即主数据库)中,并将该病案数据从原消息队列中清除,Redis不再缓存已上传至服务器的病案数据。通过Redis缓存未上传至服务器的病案数据,并直接通过Redis进行病案数据的上传,而已上传服务器的病案数据再存储在数据库中,这样既能利用Redis高性能的数据调用能力,又能避免本地病案数据的丢失。
其中,可预先对数据库进行调优,利用对关键表进行分区、增加索引等操作,以减少数据库数据读写的总量,从而缩减数据库的响应时间。将关键表的数据均衡分摊到不同的硬盘、系统或是不同存储介子中,从而提高数据检索的效率,降低数据库的频繁IO压力值,使得数据管理比较方便,比如要清理或废弃某年的数据,就可以直接删除该日期的分区数据即可,同时精准定位分区查询数据,不需要全表扫描查询,大大提高数据检索效率。
而在数据库中增加索引后,数据库中进行数据查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加数据库数据查询的速度。
可选的,在构建数据库+Redis的数据存储框架时,还可以将数据库的一些通用数据,例如字典值、质控规则等基本不变的数据,放入Redis中作为缓存。当终端检测到针对数据库通用数据的查询指令时,直接在Redis中进行查询,而无须每次都从数据库中查询,从而减少终端数据处理过程中的与数据库交互的次数,减少因数据库响应时间长而对终端数据处理能力的影响。
可选的,在构建数据库+Redis的数据存储框架时,还可以优化数据库代码,减少一些本系统不需使用的功能模块,减少冗余代码量,从而提高数据库数据处理的能力。例如本系统通过引入Redis作为数据库与服务器之间的数据交互的中转,所以只需保留数据库与Redis之间的数据调用接口,而其他的与服务器进行通信的应用程序接口则可以剔除。
这样,通过Redis缓存未上传至服务器的病案数据,并直接通过Redis进行病案数据的上传,避免因数据库响应时间长而对终端数据处理能力的影响,从而提高了病案数据上传的速度,并且将已上传服务器的病案数据再存储在数据库中,这样既能利用Redis高性能的数据调用能力,又能避免本地病案数据的丢失。
在一实施例中,在上述实施例基础上,所述根据病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列的步骤之后,还包括:
步骤S70、检测到预设条件满足时,将Redis中缓存的病案数据作为目标病案数据,并将所述目标病案数据移存至所述数据库中;
步骤S71、在数据上传服务启动时,将所述数据库中的目标病案数据移存至Redis中,并根据所述目标病案数据对应的数据库操作,将所述目标病案数据缓存到与所述数据库操作对应的消息队列中。
本实施例中,考虑到Redis数据存储能力有限,终端可以是检测到预设条件满足时,从Redis中取出缓存的病案数据作为目标病案数据,并将目标病案数据移存进数据库中,给目标病案数据添加未上传服务器的相关索引(或者直接添加目标病案数据的索引)。
其中,预设条件包括以下至少一个:Redis的剩余存储空间小于预设阈值;当前时间点位于预设间隔时段内;Redis缓存的病案数据的数量大于预设数量;上一次数据上传服务启动完毕后至今的时长,已超过预设时长。
其中,终端可以实时监控Redis的剩余存储空间,预设阈值的大小可以根据实际情况需要设置,如设置0.5G。
可选的,当终端检测到当前时间点位于预设间隔时段内,则判定预设条件满足,这样相当于终端每隔一个预设间隔时段,则执行一次将Redis中缓存的病案数据作为目标病案数据,并将所述目标病案数据移存至所述数据库中的步骤。
可选的,当终端检测到Redis缓存的病案数据的数量大于预设数量时,可以判定预设条件满足,然后终端获取预设数量的病案数据作为目标病案数据移存进数据库中,这样每一批次的目标病案数据的数量均为预设数量,可以方便目标病案数据的管理和记录。
应当理解的是,预设间隔时段、预设数量、预设时长的具体数据均可以由工程师根据实际情况需要设置,本申请对此不作限定。
当下一次数据上传服务器启动时,终端会检测数据库索引中是否存在未上传服务器的索引标签(即检测数据库中是否存在目标病案数据)。
若终端检测到数据库索引中存在未上传服务器的索引标签,则终端从数据库中获取该索引标签对应的目标病案数据移存至Redis中,并根据目标病案数据对应的数据库操作,将目标病案数据重新缓存到与对应的消息队列中,且当目标病案数据被取出时,即时消除其未上传至服务器的索引标签,避免病案数据的重复获取上传。
若终端检测到数据库索引中不存在未上传服务器的索引标签,则终端不做处理。
这样,既能避免Redis缓存超载,又能避免病案数据的重复获取上传。
在一实施例中,在上述实施例基础上,所述病案数据的传输方法还包括:
步骤S80、获取到病案数据时,根据所述病案数据的属性信息检测Redis的缓存记录中是否存在相同的属性信息,所述属性信息包括名称、数据大小、病案字数和病案文档页数;
步骤S81、若否,执行所述根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列的步骤。
步骤S82、若是,执行所述获取到病案数据时,利用神经网络模型识别所述病案数据的内容信息对应的第一特征值的步骤。
本实施例中,终端保存有Redis的缓存记录,且缓存记录中保存有以往缓存在Redis中的病案数据的属性信息,其中,属性信息可包括名称、数据大小、病案字数、病案文档页数等信息,其中,数据大小、病案字数、病案文档页数等可标记为可重复属性。
当终端获取到病案数据时,先检测缓存记录中是否存在与该病案数据名称相同的病案名称;
若是,不允许该病案数据缓存进Redis中;若否,进入下一步判断:终端进一步查询缓存记录保存的历史病案数据的可重复属性(包括数据大小、病案字数、病案文档页数)中,是否存在与新获取的病案数据的可重复属性相同的。
若检测到所有记录中均存在至少一个可重复属性与新病案数据不同,则允许新病案数据缓存到Redis中,并执行所述根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列的步骤。
若终端检测到存在可重复属性与新病案数据相同的记录(两者数据大小、病案字数、病案文档页数均相同),则不允许新病案数据缓存到Redis中(判断Redis中已缓存有相同的病案数据),或者进入下一步判断流程:
例如输出入库询问信息,提醒管理员Redis中已缓存有疑似病案数据,并从数据库调出可重复属性与新病案数据相同的病案数据,让管理员进行人工比对,通过人工审核两个病案数据是否相同;
或者,检测到Redis的缓存记录中存在与病案数据的属性信息相同的属性信息,则执行所述利用神经网络模型识别所述病案数据的内容信息对应的第一特征值的步骤(S10),利用神经网络模型进行进一步的判断流程,检查是否已缓存有相同的病案数据,以节省人力资源。
这样,可以避免数据库中出现了重复病案,并导致医院上传报错的问题,同时减少数据库不必要的数据存储,以及避免不必要的病案数据上传。
参照图2,本申请实施例中还提供一种病案数据的传输装置10,所述病案数据的传输装置10包括:
获取模块11,用于获取到病案数据时,利用神经网络模型识别所述病案数据的内容信息对应的第一特征值;
检测模块12,用于检测是否存在与所述第一特征值相同的第二特征值,其中,所述第二特征值为所述神经网络模型识别有在Redis中缓存的病案数据的内容信息得到的;
缓存模块13,用于当检测到不存在与所述第一特征值相同的第二特征值时,根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列;
确定模块14,用于在数据上传服务启动时,从所述消息队列中确定目标消息队列;
传输模块15,用于将所述目标消息队列中的病案数据传输至服务器。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于病案数据的传输程序。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种病案数据的传输方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
此外,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质包括病案数据的传输程序,所述病案数据的传输程序被处理器执行时实现如以上实施例所述的病案数据的传输方法的步骤。可以理解的是,本实施例中的计算机可读存储介质可以是易失性可读存储介质,也可以为非易失性可读存储介质。
综上所述,为本申请实施例中提供的病案数据的传输方法、病案数据的传输装置、计算机设备和存储介质,根据病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列;在数据上传服务启动时,从所述消息队列中确定目标消息队列;将所述目标消息队列中的病案数据传输至服务器;提高了本地存储的病案数据上传至服务器的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种病案数据的传输方法,其特征在于,所述病案数据的传输方法包括以下步骤:
获取到病案数据时,利用神经网络模型识别所述病案数据的内容信息对应的第一特征值;
检测是否存在与所述第一特征值相同的第二特征值,其中,所述第二特征值为所述神经网络模型识别有在Redis中缓存的病案数据的内容信息得到的;
当检测到不存在与所述第一特征值相同的第二特征值时,根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列;
在数据上传服务启动时,从所述消息队列中确定目标消息队列;
将所述目标消息队列中的病案数据传输至服务器;
针对内容信息中关键信息的识别和训练,并将关键信息提取为特征值;其中,关键信息包括病人信息或就诊日期或病种信息中的至少一种;
终端每次将病案数据缓存进Redis之前,先利用训练好的神经网络模型识别病案数据中内容信息对应的第二特征值并保存。
2.如权利要求1所述的病案数据的传输方法,其特征在于,所述将所述目标消息队列中的病案数据传输至服务器的步骤包括:
将所述目标消息队列中的病案数据上传至区块链节点,以通过所述区块链节点将所述病案数据传输至所述服务器。
3.如权利要求1所述的病案数据的传输方法,其特征在于,所述将所述目标消息队列中的病案数据传输至服务器的步骤包括:
根据所述服务器用于接收数据的空闲线程数,对所述目标消息队列进行分批处理并逐批获取;
将获取到的目标消息队列中的病案数据传输至所述服务器。
4.如权利要求1-3中任一项所述的病案数据的传输方法,其特征在于,所述将所述目标消息队列中的病案数据传输至服务器的步骤之后,还包括:
将上传至所述服务器的病案数据从Redis移存至数据库中。
5.如权利要求4所述的病案数据的传输方法,其特征在于,所述根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列的步骤之后,还包括:
检测到预设条件满足时,将Redis中缓存的病案数据作为目标病案数据,并将所述目标病案数据移存至所述数据库中;
在数据上传服务启动时,将所述数据库中的目标病案数据移存至Redis中,并根据所述目标病案数据对应的数据库操作,将所述目标病案数据缓存到与所述数据库操作对应的消息队列中。
6.如权利要求5所述的病案数据的传输方法,其特征在于,所述预设条件包括以下至少一个:
Redis的剩余存储空间小于预设阈值;
当前时间点位于预设间隔时段内;
Redis缓存的病案数据的数量大于预设数量。
7.如权利要求1所述的病案数据的传输方法,其特征在于,所述病案数据的传输方法还包括:
获取到病案数据时,根据所述病案数据的属性信息检测Redis的缓存记录中是否存在相同的属性信息,所述属性信息包括名称、数据大小、病案字数和病案文档页数;
若否,执行所述根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列的步骤;
若是,执行所述利用神经网络模型识别所述病案数据的内容信息对应的第一特征值的步骤。
8.一种病案数据的传输装置,所述的病案数据的传输装置用于执行根据权利要求1-7中任一项所述的病案数据的传输的方法,其特征在于,所述病案数据的传输装置包括:
获取模块,用于获取到病案数据时,利用神经网络模型识别所述病案数据的内容信息对应的第一特征值;
检测模块,用于检测是否存在与所述第一特征值相同的第二特征值,其中,所述第二特征值为所述神经网络模型识别有在Redis中缓存的病案数据的内容信息得到的;
缓存模块,用于当检测到不存在与所述第一特征值相同的第二特征值时,根据所述病案数据对应的数据库操作,将所述病案数据缓存到Redis中的与所述数据库操作对应的消息队列;
确定模块,用于在数据上传服务启动时,从所述消息队列中确定目标消息队列;
传输模块,用于将所述目标消息队列中的病案数据传输至服务器。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的病案数据的传输程序,所述病案数据的传输程序被所述处理器执行时实现如权利要求1至7中任一项所述的病案数据的传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有病案数据的传输程序,所述病案数据的传输程序被处理器执行时实现如权利要求1至7中任一项所述的病案数据的传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010897780.XA CN112035437B (zh) | 2020-08-31 | 2020-08-31 | 病案数据的传输方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010897780.XA CN112035437B (zh) | 2020-08-31 | 2020-08-31 | 病案数据的传输方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035437A CN112035437A (zh) | 2020-12-04 |
CN112035437B true CN112035437B (zh) | 2024-02-13 |
Family
ID=73587230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010897780.XA Active CN112035437B (zh) | 2020-08-31 | 2020-08-31 | 病案数据的传输方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035437B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703687B (zh) * | 2021-09-01 | 2023-09-05 | 平安医疗健康管理股份有限公司 | 数据入库处理方法、装置、计算机设备和存储介质 |
CN113688140A (zh) * | 2021-09-10 | 2021-11-23 | 平安医疗健康管理股份有限公司 | 医疗数据处理方法、装置、计算机设备及存储介质 |
CN114678132B (zh) * | 2022-02-22 | 2023-07-18 | 北京颐圣智能科技有限公司 | 一种基于临床行为反馈的自学习医疗风控系统及方法 |
CN115599869B (zh) * | 2022-12-14 | 2023-03-14 | 联仁健康医疗大数据科技股份有限公司 | 数据采集方法、装置、电子设备及存储介质 |
CN118012908A (zh) * | 2023-12-20 | 2024-05-10 | 曙光云计算集团股份有限公司 | 识别方法、装置、计算机设备、存储介质和程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009257A (zh) * | 2017-12-08 | 2018-05-08 | 武汉虹信技术服务有限责任公司 | 一种基于流式计算的无线射频数据筛选装置及方法 |
CN110737682A (zh) * | 2019-10-17 | 2020-01-31 | 贝壳技术有限公司 | 一种缓存操作方法、装置、存储介质和电子设备 |
CN111382146A (zh) * | 2018-12-29 | 2020-07-07 | 浙江宇视科技有限公司 | 数据存储控制方法、装置、设备以及存储介质 |
CN111581155A (zh) * | 2020-03-30 | 2020-08-25 | 平安科技(深圳)有限公司 | 数据入数据库的方法、装置和计算机设备 |
-
2020
- 2020-08-31 CN CN202010897780.XA patent/CN112035437B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009257A (zh) * | 2017-12-08 | 2018-05-08 | 武汉虹信技术服务有限责任公司 | 一种基于流式计算的无线射频数据筛选装置及方法 |
CN111382146A (zh) * | 2018-12-29 | 2020-07-07 | 浙江宇视科技有限公司 | 数据存储控制方法、装置、设备以及存储介质 |
CN110737682A (zh) * | 2019-10-17 | 2020-01-31 | 贝壳技术有限公司 | 一种缓存操作方法、装置、存储介质和电子设备 |
CN111581155A (zh) * | 2020-03-30 | 2020-08-25 | 平安科技(深圳)有限公司 | 数据入数据库的方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112035437A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112035437B (zh) | 病案数据的传输方法、装置、计算机设备及存储介质 | |
CN112540811B (zh) | 缓存数据的检测方法、装置、计算机设备和存储介质 | |
CN108446172B (zh) | 数据调取方法、装置、计算机设备和存储介质 | |
CN113918526B (zh) | 日志处理方法、装置、计算机设备和存储介质 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
US11768891B2 (en) | Method for providing scraping-based service and application for executing the same | |
CN115203159B (zh) | 一种数据存储方法、装置、计算机设备和存储介质 | |
CN112069384A (zh) | 一种埋点数据处理方法、服务器及可读存储介质 | |
WO2019109798A1 (zh) | 资源加载的方法、装置、终端及存储介质 | |
CN111400578B (zh) | 货物数据查询方法、装置、计算机设备和存储介质 | |
US11541919B1 (en) | Automated positive train control event data extraction and analysis engine and method therefor | |
CN115544007A (zh) | 标签预处理方法、装置、计算机设备和存储介质 | |
CN115102672A (zh) | 数据处理方法、系统、计算机设备和存储介质 | |
CN113157734B (zh) | 基于搜索框架的数据处理方法、装置、设备及存储介质 | |
CN112527786B (zh) | 数据表分区新增方法、装置、计算机设备及存储介质 | |
CN109697155B (zh) | It系统性能评估方法、装置、设备及可读存储介质 | |
CN110648052B (zh) | 风控决策方法、装置、计算机设备和存储介质 | |
CN114398441B (zh) | 数据导出方法、装置、计算机设备和存储介质 | |
CN110928911A (zh) | 审校请求处理系统、方法、装置、计算机可读存储介质 | |
CN116304223A (zh) | 基于日志的敏感信息筛选展示方法、装置、设备及介质 | |
CN114020765A (zh) | 绩效数据提取方法、装置、计算机设备和存储介质 | |
CN114496312A (zh) | 基于在线问诊的数据处理方法、装置和计算机设备 | |
CN116795872A (zh) | 数据查询方法、装置、计算机设备及存储介质 | |
CN114490246A (zh) | 一种监控方法、装置、电子设备以及存储介质 | |
US8775528B2 (en) | Computer readable recording medium storing linking keyword automatically extracting program, linking keyword automatically extracting method and apparatus |
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 |