一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种诊疗数据处理方法及装置与流程

2022-04-27 08:29:38 来源:中国专利 TAG:


1.本发明涉及互联网医疗技术领域,尤其涉及一种诊疗数据处理方法及装置。


背景技术:

2.在互联网线上诊疗的业务中,诊疗数据的检索查询贯穿始终,在高频检索的场景下,对诊疗数据的查询性能及可用性则至关重要。
3.目前,对诊疗数据的查询通常是在数据库中直接进行的。
4.而在线上诊疗的高并发场景下,在数据库中直接查询诊疗数据,其检索性能和查询复用率较低,容易造成数据库所在服务器的cpu开销过大,从而引起服务器宕机;且一旦宕机,导致线上诊疗服务在一定时间内无法使用,从而影响了线上诊疗服务的可用性。


技术实现要素:

5.有鉴于此,本发明实施例提供一种诊疗数据处理方法及装置,能够先从本地缓存中查询目标诊疗数据,当本地缓存不存在目标诊疗数据时,则从至少两个集群的主集群的分布式缓存中查询目标诊疗数据,由此,可以减少直接从数据库中查询目标诊疗数据的情况,降低了数据库服务器宕机的风险,提高了查询结果的复用率,进而提高了查询性能。
6.进一步地,通过配置至少两个集群作为分布式缓存,在主集群频繁发生异常且异常次数达到预设次数阈值时,可以快速将其他备用集群切换为主集群,从而使得在切换后的主集群中进行查询操作,缩短了线上诊疗服务不可用的时间,进一步提高了线上诊疗服务的可用性。
7.另外,通过将高频数据加载至本地缓存和分布式缓存中,可以缩短查询高频数据时间,从而进一步提高了查询效率。
8.为实现上述目的,根据本发明实施例的第一方面,提供了一种诊疗数据处理方法,包括:
9.接收查询请求;所述查询请求指示了诊疗数据标识;
10.在确定出本地缓存不存在与所述诊疗数据标识对应的目标诊疗数据的情况下,从至少两个集群的主集群的分布式缓存中,确定是否存在与所述诊疗数据标识对应的目标诊疗数据;
11.如果是,从所述分布式缓存中获取并输出所述目标诊疗数据,并将所述目标诊疗数据存储至所述本地缓存。
12.可选地,在所述主集群处于异常状态时,确定所述主集群在预设时间段内出现异常的总次数;
13.在所述总次数大于预设次数阈值的情况下,从所述至少两个集群中重新确定主集群。
14.可选地,在所述分布式缓存中不存在所述目标诊疗数据的情况下,还包括:
15.根据所述诊疗数据标识在数据库中查询是否存在所述目标诊疗数据;
16.如果是,从所述数据库中获取并返回所述目标诊疗数据,并将所述目标诊疗数据分别存储至本地缓存和所述至少两个集群的分布式缓存中。
17.可选地,在所述本地缓存存在所述目标诊疗数据的情况下,根据所述本地缓存存储的数据输出所述目标诊疗数据;所述本地缓存存储有以下任意一种或多种数据:接诊渠道数据、接诊者基础数据、接诊者服务数据和接诊者标签数据。
18.可选地,根据预设周期对所述本地缓存中存储的数据进行清除。
19.可选地,根据多个历史查询请求的处理结果,确定高频诊疗数据;
20.所述根据预设周期对所述本地缓存中存储的数据进行清除,包括:
21.对所述本地缓存中除所述高频诊疗数据以外的其他诊疗数据进行清除;
22.或,
23.将所述本地缓存中存储的所有数据进行清除,并将所述高频诊疗数据从数据库或分布式缓存中加载至所述本地缓存。
24.可选地,该方法还包括:
25.在数据库中的诊疗数据被更新时,根据数据库中更新的诊疗数据,对所述本地缓存和/或所述分布式缓存中所存储的数据进行更新。
26.可选地,在所述诊疗数据标识为多个的情况下,
27.根据多个所述诊疗数据标识,生成组合查询标识;
28.根据所述组合查询标识,确定是否存在所述目标诊疗数据。
29.根据本发明实施例的第二方面,提供了一种诊疗数据处理装置,包括:接收模块、确定模块和处理模块;其中,
30.所述接收模块,用于接收查询请求;所述查询请求指示了诊疗数据标识;
31.所述确定模块,用于在确定出本地缓存不存在与所述诊疗数据标识对应的目标诊疗数据的情况下,从至少两个集群的主集群的分布式缓存中,确定是否存在与所述诊疗数据标识对应的目标诊疗数据;如果是,触发所述处理模块;
32.所述处理模块,用于从所述分布式缓存中获取并输出所述目标诊疗数据,并将所述目标诊疗数据存储至所述本地缓存。
33.根据本发明实施例的第三方面,提供了一种电子设备,包括:
34.一个或多个处理器;
35.存储装置,用于存储一个或多个程序,
36.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面提供的一种诊疗数据处理方法中任一所述的方法。
37.根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述第一方面提供的一种诊疗数据处理方法中任一所述的方法。
38.上述发明中的一个实施例具有如下优点或有益效果:能够先从本地缓存中查询目标诊疗数据,当本地缓存不存在目标诊疗数据时,则从至少两个集群的主集群的分布式缓存中查询目标诊疗数据,由此,可以减少直接从数据库中查询目标诊疗数据的情况,降低了数据库服务器宕机的风险,提高了查询结果的复用率,进而提高了查询性能。
39.进一步地,通过配置至少两个集群作为分布式缓存,在主集群频繁发生异常且异
常次数达到预设次数阈值时,可以快速将其他备用集群切换为主集群,从而使得在切换后的主集群中进行查询操作,缩短了线上诊疗服务不可用的时间,进一步提高了线上诊疗服务的可用性。
40.另外,通过将高频数据加载至本地缓存和分布式缓存中,可以缩短查询高频数据时间,从而进一步提高了查询效率。
41.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
42.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
43.图1是本发明一个实施例提供的一种诊疗数据处理方法的流程示意图;
44.图2是本发明一个实施例提供的一种适用于诊疗数据处理方法的系统架构图;
45.图3是本发明一个实施例提供的一种诊疗数据处理方法中的数据检索示意图;
46.图4是本发明一个实施例提供的诊疗数据的数据关系示意图;
47.图5是本发明一个实施例提供的一种在至少两个集群中切换主集群的方法的流程示意图;
48.图6是本发明一个实施例提供的缓存数据结构示意图;
49.图7是本发明一个实施例提供的另一种诊疗数据处理方法的流程示意图;
50.图8是本发明一个实施例提供的一种诊疗数据处理装置的结构示意图;
51.图9是本发明实施例可以应用于其中的示例性系统架构图;
52.图10是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
53.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
54.需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
55.如图1所示,本发明实施例提供了一种诊疗数据处理方法,该方法可以包括以下步骤s101至s103:
56.步骤s101:接收查询请求;所述查询请求指示了诊疗数据标识。
57.步骤s102:在确定出本地缓存不存在与所述诊疗数据标识对应的目标诊疗数据的情况下,从至少两个集群的主集群的分布式缓存中,确定是否存在与所述诊疗数据标识对应的目标诊疗数据;如果是,触发步骤s103。
58.步骤s103:从所述分布式缓存中获取并输出所述目标诊疗数据,并将所述目标诊疗数据存储至所述本地缓存。
59.本发明的一个应用场景可以是在线上诊疗过程中对医生的各种相关数据进行查
询。例如对医生基础信息、医生服务、医生标签以及医生问诊渠道等进行查询。可以理解的是,在进行医生数据查询时,线上诊疗往往可能存在大量用户同时查询一个医生数据的情况,在这种高并发的情况下,大量查询请求直接发送至数据库,容易造成数据库所在服务器cpu占用率瞬间增大,从而带来服务器宕机的风险。在进行医生数据查询时,还可能存在一个医生数据在短时间内被反复查询多次的情况,如果一直采用从数据库中查询该医生数据时,这些短时间内相同的查询结果不能被重复利用,会降低查询的效率和性能。
60.为了较好的利用历史查询结果以及减少大量查询请求到数据库进行查询的操作,本发明实施例提供的一种适用于诊疗数据处理方法的系统架构图可以如图2所示。
61.由此,在接收到查询请求时,可以根据查询请求指示的诊疗数据标识,可以先从图2中的本地缓存模块中进行查询;如果本地缓存模块中不存在目标诊疗数据,可以从图2中的分布式缓存模块中进行查询,如果仍然不存在目标诊疗数据,可以再从数据库模块中进行查询。
62.其中本地缓存模块一般设置在服务器的内存中。可以理解的是,由于内存有限,本地缓存模块存储的数据量往往比较有限,在本地缓存模块中可以存储一些常用诊疗数据(高频诊疗数据)以及近期一定周期内查询过的历史诊疗数据。由此,通过增加本地缓存,可以提高线上诊疗服务中对常用诊疗数据查询的响应速度,进而提高了诊疗服务的性能。
63.可以理解的是,由于本地缓存模块可存储的数据有限,且可能分部在不同的服务器的内存中,本地缓存的开销可能较大,因此可以将本地缓存作为一级缓存,同时可以设置一个分布式缓存模块作为二级缓存。其中分布式缓存模块存储的数据结构与本地缓存模块存储的数据结构可以是相同,分布式缓存模块存储的诊疗数据数量较大。分布式缓存存储的数据可以是从数据库中进行查询并处理后得到的,相比于数据库中的全部诊疗数据,可以较好的满足线上诊疗中经常出现的检索场景。
64.在本发明的一个实施例中,可以设置至少两个分布式缓存模块,每一个分布式缓存模块可以由一个分布式集群来实现。具体分布式缓存模块的数据存储可以采用redis或者其他方式,在此不做限制。例如,设置两个分布式缓存集群,则对应两个redis数据库。
65.当然,数据库模块是诊疗数据长期存储的地方。当在上述本地缓存模块和分布式缓存模块中均查询不到目标诊疗数据时,则可以从数据库模块中进行查询。在本发明的一个实施例中,数据库模块可以采用mysql数据库或其他数据库。
66.图2中对查询请求进行处理的具体实施方式,在此后的实施例中将进一步详细介绍。
67.在所述本地缓存存在所述目标诊疗数据的情况下,可以采用本发明实施例提供的以下方式处理:根据所述本地缓存存储的数据输出所述目标诊疗数据;所述本地缓存存储有以下任意一种或多种数据:接诊渠道数据、接诊者基础数据、接诊者服务数据和接诊者标签数据。
68.可以理解的是,为了快速的响应高频检索场景中的查询请求,在本发明的一个实施例中,在本地缓存中存储有被查询到的常用诊疗数据(高频诊疗数据),这些高频诊疗数据是多个历史查询请求中经常被查询的数据,也就是说,这些高频诊疗数据是经常出现在多个历史查询请求的处理结果中的。相应地,在本发明实施例中,高频检索场景也即在进行线上诊疗过程中,频繁出现的检索场景,如图3所示的医生查询、接诊渠道查询、服务查询和
标签查询等多个场景。
69.其中,对医生查询的场景可以包括:对医生基础数据的查询、对医生基础数据和服务数据的查询、对医生基础数据和标签数据的查询、对医生基础数据和接诊渠道数据的查询等。
70.对接诊渠道查询的场景可以包括:对单个或多个接诊渠道数据的查询、对医生基础数据和接诊渠道数据的查询。
71.对服务查询的场景可以包括:对单一或多个医生服务数据的查询、医生基础数据和服务数据的查询。
72.对标签的查询可以包括:对标签数据的查询、对医生基础数据和标签数据的查询。
73.在本发明的一个实施例中,高频诊疗数据可以包括:接诊渠道数据、接诊者基础数据、接诊者服务数据和接诊者标签数据。其中,接诊者基础数据与其他诊疗数据是一对多的关系。高频诊疗数据之间的数据关系可以如图4所示。以接诊者是医生为例,一个医生的医生基础数据与其医生服务数据可以是一对多的关系,也就是说,一个医生可以提供多种服务;医生基础数据与医生接诊渠道数据也可以是一对多的关系,医生基础数据与医生标签数据同样也可以是一对多的关系。
74.其中,医生基础数据可以包括:医生标识、医生pin码、医院标识、医生在云平台上的租户标识、职称、职业等。医生服务数据可以包括:普通图文问诊、专家团队问诊、私人医生问诊、购药开方等;每一种医生服务可以对应一个服务标识。医生标签数据可以包括:三甲、名医、专家等;每一个标签数据可以对应一个标签标识。医生接诊渠道数据可以包括一个或多个接诊入口,例如接诊渠道1、接诊渠道2、接诊渠道3、接诊渠道4等;每一个医生接诊渠道可以对应一个接诊渠道标识。一个医生标识可以对应多个服务标识、多个标签标识以及多个接诊渠道标识。
75.在本发明的一个实施例中,查询请求中的诊疗数据标识可以是医生标识、医生pin码、医院标识、租户标识、服务标识、标签标识、接诊渠道标识等其中的一种,也可以是由多个标识组合而成。
76.对于医生基础数据中的租户标识,也即tenantid,是为医生服务的不同平台而定义的,这里是使用了租户技术对数据做数据隔离。医生pin码可以在不同的租户中共享,一个医生标识在一个租户下可以对应一个pin码;不同的医生标识有可能在同一个租户下对应同一个pin码;因此由医生pin码与租户标识组合查询后可以得到一个或多个医生标识。医生pin码与租户标识的组合即可以作为一个高频检索场景的组合查询条件。
77.在使用组合查询条件进行高频检索场景的查询时,可以采用本发明实施例提供的以下方式:根据多个所述诊疗数据标识,生成组合查询标识;根据所述组合查询标识,确定是否存在所述目标诊疗数据。
78.例如,可以先通过租户标识加上pin码的组合查询标识查询得到多个医生标识。再通过多个医生标识从本地缓存中查询目标诊疗数据。还可以利用租户标识加上医生服务标识作为组合查询标识确定目标诊疗数据,在此不再赘述。
79.在本地缓存不存在目标诊疗数据的情况下,可以采用步骤s102提供的可实施方式,从主集群的分布式缓存中进行查询。例如从图2中主集群的分布式缓存模块中查询目标诊疗数据。
80.在本发明的一个实施例中,优选地配置了至少两个集群,一个集群可以对应一个分布式缓存。在至少两个分布式缓存的集群中,可以将其中一个集群设置为主集群,其他集群设置为备用集群。其中,主集群的分布式缓存和备用集群的分布式缓存存储的数据可以相同且与数据库同步,也就是说,从数据库中查询的数据可以被存储到至少两个分布式缓存中。在接收到查询请求时,在本地缓存不存在目标诊疗数据的情况下,可以从主集群的分布式缓存中进行查询操作,备用集群可以不对查询请求响应。
81.为了保证线上诊疗服务的可用性,在主集群发生异常时,可以采用本发明实施例提供的以下方式:在所述主集群处于异常状态时,确定所述主集群在预设时间段内出现异常的总次数;在所述总次数大于预设次数阈值的情况下,从所述至少两个集群中重新确定主集群。
82.在本发明的一个实施例中,可以在配置中心设置集群切换开关,当主集群的分布式缓存由于网络或者负载等原因发生异常,且在预设时间内超过预设次数阈值时,例如在监测一个小时内异常发生的总次数。可以将集群切换开关设置为打开,从而将主集群切换至其他备用集群,而将发生异常的集群设置为备用集群以供排查异常和恢复。图5是本发明实施例提供的一种在至少两个集群中切换主集群的方法的流程示意图,具体地可以包括步骤s501至s506:
83.步骤s501:在配置中心设置主集群、备用集群以及集群切换开关。
84.步骤s502:在主集群进行诊疗数据查询的同时,监测主集群在预设时间内发生异常的总次数。
85.步骤s503:判断主集群异常总次数是否大于预设次数阈值;如果是,执行步骤s504;如果否,不做处理,继续监测,执行步骤502。
86.步骤s504:将集群切换开关设置为打开。
87.步骤s505:在配置中心将当前主集群更改为备用集群,将当前的备用集群更改成主集群。
88.步骤s506:将集群切换开关设置为关闭,继续执行步骤s502。
89.当然,还可以在主集群发生异常时发送告警信息,以提醒人员及时干预和排查具体异常原因等。
90.本发明的一个实施例采用了至少两个分布式缓存集群,可以在主集群发生异常时,直接自动切换至备用集群,减少了线上诊疗服务不可用的时间,提高了线上诊疗服务的可用性,进而提升了用户对线上诊疗服务的体验。
91.在主集群的分布式缓存中存在目标诊疗数据的情况下,从所述分布式缓存中获取并输出所述目标诊疗数据,并将所述目标诊疗数据存储至所述本地缓存。可以理解的是,将分布式缓存中获取到的目标诊疗数据存储至本地缓存中,这样对于在短时间内再次发起的同样的查询操作,则可以直接从本地缓存中返回目标诊疗数据,较大程度的提高了服务的响应速度,进而提高了查询性能。
92.而在分布式缓存中不存在目标诊疗数据的情况下,可以采用以下方式进行处理:根据所述诊疗数据标识在数据库中查询是否存在所述目标诊疗数据;如果是,从所述数据库中获取并返回所述目标诊疗数据,并将所述目标诊疗数据分别存储至本地缓存和所述至少两个集群的分布式缓存中。
93.可以理解的是,将从数据库中获取到的目标诊疗数据分别存储至本地缓存和至少两个集群的分布式缓存中,进一步提高了短时间内对高频检索场景的响应速度,避免了短时间内频繁对数据库发送大量查询请求的情况,从而降低了数据库服务器宕机的风险,进而提高了线上诊疗服务的可用性。
94.另外,为了保证本地缓存数据是近期数据且可以对短时间内的高频检索做出快速响应,可以对本地缓存进行缓存清除,可以使用本发明的一个实施例提供的以下方式:根据预设周期对所述本地缓存中存储的数据进行清除,包括:对所述本地缓存中除所述高频诊疗数据以外的其他诊疗数据进行清除;或,将所述本地缓存中存储的所有数据进行清除,并将所述高频诊疗数据从数据库或分布式缓存中加载至所述本地缓存。
95.可以根据业务需要或者诊疗数据更新的频率,设置预设周期时长。例如,将预设周期时长设置为1分钟,也就是说每1分钟对本地缓存中的数据进行清除,可以将高频诊疗数据以外的其他数据进行清除,或者将本地缓存中的所有数据进行清除,并在清除之后,再次从数据库或分布式缓存中将高频诊疗数据加载至本地缓存。
96.为本地缓存设置一个预设周期定期执行缓存清除,可以提高本地缓存中数据与数据库或分布式缓存中的一致性,进而提高了目标诊疗数据的检索准确性。
97.在利用本地缓存和分布式缓存进行查询目标诊疗数据时,数据库中的诊疗数据随着诊疗业务的变化也在不断更新。为了保证本地缓存和分布式缓存中存储的诊疗数据与数据库中的诊疗数据一致,可以采用本发明实施例提供的以下方式:在数据库中的诊疗数据被更新时,根据数据库中更新的诊疗数据,对所述本地缓存和/或所述分布式缓存中所存储的数据进行更新。
98.在数据库中的诊疗数据发生变化时,可以采用同步清除更新的方式,即数据库数据一旦更新,则清除本地缓存及分布式缓存中的相关数据,并将数据库中更新后的诊疗数据加载至本地缓存及分布式缓存。其中,对于多个集群的分布式缓存同步进行数据更新。
99.在使用同步清除更新的方式时,有可能存在由于清除数据失败从而无法更新数据,为了避免这种情况,还可以采用异步更新的方式。异步更新则可以包括:在数据库中的数据变更之后发送数据变更信息,在监听到数据变更信息之后,可以根据变更信息再次更新对应的数据。换句话说,异步更新相比同步清除更新在时间上有滞后,可以作为数据更新的一种兜底方式,保证数据的一致性。
100.以对医生数据进行查询为例,结合图2、图6和图7对本发明提供的一种诊疗数据处理方法做详细说明。
101.图2中,在本地缓存模块的缓存池和分布式缓存模块的缓存池存储的数据结构可以相同。在确定本地缓存模块的缓存池和分布式缓存模块的缓存池的数据结构时,可以先根据高频检索场景的检索结果得到高频检索数据,然后根据高频检索数据的数据结构确定缓存池中的数据结构,由此便于将高频检索数据存储在缓存池中。确定出的数据结构可以如图6所示。
102.其中,图2中的医生基础数据缓存池中的数据结构可以对应于图6中的医生标识查询医生基础数据,key可以为医生标识,value可以为医生基础数据,如医生标识、医生pin码、租户标识、医院标识等。
103.图2中的医生标签数据缓存池中的数据结构可以对应于图6中的医生标识查询医
生标签数据,key可以为医生标识,value可以为医生标签,如标签1、标签2、标签3等。
104.图2中的医生标识缓存池可以使用医生pin码加租户标识组合查询得到,可以对应于图6中的组合查询医生标识,key可以为医生pin码 租户标识,value可以为医生标识。
105.图2中的医生服务数据缓存池中的数据结构可以对应于图6中的医生标识查询医生服务数据,key可以为医生标识,value可以为服务数据,如服务标识、服务1、服务2等;也可以对应图6中的服务标识查询医生服务数据,key可以为服务标识,value可以为服务数据,如医生标识、服务标识、服务类型、服务名称、场景等。
106.图2中的医生接诊渠道数据缓存池中的数据结构可以对应于图6中的医生标识查询接诊渠道数据,key可以为医生标识,value可以为接诊渠道数据,如接诊渠道1、接诊渠道2、接诊渠道3等。
107.图2中数据库可以是mysql数据库,可以存储医生表、医生服务表、医生接诊渠道表、医生标签表等关系数据表。可以理解的是,本地缓存和分布式缓存中的数据均可以从这些关系数据表中通过一些查询条件得到并按照图6中的数据结构进行存储的。
108.图7是本发明实施例提供的另一种诊疗数据处理方法的流程示意图,其步骤可以包括s701至s707:
109.步骤s701:获取查询请求。
110.其中查询请求指示的诊疗数据标识可以是图2中所示的:医生pin码加租户标识、医生标识、服务标识、医生标签标识、接诊渠道标识等。
111.步骤s702:根据诊疗数据标识,在本地缓存查询并判断是否存在目标诊疗数据;如果是,执行步骤s707;如果否,执行步骤s703。
112.步骤s703:根据诊疗数据标识,在至少两个集群的主集群的分布式缓存中,查询并判断是否存在目标诊疗数据;如果是,执行步骤s704;如果否,执行步骤s705。
113.步骤s704:将目标诊疗数据存储至本地缓存,并执行步骤s707。
114.其中,本地缓存和分布式缓存中存储的缓存数据池可以如图2所示,各个缓存数据池中的数据结构可以如图6所示。
115.另外,对于本地缓存数据和分布式缓存数据的清除与更新,如图2所示,可以采用同步清除更新、异步更新等方式。
116.步骤s705:根据诊疗数据标识,在数据库中查询并判断是否存在目标诊疗数据;如果是,执行步骤s706;如果否,结束流程,返回无目标诊疗数据的查询结果。
117.步骤s706:将目标诊疗数据存储至本地缓存及至少两个集群的分布式缓存中。
118.步骤s707:输出目标诊疗数据。
119.根据本发明实施例提供一种诊疗数据处理方法,能够先从本地缓存中查询目标诊疗数据,当本地缓存不存在目标诊疗数据时,则从至少两个集群的主集群的分布式缓存中查询目标诊疗数据,由此,可以减少直接从数据库中查询目标诊疗数据的情况,降低了数据库服务器宕机的风险,提高了查询结果的复用率,进而提高了查询性能。
120.进一步地,通过配置至少两个集群作为分布式缓存,在主集群频繁发生异常且异常次数达到预设次数阈值时,可以快速将其他备用集群切换为主集群,从而使得在切换后的主集群中进行查询操作,缩短了线上诊疗服务不可用的时间,进一步提高了线上诊疗服务的可用性。
121.另外,通过将高频数据加载至本地缓存和分布式缓存中,可以缩短查询高频数据时间,从而进一步提高了查询效率。
122.如图8所示,本发明实施例提供了一种诊疗数据处理装置800,包括:接收模块801、确定模块802和处理模块803;其中,
123.所述接收模块801,用于接收查询请求;所述查询请求指示了诊疗数据标识;
124.所述确定模块802,用于在确定出本地缓存不存在与所述诊疗数据标识对应的目标诊疗数据的情况下,从至少两个集群的主集群的分布式缓存中,确定是否存在与所述诊疗数据标识对应的目标诊疗数据;如果是,触发所述处理模块803;
125.所述处理模块803,用于从所述分布式缓存中获取并输出所述目标诊疗数据,并将所述目标诊疗数据存储至所述本地缓存。
126.在本发明一个实施例中,所述处理模块803,用于在所述主集群处于异常状态时,确定所述主集群在预设时间段内出现异常的总次数;在所述总次数大于预设次数阈值的情况下,从所述至少两个集群中重新确定主集群。
127.在本发明一个实施例中,所述处理模块803,用于在所述分布式缓存中不存在所述目标诊疗数据的情况下,根据所述诊疗数据标识在数据库中查询是否存在所述目标诊疗数据;如果是,从所述数据库中获取并返回所述目标诊疗数据,并将所述目标诊疗数据分别存储至本地缓存和所述至少两个集群的分布式缓存中。
128.在本发明一个实施例中,所述处理模块803,用于在所述本地缓存存在所述目标诊疗数据的情况下,根据所述本地缓存存储的数据输出所述目标诊疗数据;所述本地缓存存储有以下任意一种或多种数据:接诊渠道数据、接诊者基础数据、接诊者服务数据和接诊者标签数据。
129.在本发明一个实施例中,所述处理模块803,用于根据预设周期对所述本地缓存中存储的数据进行清除。
130.在本发明一个实施例中,所述处理模块803,用于根据多个历史查询请求的处理结果,确定高频诊疗数据;对所述本地缓存中除所述高频诊疗数据以外的其他诊疗数据进行清除;
131.在本发明一个实施例中,所述处理模块803,用于将所述本地缓存中存储的所有数据进行清除,并将所述高频诊疗数据从数据库或分布式缓存中加载至所述本地缓存。
132.在本发明一个实施例中,所述处理模块803,用于在数据库中的诊疗数据被更新时,根据数据库中更新的诊疗数据,对所述本地缓存和/或所述分布式缓存中所存储的数据进行更新。
133.在本发明一个实施例中,所述处理模块803,用于在所述诊疗数据标识为多个的情况下,根据多个所述诊疗数据标识,生成组合查询标识;根据所述组合查询标识,确定是否存在所述目标诊疗数据。
134.根据本发明实施例提供的一种诊疗数据处理装置,能够先从本地缓存中查询目标诊疗数据,当本地缓存不存在目标诊疗数据时,则从至少两个集群的主集群的分布式缓存中查询目标诊疗数据,由此,可以减少直接从数据库中查询目标诊疗数据的情况,降低了数据库服务器宕机的风险,提高了查询结果的复用率,进而提高了查询性能。
135.进一步地,通过配置至少两个集群作为分布式缓存,在主集群频繁发生异常且异
常次数达到预设次数阈值时,可以快速将其他备用集群切换为主集群,从而使得在切换后的主集群中进行查询操作,缩短了线上诊疗服务不可用的时间,进一步提高了线上诊疗服务的可用性。
136.另外,通过将高频数据加载至本地缓存和分布式缓存中,可以缩短查询高频数据时间,从而进一步提高了查询效率。
137.图9示出了可以应用本发明实施例的一种诊疗数据处理方法或一种诊疗数据处理装置的示例性系统架构900。
138.如图9所示,系统架构900可以包括终端设备901、902、903,网络904和服务器905、906、907、908。网络904用以在终端设备901、902、903和服务器905、906、907、908之间提供通信链路的介质。网络904可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
139.用户可以使用终端设备901、902、903通过网络904与服务器905、906、907、908交互,以接收或发送消息等。
140.终端设备901、902、903可以是具有显示屏并且支持信息浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
141.服务器905、906、907、908可以是提供各种诊疗数据查询服务的服务器。其中服务器905可以是提供本地缓存查询服务的服务器,服务器906、907、908可以是提供分布式缓存查询服务的分布式集群的服务器。例如对用户利用终端设备901、902、903提出的诊疗数据查询请求,可以先从服务器905对应的本地缓存中查询诊疗数据,如果不存目标诊疗数据,再从集群服务器906、907、908中进行查询,并将处理结果反馈给终端设备。
142.应该理解,图9中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
143.下面参考图10,其示出了适于用来实现本发明实施例的终端设备的计算机系统1000的结构示意图。图10示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
144.如图10所示,计算机系统1000包括中央处理单元(cpu)1001,其可以根据存储在只读存储器(rom)1002中的程序或者从存储部分1008加载到随机访问存储器(ram)1003中的程序而执行各种适当的动作和处理。在ram 1003中,还存储有系统1000操作所需的各种程序和数据。cpu 1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
145.以下部件连接至i/o接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至i/o接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
146.特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在
这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(cpu)1001执行时,执行本发明的系统中限定的上述功能。
147.需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
148.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
149.描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块,确定模块,处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,接收模块还可以被描述为“接收查询请求的模块”。
150.作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收查询请求;所述查询请求指示了诊疗数据标识;在确定出本地缓存不存在与所述诊疗数据标识对应的目标诊疗数据的情况下,从至少两个集群的主集群的分布式缓存中,确定是否存在与所述诊疗数据标识对应的目标诊疗数据;如果是,从所述分布式缓存中获取并输出所述目标诊疗数据,并将所述目标诊疗数据存储至所述本地缓存。
151.根据本发明实施例的技术方案,能够先从本地缓存中查询目标诊疗数据,当本地
缓存不存在目标诊疗数据时,则从至少两个集群的主集群的分布式缓存中查询目标诊疗数据,由此,可以减少直接从数据库中查询目标诊疗数据的情况,降低了数据库服务器宕机的风险,提高了查询结果的复用率,进而提高了查询性能。
152.进一步地,通过配置至少两个集群作为分布式缓存,在主集群频繁发生异常且异常次数达到预设次数阈值时,可以快速将其他备用集群切换为主集群,从而使得在切换后的主集群中进行查询操作,缩短了线上诊疗服务不可用的时间,进一步提高了线上诊疗服务的可用性。
153.另外,通过将高频数据加载至本地缓存和分布式缓存中,可以缩短查询高频数据时间,从而进一步提高了查询效率。
154.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献