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

一种领域业务对象模型的热点数据获取方法、装置及设备与流程

2022-02-22 04:43:34 来源:中国专利 TAG:


1.本发明涉及领域业务对象模型技术领域,特别是指一种领域业务对象模型的热点数据获取方法、装置及设备。


背景技术:

2.领域业务对象模型是对领域中业务角色和业务实体之间应该如何联系和协作以执行业务的一种抽象。领域业务对象模型是偏向于业务的对象描述;应用用户和业务用户在使用数据系统时以领域对象模型为线索和基准,因图索骥。对象模型蕴含着数据系统中数据的“逻辑结构”,用户在使用数据系统时,基本上都是以对象模型的“结构”为基准来访问、查询和读取其中的数据;领域业务对象模型典型以图(graph)表达。图(graph)具有很强的表达能力,适用于表达领域内的概念类和对象、对象之间的多种联系以及对象和联系上的多种属性,例如,sfa(销售能力自动化)领域对象模型以及在工业生产制造中isa 95(企业系统与控制系统集成国际标准)描述的生产对象领域模型等。
3.基于领域业务对象模型的数据访问与对象查询语言常见的有graphql语言、oql语言等;其中,graphql是一种面向应用开发的查询语言,通过提供对请求数据的易于理解的描述,可以使客户端准确地获得所需的数据,而没有任何冗余;让对数据访问的控制端落于应用自身,而不是落到服务器。该对象查询语言与领域业务对象模型的图结构天然适配,graphql可以图结构的数据模型来对数据进行访问,适配性更好;oql是将高级的、说明性的sql编程和面向对象的编程范例结合在一起的一种标准化语言。


技术实现要素:

4.本发明提供了一种领域业务对象模型的热点数据获取方法、装置及设备。实现了利用领域模型的结构特点、结合查询语言的特性,通过数据访问模式的规律来分析业务热点,帮助用户便捷地了解业务热点信息。
5.为解决上述技术问题,本发明的实施例提供以下方案:一种领域业务对象模型的热点数据获取方法,包括:接收针对领域业务对象模型的业务热度访问请求,所述领域业务对象模型为对业务对象的元信息的描述;根据所述业务热度访问请求,得到待访问时间段集合;在最新的持久化存储库中进行汇总计算,得到所述待访问时间段集合内的热点数据。
6.可选的,根据所述业务热度访问请求,得到待访问时间段集合,包括:根据所述业务热度访问请求中的待访问业务热度的时间范围和最新的持久化存储库中的最小粒度时间窗口,得到待访问时间段集合。
7.可选的,所述最新的持久化存储库的更新过程如下:获取查询语言的请求日志和用户信息;
对所述查询语言的请求日志进行业务热度计算,得到更新后的业务热度;将所述更新后的业务热度写入至持久化存储库,得到最新的持久化存储库。
8.可选的,获取查询语言的请求日志,包括:按照预设规则获取查询语言的数据访问日志;通过与领域模型连接的数据系统,对所述数据访问日志进行检验,得到满足预设模型结构的数据访问日志;对满足所述预设模型结构的数据访问日志进行解析处理,得到查询语言的请求日志。
9.可选的,对所述查询语言的请求日志进行业务热度计算,得到更新后的业务热度,包括:根据所述用户信息和所述查询语言的请求日志,得到对应的目标维度取值和目标时间窗口;基于所述目标时间窗口,得到所述查询语言的请求日志对应的合取子句以及所述合取子句的二元组;所述合取子句是通过与操作运算符连接而成的布尔表达式;根据所述目标时间窗口的等值性、所述查询语言的根实体和所述根实体下的至少一层实体,得到所述合取子句的三元组;将所述合取子句的三元组进行去重处理,得到目标三元组和所述目标三元组对应的更新后的业务热度。
10.可选的,在最新的持久化存储库中进行汇总计算,得到所述待访问时间段集合内的热点数据,包括:根据所述待访问时间段集合,以第一数量的实体为索引项,在最新的持久化存储库中进行汇总计算,得到按照业务热度的顺序排列的每个实体的第三数量的热点词;或根据所述待访问时间段集合,在最新的持久化存储库中进行汇总计算,得到按照业务热度的顺序排列的第二数量的热点词。
11.可选的,领域业务对象模型的热点数据获取方法,还包括:根据所述待访问时间段集合,在最新的持久化存储库中进行汇总计算,得到近似热点数据;其中,所述近似热点数据是业务热度与所述待访问时间段集合内的热点数据的业务热度偏差在预设范围内的数据。
12.本发明还提供一种领域业务对象模型的热点数据获取装置,所述装置包括:接收模块,用于接收针对领域业务对象模型的业务热度访问请求,所述领域业务对象模型为对业务对象的元信息的描述;处理模块,用于根据所述业务热度访问请求,得到待访问时间段集合;在最新的持久化存储库中进行汇总计算,得到所述待访问时间段集合内的热点数据。
13.本发明提供一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如上述的领域业务对象模型的热点数据获取方法的步骤。
14.本发明还提供一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如上述的领域业务对象模型的热点数据获取方法的步骤。
15.本发明的上述方案至少包括以下有益效果:
本发明的上述方案,通过接收针对领域业务对象模型的业务热度访问请求,所述领域业务对象模型为对业务对象的元信息的描述;根据所述业务热度访问请求,得到待访问时间段集合;在最新的持久化存储库中进行汇总计算,得到所述待访问时间段集合内的热点数据。实现了利用领域模型的结构特点、结合查询语言的特性,通过数据访问模式的规律来分析业务热点,帮助用户便捷地了解业务热点信息。
附图说明
16.图1为本发明实施例的领域业务对象模型的热点数据获取方法的流程示意图;图2为本发明提供的具体的实施例4中持久化存储器的更新过程的流程示意图;图3为本发明提供的具体的实施例7中1小时的待访问时间段集合的热点数据的获取流程示意图;图4为本发明提供的具体的实施例8中以实体为中心的业务热点访问的中业务热度热点数据获取方法的流程示意图;图5为本发明提供的具体的实施例9中不以实体为中心的业务热点访问的中业务热度热点数据获取方法的流程示意图;图6为本发明实施例的领域业务对象模型的热点数据获取系统的结构示意图;图7为本发明实施例的领域业务对象模型的热点数据获取装置的结构示意图。
具体实施方式
17.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
18.如图1所示,本发明提供一种领域业务对象模型的热点数据获取方法,包括:步骤11,接收针对领域业务对象模型的业务热度访问请求,所述领域业务对象模型为对业务对象的元信息的描述;步骤12,根据所述业务热度访问请求,得到待访问时间段集合;步骤13,在最新的持久化存储库中进行汇总计算,得到所述待访问时间段集合内的热点数据。
19.该实施例中,持久化存储库是按照预设规则进行更新的,当接收到业务热度访问请求时,根据接收到的业务热度访问请求,得到待访问时间段集合,并在最新的持久化存储库中进行汇总计算,得到该待访问时间段集合内的热点数据以及热点数据对应的业务热度,这里的热点数据优选为热点词,业务热度访问请求包括待访问业务热度的时间范围等,实现了利用领域模型的结构特点、结合查询语言的特性,通过数据访问模式的规律来分析业务热点,帮助用户便捷地了解业务热点信息。
20.本发明一可选的实施例中,步骤12包括:步骤121,根据所述业务热度访问请求中的待访问业务热度的时间范围,基于所述定期更新的持久化存储库中的最小粒度时间窗口,得到待访问时间段集合。
21.本实施例中,根据业务热度访问请求中的待访问业务热度的时间范围,该待访问
业务热度的时间范围优选为[starttime,endtime)的时间区间,基于最小粒度时间窗口,得到被待访问业务热度的时间范围完全覆盖的时间段的集合作为待访问时间段集合。
[0022]
一个具体的实施例1中,当待访问业务热度的时间范围为[2021-10-11 10:00:00,2021-10-11 14:05:00);最小粒度时间窗口为10分钟,这里,以自然时间起止,即最小粒度时间窗口为每自然小时的[第0分钟~10分钟),

,[第50分钟~60分钟),则,得到的待访问时间段集合为:{[20xx-10-11 10:00:00,20xx-10-11 10:10:00),[20xx-10-11 10:10:00,20xx-10-11 10:20:00),

,[20xx-10-11 13:50:00,2021-10-11 14:00:00)};需要说明的是,这里的20xx是2000至2999之间的任意一个数字。
[0023]
本发明一可选的实施例中,步骤13中的所述最新更新后的持久化存储库的更新过程如下:步骤a,获取查询语言的请求日志和用户信息;步骤b,对所述查询语言的请求日志进行业务热度计算,得到更新后的业务热度;步骤c,将所述更新后的业务热度写入至持久化存储库,得到最新的持久化存储库。
[0024]
本实施例中,查询语言具体为用于领域业务对象模型的对象查询语言,优选可以是graphql查询语言和oql语言(objectquery language,对象查询语言)等,对查询语言的请求日志进行业务热度计算,得到更新后的业务热度,并将更新后的业务热度写入至持久化存储库中,其中,用户信息优选包括用户的名称、用户组、用户的部门、用户的企业以及用户的所在地中的至少一个,优选还包括应用、应用分类以及应用所在的子领域等,这里的应用所在的子领域如生产、客户关系类以及设备运维类等。
[0025]
本发明一可选的实施例中,步骤a包括:步骤a1,按照预设规则获取查询语言的数据访问日志;步骤a2,通过与领域模型连接的数据系统,对所述数据访问日志进行检验,得到满足预设模型结构的数据访问日志;步骤a3,对满足所述预设模型结构的数据访问日志进行解析处理,得到查询语言的请求日志。
[0026]
本实施例中,预设规则为查询语言的数据访问日志的获取调度方式,该预设规则包括:(1)定期读取的规则,即根据预设的周期定期读取;(2)触发式服务的规则,即基于消息引擎的数据驱动方式收集和读取;查询语言的数据访问日志的获取来源可以是下列至少一个:(1)从查询语言引擎的服务日志中获取;(2)从查询语言引擎的聚合日志服务中心获取;(3)从客户端转发得到,常见的如,从查询语言的查询服务器中获取;根据预设规则和上述至少一个获取来源,得到查询语言的数据访问日志,该查询语言的数据访问日志包括请求发起时间、请求体内容、用户信息以及客户端应用信息等;其
中,请求体内容常见的如实体、关联、属性等;以连接着领域模型的数据系统为基础,检验查询语言的数据访问日志是否满足预设模型结构,若查询语言不满足预设模型结构,则不对该数据访问日志进行解析处理,若查询语言满足预设模型结构,则对该数据访问日志进行解析处理,得到查询语言的请求日志;该查询语言的请求日志包括请求发起时间、用户信息、应用与分类等其他维度(如应用与分类)信息、请求中的过滤项、请求中的返回实体以及实体间的层级结构中的至少一个,其中,请求中的过滤项包括实体与属性、过滤比较运算符、过滤词等;具体的,一个具体的实施例2中,查询语言的请求日志包括:实体集合、“实体.属性”上过滤条件的析取范式、“实体.属性”上过滤条件中的等值表达式、in表达式、like表达式中的常量、带过滤条件的“实体.属性”集合以及完整的实体间的层级关系;其中,like表达式中的常量具体包括字符串、布尔值、日期(时间)等。
[0027]
本发明一可选的实施例中,步骤b,包括:步骤b1,根据所述用户信息和所述查询语言的请求日志,得到对应的目标维度取值和目标时间窗口;步骤b2,基于所述目标时间窗口,得到所述查询语言的请求日志对应的合取子句以及所述合取子句的二元组;所述合取子句是通过与操作运算符连接而成的布尔表达式;步骤b3,根据所述目标时间窗口的等值性、所述查询语言的根实体和所述根实体下的至少一层实体,得到所述合取子句的三元组;步骤b4,将所述合取子句的三元组进行去重处理,得到目标三元组和所述目标三元组对应的更新后的业务热度。
[0028]
本实施例中,根据进行最小粒度时间窗口进行业务热度计算,该最小粒度时间窗口优选为10min,例如,以自然时间起止,时间窗为每自然小时的[第0分钟~10分钟),

,[第50分钟~60分钟);根据用户信息提取出关键分类维度,该关键分类维度可记作taxonomyelements(简称te),如用户组、部门、企业、所属地域、应用分类以及应用所属子领域(生产、客户关系类、设备运维类等)等;将目标时间窗口记作timestamp(q),令timeinterval(q)为timestamp(q)对应的目标时间窗口,其中,q代表查询语言的请求日志中的请求;根据查询语言的请求日志的每一条请求对应的结构化信息,得到其对应于te的目标维度取值,并计算得到目标时间窗口;由于查询语言的请求日志包括请求发起时间、用户信息、应用与分类等其他维度(如应用与分类)信息、请求中的过滤项、请求中的返回实体以及实体间的层级结构中的至少一个,根据查询语言的请求日志中的请求中的过滤项,计算得到请求的过滤条件对应的析取范式,可将其记作∪conj_j,该析取范式是合取子句的析取,其中合取子句可记作:(e_1.a_1=“α_1”)∩(e_2.a_2=“α_2”)∩

∩(e_n.a_n=“α_n”);具体的,上述过程可以包括:步骤b21,将(e_m.a_m=“α_m”),其中m∈{1,

,n},作为一个二元组,按照二元组的字典序排序,得到标准化的合取子句:(e_1.a_1=“α_1”)∩(e_2.a_2=“α_2”)∩

∩(e_n.a_n=“α_n”),这里,将该合取子
句记作conj{std}_j;步骤b22,对上标准化合取子句conj{std}_j做散列计算,得到散列值,将散列值记为hash_{conj{std}_j}(或记作hash_j),其中,j表示合取子句的编号;从查询语言的请求日志的请求的返回实体以及实体间的层级结构得出根实体(可记作e_root(q))以及根实体下第i层实体(可记作{e_layer_i(q)}),其中i的取值为从1到最大层级数;按照目标时间窗口的等值性将上述的二元组进行分组,在每一组二元组(可记作grp)中包括至少一个查询语言的请求,每一组二元组中的请求的目标时间窗口值相等;获取每一组二元组中的每一个请求的过滤条件的析取范式对应的{conj{std}_j},根据根实体以及根实体下第i层实体,枚举除所有三元组,该三元组可构成重复的多重集,可记作key
multi
(q):key
multi
(q)={《hash_{conj{std}_j},conj{std}_j,entity》|其中,entity∈{e_root(q)∪{e_layer_i(q)|i}};对于

q∈rgp
key(q)中的每一个元素k,k为《hashk,conjk,entityk》),其计算值为hidx(k);通过三元组中将hidx(k)=∑i满足e_layer_i(q)=entityk(q∈grp)且hash(哈希值)与conj(合取子句)对位相等的元素k进行合并,将重复的多重集的三元组进行去重处理;目标三元组对应的更新后的业务热度为m

βi(q),m为e_layer_i(q)(等于entityk)的出现的次数,其中,βi(q)是在请求q中第i层实体的加权系数,对于每一组二元组grp中所有请求q的βi(q)取值相等,其取值范围优选为[0,1]。
[0029]
最终将

q∈rgp
key(q)中的全部元素k与计算值hidx(k),以k作为键写入持久化存储器中,其中,持久化存储器优选包括数据仓库、olap(联机分析处理)引擎等。
[0030]
一个具体的实施例3中,重复的多重集的三元组可以是:《hash_{conj_1},conj{std}_1,e_root(q)》,《hash_{conj_1},conj{std}_1,e_layer_1_a(q)》,《hash_{conj_1},conj{std}_1,e_layer_1_b(q)》,《hash_{conj_1},conj{std}_1,e_layer_1_...(q)》,《hash_{conj_1},conj{std}_1,e_layer_2_a(q)》,《hash_{conj_1},conj{std}_1,e_layer_2_b(q)》,《hash_{conj_1},conj{std}_1,e_layer_2_...(q)》,《hash_{conj_1},conj{std}_1,e_layer_..._...(q)》,上述为标准化合取子句的集合conj{std}_1与请求中所有实体的三元组组合;《hash_{conj_2},conj{std}_2,e_root(q)》,《hash_{conj_2},conj{std}_2,e_layer_1_...(q)》,《hash_{conj_2},conj{std}_2,e_layer_2_...(q)》,《hash_{conj_2},conj{std}_2,e_layer_..._...(q)》,《hash_{conj_...},conj{std}_...,e_...(q)》上述为标准化合取子句的集合conj{std}_2与请求中所有实体的三元组组合;可将上述的三元组组合构成的集合记作key(q)。
[0031]
如图2所示,一个具体的实施例4中,对持久化存储器的更新过程如下:
1.1通过graphql查询语言或oql查询语言读取并收集数据访问日志;1.2收集用户信息以及其他维度信息,其中用户信息包括用户、用户组、部门、企业、所在地等,其他维度信息包括应用分类和应用所在的子领域,如生产、客户关系类、设备运维类等;1.3根据数据访问日志和与领域模型连接的数据系统,分析得到graphql查询语言或oql查询语言的请求日志;该请求日志中包括请求发起的应用与用户、请求的过滤项、实体间层级关系等;1.4根据请求日志,结合历史热度信息、用户信息以及其他维度信息,进行业务热度计算,得到业务热度信息;1.5将业务热度信息写入业务热度的持久化存储库中。
[0032]
本发明一可选的实施例中,步骤13包括:步骤131,根据所述待访问时间段集合,以第一数量的实体为索引项,在最新的持久化存储库中进行汇总计算,得到按照业务热度的顺序排列的每个实体的第三数量的热点词;或步骤132,根据所述待访问时间段集合,在最新的持久化存储库中进行汇总计算,得到按照业务热度的顺序排列的第二数量的热点词。
[0033]
本实施例中,根据业务热度访问请求及其对应的待访问时间段集合,从持久化存储库进行汇总计算,得出按热度汇总值降序排列的第一数量的实体;具体的,可以通过:select entity,sum(hinx)where所有待访问时间段集合group by entity order by sum(hinx) desc limit n,得到第一数量的实体;其中,所有的用户信息以及其他维度信息列也作为group by子句的一部分,从而得到输出为n个entity(实体);进而待访问时间段集合、上述的n个entity(实体),以此n个实体为索引项从持久化存储库进行汇总计算,得出n个实体entity中每个实体的top-m热点词;对于这n个实体的每一个e,这里的n即为第一数量,具体的,可以通过:select conj{std},sum(hinx)where 所有待访问时间段集合and entity=egroup by conj{std}order by sum(hinx) desc limit m,得到n个实体entity中每个实体的top-m热点词;其中,所有的用户信息以及其他维度信息列也作为group by子句的一部分,从而得到m个热点词conj{std}。或者根据业务热度访问请求及其对应的待访问时间段集合,在最新的持久化存储库中进行汇总计算,具体的,可以通过:select conj{std},entity,sum(hinx)where 所有待访问时间段集合group by conj{std},entity order by sum(hinx) desc limit k,得到按照业务热度的顺序排列的第二数量的热点词;
其中,所有的用户信息以及其他维度信息列也作为group by子句的一部分,从而得到k个热点词《conj{std},entity》,这里的k即为第二数量。
[0034]
本发明一可选的实施例中,领域业务对象模型的热点数据获取方法,还可以包括:步骤14,设置时间维层级结构,根据业务热度访问请求中的待访问业务热度的时间范围,通过计算得到完全被所述业务热度访问请求中的待访问业务热度的时间范围覆盖的待访问时间段集合。
[0035]
本实施例中,为了加速热点信息访问效率,可设置时间维层级结构优化,即构造时间维上的多层级结构,其中,时间维上的多层级构造常见的如,10分钟、小时、日、周、月;10分钟是最小时间粒度时间段;以最小粒度时间段上的热度信息为基础,在最新的持久化存储库中分别逐层计算每个粒度的取值所对应的热度值,并将其进行汇总计算,该汇总计算优选的通过求和函数sum操作;需要说明的是,对待访问时间段集合的各时间粒度之间、每个粒度内的不同时间值对应的热度计算都可并行进行汇总计算;进行汇总计算的时机为当前时间已经过完一个时间粒度上的时间值;进行汇总计算得到近似热点数据的计算过程满足幂等性,当有新的查询语言请求补充写入时,可将其在各粒度上对应的值的聚合值重新计算;根据业务热度访问请求中的待访问业务热度的时间范围,该时间范围优选为[starttime,endtime)的时间区间,通过时间维层级结构,计算得到被该时间范围([starttime,endtime)的时间范围)完全覆盖的时间段的集合作为待访问时间段集合;进一步地,根据针对领域业务对象模型的业务热度访问请求反馈时,在合并多时间段的热点值时优选使用公式sum(hinx)来计算。
[0036]
一个具体的实施例4中,上述构造时间维上的多层级结构的具体表现为: :步骤41,时间维上的多层级构造为10分钟、1小时、1日、1周、1月,其中,“10分钟”是最小粒度时间段;步骤42,以最小粒度时间段上的热度信息hidx(k)为基础,用更小时间粒度上的热度信息来计算更大时间粒度上的热度信息的方式(例如,“1月”的热度信息可用更小时间粒度上的“1日”的热度信息来计算),分别逐层计算非最小时间粒度的每个时间段所对应的热度信息,计算逻辑为求和汇总(优选使用求和函数sum操作来计算);需要说明的是,在上述的计算过程中,各时间粒度之间、每个粒度内的不同时间段对应的热度信息的计算都可并行进行。
[0037]
一个具体的实施例5中,当业务热度访问请求中的待访问业务热度的时间范围为[20xx-09-01 00:00:00,20xx-10-02 01:15:00)时,设置时间维层级结构为:以自然时间为起止的10分钟、小时、日、周、月;则,通过计算得到完全被所述业务热度访问请求中的待访问业务热度的时间范围覆盖的待访问时间段集合为:{[20xx-09-01 00:00:00,20xx-10-01 00:00:00),[20xx-10-01 00:00:00, 20xx-10-02 00:00:00),[20xx-10-02 00:00:00,20xx-10-02 01:00:00),[20xx-10-02 01:00:00,20xx-10-02 01:10:00)};需要说明的是,这里的20xx是2000至2999之间的任意一个数字;
上述的待访问时间段集合是由20xx年9月、20xx年10月1日、20xx年10月2日第一个小时、20xx年10月2日1点后的第一个10分钟的共计4个时间段构成的集合。
[0038]
本发明一可选的实施例中,领域业务对象模型的热点数据获取方法,还包括:步骤15,根据所述待访问时间段集合,在最新的持久化存储库中进行汇总计算,得到近似热点数据;其中,所述近似热点数据是业务热度与所述待访问时间段集合内的热点数据的业务热度偏差在预设范围内的数据。
[0039]
本实施例中,为了加速热点信息访问效率及降低存储空间,可设置支持近似热点数据访问的时间维层级结构,以最小粒度时间段上的热度信息为基础,在最新的持久化存储库中分别逐层计算每个粒度的取值所对应的热度值,并将其进行汇总计算,该汇总计算优选的通过求和函数sum操作;其中,对待访问时间段集合的各时间粒度之间、每个粒度内的不同时间值对应的热度计算都可并行进行汇总计算;进行汇总计算的时机为当前时间已经过完一个时间粒度上的时间值;进行汇总计算得到近似热点数据的计算过程满足幂等性,当有新的查询语言请求补充写入时,可将其在各粒度上对应的值的聚合值重新计算。
[0040]
一个具体的实施例6中,设置支持近似热点数据访问的时间维层级结构,计算近似热点数据包括:输入:select conj{std},entity, sum(hinx)from 输入对应的粒度上的热度数据where 在细粒度上的时间段集合(记为{t_interval})and hinx》=

min_threshold/|{t_interval}| ⌋
group by conj{std},entity order by sum(hinx) desc;其中,所有的用户信息以及其他维度信息列也作为group by子句的一部分;min_threshold值等于如下|{t_interval}|个计算结果的最小值:select sum(hinx)from 输入对应的细粒度上的热度数据where 在细粒度上的时间段集合(可记为{t_interval})中的一个时间段group by conj{std},entity order by sum(hinx) desc limit k;其中,所有的用户信息以及其他维度信息列也作为group by子句的一部分;可见通过上述的计算逻辑不会汇总全量的entity,conj{std}维度值,即存储空间将大幅降低。
[0041]
如图3所示,一个具体的实施例7中,以从“10分钟”粒度计算“1小时”粒度的热点词信息来举例,记为(t1,t2,

,t6)

h1,k=3;获取“1小时”的待访问时间段集合的热点数据包括:selectconj{std},entity,sum(hinx)from(select*fromt1 union all ... union allselect * fromt6)xgroup byconj{std},entityorder bysum(hinx)desc limit 3;获取“1小时”的待访问时间段集合的近似热点数据包括:select min(hinx) from (selectsum(hinx) hinxfrom t1 group byconj{std},entityorder by sum(hinx) desclimit 3 union all
ꢀ…
union all
select sum(hinx) hinxfrom t6 group byconj{std},entityorder by sum(h) desc limit 3)得到的值记作min_threshold,从图3可见,min_threshold=20;selectconj{std},entity, sum(hinx)from(select * fromt1 wherehinx》=

20/6
⌋ 即3 union all
ꢀ…ꢀ
union allselect * fromt6 wherehinx》=3)ygroupbyconj{std},entityorder by sum(hinx) desclimit 3;通过上式保证不漏掉精确解中的conj{std},entity组合。考虑到长尾效应,具体的实施例7的方案可省去较多的conj{std},entity组合,从而节省h1的存储空间以及在h1上热度数据访问;每一个逐层计算,并按照时间维层级结构进行存储。
[0042]
如图4所示,一个具体的实施例7中,当接收到用户通过系统提交的业务热度访问的请求后,根据业务热度访问的请求可知,以实体为中心的业务热点访问,此时,判断是否有时间维层级结构优化;若没有,则:(1-1)根据待访问热度的时间范围计算出相关的所有待访问时间段集合;(1-2)结合热度访问请求中指定的维度值,根据待访问时间段集合,从底层存储中进行汇总计算,得出按热度汇总值降序排列的top-n实体;这里的top-n实体是指按照从热度高到热度低的顺序排列的实体集合n;(1-3)根据待访问时间段集合和top-n实体,以此n个实体为索引项从持续化存储器中汇总计算,得出每个实体的top-m热点词;这里的top-m热点词是指按照从热度高到热度第的顺序排列的热点词集合m;(1-4)将top-n实体以及对应的top-m热点词作为结果返回给请求端;若有,则:(2-1)根据待访问热度的时间范围计算出相关的所有待访问时间段集合;(2-2)判断是否访问近似热度信息;若不是,则:(2-2-1)结合热度访问请求中指定的维度值,根据待访问时间段集合,从时间维层级结构与持久化存储器中进行汇总计算,得出按热度汇总值降序排列的top-n2实体;(2-2-2)根据待访问时间段集合和top-n1实体或top-n2实体,以此n1或n2个实体为索引项从时间维层级结构与持久化存储器中进行汇总计算,得出每个实体的top-m1热点词;若是,则:(2-2-3)结合热度访问请求中指定的维度值,根据待访问时间段集合,从(支持近似热点数据访问的)时间维层级结构与持久化存储器中进行汇总计算,得出按热度汇总值降序排列的top-n1实体;(2-2-4)根据待访问时间段集合和top-n1实体或top-n2实体,以此n1或n2个实体为索引项从(支持近似热点数据访问的)时间维层级结构与持久化存储器中进行汇总计算,得出每个实体的top-m2热点词;(2-3)将top-n1或top-n2实体以及各自的top-m1或top-m2热点词作为结果返回给请求端。
[0043]
如图5所示,一个具体的实施例8中,当接收到用户通过系统提交的业务热度访问的请求后,根据业务热度访问的请求可知,不以实体为中心的业务热点访问,此时,判断是否有时间维层级结构优化;若不是,则:(3-1)根据待访问热度的时间范围计算出相关的所有待访问时间段集合;(3-2)结合热度访问请求中指定的维度值,根据待访问时间段集合,从持久化存储器中进行汇总计算,得出按热度汇总值降序排列的top-k1词条;(3-3)将top-k1词条作为结果返回给请求端;若是,则:(4-1)根据待访问热度的时间范围计算出相关的所有待访问时间段集合;(4-2)判断是否访问近似热度信息;若是,则:(4-2-1)结合热度访问请求中指定的维度值,根据待访问时间段集合,从面向近似热度的时间维层级结构与持久化存储器中进行汇总计算,得出按热度汇总值降序排列的top-k2词条;若不是,则:(4-2-2)结合热度访问请求中指定的维度值,根据待访问时间段集合,从时间维层级结构与持久化存储器中进行汇总计算,得出按热度汇总值降序排列的top-k3词条;(4-3)将top-k2或k3词条作为结果返回给请求端。
[0044]
本发明的实施例中通过接收针对领域业务对象模型的业务热度访问请求,所述领域业务对象模型为对业务对象的元信息的描述;根据所述业务热度访问请求,得到待访问时间段集合;在最新的持久化存储库中进行汇总计算,得到所述待访问时间段集合内的热点数据;实现了利用领域模型的结构特点、结合查询语言的特性,通过数据访问模式的规律来分析业务热点,帮助用户便捷地了解业务热点信息。
[0045]
如图6所示,本发明还提供一种领域业务对象模型的热点数据获取系统,该系统包括:用户信息以及其他维度信息的连接器,用于获取用户信息以及其他维度信息;维度信息数据系统,用于与用户信息以及其他维度信息的连接器连接,为用户信息以及其他维度信息的连接器提供用户信息以及其他维度信息;查询语言请求收集器,用于获取查询语言的数据访问日志;领域业务对象模型,用于与数据系统连接,为数据系统提供领域业务对象模型的信息;领域对象模型下的数据系统,用于与当领域业务对象模型连接,对数据访问日志进行检验时,得到满足预设模型结构的数据访问日志;业务热度信息相关的持久化数据存储器,用于存储按照预设规则输入的业务热度;领域模型与底层数据连接器,用于将领域业务对象模型与业务热度信息相关的持久化数据存储器连接;业务热度信息访问服务,用于接收针对领域业务对象模型的业务热度访问请求;
查询语言请求分析与热度计算器,用于根据业务热度访问请求进行热点数据的获取。
[0046]
需要说明的是,该系统是与上述方法对应的系统,上述方法实施例中的所有实现方式均适用于该系统的实施例中,也能达到相同的技术效果。
[0047]
如图7所示,本发明还提供一种领域业务对象模型的热点数据获取装置70,所述装置70包括:接收模块71,用于接收针对领域业务对象模型的业务热度访问请求,所述领域业务对象模型为对业务对象的元信息的描述;处理模块72,用于根据所述业务热度访问请求,得到待访问时间段集合;在最新的持久化存储库中进行汇总计算,得到所述待访问时间段集合内的热点数据。
[0048]
可选的,根据所述业务热度访问请求,得到待访问时间段集合,包括:根据所述业务热度访问请求中的待访问业务热度的时间范围和最新的持久化存储库中的最小粒度时间窗口,得到待访问时间段集合。
[0049]
可选的,所述最新的持久化存储库的更新过程如下:获取查询语言的请求日志和用户信息;对所述查询语言的请求日志进行业务热度计算,得到更新后的业务热度;将所述更新后的业务热度写入至持久化存储库,得到最新的持久化存储库。
[0050]
可选的,获取查询语言的请求日志,包括:按照预设规则获取查询语言的数据访问日志;通过与领域模型连接的数据系统,对所述数据访问日志进行检验,得到满足预设模型结构的数据访问日志;对满足所述预设模型结构的数据访问日志进行解析处理,得到查询语言的请求日志。
[0051]
可选的,对所述查询语言的请求日志进行业务热度计算,得到更新后的业务热度,包括:根据所述用户信息和所述查询语言的请求日志,得到对应的目标维度取值和目标时间窗口;基于所述目标时间窗口,得到所述查询语言的请求日志对应的合取子句以及所述合取子句的二元组;所述合取子句是通过与操作运算符连接而成的布尔表达式;根据所述目标时间窗口的等值性、所述查询语言的根实体和所述根实体下的至少一层实体,得到所述合取子句的三元组;将所述合取子句的三元组进行去重处理,得到目标三元组和所述目标三元组对应的更新后的业务热度。
[0052]
可选的,在最新的持久化存储库中进行汇总计算,得到所述待访问时间段集合内的热点数据,包括:根据所述待访问时间段集合,以第一数量的实体为索引项,在最新的持久化存储库中进行汇总计算,得到按照业务热度的顺序排列的每个实体的第三数量的热点词;或根据所述待访问时间段集合,在最新的持久化存储库中进行汇总计算,得到按照业务热度的顺序排列的第二数量的热点词。
[0053]
可选的,处理模块72还用于根据所述待访问时间段集合,在最新的持久化存储库中进行汇总计算,得到近似热点数据;其中,所述近似热点数据是业务热度与所述待访问时间段集合内的热点数据的业务热度偏差在预设范围内的数据。
[0054]
需要说明的是,该装置是与上述方法对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
[0055]
本发明的实施例提供一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如上述的领域业务对象模型的热点数据获取方法的步骤。
[0056]
需要说明的是,该电子设备是与上述方法对应的电子设备,上述方法实施例中的所有实现方式均适用于该电子设备的实施例中,也能达到相同的技术效果。
[0057]
本发明的实施例还提供一种可读存储介质,存储有指令,所述指令在计算机上运行时,使得计算机执行如上所述的领域业务对象模型的热点数据获取方法的步骤。
[0058]
需要说明的是,该可读存储介质是与上述方法对应的可读存储介质,上述方法实施例中的所有实现方式均适用于该可读存储介质的实施例中,也能达到相同的技术效果。
[0059]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0060]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0061]
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0062]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0063]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0064]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码
的介质。
[0065]
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
[0066]
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
[0067]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

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

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

相关文献