CN105095424A - 一种实现医院his系统中药品的高并发检索方法 - Google Patents
一种实现医院his系统中药品的高并发检索方法 Download PDFInfo
- Publication number
- CN105095424A CN105095424A CN201510421419.9A CN201510421419A CN105095424A CN 105095424 A CN105095424 A CN 105095424A CN 201510421419 A CN201510421419 A CN 201510421419A CN 105095424 A CN105095424 A CN 105095424A
- Authority
- CN
- China
- Prior art keywords
- medicine
- hospital
- data
- result set
- database
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Treatment And Welfare Office Work (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种实现医院HIS系统中药品的高并发检索方法,所述方法包括步骤S1:在用户端输入待查询药品的关键字,触发查询,药品检索单元首先在数据缓存单元中,根据该关键字查找是否有对应的value值;S101:若存在,则将查询结果数据转换为一定格式的字符串的结果集返至用户端;S102:若不存在,则再到数据库中进行模糊查询,并将结果集返至用户端,同时以键值对的形式缓存到数据缓存单元,并记录该关键字,将该结果集中的字符串作为value值,下次再输入同样的关键字时即可直接从数据缓存单元获取,而不必再到数据库中查询。本发明克服了高并发下检索时速度慢、数据不够精确、对客服端压力过大的问题,使用户的操作能够流畅进行,且保证数据的准确性。
Description
技术领域
本发明涉及医院管理信息系统HIS领域,特别是涉及一种实现医院HIS系统中药品的高并发检索方法。
背景技术
医院管理和医疗活动中进行信息管理和联机操作的医院管理信息系统(HospitalManagementInformationSystem,英文缩写HIS),HIS是覆盖医院所有业务和业务全过程的信息管理系统。HIS系统的主要目标是支持医院的行政管理与事务处理业务,减轻事务处理人员劳动强度,辅助医院管理,辅助高层领导决策,提高医院工作效率,从而使医院能够以少的投入获得更好的社会效益与经济效益。
医院HIS信息系统都有这么一种功能,通过拼音首字母快速查询药品及库存量。现有的技术主要有两种思路,一种是把所有药品数据一次性加载到客户端,因为要从数据库一次性查询大量数据,会造成界面初始化很慢,而且因为数据都集中到了前端,导致客户端压力过大,容易出现操作卡顿、不流畅的现象,并且实时性不高,当用户发现开出的药品数量大于了当前库存量时,只有手动去刷新一次数据,以重新加载最新的药品库存信息,又会造成再一次的长时间等待;还有一种方式是实时检索,虽然保证了数据的实时性,但每次检索都会向数据库查询,需要用户等待查询结果,而且造成和数据库的频繁交互,耗费大量数据库链接资源。
而且,这两种方式在高并发情况下均会对数据库造成更大压力,导致检索速度更加缓慢。
发明内容
本发明的目的在于克服现有技术的不足,提供一种实现医院HIS系统中药品的高并发检索方法,克服了现有技术在操作性、实时性、用户体验方面带来的不便,解决了药品检索所存在的问题,特别是高并发下检索时速度慢、数据不够精确、对客服端压力过大的问题,使用户的操作能够流畅进行,且保证数据的准确性。
本发明的目的是通过以下技术方案来实现的:一种实现医院HIS系统中药品的高并发检索方法,所述方法包括步骤S1:在用户端输入待查询药品的关键字,触发查询,药品检索单元首先在数据缓存单元中,根据该关键字查找是否有对应的value值。
S101:若存在,则将查询结果数据转换为一定格式的字符串的结果集返至用户端。
S102:若不存在,则再到数据库中进行模糊查询,并将结果集返至用户端,同时以键值对的形式缓存到数据缓存单元,并记录该关键字,将该结果集中的字符串作为value值,下次再输入同样的关键字时即可直接从数据缓存单元获取,而不必再到数据库中查询。
其中,所述关键字包括药品的两位拼音码和药品编码。所述一定格式包括JSON格式。
进一步的,所述方法还包括步骤S2:当在用户端继续输入关键字时,用户端直接在返回的结果集中通过脚本进行快速过滤,不会再与数据库进行交互。
进一步的,所述方法还包括步骤S3:当药品库存量变化时,数据库通过触发器将库存表中对应的药品数据记录一个时间戳。
进一步的,所述方法还包括步骤S4:通过定时同步单元按预设周期自动查询库存量变化的药品信息,根据步骤S3中的时间戳和当前时间的比较来判断药品信息是否变化,然后刷新数据缓存单元中的对应的药品库存量信息。
进一步的,所述方法还包括步骤S5:在集群环境下,通过缓存同步机制使得各个应用服务器所拥有的药品缓存数据保持一致,一个应用服务器的数据缓存单元中的缓存数据变化,将同步至集群中的其他应用服务器的数据缓存单元中。
本发明的有益效果是:
1)因为客户端并不预先加载药品数据,不会造成界面初始化慢,检索时也是通过两位关键字来查询,返回的结果集并不大,所以检索速度不会很慢,也不会对客户端造成过大压力,有效避免了操作卡顿、不流畅的现象;
2)在系统运行一段时间后,大部分常用关键字都已用来检索过,对应的结果集都已缓存起来,所以大部分检索都将直接从缓存中获取,大大减轻了数据库的压力,而且直接从内存中获取数据的速度也远远快过从数据库查询。事实上,在系统试运行一段时间后,可以总结出哪些关键字是最常用的,这样可以在系统启动时就将对应的键值对数据缓存起来,避免了首次查询时仍会和数据库交互的问题,效果会更好;
3)对于用户来说,面对大数据量的药品信息,通过输入一两位拼音码或编码通常并不能定位到自己需要的药品,当用户继续输入进一步过滤时直接在前端通过脚本过滤速度是很快的,不需要再和后台交互,降低了高并发下对后端的压力;
4)通过自动定时刷新缓存中的库存信息,可以保证一定的数据实时性,绝对精确的实时数据对用户来说意义并不大,实际上也没有什么方法可以做到理论上绝对的实时精确,只要保证用户开出的药品数量不大于当前实际库存量即可,由于定时刷新是直接对缓存中的字符串对象进行修改,这个速度是很快的,所以在实际应用中,开出的药品数量大于库存量的情况将是非常微小概率的事件。同时,在最终提交时,后台会做一次校验,保证了业务上不出问题;
5)通过缓存同步,保证了用户连接到集群中的任何一台服务器,所拥有的药品缓存数据都是一致的,保证了数据的一致性,避免了系统对服务器缓存的重复操作。
附图说明
图1为本发明医院HIS系统中药品的高并发检索的结构框图;
图2为本发明中实现医院HIS系统中药品的高并发检索方法的流程示意图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所述,本发明所述方法基于一高并发检索系统,该系统包括一个或多个应用服务器和后端数据库,每个应用服务器均作为前端用户端,包括关键字录入单元、药品检索单元、数据缓存单元和结果集处理单元;其中,关键字录入单元的输出端与药品检索单元的输入端连接,药品检索单元的输出端分别与数据缓存单元和后端数据库连接,后端数据库通过结果集处理单元与数据缓存单元连接。
进一步的,前端用户端还包括定时同步单元,定时同步单元的输出端与数据缓存单元连接,用于实现各个应用服务器的数据缓存单元完成缓存同步,定时同步数据缓存单元中的数据。
如图2所示,一种实现医院HIS系统中药品的高并发检索方法,所述方法包括步骤S1:在用户端及关键字录入单元输入待查询药品的关键字,触发查询,药品检索单元首先在数据缓存单元中,根据该关键字查找是否有对应的value值。
S101:若存在,则将查询结果数据转换为一定格式的字符串的结果集返至用户端。
S102:若不存在,则再到数据库中进行模糊查询,并将结果集返至用户端,同时以键值对的形式缓存到数据缓存单元,并记录该关键字,通过结果集处理单元将该结果集中的字符串作为value值,下次再输入同样的关键字时即可直接从数据缓存单元获取,而不必再到数据库中查询。
其中,所述关键字包括药品的两位拼音码和药品编码。所述一定格式包括JSON格式。
进一步的,所述方法还包括步骤S2:当在用户端继续输入关键字时,用户端直接在返回的结果集中通过脚本进行快速过滤,不会再与数据库进行交互。
进一步的,所述方法还包括步骤S3:当药品库存量变化时,数据库通过触发器将库存表中对应的药品数据记录一个时间戳。
进一步的,所述方法还包括步骤S4:通过定时同步单元按预设周期自动查询库存量变化的药品信息,根据步骤S3中的时间戳和当前时间的比较来判断药品信息是否变化,然后刷新数据缓存单元中的对应的药品库存量信息。
其中,预设周期可根据具体情况来自定义,如根据用户规模等,一般可设置为30秒。
进一步的,所述方法还包括步骤S5:在集群环境下,存在多个应用服务器多个用户端,此时,通过缓存同步机制使得各个应用服务器所拥有的药品缓存数据保持一致,一个应用服务器的数据缓存单元中的缓存数据变化,将同步至集群中的其他应用服务器的数据缓存单元中。通过引入分布式缓存机制,大大提高了高并发情况下的药品库存检索效率,提供高了HIS系统稳定性。
Claims (7)
1.一种实现医院HIS系统中药品的高并发检索方法,其特征在于所述方法包括步骤S1:在用户端输入待查询药品的关键字,触发查询,药品检索单元首先在数据缓存单元中,根据该关键字查找是否有对应的value值;
S101:若存在,则将查询结果数据转换为一定格式的字符串的结果集返至用户端;
S102:若不存在,则再到数据库中进行模糊查询,并将结果集返至用户端,同时以键值对的形式缓存到数据缓存单元,并记录该关键字,将该结果集中的字符串作为value值,下次再输入同样的关键字时即可直接从数据缓存单元获取,而不必再到数据库中查询。
2.根据权利要求1所述的一种实现医院HIS系统中药品的高并发检索方法,其特征在于:所述关键字包括药品的两位拼音码和药品编码。
3.根据权利要求1所述的一种实现医院HIS系统中药品的高并发检索方法,其特征在于:所述一定格式包括JSON格式。
4.根据权利要求1所述的一种实现医院HIS系统中药品的高并发检索方法,其特征在于:所述方法还包括步骤S2:当在用户端继续输入关键字时,用户端直接在返回的结果集中通过脚本进行快速过滤,不会再与数据库进行交互。
5.根据权利要求1所述的一种实现医院HIS系统中药品的高并发检索方法,其特征在于:所述方法还包括步骤S3:当药品库存量变化时,数据库通过触发器将库存表中对应的药品数据记录一个时间戳。
6.根据权利要求5所述的一种实现医院HIS系统中药品的高并发检索方法,其特征在于:所述方法还包括步骤S4:通过定时同步单元按预设周期自动查询库存量变化的药品信息,根据步骤S3中的时间戳和当前时间的比较来判断药品信息是否变化,然后刷新数据缓存单元中的对应的药品库存量信息。
7.根据权利要求1所述的一种实现医院HIS系统中药品的高并发检索方法,其特征在于:所述方法还包括步骤S5:在集群环境下,通过缓存同步机制使得各个应用服务器所拥有的药品缓存数据保持一致,一个应用服务器的数据缓存单元中的缓存数据变化,将同步至集群中的其他应用服务器的数据缓存单元中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510421419.9A CN105095424A (zh) | 2015-07-17 | 2015-07-17 | 一种实现医院his系统中药品的高并发检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510421419.9A CN105095424A (zh) | 2015-07-17 | 2015-07-17 | 一种实现医院his系统中药品的高并发检索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105095424A true CN105095424A (zh) | 2015-11-25 |
Family
ID=54575861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510421419.9A Pending CN105095424A (zh) | 2015-07-17 | 2015-07-17 | 一种实现医院his系统中药品的高并发检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095424A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202254A (zh) * | 2016-06-30 | 2016-12-07 | 上海斐讯数据通信技术有限公司 | 一种查询方法及数据查询系统 |
CN107239530A (zh) * | 2017-05-31 | 2017-10-10 | 努比亚技术有限公司 | 标签检索方法、装置、系统及计算机可读存储介质 |
CN107317855A (zh) * | 2017-06-21 | 2017-11-03 | 努比亚技术有限公司 | 一种数据缓存方法、数据请求方法及服务器 |
CN107808006A (zh) * | 2017-11-16 | 2018-03-16 | 中国工商银行股份有限公司 | 基于大数据量的模糊查询方法、设备以及系统 |
CN108460132A (zh) * | 2018-03-05 | 2018-08-28 | 湖南中医药大学 | 基于中药学理论的中药材属性特征编码及检索系统 |
CN109508351A (zh) * | 2019-01-04 | 2019-03-22 | 九州通医疗信息科技(武汉)有限公司 | 集成系统平台物品目录生成方法及装置 |
CN110377622A (zh) * | 2019-06-19 | 2019-10-25 | 深圳新度博望科技有限公司 | 数据获取方法、数据检索方法及请求响应方法 |
CN114138840A (zh) * | 2021-12-08 | 2022-03-04 | 中国建设银行股份有限公司 | 数据查询方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308513A (zh) * | 2008-06-27 | 2008-11-19 | 福建星网锐捷网络有限公司 | 分布式系统中缓存数据的同步配置方法与装置 |
CN103336849A (zh) * | 2013-07-24 | 2013-10-02 | 昆明理工大学 | 一种数据库检索系统中提高检索速度的方法及装置 |
CN103810253A (zh) * | 2014-01-21 | 2014-05-21 | 上海体育科学研究所 | 一种运动员合理用药智能终端设备信息查询系统 |
-
2015
- 2015-07-17 CN CN201510421419.9A patent/CN105095424A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101308513A (zh) * | 2008-06-27 | 2008-11-19 | 福建星网锐捷网络有限公司 | 分布式系统中缓存数据的同步配置方法与装置 |
CN103336849A (zh) * | 2013-07-24 | 2013-10-02 | 昆明理工大学 | 一种数据库检索系统中提高检索速度的方法及装置 |
CN103810253A (zh) * | 2014-01-21 | 2014-05-21 | 上海体育科学研究所 | 一种运动员合理用药智能终端设备信息查询系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202254A (zh) * | 2016-06-30 | 2016-12-07 | 上海斐讯数据通信技术有限公司 | 一种查询方法及数据查询系统 |
CN107239530A (zh) * | 2017-05-31 | 2017-10-10 | 努比亚技术有限公司 | 标签检索方法、装置、系统及计算机可读存储介质 |
CN107317855A (zh) * | 2017-06-21 | 2017-11-03 | 努比亚技术有限公司 | 一种数据缓存方法、数据请求方法及服务器 |
CN107808006A (zh) * | 2017-11-16 | 2018-03-16 | 中国工商银行股份有限公司 | 基于大数据量的模糊查询方法、设备以及系统 |
CN107808006B (zh) * | 2017-11-16 | 2021-10-26 | 中国工商银行股份有限公司 | 基于大数据量的模糊查询方法、设备以及系统 |
CN108460132A (zh) * | 2018-03-05 | 2018-08-28 | 湖南中医药大学 | 基于中药学理论的中药材属性特征编码及检索系统 |
CN108460132B (zh) * | 2018-03-05 | 2021-08-03 | 湖南中医药大学 | 基于中药学理论的中药材属性特征编码及检索系统 |
CN109508351A (zh) * | 2019-01-04 | 2019-03-22 | 九州通医疗信息科技(武汉)有限公司 | 集成系统平台物品目录生成方法及装置 |
CN110377622A (zh) * | 2019-06-19 | 2019-10-25 | 深圳新度博望科技有限公司 | 数据获取方法、数据检索方法及请求响应方法 |
CN114138840A (zh) * | 2021-12-08 | 2022-03-04 | 中国建设银行股份有限公司 | 数据查询方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095424A (zh) | 一种实现医院his系统中药品的高并发检索方法 | |
EP2874077B1 (en) | Stateless database cache | |
US10740196B2 (en) | Event batching, output sequencing, and log based state storage in continuous query processing | |
US10394795B2 (en) | Synchronized capture of transactional data from multiple journals | |
US10606839B2 (en) | Preventing staleness in query results when using asynchronously updated indexes | |
CN111177161B (zh) | 数据处理方法、装置、计算设备和存储介质 | |
CN104123374A (zh) | 分布式数据库中聚合查询的方法及装置 | |
US9898455B2 (en) | Natural language understanding cache | |
US11119742B2 (en) | Cache efficient reading of result values in a column store database | |
US9323798B2 (en) | Storing a key value to a deleted row based on key range density | |
US10592508B2 (en) | Organizing datasets for adaptive responses to queries | |
CN104199978A (zh) | 基于NoSQL实现元数据缓存与分析的系统及方法 | |
JP2013530449A (ja) | データベースの検索のための照会の改善方法 | |
US20220358178A1 (en) | Data query method, electronic device, and storage medium | |
US20110302220A1 (en) | Sql processing for data conversion | |
KR20150123900A (ko) | 사용자 제공 식별자들을 크라우드소싱하고 그것들을 브랜드 아이덴티티들 연관시키기 | |
US10503752B2 (en) | Delta replication | |
US20150120642A1 (en) | Realtime snapshot indices | |
KR20190129474A (ko) | 데이터 검색 장치 및 방법 | |
US20230014029A1 (en) | Local indexing for metadata repository objects | |
CN111984678B (zh) | 一种基于Elasticsearch的SQL使用方法 | |
US20220107951A1 (en) | Computing architecture for existing asset system integration | |
Wei et al. | A Highly Accurate Data Synchronization and Full-text Search Algorithm for Canal and Elasticsearch | |
CN113094401A (zh) | 一种目标源数据生成方法、装置、设备及存储介质 | |
KR20150119749A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151125 |