一种业务数据管理的方法和装置与流程
未命名
10-08
阅读:96
评论:0
1.本发明涉及计算机技术领域,尤其涉及一种业务数据管理的方法和装置。
背景技术:
2.数据作为信息的载体,承载着各个业务领域的重要资源,通过对数据有效的管理以更好的利用数据资源。目前,随着数据库技术的发展,各种类型的数据库层出不穷,mysql因其稳定的性能、丰富的功能等特点被广泛应用。
3.在实现本发明过程中,发明人发现现有技术中存在如下问题:
4.在实际中,对于一些数据结构简单、应用简单的业务场景,以包裹跟踪业务为例,包裹跟踪业务包括:打包、运输、配送等各个环节,这些海量的业务数据一般仅用于查询,且事件也不需要更新,不涉及mysql数据库中的高级特性,使用mysql不是特别经济,造成了数据库的资源浪费。
技术实现要素:
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.图1是根据本发明实施例的业务数据管理的方法的主要流程的示意图;
31.图2是本发明实施例的业务数据写入流程示意图;
32.图3是根据本发明实施例的业务数据管理装置的主要模块示意图;
33.图4是本发明实施例可以应用于其中的示例性系统架构图;
34.图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
35.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
36.目前对于一些数据结构简单、应用简单的业务场景,由于其数据管理不涉及mysql数据库中的高级特性,使用mysql造成了数据库的资源浪费,不能很好的满足实际应用。
37.为了解决现有技术中存在的上述问题,本发明提出一种业务数据管理的方法,基于业务标识获取的存储空间,在存储空间不满足业务事件数据量的情况下,分配辅助存储空间,并建立辅助存储空间和业务标识之间的关系,将业务事件写入由业务标识确定的存储空间和辅助存储空间,通过这种动态分配存储空间和辅助存储空间的方法,保证了业务事件的顺利写入,不仅不需要专用数据库的管理,节约了存储成本,而且写入过程简单高效,提高了业务数据的管理效率。
38.在本发明的实施例介绍中,所涉及的名词及其含义如下:
39.mysql:一种关系型数据库;
40.hash map:基于哈希表的map接口的实现。此实现提供所有可选的映射操作,并允许使用null值和null键。
41.图1是根据本发明实施例的业务数据管理的方法的主要流程的示意图,如图1所示,本发明实施例的业务数据管理的方法包括如下的步骤s101至步骤s104。
42.步骤s101、获取业务事件写入请求,所述业务对应多个业务事件,所述请求包括业务标识。
43.具体地,对于数据结构简单、应用简单的场景,在业务事件执行完成后,系统收到业务事件的写入存储请求。以包裹跟踪业务为例,此业务的流程节点是有计划顺序执行的,
可以分为打包、分拣、发货、到达a地、到达b地、分拣、到达配送站、送达目的地这8个事件,且包裹跟踪业务的业务标识码为包裹id,包裹跟踪业务主要用于查询,且事件执行完成即发出写入存储请求,在写入完成后,业务数据不需要后续的更新维护,当然上述业务场景也不限于包裹跟踪业务,只要业务场景中事件存储不需要更新,业务具有标识码且业务对应的事件数量可预测即为满足本发明的应用场景。
44.步骤s102、根据所述业务标识获得所述业务对应的存储空间。
45.根据本发明的一个实施例,所述业务对应有预设个数的业务事件,且每个业务事件具有预设大小;在为所述业务分配存储空间时,根据所述业务的剩余的业务事件,以及每个剩余的业务事件的预设的大小,确定分配的存储空间的大小。
46.根据本发明的另一个实施例,在根据所述业务标识获得所述业务对应的存储空间之前,还包括:响应于为所述业务分配存储空间,通过建立索引文件的方式,建立所述存储空间与所述业务标识之间的关联关系。
47.具体地,以上述物流包裹业务为例,预设包裹业务的事件总计8个(打包、分拣、发货、到达a地、到达b地、分拣、到达配送站、送达目的),根据每个事件的内容,预设每个业务事件需要的数据量大小;根据业务中剩余的业务事件,以及每个剩余的业务事件的预设的数据量,可以确定分配的存储空间。业务系统为业务分配存储空间用于存储和管理业务数据,响应于分配的存储空间,通过建立相应的索引文件,标记业务事件的存储空间名称和所在存储空间的具体位置信息,并建立存储空间与业务标识之间的关联关系,以便于根据业务标识通过索引文件获取业务对应的业务事件的存储空间大小。
48.步骤s103、判断所述存储空间是否满足所述业务事件的数据量,并在不满足的情况下为所述业务分配辅助存储空间,并建立所述辅助存储空间与所述业务标识之间的关联关系。
49.根据本发明的一个实施例,所述业务对应有预设个数的业务事件,且每个业务事件具有预设大小;在为所述业务分配辅助存储空间时,根据所述业务的剩余的业务事件,以及每个剩余的业务事件的预设的大小,确定分配的辅助存储空间的大小。
50.根据本发明的另一个实施例,建立所述辅助存储空间与所述业务标识之间的关联关系,包括:通过建立索引文件的方式,建立所述辅助存储空间与所述业务标识之间的关联关系。
51.具体地,根据待写入的业务事件的个数,以及每个待写入业务事件的预设大小,得到业务事件的数据量,结合上述获取的业务事件的存储空间大小,判断存储空间是否满足业务事件的数据量需求,在不满足的情况下,按照业务事件的数据量为业务分配辅助存储空间,并根据分配的辅助存储空间,建立与辅助存储空间相关的索引文件,并将辅助存储空间相关的索引文件与业务标识进行关联,以便于通过业务标识可以获取辅助存储空间。
52.步骤s104、根据所述业务标识获取所述业务的待存储空间,将所述业务事件写入所述待存储空间,所述待存储空间包括所述存储空间和所述辅助存储空间。
53.根据本发明的一个实施例,根据所述业务标识获取所述业务的待存储空间,包括:对所述业务标识进行哈希映射处理以得到所述业务对应的索引值;根据所述索引值从所述索引文件中查找所述业务的待存储空间。
54.具体地,根据上述写入请求中的业务标识,对业务标识进行哈希映射以得到所述
业务对应的索引文件的索引值。示例性地,hash map是一个用于存储key-value键值对的集合,这些键值对分散存储在一个数组中,这个数组就是hash map的主干。采用hash map以上述业务标识作为key,利用哈希函数来确定业务标识对应的业务在索引文件中的索引值,如果哈希函数确定的索引值相同,采用链表索引的方式来确定索引值。
55.根据本发明的另一个实施例,所述索引文件包括:空间索引文件和业务索引文件;根据所述索引值从所述索引文件中查找所述业务的待存储空间,包括:根据所述索引值,从所述业务索引文件中读取所述业务对应的空间信息,所述空间信息包括存储空间的空间信息和辅助存储空间的空间信息;根据所述空间信息,通过所述空间索引文件,确定所述业务的待存储空间。
56.具体地,本发明中的索引文件包括空间索引文件和业务索引文件,其中业务索引文件用于提供业务对应的存储空间标识和空间标识所在的空间索引文件的行数信息以及辅助存储空间标识和空间标识所在的空间索引文件的行数信息;空间索引文件用于提供业务的存储空间和辅助存储空间的存储信息,存储信息包括空间标识和位置信息。
57.根据上述由哈希映射处理得到的业务索引文件的索引值,从所述业务索引文件中读取所述业务对应的存储空间标识和空间标识所在的空间索引文件的行数信息以及辅助存储空间标识和空间标识所在的空间索引文件的行数信息;根据上述的空间标识和空间标识所在的空间索引文件的行数信息,通过空间索引文件,得到所述业务的待存储空间,待存储空间包括存储空间和所述辅助存储空间,将待写入的业务事件写入待存储空间,完成了业务数据的写入操作。
58.示例性地,文件空间a和b的空间索引文件如下表1和2所示,业务索引文件如下表3和表4所示,其中,表3是业务索引文件主表,用于记录业务事件所在的存储空间以及在存储空间的存储位置;表4是业务索引文件辅助表,用于记录业务事件所在的辅助存储空间以及在辅助存储空间的存储位置。下面分别举例说明基于分配的辅助存储空间建立索引文件和根据业务标识对应的索引值获取待存储空间的具体方法。
59.表1
[0060][0061]
表2
[0062][0063]
表3
[0064]
索引空间:行辅助空间行
包裹a索引值空间a:1100
………………
包裹b索引值空间b:3 [0065]
表4
[0066] 空间:行下一个空间行第100行(包裹a)空间b:20
ꢀ………………
[0067]
例如在进行业务事件的数据存储时,设定业务事件的数据量为1200个字节,根据业务标识“包裹a”通过表3可以获得业务对应的存储空间的空间信息为空间a的第1行,根据表1空间a的索引文件可知,其第1行的起始位置为1001、结束位置为9000和下一个写位置为7824,则剩余可用空间为1176个字节,不满足业务事件的数据量,需为其分配辅助存储空间(例如,表2中的存储空间b),将分配的辅助存储空间的位置信息(起始位置、结束位置)存储于空间b的空间索引文件中(见表2),并将辅助存储空间的空间信息(辅助存储空间b以及在辅助存储空间的存储位置20行)写入上述表4中(例如,表4的第100行),并将写入表4中的行数信息(第100行)写入表3的辅助空间行。对于表3中的包裹b的空间信息,辅助空间行值为空,代表了业务包裹b不需要分配辅助存储空间,存储空间中的可用空间满足使用需要。另外,对于上述业务索引文件辅助表可采用指针方式,表中的下一个空间行作为指针,可以继续索引下一个辅助存储空间,实现了可以不限次数的分配辅助存储空间以确保在特殊场景下的业务数据的存储管理。
[0068]
根据表3和表4,在获取业务事件的写入请求时,对业务标识“包裹a”进行哈希映射处理,得到包裹a在业务索引文件主表表3的索引值,也就确定了包裹a在索引文件主表中的行数,通过行数可以确定包裹a的存储空间的空间信息为空间a的空间索引文件第1行,辅助存储空间的空间信息为业务索引文件辅助表4中的第100行所示的辅助存储空间的空间信息。进而根据表4,从中获取其第100行所记录的辅助存储空间的空间信息为空间b的空间索引文件第20行,故而可得到,包裹a的存储空间信息包括空间a的空间索引文件第1行和空间b的空间索引文件第20行。进一步地,根据包裹a的存储空间信息和表1、2所示的空间索引文件,即可确定包裹a所对应的存储空间,对空间a而言,根据此信息查询到空间a的空间索引文件的第1行,得到了包裹a的存储空间信息中的位置信息(起始位置1001、结束位置9000和下一个写位置7824),即存储空间为空间a的7824~9000之间的位置;对空间b而言,根据此信息查询到空间b的空间索引文件的第20行,得到了包裹a的存储空间信息中的位置信息(起始位置2001、结束位置7000),即辅助存储空间为空间b的2001~7000之间的位置,综上可得,业务的待存储空间为空间a的7824~9000之间的位置(存储空间)和空间b的2001~7000之间的位置(辅助存储空间),并在业务事件写入结束后,根据业务事件最后一位的写位置,补充表2中包裹a的下一个写位置栏的信息。
[0069]
通过上述索引文件,根据业务标识获得所述业务对应的存储空间,并在存储空间中的可用空间不满足存储要求的情况下,分配辅助存储空间,并将辅助存储空间作为对应的存储空间,实现了动态分配存储空间的方式,保证了事件的顺利写入。
[0070]
根据本发明的再一个实施例,业务数据管理的方法还包括:响应于业务事件读取请求,根据所述业务对应的索引值,从所述业务索引文件中读取所述业务对应的空间信息;
根据所述空间信息,通过所述空间索引文件,确定所述业务对应的存储空间和辅助存储空间,所述存储空间和所述辅助存储空间包括起始位置和结束位置;根据所述起始位置和所述结束位置,读取所述存储空间和所述辅助存储空间内保存的业务事件数据,并按照业务事件之间的分隔符,对所述业务事件数据进行切分以得到所述业务对应的每个业务事件。
[0071]
具体地,响应于业务事件的读取请求,根据业务标识得到业务对应的索引值,从所述业务索引文件中读取所述业务对应的存储空间的空间信息和辅助存储空间的空间信息;根据读取的空间信息确定与空间信息对应的空间索引文件和空间索引文件的行数信息,进而读取存储空间和辅助存储空间的业务数据存放的起始位置和结束位置;根据读取到的起始位置和结束位置,从磁盘空间中一次读取业务所有事件的数据,由于每个业务事件之间有分隔符,通过分隔符对业务数据进行切分,就得到了所述业务对应的每个业务事件的数据。
[0072]
由于本发明中业务事件是有计划顺序执行的,所以读取业务时,只要确定了业务对应的存储空间,根据起始位置和结束位置即可实现一次读取,再进行顺序切分,有效提高了执行效率。
[0073]
根据本发明的又一个实施例,在将所述业务事件写入所述待存储空间之后,还包括:判断所述业务事件是否是所述业务的结束事件;若是,则结束流程,否则,判断所述业务的待存储空间是否已满;若是,则再次为所述业务分配辅助存储空间,否则,流程结束。
[0074]
具体地,在业务事件写入待存储空间之后,在存在后续业务事件的情况下,判断待存储空间是否还有剩余空间,如果没有剩余空间,也就是不满足后续业务事件的存储需要,则再次根据后续业务事件,以及每个后续业务事件的预设的数据量大小,确定分配的辅助存储空间的大小,以便后续业务事件的存储。
[0075]
图2是本发明实施例的业务数据写入流程示意图,在获取业务事件的写入请求后,根据业务标识,通过索引文件来判断该业务事件是否有存储空间,并且存储空间的可用空间大小是否满足业务事件的数据量;当业务对应的存储空间满足时,将业务事件写入存储空间,当不满足时,分配辅助存储空间,并将分配的辅助存储空间信息写入索引文件中,建立辅助存储空间与所述业务标识之间的关联关系;根据业务标识获取业务的待存储空间,将业务事件写入待存储空间,并在写入后,判断业务事件是否是结束事件,待存储空间是否有剩余空间,如果写入的业务事件是结束事件,流程结束,如果有后续业务事件,待存储空间有剩余空间,流程结束,如果有后续业务事件,但待存储空间已满,需要再分配一个辅助存储空间用于后续事件的存储管理,并将辅助存储空间信息写入索引文件中。
[0076]
根据本发明的另一个实施例,业务数据管理的方法还包括:在所述业务对应的所有业务事件的生命周期结束后,将所述业务对应的业务事件转移到新的存储空间中;删除存在空白空间的原始存储空间内的业务事件数据。
[0077]
具体地,在给业务事件分配存储空间的时候,考虑到尽量避免多次分配存储空间的情况,在分配存储空间的时候一般基于业务事件的数据量增加一定的余量,虽然这样设计可以避免了多次分配空间的问题,但是在业务事件存储结束后,所在的存储文件中会有一些空白空间,为此,在所述业务对应的所有业务事件的生命周期结束后,将所述业务对应的业务事件顺序连续的转移到新的存储空间中;删除原来有空白空间的业务事件数据,再同步更新修改相应的索引文件,以提高存储空间的利用率,节约资源。
[0078]
另外地,业务数据管理的方法还包括:根据日期,定时整体删除陈旧过期的业务数据和相应的索引,保证存储空间的存取效率。
[0079]
通过本发明的业务数据管理的方法,对于数据结构简单、应用简单的场景,采用动态分配存储空间的方法,结合索引文件,实现了业务数据的管理,不仅不需要专业的数据库系统的管理,节约了存储成本,而且业务事件顺序连续的存储在存储空间,读写过程简单高效,提高了业务数据的管理效率。
[0080]
图3是根据本发明实施例的业务数据管理装置的主要模块示意图。如图3所示,业务数据管理装置300主要包括写入请求获取模块301、存储空间获取模块302、存储空间判断模块303和业务事件写入模块304。
[0081]
写入请求获取模块301,用于获取业务事件写入请求,所述业务对应多个业务事件,所述请求包括业务标识;
[0082]
存储空间获取模块302,用于根据所述业务标识获得所述业务对应的存储空间;
[0083]
存储空间判断模块303,用于判断所述存储空间是否满足所述业务事件的数据量,并在不满足的情况下为所述业务分配辅助存储空间,并建立所述辅助存储空间与所述业务标识之间的关联关系;
[0084]
业务事件写入模块304,用于根据所述业务标识获取所述业务的待存储空间,将所述业务事件写入所述存储空间,所述待存储空间包括所述存储空间和所述辅助存储空间。
[0085]
根据本发明的一个实施例,存储空间判断模块303还可以用于:通过建立索引文件的方式,建立所述辅助存储空间与所述业务标识之间的关联关系;所述业务数据管理装置300还包括索引建立模块(图中未示出),用于:在根据所述业务标识获得所述业务对应的存储空间之前,响应于为所述业务分配存储空间,通过建立索引文件的方式,建立所述存储空间与所述业务标识之间的关联关系。
[0086]
根据本发明的另一个实施例,业务事件写入模块304还可以用于:对所述业务标识进行哈希映射处理以得到所述业务对应的索引值;根据所述索引值从所述索引文件中查找所述业务的待存储空间。
[0087]
根据本发明的再一个实施例,所述索引文件包括:空间索引文件和业务索引文件;业务事件写入模块304还可以用于:根据所述索引值,从所述业务索引文件中读取所述业务对应的空间信息,所述空间信息包括存储空间的空间信息和辅助存储空间的空间信息;根据所述空间信息,通过所述空间索引文件,确定所述业务的待存储空间。
[0088]
根据本发明的又一个实施例,所述业务数据管理装置300还包括业务事件读取模块(图中未示出),用于:响应于业务事件读取请求,根据所述业务对应的索引值,从所述业务索引文件中读取所述业务对应的空间信息;根据所述空间信息,通过所述空间索引文件,确定所述业务对应的存储空间和辅助存储空间,所述存储空间和所述辅助存储空间包括起始位置和结束位置;根据所述起始位置和所述结束位置,读取所述存储空间和所述辅助存储空间内保存的业务事件数据,并按照业务事件之间的分隔符,对所述业务事件数据进行切分以得到所述业务对应的每个业务事件。
[0089]
根据本发明的另一个实施例,所述业务数据管理装置300还包括第二判断模块(图中未示出),用于:在将所述业务事件写入所述待存储空间之后,判断所述业务事件是否是所述业务的结束事件;若是,则结束流程,否则,判断所述业务的待存储空间是否已满;若
是,则再次为所述业务分配辅助存储空间,否则,流程结束。
[0090]
根据本发明的又一个实施例,所述业务对应有预设个数的业务事件,且每个业务事件具有预设大小;所述业务数据管理装置300还包括分配模块(图中未示出),用于:在为所述业务分配存储空间或辅助存储空间时,根据所述业务的剩余的业务事件,以及每个剩余的业务事件的预设的大小,确定分配的存储空间或辅助存储空间的大小。
[0091]
根据本发明的再一个实施例,所述业务数据管理装置300还包括业务事件管理模块(图中未示出),用于:在所述业务对应的所有业务事件的生命周期结束后,将所述业务对应的业务事件转移到新的存储空间中;删除存在空白空间的原始存储空间内的业务事件数据。
[0092]
图4是本发明实施例可以应用于其中的示例性系统架构图。
[0093]
如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0094]
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如业务数据管理应用等(仅为示例)。
[0095]
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
[0096]
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所进行的业务数据管理提供支持的后台管理服务器(仅为示例)。后台管理服务器可以获取业务事件写入请求,所述业务对应多个业务事件,所述请求包括业务标识;根据所述业务标识获得所述业务对应的存储空间;判断所述存储空间是否满足所述业务事件的数据量,并在不满足的情况下为所述业务分配辅助存储空间,并建立所述辅助存储空间与所述业务标识之间的关联关系;根据所述业务标识获取所述业务的待存储空间,将所述业务事件写入所述待存储空间,所述待存储空间包括所述存储空间和所述辅助存储空间等处理,并将处理结果(例如业务数据等
‑‑
仅为示例)反馈给终端设备。
[0097]
需要说明的是,本发明实施例所提供的业务数据管理的方法一般由服务器405执行,相应地,业务数据管理装置一般设置于服务器405中。
[0098]
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0099]
下面参考图5,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统500的结构示意图。图5示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0100]
如图5所示,计算机系统500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram 503中,还存储有系统500操作所需的各种程序和数据。cpu 501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0101]
以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射
线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
[0102]
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(cpu)501执行时,执行本发明的系统中限定的上述功能。
[0103]
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是所述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者所述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或所述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者所述的任意合适的组合。
[0104]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0105]
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括:写入请求获取模块、存储空间获取模块、存储空间判断模块和业务事件写入模块。
[0106]
其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,写入请
求获取模块还可以被描述为“用于获取业务事件写入请求,所述业务对应多个业务事件,所述请求包括业务标识的模块”。
[0107]
另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是所述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。所述计算机可读介质承载有一个或者多个程序,当所述一个或者多个程序被一个该设备执行时,使得该设备包括:获取业务事件写入请求,所述业务对应多个业务事件,所述请求包括业务标识;根据所述业务标识获得所述业务对应的存储空间;判断所述存储空间是否满足所述业务事件的数据量,并在不满足的情况下为所述业务分配辅助存储空间,并建立所述辅助存储空间与所述业务标识之间的关联关系;根据所述业务标识获取所述业务的待存储空间,将所述业务事件写入所述待存储空间,所述待存储空间包括所述存储空间和所述辅助存储空间。
[0108]
根据本发明实施例的技术方案,具有如下优点或有益效果:通过获取业务事件写入请求,业务对应多个业务事件,请求包括业务标识;根据业务标识获得业务对应的存储空间;判断存储空间是否满足业务事件的数据量,并在不满足的情况下为业务分配辅助存储空间,并建立辅助存储空间与业务标识之间的关联关系;根据业务标识获取业务的待存储空间,将业务事件写入待存储空间,待存储空间包括存储空间和辅助存储空间的技术方案,实现了基于业务标识获取的存储空间,在存储空间不满足业务事件数据量的情况下,分配辅助存储空间,并建立辅助存储空间和业务标识之间的关系,将业务事件写入由业务标识确定的存储空间和辅助存储空间,通过这种动态分配存储空间和辅助存储空间的方法,保证了业务事件的顺利写入,不仅不需要专用数据库的管理,节约了存储成本,而且写入过程简单高效,提高了业务数据的管理效率。
[0109]
所述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
技术特征:
1.一种业务数据管理的方法,其特征在于,包括:获取业务事件写入请求,所述业务对应多个业务事件,所述请求包括业务标识;根据所述业务标识获得所述业务对应的存储空间;判断所述存储空间是否满足所述业务事件的数据量,并在不满足的情况下为所述业务分配辅助存储空间,并建立所述辅助存储空间与所述业务标识之间的关联关系;根据所述业务标识获取所述业务的待存储空间,将所述业务事件写入所述待存储空间,所述待存储空间包括所述存储空间和所述辅助存储空间。2.根据权利要求1所述的方法,其特征在于,建立所述辅助存储空间与所述业务标识之间的关联关系,包括:通过建立索引文件的方式,建立所述辅助存储空间与所述业务标识之间的关联关系;根据所述业务标识获得所述业务对应的存储空间之前,还包括:响应于为所述业务分配存储空间,通过建立索引文件的方式,建立所述存储空间与所述业务标识之间的关联关系。3.根据权利要求2所述的方法,其特征在于,根据所述业务标识获取所述业务的待存储空间,包括:对所述业务标识进行哈希映射处理以得到所述业务对应的索引值;根据所述索引值从所述索引文件中查找所述业务的待存储空间。4.根据权利要求3所述的方法,其特征在于,所述索引文件包括:空间索引文件和业务索引文件;根据所述索引值从所述索引文件中查找所述业务的待存储空间,包括:根据所述索引值,从所述业务索引文件中读取所述业务对应的空间信息,所述空间信息包括存储空间的空间信息和辅助存储空间的空间信息;根据所述空间信息,通过所述空间索引文件,确定所述业务的待存储空间。5.根据权利要求4的方法,其特征在于,还包括:响应于业务事件读取请求,根据所述业务对应的索引值,从所述业务索引文件中读取所述业务对应的空间信息;根据所述空间信息,通过所述空间索引文件,确定所述业务对应的存储空间和辅助存储空间,所述存储空间和所述辅助存储空间包括起始位置和结束位置;根据所述起始位置和所述结束位置,读取所述存储空间和所述辅助存储空间内保存的业务事件数据,并按照业务事件之间的分隔符,对所述业务事件数据进行切分以得到所述业务对应的每个业务事件。6.根据权利要求1所述的方法,其特征在于,在将所述业务事件写入所述待存储空间之后,还包括:判断所述业务事件是否是所述业务的结束事件;若是,则结束流程,否则,判断所述业务的待存储空间是否已满;若是,则再次为所述业务分配辅助存储空间,否则,流程结束。7.根据权利要求1所述的方法,其特征在于,所述业务对应有预设个数的业务事件,且每个业务事件具有预设大小;在为所述业务分配存储空间或辅助存储空间时,根据所述业务的剩余的业务事件,以
及每个剩余的业务事件的预设的大小,确定分配的存储空间或辅助存储空间的大小。8.根据权利要求1所述的方法,其特征在于,还包括:在所述业务对应的所有业务事件的生命周期结束后,将所述业务对应的业务事件转移到新的存储空间中;删除存在空白空间的原始存储空间内的业务事件数据。9.一种业务数据管理装置,其特征在于,包括:写入请求获取模块,用于获取业务事件写入请求,所述业务对应多个业务事件,所述请求包括业务标识;存储空间获取模块,用于根据所述业务标识获得所述业务对应的存储空间;存储空间判断模块,用于判断所述存储空间是否满足所述业务事件的数据量,并在不满足的情况下为所述业务分配辅助存储空间,并建立所述辅助存储空间与所述业务标识之间的关联关系;业务事件写入模块,用于根据所述业务标识获取所述业务的待存储空间,将所述业务事件写入所述待存储空间,所述待存储空间包括所述存储空间和所述辅助存储空间。10.一种移动电子设备终端,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
技术总结
本发明公开了一种业务数据管理的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取业务事件写入请求,业务对应多个业务事件,请求包括业务标识;根据业务标识获得业务对应的存储空间;判断存储空间是否满足业务事件的数据量,并在不满足的情况下为业务分配辅助存储空间,并建立辅助存储空间与业务标识之间的关联关系;根据业务标识获取业务的待存储空间,将业务事件写入待存储空间,待存储空间包括存储空间和辅助存储空间。该实施方式通过动态分配存储空间和辅助存储空间的方法,保证了业务事件的顺利写入,不仅不需要专用数据库的管理,节约了存储成本,而且写入过程简单高效,提高了业务数据的管理效率。提高了业务数据的管理效率。提高了业务数据的管理效率。
技术研发人员:李建奇
受保护的技术使用者:北京京东振世信息技术有限公司
技术研发日:2022.03.23
技术公布日:2023/10/6
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
