发明内容
本公开的目的在于提供一种药品信息数据存取方法及药品信息数据存取系统,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本公开的一个方面,提供了一种药品信息数据存取方法,包括:
获取多条药品记录数据以及多条标准药品数据;
为各药品记录数据以及各标准药品数据分配取值凭证;
根据药品信息数据处理过程中的运算关系生成包含所述运算关系中的运算标识以及所述取值凭证的关系结构;以及
在所述药品信息数据处理过程中通过所述取值凭证获取对应的药品信息数据,将运算处理的结果以所述关系结构的方式存储。
在本公开的一种示例性实施例中,通过所述取值凭证获取对应的药品信息数据包括:
基于所述关系结构通过所述取值凭证获取对应的药品信息数据。
在本公开的一种示例性实施例中,所述药品信息数据存取方法还包括:
在所述药品信息数据处理过程中以多线程方式异步加载所述取值凭证。
根据本公开的一个方面,提供一种药品信息数据存取方法,包括:
获取由药品记录数据和标准药品数据组成的匹配对;
为满足预设条件的匹配对分配取值凭证;
根据药品信息数据处理过程中的运算关系生成包含所述运算关系中的运算标识与所述取值凭证的关系结构;以及
在所述药品信息数据处理过程中通过所述取值凭证获取所述匹配对,将运算处理的结果以所述关系结构的方式存储。
在本公开的一种示例性实施例中,所述为满足预设条件的匹配对分配取值凭证包括:
计算所述匹配对的匹配分值,在所计算的匹配分值大于预设阈值时为所述匹配对分配所述取值凭证。
在本公开的一种示例性实施例中,在所计算的匹配分值大于预设阈值时为所述匹配对分配所述取值凭证包括:
按照所计算的匹配分值的高低顺序对所述匹配对进行排序;
按照排列顺序为匹配分值大于预设阈值的匹配对分配所述取值凭证。
根据本公开的一个方面,提供一种药品信息数据存取系统,包括:
数据获取单元,用于获取多条药品记录数据以及多条标准药品数据;
标识分配单元,用于为各药品记录数据以及各标准药品数据分配取值凭证;
关系结构生成单元,用于根据药品信息数据处理过程中的运算关系生成包含所述运算关系中的运算标识以及所述取值凭证的关系结构;以及
存取单元,用于在所述药品信息数据处理过程中通过所述取值凭证获取对应的药品信息数据,将运算处理的结果以所述关系结构的方式存储。
根据本公开的一个方面,提供一种药品信息数据存取系统,包括:
匹配对获取单元,用于获取由药品记录数据和标准药品数据组成的匹配对;
标识分配单元,用于为满足预设条件的匹配对分配取值凭证;
关系结构生成单元,用于根据药品信息数据处理过程中的运算关系生成包含所述运算关系中的运算标识与所述取值凭证的关系结构;以及
存取单元,用于在所述药品信息数据处理过程中通过所述取值凭证获取所述匹配对,将运算处理的结果以所述关系结构的方式存储。
根据本公开的一个方面,提供了一种电子设备,包括:
处理器;以及
存储器,所述存储器上存储有计算机程序,所述程序被所述处理器执行时实现根据上述任意一项所述的药品信息数据存取方法。
根据本公开的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现根据上述任意一项所述的药品信息数据存取方法。
本公开的一种示例性实施例中的药品信息数据存取方法及药品信息数据存取系统,一方面,为各药品记录数据以及各标准药品数据分配取值凭证,能够根据取值凭证快速地获取各药品记录数据及其参考项和各标准药品数据及其参考项;另一方面,根据运算关系生成包含运算标识以及取值凭证的关系结构,可以以微数据量的关系结构建立运算标识与取值凭证的映射关系,从而可以在运算处理过程中通过微数据量关系结构对药品信息数据进行存取;再一方面,通过取值凭证获取对应的药品信息数据,将运算处理的结果以所述关系结构的方式存储,可以在不产生药品信息数据的拷贝或副本的情况下对药品信息数据进行存取,显著地降低了海量中间数据对内存的占用,使得能够在单台常规服务器就可以快速运行海量数据运算,而且提高了数据存取效率,从而能够适用于中小型医疗机构。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本示例实施例中,首先提供了第一药品信息数据存取方法。参考图2中所示,该第一药品信息数据存取方法可以包括以下步骤:
步骤S210.获取多条药品记录数据以及多条标准药品数据;
步骤S220.为各药品记录数据以及各标准药品数据分配取值凭证;
步骤S230.根据药品信息数据处理过程中的运算关系生成包含所述运算关系中的运算标识以及所述取值凭证的关系结构;以及
步骤S240.在所述药品信息数据处理过程中通过所述取值凭证获取对应的药品信息数据,将运算处理的结果以所述关系结构的方式存储。
根据本示例实施例中的药品信息数据存取方法,一方面,为各药品记录数据以及各标准药品数据分配取值凭证,能够根据取值凭证快速地获取各药品记录数据及其参考项和各标准药品数据及其参考项;另一方面,根据运算关系生成包含运算标识以及取值凭证的关系结构,可以以微数据量的关系结构建立运算标识与取值凭证的映射关系,从而可以在运算处理过程中通过微数据量关系结构对药品信息数据进行存取;再一方面,通过取值凭证获取对应的药品信息数据,将运算处理的结果以所述关系结构的方式存储,可以在不产生药品信息数据的拷贝或副本的情况下对药品信息数据进行存取,极大地降低了海量中间数据对内存的占用,使得能够在单台常规服务器就可以快速运行海量数据运算,而且提高了数据存取效率,从而能够适用于中小型医疗机构。
下面,将对本示例实施例中的第一药品信息数据存取方法进行详细的说明。
在步骤S210中,获取多条药品记录数据以及多条标准药品数据。
在本示例性实施例中,可以对医院数据系统中的不同类型数据库如MySQL、SQLServer、Oracle、DB2等设计统一接口,可以通过该统一接口获取各数据库中的药品记录数据和标准药品数据。
在本示例实施例中,药品记录数据和标准数据均包含多个参考项,每个参考项与一参考系对应。参照图3所示,在图3中无填充区域表示待处理的非标准的药品记录数据,有填充区域表示标准药品数据。在图3中每条药品记录数据可以包括7个参考项,每个参考项与一个参考系对应,例如在图3中的与7个参考项分别对应的参考系为:药品编号、批准文号、药品名称(中文)、药品名称(英文)、制剂规格、药品剂型、厂商名称。需要说明的是,虽然在本示例实施例中示出了上述7个参考系,但是本公开的示例实施例中的参考系不限于此,例如参考系还可以为药品成分、药品功能以及贮藏方式等参考系,这同样在本公开的保护范围内。
接下来,在步骤S220中,为各药品记录数据以及各标准药品数据分配取值凭证。
在本示例实施例中,可以通过哈希算法来为各药品记录数据以及各标准药品数据分配取值凭证,例如可以通过MD5算法以及SHA-1算法来为各药品记录数据和各标准药品数据分配取值凭证,但是本公开的示例实施例中的哈希算法不限于此,例如哈希算法还可以包括RIPE-MD算法以及HAVAL算法等,本公开对此不进行特殊限定。在本示例实施例中,通过哈希算法为各药品记录数据以及各标准药品数据分配取值凭证之后,各药品记录数据和各标准药品数据的地址的哈希值即可作为取值凭证,可以以<键,值>数据结构存储取值凭证和各药品记录数据与各标准药品数据的地址,其中,键可以表示取值凭证即哈希值,值可以表示各药品记录数据与各标准药品数据的内容。
进一步地,在本示例实施例中,还可以通过哈希算法为各药品记录数据的参考项以及各标准药品数据的参考项分配取值凭证,各参考项的哈希值即为取值凭证,可以以<第一键,<第二键,值>>的方式存储取值凭证和各参考项的地址,其中,第一键可以表示各药品记录数据的地址的取值凭证,第二键可以表示各参考项的取值凭证,值可以表示各参考项的内容。
接下来,在步骤S230中,根据药品信息数据处理过程中的运算关系生成包含所述运算关系中的运算标识以及所述取值凭证的关系结构。
在本示例实施例中,药品信息数据处理过程中的运算关系可以包括算术运算关系、比较运算关系、逻辑运算关系以及赋值运算关系等,等,但是本公开的示例实施例中的运算关系不限于此,例如运算关系还可以包括移位运算关系以及指针运算关系等,这同样在本公开的保护范围内。
具体地,在本示例实施例中,在算术运算关系中,运算标识可以包括加(+)、减(-)、乘(*)、除(÷)以及取余(%)等,在比较运算关系中,运算标识可以包括大于(>)、小于(<)以及等于(==)等,在逻辑运算关系中,运算标识可以包括与(&&)、或(||)、非(!)等,其他运算关系具有相应的运算标识,在此不再一一赘述。
进一步地,在本示例实施例中,关系结构可以为哈希表类型的关系结构例如<运算标识,<取值凭证,值>>类型的数据结构,但是本公开的示例实施例中的关系结构不限于此,例如关系结构还可以为树形关系结构,在树形关系结构中,父节点可以表示运算标识,子节点可以表示取值凭证。例如,在二叉树关系结构中,父节点可以表示加号,两个子节点可以分别表示与需要进行加法运算的药品信息数据对应的取值凭证。需要注意的是,本公开的示例实施例中的关系结构还可以为链表关系结构以及图关系结构,这同样在本公开的保护范围内。
接下来,在步骤S240中,在所述药品信息数据处理过程中通过所述取值凭证获取对应的药品信息数据,将运算处理的结果以所述关系结构的方式存储。
在本示例实施例中,一条药品信息数据可以为一个对象类,对象类的属性可以表示各参考项,取值凭证可以为对象类的地址。因此,在本示例实施例中,可以在药品信息数据处理过程中直接通过取证凭证获取与取值凭证对应的药品信息数据,也可以基于上述关系结构通过所述取证凭证获取对应的药品信息数据。例如,在药品信息数据处理过程中,需要调用药品信息数据时可以直接通过取值凭证获取对应的药品信息数据,在运算处理中需要调用药品信息数据时,可以基于上述关系结构通过取值凭证获取对应的药品信息数据。
进一步地,在本示例实施例中,可以通过上述关系结构存储运算处理的结果。例如,在进行加法运算时,可以通过包括运算标识“+”的关系结构中的取值凭证例如<+,<取值凭证,值>>获取对应的药品信息数据,将加法运算的结果存储在与取证凭证对应的值的地址处。此外,在本示例实施例中,还可以通过树形关系结构获取药品信息数据,将加法运算的结果存储在与取证凭证的子节点对应的子节点上,例如,在二叉树关系结构中,加法运算的结果可以存储在与取证凭证的子节点对应的子节点上。
进一步地,在本示例实施例中,为了更高效地对药品信息数据进行存取,该第一药品信息数据存取方法还可以包括:在药品信息数据处理过程中以多线程方式异步加载取值凭证。通过多线程方式异步加载取值凭证,可以同时存取多条药品信息数据,从而提高了药品信息数据的存取效率。
由于在药品信息数据处理过程中,经常需要对由非标准的药品记录数据与标准药品数据构成的匹配对进行处理,此外,匹配对中有许多无效的匹配对即两条药品信息根本不可能是同一药品,因此,需要对匹配对进行筛选之后再为匹配对分配取值凭证。
基于上述,在本公开的另一示例实施例中,还提供了第二药品信息数据存取方法。参照图4所示,该第二药品信息数据存取方法可以包括以下步骤:
步骤S410.获取由药品记录数据和标准药品数据组成的匹配对;
步骤S420.为满足预设条件的匹配对分配取值凭证;
步骤S430.根据药品信息数据处理过程中的运算关系生成包含所述运算关系中的运算标识与所述取值凭证的关系结构;以及
步骤S440.在所述药品信息数据处理过程中通过所述取值凭证获取所述匹配对,将运算处理的结果以所述关系结构的方式存储。
根据本示例实施例的第二药品信息数据存取方法,通过为满足预设条件的匹配对分配取值凭证,不仅可以在药品信息数据存取过程中通过取证凭证快速获取匹配对的内容,而且还能够避免对无效的匹配对分配取证凭证,进一步减少了数据存取对内存的占用。
在本示例实施例中,匹配对中的药品记录数据和标准数据均包含多个参考项,每个参考项与一参考系对应。由于匹配对中存在大量的无效匹配对,因此,在本示例实施例中,为了减少对无效的匹配对分配取值凭证,所述为满足预设条件的匹配对分配取值凭证可以包括:计算所述匹配对的匹配分值,在所计算的匹配分值大于预设阈值时为所述匹配对分配所述取值凭证。
在本示例实施例中,为了更高效地对匹配对分配取值凭证,在所计算的匹配分值大于预设阈值时为所述匹配对分配所述取值凭证包括:按照所计算的匹配分值的高低顺序对所述匹配对进行排序;按照排列顺序为匹配分值大于预设阈值的匹配对分配所述取值凭证。对匹配对进行排序之后,可以进一步地缩小需要处理的匹配对的范围,减小需要处理的匹配对的数量。
由于本示例实施例中的第二药品信息数据存取方法与上述第一药品信息数据存取方法的一些步骤类似,因此在此为了避免重复而不再赘述。
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
此外,在本公开的示例实施例中,还提供了第一药品信息数据存取系统。参照图5所示,该第一药品信息数据存取系统500可以包括:数据获取单元510、标识分配单元520、关系结构生成单元530以及存取单元540。其中:
数据获取单元510用于获取多条药品记录数据以及多条标准药品数据;
标识分配单元520用于为各药品记录数据以及各标准药品数据分配取值凭证;
关系结构生成单元530用于根据药品信息数据处理过程中的运算关系生成包含所述运算关系中的运算标识以及所述取值凭证的关系结构;以及
存取单元540用于在所述药品信息数据处理过程中通过所述取值凭证获取对应的药品信息数据,将运算处理的结果以所述关系结构的方式存储。
进一步地,在本示例实施例中,通过所述取值凭证获取对应的药品信息数据可以包括:基于所述关系结构通过所述取值凭证获取对应的药品信息数据。
进一步地,在本示例实施例中,第一药品信息数据存取系统还可以包括:加载单元,用于在所述药品信息数据处理过程中以多线程方式异步加载所述取值凭证。
此外,在本公开的示例实施例中,还提供了第二药品信息数据存取系统。参照图6所示,该第二药品信息数据存取系统600可以包括:匹配对获取单元610、标识分配单元620、关系结构生成单元630以及存取单元640。其中:
匹配对获取单元610用于获取由药品记录数据和标准药品数据组成的匹配对;
标识分配单元620用于为满足预设条件的匹配对分配取值凭证;
关系结构生成单元630用于根据药品信息数据处理过程中的运算关系生成包含所述运算关系中的运算标识与所述取值凭证的关系结构;以及
存取单元640用于在所述药品信息数据处理过程中通过所述取值凭证获取所述匹配对,将运算处理的结果以所述关系结构的方式存储。
进一步地,在本示例实施例中,为满足预设条件的匹配对分配取值凭证可以包括:计算所述匹配对的匹配分值,在所计算的匹配分值大于预设阈值时为所述匹配对分配所述取值凭证。
进一步地,在本示例实施例中,在所计算的匹配分值大于预设阈值时为所述匹配对分配所述取值凭证可以包括:按照所计算的匹配分值的高低顺序对所述匹配对进行排序;按照排列顺序为匹配分值大于预设阈值的匹配对分配所述取值凭证。
由于本公开的示例实施例的药品信息数据存取系统的各个功能模块与上述药品信息数据存取方法的示例实施例的步骤对应,因此在此不再赘述。
此外,在本示例实施例中,还提供了一种电子设备,该电子设备可以包括:处理器以及存储器,该存储器上存储有计算机程序,所述程序被处理器执行时可以实现上述第一药品信息数据存取方法和第二药品信息数据存取方法。
此外,在本示例实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述程序被处理器执行时可以实现上述第一药品信息数据存取方法和第二药品信息数据存取方法。
应当注意,尽管在上文详细描述中提及了药品信息数据处理系统的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施例的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。