一种领域模型的特征字段的提取方法及装置与流程

文档序号:16855531发布日期:2019-02-12 23:14阅读:116来源:国知局
一种领域模型的特征字段的提取方法及装置与流程
本说明书实施例涉及计算机
技术领域
,尤其涉及一种领域模型的特征字段的提取方法及装置。
背景技术
:领域模型是对领域内的概念类或现实世界中对象的可视化表示,它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系,它是对业务角色和业务实体之间应该如何联系和协作以执行业务的一种抽象。由于领域模型的特性,目前大部分的业务系统都采用领域模型驱动的方案进行设计,在业务系统中领域模型涉及到的业务角色和业务实体都以对应的字段(单词)来表示其具体属性,其中字段分为普通字段和特征字段,普通字段,业务本身无感知(对业务本身无影响),例如用于表示日期、用户id等属性的普通字段,而特征字段往往具有一定特征意义(对业务本身有影响),例如在存款场景下用于表示存款、币种等属性的特征字段。随着业务的不断发展,业务系统需要在原先的基础之上增加新的功能,领域模型所具有的字段也需要不断的扩充。而在领域模型字段扩充之前,需要先梳理出领域模型目前所具有的特征字段(普通字段业务本身无感知,无需梳理),以免后续扩充的特征字段表示的属性与已存在的特征字段表示的属性相似,导致完整的领域模型中一些特征字段表示的属性模糊不清。为了梳理出领域模型目前所具有的特征字段,采用的方式为:人工去查看领域模型所对应的程序代码,从程序代码中梳理出领域模型目前所具有的特征字段。而目前的这种方式容易遗漏某些特征字段,并且梳理效率较低易出错。技术实现要素:针对上述技术问题,本说明书实施例提供一种领域模型的特征字段的提取方法及装置,技术方案如下:一种领域模型的特征字段的提取方法,该方法包括:获取多条业务数据,其中业务数据具有不同的字段,每个字段都有对应的字段值:从所获取的多条业务数据中,整合出多个不同的字段,并记录每个字段对应的字段值以及出现次数;根据所记录的字段值以及出现次数计算每个字段对应的值域;在所整合出的字段中,提取字段值域满足预设要求的字段,确定所提取的字段为领域模型的特征字段。一种领域模型的特征字段的提取装置,该装置包括;数据获取模块,用于获取多条业务数据,其中业务数据具有不同的字段,每个字段都有对应的字段值:记录模块,用于从所获取的多条业务数据中,整合出多个不同的字段,并记录每个字段对应的字段值以及出现次数;值域计算模块,用于根据所记录的字段值以及出现次数计算每个字段对应的值域;字段提取模块,用于在所整合出的字段中,提取字段值域满足预设要求的字段,确定所提取的字段为领域模型的特征字段;确定模块,用于确定所提取的字段为领域模型的特征字段。本说明书实施例所提供的技术方案,自动提取出领域模型的特征字段,且提取出的领域模型的特征字段是基于业务系统运行时业务数据提取的,相对于人工梳理的方式,不会遗漏某些特征字段,可以减少大量的梳理时间,提高了梳理效率,不易出错。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本说明书实施例的领域模型的特征字段的提取方法的流程示意图;图2是本说明书实施例的领域模型的特征字段的提取装置的结构示意图;图3是用于配置本说明书实施例装置的一种设备的结构示意图。具体实施方式目前大部分的业务系统都采用领域模型驱动的方案进行设计,随着业务的发展,业务系统需要在原先的基础之上增加新的功能,领域模型所具有的字段也需要不断扩充。而在领域模型的字段进行扩充之前,需要先梳理出领域模型目前所具有的特征字段,以免后续扩充的特征字段表示的属性与已存在的特征字段表示的属性相似,导致扩充之后完整的领域模型中一些特征字段表示的属性模糊不清。因此目前急需一种可以得到领域模型目前所具有的特征字段的解决方案。为了得到领域模型目前所具有的特征字段,目前普遍采用的方式是:人工查看领域模型目前所对应的程序代码,从程序代码中梳理出领域模型目前所具有的特征字段。而目前采用人工梳理的方式,梳理出领域模型目前所具有的特征字段,容易遗漏某些特征字段,并且人工梳理的方式需要耗费大量的时间和精力,梳理效率较低易出错。针对上述问题,本说明书实施例提供一种技术方案,自动提取出领域模型的特征字段,且提取出的领域模型的特征字段是基于业务系统运行时业务数据提取的。相对于人工梳理的方式,不会遗漏某些特征字段,可以减少大量的梳理时间,提高了梳理效率,不易出错。具体的本说明书实施例提供的技术方案如下:获取多条业务数据,其中业务数据具有不同的字段,每个字段都有对应的字段值:从所获取的多条业务数据中,整合出多个不同的字段,并记录每个字段对应的字段值以及出现次数;根据所记录的字段值以及出现次数计算每个字段的值域;在所整合出的字段中,提取字段值域满足预设要求的字段,确定所提取的字段为领域模型的特征字段。为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。如图1所示,为本说明书实施例提供的领域模型的特征字段的提取方法的流程示意图,该方法可以包括以下步骤:s101,获取多条业务数据,其中业务数据具有不同的字段,每个字段都有对应的字段值:业务系统运行时产生的业务数据常常需要存储介质进行存储,这里存储介质可以是数据库、缓存、磁盘等,存储介质的形式多种多样,本说明书实施例在此不再一一赘述。当业务系统运行时产生的业务数据存储至存储介质之后,可以从存储介质中获取多条业务数据,例如获取10000条业务数据,后续可以依据获取的多条业务数据提取出领域模型的特征字段。其中业务数据具有不同的字段,业务数据所具有的不同字段即领域模型所具有的字段,每个字段都有对应的字段值,如下表1所示:字段timeswiftnumber……字段值20180827201808272200146表1字段,在程序中表示某一属性的标识,例如上述的字段time用来表示日期这个属性,每个字段具有对应的字段值,例如字段time对应的字段值为20180827。另外,在获取多条业务数据之前,判断业务系统存储业务数据的存储介质中存储的业务数据的数量是否超过预设的阈值。若是,在业务系统存储业务数据的存储介质中,获取多条业务数据;若否,在后续间隔一段时间之后重新判断业务系统存储业务数据的存储介质中存储的业务数据的数量是否超过预设的阈值,直到业务系统存储业务数据的存储介质中存储的业务数据的数量超过预设的阈值,才在业务系统存储业务数据的存储介质中,获取多条业务数据。例如,预设的阈值为10000条,意味着存储介质中必须存储10000条业务数据,本申请才可以获取多条业务数据,因此在获取多条业务数据之前,判断存储介质中存储的业务数据大于等于预设的阈值10000,则可以在业务系统存储业务数据的存储介质中,获取多条业务数据。s102,从所获取的多条业务数据中,整合出多个不同的字段,并记录每个字段对应的字段值以及出现次数;针对s101中所获取的多条业务数据,整合出多个不同的字段,并记录每个字段对应的多个字段值以及出现次数。这里整合执行的步骤可以是,对于获取的多条业务数据,提取出每条业务数据所具有的字段,在对所有的业务数据进行字段提取操作之后,剔除重复的字段,剩下不同的字段。如下表2所示,当前获取4条业务数据,分别为业务数据1、业务数据2、业务数据3、业务数据4。表2对于获取的4条业务数据,按照上述整合方法整合出两个不同的字段,分别为字段time、字段swiftnumber,并记录每个字段对应的多个字段值,字段time对应的字段值分别为:20180827、20180827、20180827、20180827,字段swiftnumber对应的多个字段值分别为:201808272200146、201808272200147、201808272200148、201808272200149,以及每个字段对应的出现次数,即字段time出现4次,字段swiftnumber出现4次。s103,根据所记录的字段值以及出现次数计算每个字段的值域;针对s102中所记录的每个字段对应的多个字段值以及出现次数,计算每个字段对应的值域,其中根据所记录的每个字段对应的多个字段值以及出现次数,确定每个字段对应的最大值以及最小值,由所确定的每个字段对应的最大值以及最小值计算每个字段的值域。确定每个字段对应的最大值以及最小值的方式有很多种,下面对其中一种进行示例性说明:确定每个字段对应的最大值以及最小值的方式为:对每个字段对应的多个字段值进行排序,确保排序顺序与记录的出现次数一致,意味着参与排序的字段值的个数与字段对应的出现次数一致,其中可从小到大或者从大到小,进而确定每个字段对应的最大值以及最小值。例如上述字段swiftnumber对应的4个字段值:201808272200146、201808272200147、201808272200148、201808272200149,对这4个字段值进行排序,对这4个字段值排序之后,确定最大值为201808272200149,最小值为201808272200146。在确定每个字段对应的最大值以及最小值之后,即可以根据每个字段对应的最大值以及最小值计算出每个字段对应的值域,例如对于字段swiftnumber,确定最大值为201808272200149,最小值为201808272200146,则可以计算出字段swiftnumber的值域为201808272200146-201808272200149。s104,在所整合出的字段中,提取字段值域满足预设要求的字段,确定所提取的字段为领域模型的特征字段。在s102中所整合的字段中,提取字段值满足预设要求的字段,即提取出字段值域未超过预设的值域阈值所对应的字段,确定所提取出的字段为领域模型的特征字段。也就是说,从所整合的字段中,提取出字段值域比较小的字段,因为作为领域模型的特征字段来说,领域模型的特征字段对应的值域不太可能是非常大的,通过值域这个特征可以排除明显不是特征字段的字段,即排除普通字段。例如,在所整合的字段中,提取字段值域未超过30000000所对应的字段,对于上述字段time、字段swiftnumber,字段time对应的值域为20180827,字段swiftnumber对应的值域为201808272200146-201808272200149,很显然字段time对应的值域未超过30000000,字段swiftnumber对应的值域超过30000000,则所提取出的字段中显然包括字段time,不包括字段swiftnumber。一般情况下,可以直接确定所提取出的字段为领域模型的特征字段。然而在某些特殊情况下,例如上述所示的业务数据1、业务数据2、业务数据3、业务数据4,获取的为同一时间的业务数据,对于字段time,为普通字段,经过上述的提取步骤一般情况下并不能排除字段time,意味着字段time虽然通过了上述的提取规则,但是其本身就属于普通字段,所提取出的字段中包括字段time,可以看出按照上述步骤提取的字段中可能存在普通字段。而为了排除上述类似的情况,本说明书实施例预先配置一个字段黑名单,字段黑名单中包括显然不是特征字段的字段,根据该字段黑名单,可以从所提取出的字段中再次提取,即对提取出的字段值域满足预设要求的字段进行再次提取,可以排除字段time,后续提取出的字段中不包括字段time,进而可以确定再次提取出的字段为领域模型的特征字段。通过上述对本说明书提供的技术方案的描述,获取多条业务数据,从所获取的业务数据中,整合出多个不同的字段,记录每个字段对应的多个字段值以及出现次数,依据每个字段对应的多个字段值以及出现次数可以计算每个字段对应的值域,从整合的字段中提取字段值域满足预设要求的字段,进一步可依据预设的字段黑名单,从所提取出的字段中进行再次提取,确定再次提取出的字段为领域模型的特征字段,由此可以实现自动提取出领域模型的特征字段,且提取出的领域模型的特征字段是基于业务系统运行时业务数据提取的。相对于人工梳理的方式,不会遗漏某些特征字段,可以减少大量的梳理时间,提高了梳理效率,不易出错。相对于上述方法实施例,本说明书实施例还提供一种领域模型的特征字段的提取装置,如图2所示,可以包括:数据获取模块210、记录模块220、值域计算模块230、字段提取模块240、确定模块250。数据获取模块210,用于获取多条业务数据,其中业务数据具有不同的字段,每个字段都有对应的字段值:记录模块220,用于从所获取的多条业务数据中,整合出多个不同的字段,并记录每个字段对应的字段值以及出现次数;值域计算模块230,用于根据所记录的字段值以及出现次数计算每个字段的值域;字段提取模块240,用于在所整合出的字段中,提取字段值域满足预设要求的字段;确定模块250,用于确定所提取的字段为领域模型的特征字段。根据本说明书提供的一种具体实施方式,所述数据获取模块210具体用于:判断业务系统存储业务数据的存储介质中存储的业务数据的数量是否超过预设的阈值;若是,在业务系统存储业务数据的存储介质中,获取多条业务数据。根据本说明书提供的一种具体实施方式,所述值域计算模块230具体用于:根据所记录的字段值以及出现次数,确定每个字段对应的最大值以及最小值;由所确定的每个字段对应的最大值以及最小值计算每个字段的值域。根据本说明书提供的一种具体实施方式,所述字段提取模块240具体用于:提取字段值域未超过预设的值域阈值所对应的字段。根据本说明书提供的一种具体实施方式,所述确定模块250具体用于:根据预先配置的字段黑名单,对提取出的字段值域满足预设要求的字段进行再次提取;确定再次提取出的字段为领域模型的特征字段。上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。通过上述对本说明书提供的技术方案的描述,获取多条业务数据,从所获取的业务数据中,整合出多个不同的字段,记录每个字段对应的多个字段值以及出现次数,依据每个字段对应的多个字段值以及出现次数可以计算每个字段对应的值域,从整合的字段中提取字段值域满足预设要求的字段,进一步可依据预设的字段黑名单,从所提取出的字段中进行再次提取,确定再次提取出的字段为领域模型的特征字段,由此可以实现自动提取出领域模型的特征字段,且提取出的领域模型的特征字段是基于业务系统运行时业务数据提取的。相对于人工梳理的方式,不会遗漏某些特征字段,可以减少大量的梳理时间,提高了梳理效率,不易出错。本说明书实施例还提供一种计算机设备,如图3所示,该设备可以包括:处理器310、存储器320、输入/输出接口330、通信接口340和总线350。其中处理器310、存储器320、输入/输出接口330和通信接口340通过总线350实现彼此之间在设备内部的通信连接。处理器310可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。存储器320可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器320可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器320中,并由处理器310来调用执行。输入/输出接口330用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。通信接口340用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。总线350包括一通路,在设备的各个组件(例如处理器310、存储器320、输入/输出接口330和通信接口340)之间传输信息。需要说明的是,尽管上述设备仅示出了处理器310、存储器320、输入/输出接口330、通信接口340以及总线350,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的领域模型的特征字段的提取方法。该方法至少包括:一种领域模型的特征字段的提取方法,该方法包括:获取多条业务数据,其中业务数据具有不同的字段,每个字段都有对应的字段值:从所获取的多条业务数据中,整合出多个不同的字段,并记录每个字段对应的字段值以及出现次数;根据所记录的字段值以及出现次数计算每个字段的值域;在所整合出的字段中,提取字段值域满足预设要求的字段,确定所提取的字段为领域模型的特征字段。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1