本发明涉及云计算领域,尤其涉及一种针对服务器无感知计算的中间数据存储方法及系统。
背景技术:
1、随着云计算的发展,服务器无感知计算架构正在变得越来越流行。
2、目前,需多应用程序仍然需要在函数执行之间保留某些中间状态或数据,例如用户session,缓存数据等。而由于服务器无感知计算架构的原因,这些函数的通信是不可行的。现有保留这些中间状态数据的方式是使用第三方存储服务,例如aws s3,azure blobstorage等。上述中间数据存储方法存在一些不可忽略的问题:无法精确的对中间数据进行存储,更多的是等整个应用程序执行完后再全部删除,不仅浪费存储空间也同时影响服务器无感知计算的精确计费模式。
技术实现思路
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、当该中间数据的依赖计数降为0时,记录该中间数据的生命周期结束时间戳;
26、根据所述生命周期开始时间戳和所述生命周期结束时间戳,得到真实生命周期时长。
27、本发明还提出了一种针对服务器无感知计算的中间数据存储系统,所述系统包括:
28、文件获取模块,用于获取工作编排文件;
29、描述图生成模块,用于根据所述工作编排文件生成工作流描述图;
30、解析模块,用于对所述工作流描述图进行解析,得到中间数据的依赖计数和生命周期时长预测数据;
31、数据管理模块,基于所述依赖计数和所述生命周期时长预测数据对中间数据进行处理,记录真实生命周期时长。
32、基于上述方案,本发明提供了一种针对服务器无感知计算的中间数据存储方法及系统,提出了一种新型描述工作流的有向无环图,更准确的揭露了服务器无感知计算的函数之间数据流向模式;提出了一种对服务器无感知计算函数产生的中间数据生命周期感知和预测的方法,保证了中间数据能够被精细化地分配存储空间以及节约存储资源。本发明适用于充当任何服务器无感知计算平台的第三方存储系统方法,能够让服务器无感知计算在保证任务正常执行性能时使用更少的存储资源,大幅节约提供服务器无感知计算服务的厂商所需成本。
1.一种针对服务器无感知计算的中间数据存储方法,其特征在于,包括以下步骤:
2.根据权利要求1所述一种针对服务器无感知计算的中间数据存储方法,其特征在于,还包括:
3.根据权利要求2所述一种针对服务器无感知计算的中间数据存储方法,其特征在于,所述工作编排文件包括用户所需的工作任务中的工作信息、函数信息以及中间数据流向信息。
4.根据权利要求2所述一种针对服务器无感知计算的中间数据存储方法,其特征在于,所述工作流描述图的结构具体为:
5.根据权利要求4所述一种针对服务器无感知计算的中间数据存储方法,其特征在于,所述对所述工作流描述图进行解析,得到中间数据的依赖计数和生命周期时长预测数据这一步骤,其具体包括:
6.根据权利要求5所述一种针对服务器无感知计算的中间数据存储方法,其特征在于,所述中间数据特征信息包括该中间数据的函数节点在工作流的阶段、该中间数据被读取的次数和读取该中间数据的函数节点所依赖的中间数据数量。
7.根据权利要求5所述一种针对服务器无感知计算的中间数据存储方法,其特征在于,所述基于所述依赖计数和所述生命周期时长预测数据对中间数据进行处理,其具体包括:
8.根据权利要求1所述一种针对服务器无感知计算的中间数据存储方法,其特征在于,所述记录真实生命周期时长,其具体包括:
9.一种针对服务器无感知计算的中间数据存储系统,其特征在于,包括: