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

基于关系型数据库的动态建模方法及设备与流程

2021-11-03 12:28:00 来源:中国专利 TAG:


1.本技术涉及模型处理技术领域,尤其涉及一种基于关系型数据库的动态建模方法及设备。


背景技术:

2.模型指的是产品中的一个功能概念,在产品或者说系统中,通过对现实世界事物的抽象形成模型。传统模型和字段一般指的就是数据库表和字段。现有技术中,传统模型和字段设计是在项目需求分析、设计完成并确认清楚数据库表字段后才进行数据库表和字段的创建工作,也就是在创建数据库表和字段之前已经明确需要创建哪些表和字段,即模型和模型中的字段都是在事先达成一致后便已经固定下来的。随着业务的发展,产品和系统为了满足业务发展需求会不断完善功能,在修改已有功能或增加新功能的时候对于原有模型和字段存储的历史数据修改或调整非常繁琐,甚至如果修改不好还会影响到当前产品的运行,造成业务连续性的缺失或造成数据库数据不完整。


技术实现要素:

3.为至少在一定程度上克服相关技术中对模型进行修改或调整非常繁琐的问题,本技术提供一种基于关系型数据库的动态建模方法及设备。
4.本技术的方案如下:
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.所述存储器,用于存储程序,所述程序至少用于执行如以上任一项所述的一种基于关系型数据库的动态建模方法。
44.本技术提供的技术方案可以包括以下有益效果:本技术中的基于关系型数据库的动态建模方法中,用户可以预先定义并生成模型,随后系统将用户预先定义的模型进行拆解得到模型拆解数据并存储到关系型数据库中。在用户需要使用模型时,向系统发送模型使用请求,系统接收用户发送的模型使用请求,在关系型数据库中查询并读取模型使用请求对应的模型拆解数据,将模型拆解数据进行组装得到用户预先定义的模型并提供给用户。由于本技术中对用户定义的模型进行了拆解,在需要对模型进行修改或调整时,只需要
针对对应的拆解部分进行修改或调整即可,不会影响模型本身的构架,无论业务如何改变,模型的更改将会变得非常简单。
45.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
46.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
47.图1是本技术一个实施例提供的一种基于关系型数据库的动态建模方法的流程示意图;
48.图2是本技术一个实施例提供的一种基于关系型数据库的动态建模设备的结构示意图。
49.附图标记:处理器

21;存储器

22。
具体实施方式
50.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
51.一种基于关系型数据库的动态建模方法,包括:
52.s11:接收用户发送的模型使用请求;模型使用请求中包含有用户预先定义的模型信息;
53.s12:在关系型数据库中查询并读取模型使用请求对应的模型拆解数据;模型拆解数据是根据用户预先定义的模型进行拆解并存储到关系型数据库中的;
54.s13:将模型拆解数据进行组装得到用户预先定义的模型并提供给用户。
55.模型是一个统一的概念,可以包括系统内置模型(内置常用模型)和自定义模型(用户可根据自己的需要自定义扩展模型,比如金融行业客户可以根据贷款需求自定义贷款产品模型等)。比如在应用程序发布场景中,发布一个前端应用程序需要使用到主机模型、环境模型,当发布前端应用的时候,用户通过选择前端应用要发布的环境模型(环境模型的实例,例如sit环境)中的主机模型(主机实例,例如192.168.1.1)实现前端应用的发布,前端应用发布成功后,用户就可以通过app或h5访问前端应用进行业务操作。
56.模型的组装规则通过程序的逻辑实现。
57.本实施例中的基于关系型数据库的动态建模方法包括:用户可以预先定义并生成模型,随后系统将用户预先定义的模型进行拆解得到模型拆解数据并存储到关系型数据库中。在用户需要使用模型时,向系统发送模型使用请求,系统接收用户发送的模型使用请求,在关系型数据库中查询并读取模型使用请求对应的模型拆解数据,将模型拆解数据进行组装得到用户预先定义的模型并提供给用户。由于本技术中对用户定义的模型进行了拆解,在需要对模型进行修改或调整时,只需要针对对应的拆解部分进行修改或调整即可,不会影响模型本身的构架,无论业务如何改变,模型的更改将会变得非常简单。
58.一些实施例中的基于关系型数据库的动态建模方法,还包括:
59.接收用户在模型编辑页面输入的模型属性数据;
60.根据模型属性数据生成对应的模型;
61.基于预先定义的模型拆解方式,将模型进行拆解得到模型拆解数据;
62.将模型拆解数据存储到关系型数据库中。
63.模型属性数据即定义模型所需要的模型本身的数据。举例说明:卡模型,自身属性包括卡号、卡片有效期、卡片唯一标识等属性。除自身属性之外,客户还可以对非内置模型进行属性的扩展,可自定义卡所属类型、卡的归属地等额外的属性。
64.模型拆解方式是根据不同场景的最佳实践总结的拆分模型和属性的方法。本实施例中的模型拆解方式是将不同的场景不同用户的拆解方法作为样本数据进行训练得到。
65.本实施例中向用户提供了模型编辑页面用于动态建模,动态模型的好处是当用户根据业务需要产生更多需求时,可以通过该技术实现灵活的模型及属性自定义功能。例如:随着客户业务的发展,客户需要新增信用卡业务,原先的模型中没有信用卡这个模型,客户可通过数据库动态建模技术通过新建模型功能创建一个信用卡模型,创建完成信用卡模型后可对信用卡模型的字段进行维护,维护信用卡卡号,信用卡有效期等字段。动态灵活的通过该技术实现数据库表及字段的动态创建,不需要再通过系统的开发人员通过sql语句建表实现,只需通过平台技术功能通过界面化的交互方式实现动态建模。
66.关系型数据库是最常用的数据库类型,主要包括oracle、mysql等,除关系型数据库外还有一些nosql,例如redis、memcache等。普通数据库一般指的就是关系型数据库。关系型数据库的优势:关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。
67.本实施例中将模型拆解数据存储到关系型数据库中便于后续查询读取。
68.一些实施例中的基于关系型数据库的动态建模方法,还包括:
69.将模型拆解数据在关系型数据库中进行持久化。
70.优选的,本实施例中还将模型拆解数据在关系型数据库中进行持久化。持久化是将程序数据在持久状态和瞬时状态间转换的机制。通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据。
71.在其他实施例中,也可以通过其他方式将模型拆解数据进行持久化。
72.一些实施例中的基于关系型数据库的动态建模方法,还包括:
73.接收用户在模型编辑页面输入的模型关联属性;
74.在关系型数据库中查询关联模型的关联部分各自对应的模型拆解数据;
75.将关联模型的关联部分各自对应的模型拆解数据进行关联。
76.模型关联以卡模型为例,如果想要知道卡的持有人是谁,就需要持有人模型,卡模型和持有人模型通过外建进行关联,比如卡号为111的卡片的持有人是张三,张三就是卡的关联属性(卡模型里可自定义持有人id的属性用于关联两个模型)。
77.本实施例中,在进行模型关联时,可以只对关联模型的关联部分各自对应的模型拆解数据进行关联。
78.一些实施例中的基于关系型数据库的动态建模方法,还包括:
79.接收用户在模型编辑页面输入的模型变更指令;
80.根据模型变更指令对模型拆解出的对应的模型拆解数据进行变更。
81.进一步的,接收用户在模型编辑页面输入的模型变更指令后,方法还包括:
82.判断模型变更指令涉及的模型变更部分对应的模型拆解数据是否已进行关联;
83.若已进行关联则自动更新关联信息。
84.本实施例中,在接收到用户在模型编辑页面输入的模型变更指令后,只需对模型变更指令涉及的模型变更部分对应的模型拆解数据进行变更即可,无论业务如何改变,模型的更改将会变得非常简单。
85.模型变更后,如果模型变更指令涉及的模型变更部分未进行关联,即该模型与其他模型的具有关联关系的部分未进行变更,则不需要更新关联信息。如果模型变更指令涉及的模型变更部分对应的模型拆解数据已进行关联,则自动更新关联信息。
86.一些实施例中的基于关系型数据库的动态建模方法,还包括:
87.接收用户发送的模型实例使用请求;模型实例使用请求中包含有用户预先定义的模型实例信息;
88.在关系型数据库中查询并读取模型实例使用请求对应的模型实例拆解数据;模型实例拆解数据是根据用户预先定义的模型实例进行拆解并存储到关系型数据库中的;
89.将模型实例拆解数据进行组装得到用户预先定义的模型实例并提供给用户。
90.模型实例是模型的具体数据表现。
91.模型实例与模型的关系:
92.模型只是一个抽象概念,但模型可以有多条实例。举例:主机模型包括主机名,主机ip等属性。主机的实例就是一条条按照主机模型属性的实际数据,例如第一条主机实例:1,loanhost,192.168.1.1;第二条主机实例:2,compilehost,192.168.1.2。两条主机实例的信息都是依据主机模型进行添加。用户使用的时候是通过使用模型实例来实现一些场景功能操作,例如发布前端或后端应用程序的发布场景。发布前端程序到第一条主机实例指定的主机上去,也就是把前端程序发布到192.168.1.1对应的这台主机的指定路径下,而不是发布到主机模型上去,发布到主机模型不能定位到具体哪台主机。
93.进一步的,方法还包括:
94.接收用户在模型编辑页面输入的模型实例属性数据;
95.根据模型实例属性数据生成对应的模型实例;
96.基于预先定义的模型实例拆解方式,将模型实例进行拆解得到模型实例拆解数据;
97.将模型实例拆解数据存储到关系型数据库中。
98.进一步的,方法还包括:
99.接收用户在模型编辑页面输入的模型实例关联属性;
100.在关系型数据库中查询关联模型实例的关联部分各自对应的模型实例拆解数据;
101.将关联模型实例的关联部分各自对应的模型实例拆解数据进行关联。
102.一种基于关系型数据库的动态建模设备,包括:
103.处理器21和存储器22;
104.处理器21与存储器22通过通信总线相连接:
105.其中,处理器21,用于调用并执行存储器22中存储的程序;
106.存储器22,用于存储程序,程序至少用于执行以上实施例任一项的一种基于关系型数据库的动态建模方法。
107.可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
108.需要说明的是,在本技术的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本技术的描述中,除非另有说明,“多个”的含义是指至少两个。
109.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
110.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
111.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
112.此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
113.上述提到的存储介质可以是只读存储器,磁盘或光盘等。
114.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
115.尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

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

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

相关文献