用于生成业务表的方法和设备的制作方法

文档序号:6543388阅读:165来源:国知局
用于生成业务表的方法和设备的制作方法【专利摘要】本发明提供了用于生成业务表的方法和设备。该方法包括:(a)定义包括一个或多个数据项在内的数据项表,每个数据项包括一项或多项属性;(b)定义包括一个或多个模板在内的模板表,每个模板与所述一个或多个数据项中的部分或全部数据项相关联;以及(c)基于从所述一个或多个模板中选择的模板来生成一个或多个业务表。【专利说明】用于生成业务表的方法和设备【
技术领域
】[0001]本发明涉及数据管理领域,更具体地,涉及用于生成业务表的方法和设备。【
背景技术
】[0002]在企业业务管理系统的开发过程中,常常会遇到用户的业务需求不确定,但又想在使用过程中不时地根据自己变化的需求及标准来制定不同业务表单,并将数据通过业务表单上报入库的情况。[0003]例如,在病毒采集、分析、汇总过程中会发现病毒的种类总体上呈现出多样化趋势,病毒的行为特征具有不确定性,因此通常针对一类病毒就会要求生成一张病毒工单(业务表)。目前,针对该问题的现有技术方案是:首先,尽可能多得分析各种病毒的共性与差异,并进行梳理与合并;然后,根据整理后的病毒的共性与差异来定义各种数据项,并形成相对固定的病毒工单;在发现新的特殊病毒的情况下,需要对工单的数据项反复进行调整,或者根据业务需求来增加一张或多张新的病毒工单,以满足需求。[0004]然而,现有技术方案的问题在于:随着病毒的持续演进,该方案无法满足对病毒数据的及时填报,并针对每一种新病毒都需要新开发一张病毒工单。因此,现有技术方案在该情况下会不断地增加开发人员的工作量,导致开发周期大大加长。该现有技术方案缺乏灵活性、时效性,远远满足不了不确定的业务需求。此外,如果持续这样长期开发下去,也会造成代码臃肿,系统难以维护。【
发明内容】[0005]为了解决上述问题,提供了根据本发明的用于生成业务表的方法和设备。[0006]根据本发明的第一方面,提供了一种生成业务表的方法。该方法包括:(a)定义包括一个或多个数据项在内的数据项表,每个数据项包括一项或多项属性;(b)定义包括一个或多个模板在内的模板表,每个模板与所述一个或多个数据项中的部分或全部数据项相关联;以及(C)基于从所述一个或多个模板中选择的模板来生成一个或多个业务表。[0007]在一些实施例中,每个模板的属性至少包括:模板标识。[0008]在一些实施例中,每个数据项的属性至少包括:数据项标识、和与该数据项相关联的模板的模板标识。[0009]在一些实施例中,每个数据项与O或I个数据字典相关联。[0010]在一些实施例中,每个数据字典是系统字典和自定义字典中的任一种。[0011]在一些实施例中,针对作为自定义字典的每个数据字典,其在自定义字典项表中的对应一个或多个自定义字典项中的每个自定义字典项的属性至少包括:自定义字典项标识、以及与该自定义字典项所对应的数据字典相关联的数据项的数据项标识。[0012]在一些实施例中,所述模板标识作为所述模板表的主键并作为所述数据项表的外键,所述数据项标识作为所述数据项表的主键并作为所述自定义字典项表的外键,以及所述自定义字典项标识作为所述自定义字典项表的主键。[0013]在一些实施例中,步骤(C)包括:(Cl)以所选模板的模板标识的值为第一关键字,搜索所述数据项表中具有所述第一关键字的所有数据项;(c2)针对(Cl)中搜索到的每个数据项,以该数据项的数据项标识的值为第二关键字,搜索所述自定义字典项表中具有所述第二关键字的所有自定义字典项;(c3)针对(Cl)中搜索到的每个数据项,基于(c2)中搜索到的与该数据项相关联的所有自定义字典项和该数据项的其它属性来构造该数据项在业务表中的对应内容;(c4)根据(c3)中构造的所有对应内容来生成与所选模板相对应的业务表。[0014]在一些实施例中,步骤(C)还包括:(CO)根据一个或多个标准从所述一个或多个模板中选择要生成业务表的模板。[0015]在一些实施例中,步骤(CO)还包括:(c01)针对所述一个或多个标准中的每一个标准,确定所述一个或多个模板中包含符合该标准的所有模板在内的模板集合;(c02)取所确定的所有模板集合的交集,以得到候选模板集合;以及(c03)根据用户输入,从所述候选模板集合中选出要生成一个或多个业务表的模板。[0016]在一些实施例中,步骤(COI)还包括:(CO11)通过使用每一个标准专用的标准专用表和标准专用授权记录表,来确定被授权使用的所有业务表在业务表的表中相对应的业务表项;以及(c012)根据所确定的业务表项的属性中包括的模板标识,来确定所述一个或多个模板中由被授权使用的所有模板构成的模板集合。[0017]在一些实施例中,所述标准专用表中每项数据记录的属性至少包括标准专用数据标识,以及所述标准专用数据标识在所述标准专用表中作为主键;所述业务表的表中每项数据记录的属性至少包括业务表标识,以及所述业务表标识在所述业务表的表中作为主键;以及所述标准专用授权记录表中每项数据记录的属性至少包括授权记录标识、标准专用数据标识、以及业务表标识,以及所述授权记录标识在所述标准专用授权记录表中作为主键,所述标准专用数据标识和所述业务表标识在所述标准专用授权记录表中作为外键。[0018]在一些实施例中,步骤(cOll)还包括:使用所述标准专用数据标识的值作为第三关键字,在所述标准专用授权记录表中搜索具有所述第三关键字的所有数据记录;针对搜索到的每条数据记录,使用其业务表标识的值作为第四关键字,在所述业务表的表中搜索具有所述第四关键字的所有数据记录,作为被授权使用的业务表在业务表的表中相对应的业务表项。[0019]在一些实施例中,所述一个或多个标准包括以下至少一项:根据用户角色来授权相应用户是否能够使用相应模板、以及根据用户所属地区来授权相应用户是否能够使用相应模板。[0020]在一些实施例中,在步骤(C)之后,所述方法还包括:(d)以网页表单的形式向用户提供所述业务表;(e)接收由用户向所述业务表中输入的数据;(f)对所输入的数据进行校验;以及(g)将校验后的数据存储在数据库中的对应实际数据库表中。[0021]根据本发明的第二方面,提供了一种生成业务表的设备。该设备包括:数据项定义单元,用于定义包括一个或多个数据项在内的数据项表,每个数据项包括一项或多项属性;模板定义单元,用于定义包括一个或多个模板在内的模板表,每个模板与所述一个或多个数据项中的部分或全部数据项相关联;以及业务表生成单元,用于基于从所述一个或多个模板中选择的模板来生成一个或多个业务表。[0022]在一些实施例中,每个模板的属性至少包括:模板标识。[0023]在一些实施例中,每个数据项的属性至少包括:数据项标识、和与该数据项相关联的模板的模板标识。[0024]在一些实施例中,每个数据项与O或I个数据字典相关联。[0025]在一些实施例中,每个数据字典是系统字典和自定义字典中的任一种。[0026]在一些实施例中,针对作为自定义字典的每个数据字典,其在自定义字典项表中的对应一个或多个自定义字典项中的每个自定义字典项的属性至少包括:自定义字典项标识、以及与该自定义字典项所对应的数据字典相关联的数据项的数据项标识。[0027]在一些实施例中,所述模板标识作为所述模板表的主键并作为所述数据项表的外键,所述数据项标识作为所述数据项表的主键并作为所述自定义字典项表的外键,以及所述自定义字典项标识作为所述自定义字典项表的主键。[0028]在一些实施例中,所述业务表生成单元还用于:(cl)以所选模板的模板标识的值为第一关键字,搜索所述数据项表中具有所述第一关键字的所有数据项;(c2)针对(Cl)中搜索到的每个数据项,以该数据项的数据项标识的值为第二关键字,搜索所述自定义字典项表中具有所述第二关键字的所有自定义字典项;(c3)针对(Cl)中搜索到的每个数据项,基于(c2)中搜索到的与该数据项相关联的所有自定义字典项和该数据项的其它属性来构造该数据项在业务表中的对应内容;(c4)根据(c3)中构造的所有对应内容来生成与所选模板相对应的业务表。[0029]在一些实施例中,所述业务表生成单元还用于:(CO)根据一个或多个标准从所述一个或多个模板中选择要生成业务表的模板。[0030]在一些实施例中,所述业务表生成单元还用于:(cOl)针对所述一个或多个标准中的每一个标准,确定所述一个或多个模板中包含符合该标准的所有模板在内的模板集合;(c02)取所确定的所有模板集合的交集,以得到候选模板集合;以及(c03)根据用户输入,从所述候选模板集合中选出要生成一个或多个业务表的模板。[0031]在一些实施例中,所述业务表生成单元还用于:(c011)通过使用每一个标准专用的标准专用表和标准专用授权记录表,来确定被授权使用的所有业务表在业务表的表中相对应的业务表项;以及(c012)根据所确定的业务表项的属性中包括的模板标识,来确定所述一个或多个模板中由被授权使用的所有模板构成的模板集合。[0032]在一些实施例中,所述标准专用表中每项数据记录的属性至少包括标准专用数据标识,以及所述标准专用数据标识在所述标准专用表中作为主键;所述业务表的表中每项数据记录的属性至少包括业务表标识,以及所述业务表标识在所述业务表的表中作为主键;以及所述标准专用授权记录表中每项数据记录的属性至少包括授权记录标识、标准专用数据标识、以及业务表标识,以及所述授权记录标识在所述标准专用授权记录表中作为主键,所述标准专用数据标识和所述业务表标识在所述标准专用授权记录表中作为外键。[0033]在一些实施例中,所述业务表生成单元还用于:使用所述标准专用数据标识的值作为第三关键字,在所述标准专用授权记录表中搜索具有所述第三关键字的所有数据记录;针对搜索到的每条数据记录,使用其业务表标识的值作为第四关键字,在所述业务表的表中搜索具有所述第四关键字的所有数据记录,作为被授权使用的业务表在业务表的表中相对应的业务表项。[0034]在一些实施例中,所述一个或多个标准包括以下至少一项:根据用户角色来授权相应用户是否能够使用相应模板、以及根据用户所属地区来授权相应用户是否能够使用相应模板。[0035]在一些实施例中,所述设备还包括:业务表提供单元,用于以网页表单的形式向用户提供所述业务表;用户数据接收单元,用于接收由用户向所述业务表中输入的数据;数据校验单元,用于对所输入的数据进行校验;以及数据保存单元,用于将校验后的数据存储在数据库中的对应实际数据库表中。[0036]通过使用本发明的方法及设备,可以满足具有不确定性的业务需求,减少了开发人员的工作量,避免了重复开发性的工作。此外,该技术方案的可扩展性较强,如:根据需要可进行数据统计、输出通用性报表、以及进行数据项间的逻辑校验。此外,该技术方案的流程简单、清晰、易操作,另外还可以根据不同的标准设置合理的权限控制,因此极大地提高了工作效率,满足了各种数据上报的需求。【专利附图】【附图说明】[0037]通过下面结合【专利附图】【附图说明】本发明的优选实施例,将使本发明的上述及其它目的、特征和优点更加清楚,其中:[0038]图1是示出了根据本发明的用于生成业务表的系统的示例应用场景的示意图。[0039]图2是示出了根据本发明的一个示例模板中的各示例数据项的示意图。[0040]图3A和3B分别示出了根据本发明的一个示例数据项所引用的自定义字典和系统字典的不意图。[0041]图4是示出了根据本发明的示例数据项定义流程的流程图。[0042]图5是示出了在根据本发明的模板表、数据项表和字典项表之间的映射关系的示意图。[0043]图6是根据本发明的用于针对角色和地区来发布模板的示例界面图。[0044]图7是根据本发明的向用户最终呈现的示例业务表界面。[0045]图8是示出了根据本发明的模板授权流程的示例流程图。[0046]图9是示出了在根据本发明的模板表、业务表和各标准相关表之间的映射关系的示意图。[0047]图10是示出了根据本发明的用户请求业务表的示例流程的流程图。[0048]图11是示出了根据本发明实施例的在设备处执行的用于生成业务表的示例方法的流程图。[0049]图12是示出了根据本发明实施例的用于执行图11所示方法的示例设备的框图。【具体实施方式】[0050]下面参照附图对本发明的优选实施例进行详细说明,在描述过程中省略了对于本发明来说是不必要的细节和功能,以防止对本发明的理解造成混淆。以下,以本发明应用于固定通信系统的场景为例,对本发明进行了详细描述。但本发明并不局限于此,本发明也可以应用于无线移动通信系统、有线通信系统,或者应用于无线移动通信系统、固定通信系统、有线通信系统等的任意混合结构。就固定通信系统而言,本发明并不局限于所涉及的各个设备的具体通信协议,可以包括(但不限于ΠΕΕΕ802.3、光纤分布数据接口(FDDI)、数字用户线路(xDSL)等,不同的设备可以采用相同的通信协议,也可以采用不同的通信协议。此外,本发明并不局限于设备的具体操作系统,可以包括(但不限于)Windows系列、各种版本的Linux/Unix、Solaris、等,不同的设备可以采用相同的操作系统,也可以采用不同的操作系统。[0051]图1是示出了根据本发明的业务表生成系统1000的应用场景的示意图。如图1所示,系统1000可以包括设备100和终端200。为了清楚起见,图中仅示出了一个设备100、一个终端200,但本发明并不局限于此,可以包括两个或更多数目的设备和/或终端等等。设备100可以属于服务提供商或者可以由服务提供商操作。设备100和终端200可以通过通信网络300进行通信。通信网络300的示例可以包括(但不限于):互联网、移动通信网络、固定线路(如xDSL、光纤等)等。[0052]在图1所示实施例中,为了在设备100上生成业务表并向终端200处的用户发布,将根据本发明的实施例的业务表生成客户端150(以下简称为客户端150)安装在设备100上。客户端150可以由服务提供商以软件的形式自行安装在设备100中,或者可以由生产厂商以硬件或固件的形式安装在设备100中。在一些实施例中,客户端150可以是例如在服务提供商购买了设备100之后从网络中下载的专门用于本发明的应用软件。在另一些实施例中,客户端150可以是例如由生产厂商以固件或硬件形式预先安装在设备100中的应用程序。在又一些实施例中,客户端150可以是由生产厂商生产的硬件模块或设备100本身。[0053]如在【
背景技术
】节中所提及的,在业务系统开发过程中,经常会面临用户需要临时改变而必须重新设计业务表单的问题。为此,本发明的发明人提出了一种可以由系统管理员而不是开发人员根据需求来定义业务表单的模板并根据模板项用户发布业务表的新颖方法。该方法减少了软件开发人员的重复工作量,针对不同业务,灵活地提供了相应的业务表单。[0054]首先,将说明在下文中将要用到的一些术语和/或其简称。[0055]数据库(Database):[0056]数据库是数据的有组织的集合。通常将数据组织为可以进行相应处理的模型。例如,可以对酒店中房间的可用性进行建模并构建数据库,以能够对该数据库进行查找以找到空房。目前比较常见的数据库类型包括关系型数据库,例如MySQL、SQLite,MicrosoftSQLServer>Oracle等等。[0057]数据库表或简称为“表”(table):[0058]在关系型数据库中,数据库表或简称为表是使用垂直列和水平行的模型来组织数据元素(值)的方式。表通常具有特定数目的列,且一般可以具有任意数目的行。每一行由出现在特定列子集中的值来识别,该特定列子集中的值被称为唯一键索引。当存在唯一定义每一行的特征的列时,该列被称为主键(primarykey)。主键必须由不能被任何其他行复制的特征来构成。换言之,如果存在主键,则对于不同的行,该主键的值必须不同,因此主键通常也可以被称为标识。[0059]列(column)、属性(attribute)、或字段(field):[0060]如上所述,表中通常具有特定数目的列(属性、字段)。不同的列通常用于表示统一数据记录的不同属性。例如,在人口统计表中,每行可以具有以下列(属性、字段):姓名、年龄、性别、职业、身份证号等等。在较为简单的应用场景中,通常可以选取其中一列(该列应当具有针对不同行的不同值)作为本表的主键,例如可以选取人人不同的“身份证号”列,作为人口统计表的主键。[0061]行(row)、数据记录(record)、或元组(tuple):[0062]如上所述,表中通常具有任意数目的行(数据记录、元组)。不同的行通常表示不同的数据项。例如,在人口统计表中,针对每个人均可以设置一条数据记录,该数据记录可以如上所述包括一个或多个属性。例如,第一行可以是针对“张三”的人口统计数据,第二行可以是针对“李四”的人口统计数据,且依此类推。[0063]主键(PrimaryKey):[0064]如上所述,主键通常是表中用于区分不同行(数据记录、元组)的标识。[0065]外键(ForeignKey):[0066]外键是表中与另一张表的主键列相匹配的属性或字段。外键可以用于交叉引用表。外键不需要具有独一无二的值。例如,同样在上面的人口统计表的例子中,可以存在“职业”属性,并将其作为人口统计表的外键,该外键可以与职业表的主键相匹配。更具体地,在职业表中,针对不同职业存在不同的数据记录,例如“公务员”、“农民”、“企业员工”等等。因此,在人口统计表中,可以有多个人(数据记录、元组)具有相同的职业(外键)。在人口统计表中,可以使用外键“职业”来进行检索,以得到具有相同职业的所有人的信息。[0067]I:N(—对多)或N:1(多对一):[0068]在不同的表之间,可以存在各种映射关系,其中通常会出现1:N或N:I映射关系。例如,如果称表A和表B具有1:N关系,贝U表A中的每一项可以映射到表B中的一项或多项,而表B中的每一项仅能映射到表A中的一项。同样在上面的人口统计表的例子中,表A可以是人口统计表,表B可以是性别表(该表只例如包括2项:“男”或“女”)。因此表A与表B的关系就是N:1,即表A中每一项仅与表B中的一项对应(非男即女),而表B中的每一项可以与表A中的一项或多项相对应(当然,在本具体示例中,通常应当是对应于多项,但是应当理解,其也可以与一项对应)。此时,也可以称表B与表A具有1:N关系。在具体实现方面,该1:N关系可以使用外键来实现。[0069]N:M(多对多):[0070]表之间的映射关系还可以包括N:M映射关系,即多对多关系。例如,如果称表A和表B具有N:M关系,贝U表A中的每一项可以映射到表B中的一项或多项,而表B中的每一项也能映射到表A中的一项或多项。还是在上面的人口统计表的例子中,表A可以是人口统计表,表B可以是职业表。因此表A与表B的关系就是N:M,即表A中每一项可以与表B中的一项或多项对应(每人具有一个或多个职业),而表B中的每一项也可以与表A中的一项或多项相对应(即,每个职业可以有多个人来作)。此时,也可以称表B与表A具有N:M关系。请注意,这里的N:M仅表示多对多的关系,并不涉及N、M的具体取值,即N可以大于、小于或等于M,且对于不同的数据记录,N、M的值也可以不同。在具体实现方面,该N:M关系可以通过在两张表A和B之间引入第三张表C以记录A和B中各项的映射关系来实现。[0071]数据项:[0072]是指与本发明中业务相对应的数据库表中的字段,S卩,每一个数据项对应于业务表中的一个属性。例如,一个数据项在数据项表中可以包含多个字段,其中每一个字段定义了业务表中相应属性的元属性(关于属性的属性)。具体地,“病毒名称”数据项可以在数据项表中可以具有如图2所示的各个字段:“数据项名称”、“备注”、“数据类型”、“内容最大长度”、“是否必填/必选”、“是否使用字典”等。而其对应于业务表中“病毒名称”行,如图7所示。[0073]模板:[0074]是指生成数据库(业务)表的一种模型,由多个数据项构成,一种模板可生成多张数据库表。图2中给出了模板的一个形象示例。[0075]实体表:[0076]数据库表。图7给出了一个业务(实体)表的具体示例。[0077]数据字典:[0078]其包括一条或多条数据字典项,每个数据字典项可以作为该属性的待选项。例如,数据字典“职业”可以仅包括“工人”、“农民”等。当录入人口统计表时,仅能选择在数据字典中出现过的数据字典项,而不允许用户自行输入(例如,飞行员等)。其用于简化用户输入,方便系统同输入的相应数据进行合理性检查等。图3A和3B中分别给出了自定义数据字典和系统字典的示例。[0079]请注意:除非本文中另行明确说明,否则在本文中出现的术语应当以上面解释的含义或者以本领域中最常见的含义来理解。[0080]大体上,在本发明的实施例中,首先定义模板中所要包括的一个或多个数据项,每个数据项可以包括一项或多项属性(字段)。在定义好一个或多个这样的数据项之后,可以生成包括这些数据项在内的模板。然后由系统管理员根据需要,针对不同标准来发布这些模板。当满足标准的用户想要使用某一模板时,系统可以根据所选的模板来生成一个或多个业务表,并可以用网页表单的形式向用户提供,供用户录入相应的数据,并最终由系统收集并保存,供后续数据分析/数据挖掘之用。[0081]更具体地,用户可以通过系统提供的工具(例如,应用或者网页),在界面表现层中自行定义数据项,进而组合成模板(参见例如图2)。在系统的业务逻辑层处理之后,可以在数据库中建立数据项表、模板表、业务表的表、字典项表之间的绑定(关联)关系,通过数据库访问层存储到数据库中。当需要发布时,根据选择的模板ID从数据库中查找、读取模板下的数据项及相关设置信息,动态形成数据表单,并在用户侧显示,供用户使用。[0082]定义数据项[0083]每个数据项可根据业务情况来定义其属性设置。在与病毒情报收集相关的一个实施例中,数据项的属性可以包括数据项名称、数据类型、数据长度、备注、数据字典、是否必输等属性。当然,在其他实施例中,也可以设置不同的属性。此外,在图2所示实施例中,还可提供字典项预览功能。[0084]如图3A和3B所示,数据字典来源可分为两种:引用(系统)字典或自定义字典。字典项选择类型可分为单选或多选。数据项的数据类型可分为:字符型、数字型、日期型等。在向系统管理员提供图形界面来进行上述操作的示例中,可通过点击“新增采集项”链接(参见图2左下方)来增加一个新的数据项,当然也可通过类似方式来删除选中的数据项。[0085]参见图3A,在选择自定义字典的情况下,用户可灵活、动态地设置各字典项的值以及字典项的个数。参见图3B,在选择系统字典的情况下,系统可以通过递归方式从服务端加载。系统可根据字典项的设置,存储并与设置的数据项建立动态绑定关系。数据字典项可以一次定义并多次使用。其在数据项定义方面直观、简洁。[0086]理论上数据项可自由添加与删减,在个数上无任何限制。此外,数据项支持常用的数据类型,在数据规范上有较严谨的数据校验和字典引用。[0087]接下来将结合图4和图5来详细描述定义模板、数据项和字典项的示例流程的示意图。在一个实施例中,如图4所示,首先向数据项表中添加所要生成的模板中应当包括的一个或多个数据项。每个数据项可以具有“数据项编号(标识)”、“数据项名称”、“数据项类型”、“数据项长度”、“是否必填”、“是否使用字典”、“备注”、以及“所属模板编号(标识)”等属性。数据项编号作为数据项表的主键,用于区分不同数据项。数据项名称用于帮助管理员和/或用户来快速识别该数据项的用途等。数据项类型用于指示该数据项的数据类型,例如字符型、日期型、数字型等等。数据项长度用于指示该数据项所允许输入的最大长度。“是否必填”用于指示该数据项是否可以为空。“是否使用字典”用于指示该数据项是否使用数据字典以及如果是,该字典的名称。在一个实施例中,如果该字段为空,则指示不使用数据字典,否则指示使用数据字典。备注用于指示与该数据项相关的其他信息。所属模板编号用于指示该数据项所从属的模板,其作为数据项表中的外键。进而,使得数据项表和稍后生成的模板表之间形成N:I的映射关系。[0088]然后,在模板表中添加相应模板项,该模板项可以具有“模板编号(标识)”、“模板名称”、以及“是否发布”等属性。模板编号作为模板表的主键,用于区分不同模板。模板名称用于帮助管理员和/或用户来快速识别该模板的用途等。“是否发布”用于指示该模板是否已经根据一个或多个发布标准向用户发布,下文中将具体描述发布过程。此外,在添加了模板项之后,可以将与该模板项相关联的数据项的“模板编号”字段更新为该模板项的模板编号。此外,在另一实施例中,也可以先生成模板项,再生成对应数据项,或者二者同时生成。只要最后形成的数据项表和模板表满足上述对应关系即可。[0089]然后,在针对每一个使用了数据字典的数据项进行设定时或晚一些时候,可以向字典项表中添加相应的字典项。每个字典项可以具有“字典项编号(标识)”、“字典项名称”、以及“所属数据项编号(标识)”等属性。字典项编号作为字典项表的主键,用于区分不同字典项。字典项名称用于帮助管理员和/或用户来快速识别该字典项的用途等。所属数据项编号用于指示该字典项所从属的数据项,其作为字典项表中的外键。进而,使得字典项表和数据项表之间形成N:I的映射关系。[0090]此外,如图4的实施例所示,选择字典时通常是从两类字典中选择一类,且系统字典可以在不同数据项之间重复使用,而自定义字典只能由相关联的数据项所使用。当然,在其他实施例中,字典选择也可以是组合式字典,即由一个或多个系统字典和/或一个或多个自定义字典来合并构成。此外,在其他实施例中,自定义字典经过系统化处理之后,也可以由不同数据项来使用。因此本发明不限于上述实施例。[0091]此外请注意:在图5中,箭头指向的是当前表的主键,而箭尾指向的是当前表的外键,其他附图中出现的类似箭头也表示类似含义。[0092]樽板发布[0093]在定义好模板、数据项和字典项之后,可以由系统管理员和/或被授予发布权的业务管理员来执行模板的发布。如果某一模板尚未发布,则其仅作为备用的模板在系统中体现。在一个实施例中,在发布前通常可进行与模板相关的数据项的增减。若要发布,则需针对各种标准进行授权。例如,在图6所示的实施例中,可以进行角色授权及区域授权。即,针对具有不同角色的用户授予不同的模板/业务表的使用权,或针对不同区域的用户授予不同的模板/业务表使用权,或二者兼而有之。[0094]在图6所示的实施例中,系统管理员/发布人员可以选择向位于地区“海淀区”、“西城区”中的具有角色“病毒分析员”的用户发布该模板。即,满足这些条件(标准)的用户可以访问、填写、提交根据该模板生成的各个业务表。而不满足这些标准的用户则无法访问、填写和/或提交这些业务表。[0095]接下来,结合图8和9来描述模板的示例发布流程。首先,由管理员查询并选取要发布的模板/业务表,并针对不同标准进行授权。在图8所示的实施例中,该不同标准可以包括角色标准和/或地区标准。当然在其他实施例中,也可以针对其他标准来进行授权。例如,可以针对年龄、性别等标准来进行模板/业务表授权。在针对不同标准授权之后,在一个实施例中,可以取针对这些标准授权的模板的不同集合的交集。具体地,在图8所示的实施例中,首先针对角色“病毒分析员”授权的模板形成一个模板集合;然后针对地区“海淀区”或“西城区”授权的模板形成令一个模板集合;这两个集合的交集即作为向满足这些标准的用户发布的候选模板集合。在稍后由用户请求候选模板集合时,即可向满足上述两条标准的用户返回该候选模板集合。[0096]在不同标准的模板与对应的标准专用表之间建立关系并入库。在图8所示的实施例中,该建立关系可以如图9所示。在该实施例中,标准专用表可以是“用户角色表”和“区域表”。在业务表和这两个表之间建立N:M映射关系,这是分别通过“角色授权记录表”和“区域授权记录表”来实现的。类似于前述1:N关系的建立,通过在业务表和标准专用表之间设置中间表(标准专用授权记录表,具体地,角色授权记录表和区域授权记录表),并分别设置恰当N:I对应关系,使得在在业务表和“用户角色表”和“区域表”分别之间建立多对多映射关系。[0097]回到图8,与映射关系建立的同时、之前或之后,可以响应于满足标准的用户请求业务表,或由系统提前生成与用户所选模板相对应的一个或多个业务表I?η,并入库。[0098]此外,在模板发布时,后端可以自动在数据库中创建对应的业务数据表,其中,业务数据表的数据类型、大小、数据字典等相关数据均通过与其对应的模板来反向从数据项表、字典项表中进行查找并绑定。发布成功后,符合授权条件(标准)的工作人员在登录系统后可使用相应业务表进行数据上报、数据管理、数据导出等操作。而不符合授权条件的工作人员则不可能进行对该数据业务表的任何操作。在一个实施例中,模板一旦发布后,将不可再进行修改。模板发布之后,符合标准的用户可以从设备100以网页表单形式接收到对应生成的业务表,例如参见图7。[0099]在图10中,当满足标准的用户请求业务服务时,系统根据其角色、区域等授权情况来查询已发布的所有业务表/模板,并向用户提供包含这些业务表/模板的列表。用户可以根据自身的需要来选择相应的业务表/模板。在选定业务表/模板之后,如图9所示,可以找到相应的模板编号,并如图5所示,可以找到相应的一个或多个数据项和/或一个或多个字典项。根据这些数据项和/或字典项,可以合并生成所需的业务表,并以例如网页表单的形式向用户呈现。用户可以向该网页表单中输入所需要提交的数据,例如病毒情报。由网页表单本身或设备100对输入的这些病毒情报进行基本的合理性校验,并在校验之后存入数据库中的实体表中。在一个实施例中,该实体表可以根据例如图9所示的使用属性“业务实体表名称”来找到。最后,在数据录入数据库中之后,可以响应于其他用户/管理员等的查询而导出例如一张Excel表格,供相应使用。[0100]至此,已结合图2?10描述了根据本发明的用于生成业务表的方法和设备。通过使用该方法及设备,可以满足具有不确定性的业务需求,减少了开发人员的工作量,避免了重复开发性的工作。此外,该技术方案的可扩展性较强,如:根据需要可进行数据统计、输出通用性报表、以及进行数据项间的逻辑校验。此外,该技术方案的流程简单、清晰、易操作,另外还可以根据不同的标准设置合理的权限控制,因此极大地提高了工作效率,满足了各种数据上报的需求。[0101]图11是示出了根据本发明实施例的在设备100中执行的生成业务表的方法400的流程图。如图11所示,方法400可以包括步骤S410、S420和S430。根据本发明,方法400的一些步骤可以单独执行或组合执行,以及可以并行执行或顺序执行,并不局限于图11所示的具体操作顺序。在一些实施例中,方法400可以由图11所示的设备100或其上的客户端150执行。[0102]图12是示出了根据本发明实施例的用于生成业务表的示例设备100的框图。如图12所示,设备100可以包括:数据项定义单元110、模板定义单元120和业务表生成单元130。[0103]数据项定义单元110可以用于定义包括一个或多个数据项在内的数据项表,每个数据项包括一项或多项属性。数据项定义单元110可以是设备100的中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、微控制器等等,其可以与设备100的输入部分(例如,键盘、鼠标等)和存储部分(例如,RAM、SD卡等)相配合,定义包括一个或多个数据项在内的数据项表,每个数据项包括一项或多项属性。[0104]模板定义单元120可以用于定义包括一个或多个模板在内的模板表,每个模板与一个或多个数据项中的部分或全部数据项相关联。模板定义单元120可以是设备100的中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、微控制器等等,其可以与设备100的输入部分(例如,键盘、鼠标等)和存储部分(例如,RAM、SD卡等)相配合,定义包括一个或多个模板在内的模板表,每个模板与一个或多个数据项中的部分或全部数据项相关联。[0105]业务表生成单兀130可以用于基于从一个或多个模板中选择的模板来生成一个或多个业务表。业务表生成单元130可以是设备100的中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、微控制器等等,其可以与设备100的存储部分(例如,RAM、SD卡等)相配合,基于从一个或多个模板中选择的模板来生成一个或多个业务表。[0106]此外,设备100还可以包括图4中未示出的其他单元,例如业务表提供单元、用户数据接收单元、数据校验单元、以及数据保存单元等。在一些实施例中,业务表提供单元可以用于以网页表单的形式向用户提供所述业务表。在一些实施例中,用户数据接收单元可以用于接收由用户向业务表中输入的数据。在一些实施例中,数据校验单元可以用于对所输入的数据进行校验。在一些实施例中,数据保存单元可以用于将校验后的数据存储在数据库中的对应实际数据库表中。[0107]以下将结合图3和图4,对根据本发明实施例的在设备100上执行的用于生成业务表的方法400和设备100进行详细的描述。[0108]方法400开始于步骤S410,在步骤S410中,可以由设备100的数据项定义单元110定义包括一个或多个数据项在内的数据项表,每个数据项包括一项或多项属性。[0109]在步骤S420中,可以由设备100的模板定义单元120定义包括一个或多个模板在内的模板表,每个模板与一个或多个数据项中的部分或全部数据项相关联。[0110]在步骤S430中,可以由设备100的业务表生成单元130基于从一个或多个模板中选择的模板来生成一个或多个业务表。[0111]在一些实施例中,每个模板的属性至少可以包括:模板标识。[0112]在一些实施例中,每个数据项的属性至少可以包括:数据项标识、和与该数据项相关联的模板的模板标识。[0113]在一些实施例中,每个数据项可以与O或I个数据字典相关联。[0114]在一些实施例中,每个数据字典可以是系统字典和自定义字典中的任一种。[0115]在一些实施例中,针对作为自定义字典的每个数据字典,其在自定义字典项表中的对应一个或多个自定义字典项中的每个自定义字典项的属性至少可以包括:自定义字典项标识、以及与该自定义字典项所对应的数据字典相关联的数据项的数据项标识。[0116]在一些实施例中,模板标识可以作为模板表的主键并作为数据项表的外键,数据项标识可以作为数据项表的主键并作为自定义字典项表的外键,以及自定义字典项标识可以作为自定义字典项表的主键。[0117]在一些实施例中,步骤430可以包括:(432)以所选模板的模板标识的值为第一关键字,搜索数据项表中具有第一关键字的所有数据项;(434)针对(432)中搜索到的每个数据项,以该数据项的数据项标识的值为第二关键字,搜索自定义字典项表中具有第二关键字的所有自定义字典项;(436)针对(432)中搜索到的每个数据项,基于(434)中搜索到的与该数据项相关联的所有自定义字典项和该数据项的其它属性来构造该数据项在业务表中的对应内容;(438)根据(436)中构造的所有对应内容来生成与所选模板相对应的业务表。[0118]在一些实施例中,步骤430还可以包括:(431)根据一个或多个标准从一个或多个模板中选择要生成业务表的模板。[0119]在一些实施例中,步骤431还可以包括:(4312)针对一个或多个标准中的每一个标准,确定一个或多个模板中包含符合该标准的所有模板在内的模板集合;(4314)取所确定的所有模板集合的交集,以得到候选模板集合;以及(4316)根据用户输入,从候选模板集合中选出要生成一个或多个业务表的模板。[0120]在一些实施例中,步骤4312还可以包括:(43122)通过使用每一个标准专用的标准专用表和标准专用授权记录表,来确定被授权使用的所有业务表在业务表的表中相对应的业务表项;以及(43124)根据所确定的业务表项的属性中包括的模板标识,来确定一个或多个模板中由被授权使用的所有模板构成的模板集合。[0121]在一些实施例中,标准专用表中每项数据记录的属性至少可以包括标准专用数据标识,以及标准专用数据标识在标准专用表中作为主键;业务表的表中每项数据记录的属性至少包括业务表标识,以及业务表标识在业务表的表中作为主键;以及标准专用授权记录表中每项数据记录的属性至少包括授权记录标识、标准专用数据标识、以及业务表标识,以及授权记录标识在标准专用授权记录表中作为主键,标准专用数据标识和业务表标识在标准专用授权记录表中作为外键。[0122]在一些实施例中,步骤43122还可以包括:使用标准专用数据标识的值作为第三关键字,在标准专用授权记录表中搜索具有第三关键字的所有数据记录;针对搜索到的每条数据记录,使用其业务表标识的值作为第四关键字,在业务表的表中搜索具有第四关键字的所有数据记录,作为被授权使用的业务表在业务表的表中相对应的业务表项。[0123]在一些实施例中,一个或多个标准包括以下至少一项:根据用户角色来授权相应用户是否能够使用相应模板、以及根据用户所属地区来授权相应用户是否能够使用相应模板。[0124]在一些实施例中,在步骤430之后,方法还包括:(440)以网页表单的形式向用户提供业务表;(450)接收由用户向业务表中输入的数据;(460)对所输入的数据进行校验;以及(470)将校验后的数据存储在数据库中的对应实际数据库表中。[0125]至此已经结合优选实施例对本发明进行了描述。应该理解,本领域技术人员在不脱离本发明的精神和范围的情况下,可以进行各种其它的改变、替换和添加。因此,本发明的范围不局限于上述特定实施例,而应由所附权利要求所限定。【权利要求】1.一种生成业务表的方法,包括:(a)定义包括一个或多个数据项在内的数据项表,每个数据项包括一项或多项属性;(b)定义包括一个或多个模板在内的模板表,每个模板与所述一个或多个数据项中的部分或全部数据项相关联;以及(C)基于从所述一个或多个模板中选择的模板来生成一个或多个业务表。2.根据权利要求1所述的方法,其中,每个模板的属性至少包括:模板标识。3.根据权利要求2所述的方法,其中,每个数据项的属性至少包括:数据项标识、和与该数据项相关联的模板的模板标识。4.根据权利要求3所述的方法,其中,每个数据项与O或I个数据字典相关联。5.根据权利要求4所述的方法,其中,每个数据字典是系统字典和自定义字典中的任一种。6.根据权利要求5所述的方法,其中,针对作为自定义字典的每个数据字典,其在自定义字典项表中的对应一个或多个自定义字典项中的每个自定义字典项的属性至少包括:自定义字典项标识、以及与该自定义字典项所对应的数据字典相关联的数据项的数据项标识。7.根据权利要求6所述的方法,其中,所述模板标识作为所述模板表的主键并作为所述数据项表的外键,所述数据项标识作为所述数据项表的主键并作为所述自定义字典项表的外键,以及所述自定义字典项标识作为所述自定义字典项表的主键。8.根据权利要求7所述的方法,其中,步骤(c)包括:(cl)以所选模板的模板标识的值为第一关键字,搜索所述数据项表中具有所述第一关键字的所有数据项;(c2)针对(Cl)中搜索到的每个数据项,以该数据项的数据项标识的值为第二关键字,搜索所述自定义字典项表中具有所述第二关键字的所有自定义字典项;(c3)针对(Cl)中搜索到的每个数据项,基于(c2)中搜索到的与该数据项相关联的所有自定义字典项和该数据项的其它属性来构造该数据项在业务表中的对应内容;(c4)根据(c3)中构造的所有对应内容来生成与所选模板相对应的业务表。9.根据权利要求1所述的方法,其中,步骤(c)还包括:(cO)根据一个或多个标准从所述一个或多个模板中选择要生成业务表的模板。10.根据权利要求9所述的方法,其中,步骤(CO)还包括:(cOl)针对所述一个或多个标准中的每一个标准,确定所述一个或多个模板中包含符合该标准的所有模板在内的模板集合;(c02)取所确定的所有模板集合的交集,以得到候选模板集合;以及(c03)根据用户输入,从所述候选模板集合中选出要生成一个或多个业务表的模板。11.根据权利要求10所述的方法,其中,步骤(cOl)还包括:(cOll)通过使用每一个标准专用的标准专用表和标准专用授权记录表,来确定被授权使用的所有业务表在业务表的表中相对应的业务表项;以及(c012)根据所确定的业务表项的属性中包括的模板标识,来确定所述一个或多个模板中由被授权使用的所有模板构成的模板集合。12.根据权利要求11所述的方法,其中,所述标准专用表中每项数据记录的属性至少包括标准专用数据标识,以及所述标准专用数据标识在所述标准专用表中作为主键;所述业务表的表中每项数据记录的属性至少包括业务表标识,以及所述业务表标识在所述业务表的表中作为主键;以及所述标准专用授权记录表中每项数据记录的属性至少包括授权记录标识、标准专用数据标识、以及业务表标识,以及所述授权记录标识在所述标准专用授权记录表中作为主键,所述标准专用数据标识和所述业务表标识在所述标准专用授权记录表中作为外键。13.根据权利要求12所述的方法,其中,步骤(cOll)还包括:使用所述标准专用数据标识的值作为第三关键字,在所述标准专用授权记录表中搜索具有所述第三关键字的所有数据记录;针对搜索到的每条数据记录,使用其业务表标识的值作为第四关键字,在所述业务表的表中搜索具有所述第四关键字的所有数据记录,作为被授权使用的业务表在业务表的表中相对应的业务表项。14.根据权利要求9所述的方法,其中,所述一个或多个标准包括以下至少一项:根据用户角色来授权相应用户是否能够使用相应模板、以及根据用户所属地区来授权相应用户是否能够使用相应模板。15.根据权利要求1所述的方法,其中,在步骤(c)之后,所述方法还包括:(d)以网页表单的形式向用户提供所述业务表;(e)接收由用户向所述业务表中输入的数据;(f)对所输入的数据进行校验;以及(g)将校验后的数据存储在数据库中的对应实际数据库表中。16.—种生成业务表的设备,包括:数据项定义单元,用于定义包括一个或多个数据项在内的数据项表,每个数据项包括一项或多项属性;模板定义单元,用于定义包括一个或多个模板在内的模板表,每个模板与所述一个或多个数据项中的部分或全部数据项相关联;以及业务表生成单元,用于基于从所述一个或多个模板中选择的模板来生成一个或多个业务表。【文档编号】G06Q10/06GK103927353SQ201410142889【公开日】2014年7月16日申请日期:2014年4月10日优先权日:2014年4月10日【发明者】韩严强申请人:北京网秦天下科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1