数据访问方法、装置、设备和存储介质与流程

文档序号:26921050发布日期:2021-10-09 16:40阅读:74来源:国知局
数据访问方法、装置、设备和存储介质与流程

1.本技术涉及信息处理技术领域,具体而言,涉及一种数据访问方法、装置、设备和存储介质。


背景技术:

2.医院管理信息系统,是医院、诊所等医疗事业单位所用的系统软件。其是一个大类别。一般的医院管理信息系统会包含以各部门划分的子系统,常见的有药库子系统、门诊收费子系统、药房发药子系统、院长查询子系统、患者信息管理子系统和医生信息管理子系统等。
3.为了更好地让各个子系统的数据可以共享,子系统之间的融合应用将变得越来越重要,应用场景也将变得越来越广泛,用户对融合应用的需求也越来越多。在实际应用中,一般会采用系统融合技术,将各个子系统融合到一个主系统中,使得用户通过一个融合终端就可以访问多个子系统的数据信息。
4.在通过融合终端访问子系统时,依然需要单独登录。现有的融合系统登录方案,一般有如下两种:
5.1、将令牌存到主系统的缓存中,跳转到另一个应用时将令牌拼接到跳转链接上,带给另一个子系统。
6.2、将令牌保存到主系统的缓存后,通过ifram(是文档中的文档,或者浮动的框架,融合前端系统时使用的容器)与主系统的通信能力,调用通信接口将令牌传给每个子系统。
7.上述现有的方案中至少存在以下三个问题:
8.1.将令牌通过跳转链接进行传递时,令牌是明文传输的,很容易暴露,被拦截后拿到令牌很不安全。
9.2.每次通过iframe通信接口进行数据传递,对子系统与主系统都要做不同程度的代码入侵,增加与本身业务无关的内容。
10.3.上述方案都是共享同一个令牌,这样多个子系统都要使用这一个令牌进行权限校验,这样子系统间的耦合程度增加,破坏了子系统的独立性,后期维护麻烦。


技术实现要素:

11.本技术实施例的目的在于提供一种数据访问方法、装置、设备和存储介质,实现了同一个账户在融合系统的多个子系统间共享一个登录态的方案,无需再调用每个子系统时让用户重复登录,提高了融合系统的数据访问效率。
12.本技术实施例第一方面提供了一种数据访问方法,包括:接收终端对融合系统中的任一目标子系统的访问请求,所述访问请求中携带有目标账号的账号标识,所述融合系统中包括多个子系统;根据所述访问请求,将所述目标子系统的数据包嵌入到容器内;根据所述账号标识,获取所述目标账号已被授权的登录识别码,其中,同一个账号下,所述融合系统中的多个子系统共用一个登录识别码;根据所述登录识别码登录至所述容器内的所述
目标子系统,并根据所述访问请求返回数据给所述终端。
13.于一实施例中,所述根据所述账号标识,获取所述目标账号已被授权的登录识别码,包括:根据所述账号标识判断所述目标账号是否登录过所述融合系统中的任一子系统;若所述目标账号登录过所述融合系统中的任一子系统,则从所述目标账号的历史登录记录中读取得到所述目标账号登录所述任一子系统时已被授权的登录识别码。
14.于一实施例中,还包括:若所述目标账号未登录过所述融合系统中的任一子系统,则跳转至预设登录页面,接收所述目标账户的登录信息;根据所述登录信息向授权服务器发送授权请求,并接收所述授权服务器基于所述授权请求返回的授权后的所述登录识别码。
15.于一实施例中,所述根据所述账号标识判断所述目标账号是否登录过所述融合系统中的任一子系统,包括:根据所述账号标识判断所述目标子系统是否已被所述目标账号登录过;若所述目标子系统未被所述目标账号登录过,跳转至预设登录页面,在所述预设登录页面中,查询所述目标账号是否登录过所述融合系统中的其他子系统。
16.于一实施例中,所述根据所述登录识别码登录至所述容器内的所述目标子系统,包括:根据所述登录识别码,调用所述目标账户在所述目标子系统下的登录令牌,基于所述登录令牌登录至所述容器内的所述目标子系统。
17.本技术实施例第二方面提供了一种数据访问装置,包括:接收模块,用于接收终端对融合系统中的任一目标子系统的访问请求,所述访问请求中携带有目标账号的账号标识,所述融合系统中包括多个子系统;嵌入模块,用于根据所述访问请求,将所述目标子系统的数据包嵌入到容器内;获取模块,用于根据所述账号标识,获取所述目标账号已被授权的登录识别码,其中,同一个账号下,所述融合系统中的多个子系统共用一个登录识别码;登录模块,用于根据所述登录识别码登录至所述容器内的所述目标子系统,并根据所述访问请求返回数据给所述终端。
18.于一实施例中,所述获取模块用于:根据所述账号标识判断所述目标账号是否登录过所述融合系统中的任一子系统;若所述目标账号登录过所述融合系统中的任一子系统,则从所述目标账号的历史登录记录中读取得到所述目标账号登录所述任一子系统时已被授权的登录识别码。
19.于一实施例中,还包括:跳转模块,用于若所述目标账号未登录过所述融合系统中的任一子系统,则跳转至预设登录页面,接收所述目标账户的登录信息;收发模块,用于根据所述登录信息向授权服务器发送授权请求,并接收所述授权服务器基于所述授权请求返回的授权后的所述登录识别码。
20.于一实施例中,所述根据所述账号标识判断所述目标账号是否登录过所述融合系统中的任一子系统,包括:根据所述账号标识判断所述目标子系统是否已被所述目标账号登录过;若所述目标子系统未被所述目标账号登录过,跳转至预设登录页面,在所述预设登录页面中,查询所述目标账号是否登录过所述融合系统中的其他子系统。
21.于一实施例中,所述登录模块用于:根据所述登录识别码,调用所述目标账户在所述目标子系统下的登录令牌,基于所述登录令牌登录至所述容器内的所述目标子系统。
22.本技术实施例第三方面提供了一种电子设备,包括:存储器,用以存储计算机程序;处理器,用以执行所述计算机程序,以实现本技术实施例第一方面及其任一实施例的方
法。
23.本技术实施例第四方面提供了一种非暂态电子设备可读存储介质,包括:程序,当其藉由电子备运行时,使得所述电子设备执行本技术实施例第一方面及其任一实施例的方法。
24.本技术提供的数据访问方法、装置、设备和存储介质,通过在融合系统中同一个账号下多个子系统共用一个登录识别码,当接收终端对融合系统中的任一目标子系统的访问请求时,首先将目标子系统的数据包嵌入到相应的容器中,然后基于访问请求中携带的账号标识获取所述目标账号已被授权的登录识别码,并基于所述登录识别码登录至目标子系统,进而响应用户的访问请求,如此,实现了同一个账户在融合系统的多个子系统间共享一个登录态的方案,无需再调用不同子系统时让用户重复输入登录信息进行登录,提高了融合系统的数据访问效率。
附图说明
25.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
26.图1为本技术一实施例的电子设备的结构示意图;
27.图2为本技术一实施例的数据访问系统的场景示意图;
28.图3为本技术一实施例的数据访问方法的流程示意图;
29.图4为本技术一实施例的数据访问方法的流程示意图;
30.图5为本技术一实施例的数据访问装置的结构示意图。
具体实施方式
31.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
32.如图1所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图1中以一个处理器为例。处理器11和存储器12通过总线10连接,存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程,以实现同一个账户在融合系统的多个子系统间共享一个登录态的方案。
33.于一实施例中,电子设备1可以是手机、笔记本电脑、台式计算机、或者多个计算机设备组成的大型计算系统等设备。
34.请参看图2,其为本技术一实施例的数据访问系统200的场景示意图,包括:终端30和融合系统服务器30,其中:
35.融合系统服务器30可以由电子设备1来实现,用于部署融合系统,融合系统中包括多个子系统(即子系统1、子系统2
……
子系统n,其中n为正整数),子系统比如可以是医院的药库子系统、门诊收费子系统、药房发药子系统、院长查询子系统、患者信息管理子系统和医生信息管理子系统等。
36.终端30可以是用户的手机、电脑、或者医院的终端30等设备,用户可以通过安装在终端30的客户端发出访问融合系统中某个子系统的数据访问请求。
37.于一实施例中,数据访问系统200还可以包括授权服务器40,用以维护用户信息,比如授权服务器40可以维护用户的登录记录,可以为登录账户的合法性进行身份验证,并对验证成功的登录账户分发授权的登录识别码,实现对各子系统的授权。各子系统通过登录识别码重新登录,不会使旧的登录识别码失效,保证了登录的长期有效,以使同一个账户在各个子系统可以共用一个登录识别码,避免同一个账户重复输入登录信息进行登录,提高数据访问效率。同时又保证了各子系统的独立性,各自登录。
38.请参看图3,其为本技术一实施例的数据访问方法,该方法可由图1所示的电子设备1来执行,并可应用于如图2所示的数据访问场景中,实现同一个账户在融合系统的多个子系统间共享一个登录态的方案。以医疗信息管理领域为例,该方法包括如下步骤:
39.步骤301:接收终端30对融合系统中的任一目标子系统的访问请求,访问请求中携带有目标账号的账号标识,融合系统中包括多个子系统。
40.在本步骤中,以医疗信息关系为例,融合系统中包括:医院的药库子系统、门诊收费子系统、药房发药子系统、院长查询子系统、患者信息管理子系统和医生信息管理子系统,当用户需要访问融合系统中某个目标子系统时,比如需要访问患者信息管理子系统,则可以通过自己的手机(手机上安装有融合系统的应用app),通过主系统发出对患者信息管理子系统的访问请求,该访问请求中携带有该用户用于登录的目标账户的账户标识。
41.步骤302:根据访问请求,将目标子系统的数据包嵌入到容器内。
42.在本步骤中,主系统接收到数据访问请求后,再根据访问请求将对应的目标子系统嵌入到容器内,比如,目标子系统是患者信息管理子系统,则主系统只需要将患者信息管理子系统嵌入到容器内。如此,相比于直接把全部子系统的数据包嵌入容器的方式,系统负担更加小。
43.于一实施例中,主系统可以独立于各个子系统,主系统中配置有容器,用于通过容器化技术嵌入子系统。容器化就是将应用程序、以及应用程序的运行环境、依赖项打成一个数据包,该数据包可以一起被安装和移动、删除等操作。容器技术可以有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求。比如可以使用iframe工具,作为容器,用来嵌入子系统。
44.步骤303:根据账号标识,获取目标账号已被授权的登录识别码,其中,同一个账号下,融合系统中的多个子系统共用一个登录识别码。
45.在本步骤中,多个系统融合为一个服务系统后,为保证融合系统的完整性体验,避免让用户在各个子系统之间多次登录,因此同一个账号下,融合系统中的多个子系统共用一个登录识别码,登录识别码可以由图2中的授权服务器40对目标账号进行身份验证后分发得到。此处的已被授权是指该目标账户是融合系统的合法账户,具备登录访问的权限,因此可以备份发登录识别码。
46.于一实施例中,登录识别码可以是目标账户的身份认证结果标签,该标签可以作为该目标账户登录融合系统中任一子系统的唯一凭证。
47.步骤304:根据登录识别码登录至容器内的目标子系统,并根据访问请求返回数据给终端30。
48.在本步骤中,有了目标账号的登录识别码,被访问的目标子系统即可凭借该登录识别码自动完成登录,无需用户重复录入登录信息,给与用户对于融合系统的完整性体验,提高数据管理的效率。
49.于一实施例中,主系统可以根据登录识别码,调用目标账户在目标子系统下的登录令牌,基于登录令牌登录至容器内的目标子系统。也就是说,融合系统中每个子系统对该目标账户都有一个登录令牌,用于登录对应的子系统,当获取到目标账户对应的登录识别码后,可以自动调出目标账户在目标子系统下的登录令牌,比如假设目标子系统为患者信息管理子系统,则利用自动调用接口,自动调出目标账户在患者信息管理子系统下的登录令牌,进而登录至患者信息管理子系统,完成登录后,基于用户的访问请求,返回对应的数据给用户终端30。整个过程自动完成,用户无感知,优化了融合系统的使用体验。
50.上述数据访问方法,通过在融合系统中同一个账号下多个子系统共用一个登录识别码,当接收终端30对融合系统中的任一目标子系统的访问请求时,首先将目标子系统的数据包嵌入到相应的容器中,然后基于访问请求中携带的账号标识获取目标账号已被授权的登录识别码,并基于登录识别码登录至目标子系统,进而响应用户的访问请求,如此,实现了同一个账户在融合系统的多个子系统间共享一个登录态的方案,无需再调用不同子系统时让用户重复输入登录信息进行登录,提高了融合系统的数据访问效率。
51.请参看图4,其为本技术一实施例的数据访问方法,该方法可由图1所示的电子设备1来执行,并可应用于如图2所示的数据访问场景中,实现同一个账户在融合系统的多个子系统间共享一个登录态的方案。以医疗信息管理领域为例,该方法包括如下步骤:
52.步骤401:接收终端30对融合系统中的任一目标子系统的访问请求,访问请求中携带有目标账号的账号标识,融合系统中包括多个子系统。详细参见上述实施例中对步骤301的描述。
53.步骤402:根据访问请求,将目标子系统的数据包嵌入到容器内。详细参见上述实施例中对步骤302的描述。
54.步骤403:根据账号标识判断目标账号是否登录过融合系统中的任一子系统。若是进入步骤404,否则进入步骤405。
55.在本步骤中,同一个账号下,融合系统中的多个子系统共用一个登录识别码,因此只要目标账号曾经登陆过融合系统中的任一子系统,在该目标账号的登录记录中都会记录下该目标账号被授权的唯一登录识别码,因此在获取目标账号时登录识别码,首先根据账号标识判断目标账号是否登录过融合系统中的任一子系统,然后基于判断结果分别采用不同的获取方式,提高灵活性。
56.于一实施例中,步骤403具体可以包括:根据账号标识判断目标子系统是否已被目标账号登录过。若目标子系统未被目标账号登录过,跳转至预设登录页面,在预设登录页面中,查询目标账号是否登录过融合系统中的其他子系统。
57.在实际场景中,可以首先判断目标账号是否已在目标子系统登录过,可以用账号标识在目标子系统的已登录账号中搜索,如果已登录账号中存在目标账号的账号标识,说明目标账号登陆过目标子系统,则进入步骤404。若未登录过,跳转到统一登录页的预设登录界面。预设登录界面是融合系统中统一配置的登录界面,用于录入用户的登录信息。各系统可以共同使用预设登录界面,登录识别码可以设置在预设登录界面(即统一登录页)内,
在登录页和各个子系统间只通过数据连接传输登录识别码,不会对登录令牌进行明文传输,不会被拦截,因此比较安全,也无需使用iframe通信进行手动传输,无需增加各子系统的无关内容。
58.在统一登录页内,会自动判断是否已经有其他子系统登录过该目标账号,如果有直接进入步骤404。如果目标账号还没有在融合系统中的任何系统进行过登录,则要求用户进行正常登录,进入步骤405。
59.于一实施例中,各个子系统只需判断自身是否已经被目标账号登录过,子系统不用做冗余操作,只需关注自身。
60.步骤404:从目标账号的历史登录记录中读取得到目标账号登录任一子系统时已被授权的登录识别码。然后进入步骤407。
61.在本步骤中,若目标账号登录过融合系统中的任一子系统,则登录记录中一定存在目标账号的唯一登录识别码,可以直接从对应的历史登录记录中读取得到该目标账号的登录识别码,该登录识别码是各个子系统可以共用的。此种情况下,只要目标账号在任一个子系统登录过后,登录识别码只需要分发过一次,统一登录页会自动缓存登录识别码,后续若用户访问到了其他子系统,则登录页自动取到缓存的登录识别码后,将该登录识别码回传给需要登录的目标子系统。直接自动登录至目标子系统,对于用户无感知。多系统融合后,用户会感觉在使用一个完整的系统,无需多次手动登录。
62.步骤405:跳转至预设登录页面,接收目标账户的登录信息。
63.在本步骤中,若目标账号未登录过融合系统中的任一子系统,则需要用户进行正常登录,跳转至预设登录页面,提示用户录入登录信息,接收用户录入的登录信息。登录信息可以包括当前登录账户的身份识别秘钥和账户信息(包含是否登录、姓名、id等)。
64.步骤406:根据登录信息向授权服务器40发送授权请求,并接收授权服务器40基于授权请求返回的授权后的登录识别码。进入步骤407。
65.在本步骤中,接收到用户录入的登录信息后,向统一授权信息系统(即授权服务器40)请求登录识别码,授权服务器40会对用户录入的登录信息进行身份验证,验证其合法性,如果验证该登录信息是具备合法访问权限的,则会给该登录信息中的账号分发登录识别码,并将登录识别码返回至统一登录页,统一登录页将该登录识别码缓存到该账号的历史登录信息中。
66.步骤407:根据登录识别码登录至容器内的目标子系统,并根据访问请求返回数据给终端30。详细参见上述实施例中对步骤304的描述。
67.上述数据访问方法,多个系统融合为一个终端30系统后,为保证系统的完整性体验,通过增加统一授权信息系统与统一登录页,在保证安全性的前提下,使融合后的各子系统可以共用登录态,用户不用重复登录,同时保持了各子系统的独立性,提高数据管理的高效性。其中,登录态可以包括当前登录账户的身份识别秘钥和账户信息(包含是否登录、姓名、id等)。
68.请参看图5,其为本技术一实施例的数据访问装置500,该装置可应用于图1所示的电子设备1,并可应用于如图2所示的数据访问场景中,实现同一个账户在融合系统的多个子系统间共享一个登录态。该装置包括:接收模块501、嵌入模块502、获取模块503和登录模块504,各个模块的原理关系如下:
69.接收模块501,用于接收终端30对融合系统中的任一目标子系统的访问请求,访问请求中携带有目标账号的账号标识,融合系统中包括多个子系统。嵌入模块502,用于根据访问请求,将目标子系统的数据包嵌入到容器内。获取模块503,用于根据账号标识,获取目标账号已被授权的登录识别码,其中,同一个账号下,融合系统中的多个子系统共用一个登录识别码。登录模块504,用于根据登录识别码登录至容器内的目标子系统,并根据访问请求返回数据给终端30。
70.于一实施例中,获取模块503用于:根据账号标识判断目标账号是否登录过融合系统中的任一子系统。若目标账号登录过融合系统中的任一子系统,则从目标账号的历史登录记录中读取得到目标账号登录任一子系统时已被授权的登录识别码。
71.于一实施例中,还包括:跳转模块505,用于若目标账号未登录过融合系统中的任一子系统,则跳转至预设登录页面,接收目标账户的登录信息。收发模块506,用于根据登录信息向授权服务器40发送授权请求,并接收授权服务器40基于授权请求返回的授权后的登录识别码。
72.于一实施例中,根据账号标识判断目标账号是否登录过融合系统中的任一子系统,包括:根据账号标识判断目标子系统是否已被目标账号登录过。若目标子系统未被目标账号登录过,跳转至预设登录页面,在预设登录页面中,查询目标账号是否登录过融合系统中的其他子系统。
73.于一实施例中,登录模块504用于:根据登录识别码,调用目标账户在目标子系统下的登录令牌,基于登录令牌登录至容器内的目标子系统。
74.上述数据访问装置500的详细描述,请参见上述实施例中相关方法步骤的描述。
75.本发明实施例还提供了一种非暂态电子设备可读存储介质,包括:程序,当其在电子设备上运行时,使得电子设备可执行上述实施例中方法的全部或部分流程。其中,存储介质可为磁盘、光盘、只读存储记忆体(read

only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid

state drive,ssd)等。存储介质还可以包括上述种类的存储器的组合。
76.虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1