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

一种多个云产品有序计费的方法

2022-07-16 13:00:41 来源:中国专利 TAG:


1.本发明属于云技术领域,具体地说,是一种多个云产品有序计费的方法。


背景技术:

2.近年来,云计算的市场需求越来越多样,因此,云计算服务商提供了从网络、存储、服务器到运行系统、软件各个层次的产品和相应的计费模式。
3.现有云计算产品大多是固定时间节点并行计费的,例如每个整点或每天零点对所有产品开启多个线程计费并生成账单。这种方式虽然降低了开发难度,但是若在这些时间节点产生的账单中出现错账,是难以根据账单中余额和账单顺序定位错账的。同时,云计算产品逐步向客户定制化发展的趋势,促使产品及其计费模式细分化,产品与产品之间出现较复杂的服务关系,例如在多台弹性服务器(ecs)组成的计算集群边缘上部署的nat网关,网关需要为弹性服务器服务。现有计费方法,在部分产品欠费时,不能优先保证重要业务所涉产品的运行,无法使用户获得更好的服务。


技术实现要素:

4.针对现有技术的不足,本发明披露了一种多个云产品有序计费的方法,通过建立产品关系图,可以使基础云计算产品的计费优先执行,欠费时优先运行。
5.本发明采用的具体技术方案如下:一种多个云产品有序计费的方法,包括以下步骤:步骤一、确定用户所购产品之间的关系,步骤二、根据所购产品之间的关系建立产品关系图,步骤三、根据用户改变产品状态的行为生成计费事件消息,步骤四、在固定时间节点将用量采样数据包装成计费事件消息,步骤五、将计费事件消息与产品关系图绑定,步骤六、对产品关系图进行循环计费,步骤七、存储账单。
6.本发明的进一步改进,所述步骤一中,确定用户所购产品之间的关系是指确定用户所购产品所组成的服务集群的架构图或部署情况,将其中每类产品的每个实例作为一个产品,所有产品组成一个产品集合,将产品集合与自身作笛卡尔积,排除掉两个产品为同一个的元组,判断剩余每组两个产品之间是否存在以下二元关系:一个产品a启动,另一个产品b未启动,此时不满足服务集群最低运行指标或不满足客户某些要求,区分二元关系的对称性。
7.进一步地,所述区分二元关系的对称性是指,若元组两个产品之间二元关系具有对称性,则定义两个产品之间是合作关系,记为a&b;若元组两个产品之间二元关系具有反对称性,则定义两个产品之间是优先关系,记为《a,b》,表示b优先于a启动。
8.本发明的进一步改进,所述步骤二中,根据所购产品之间的关系建立产品关系图
是指,从所有元组的关系中,对合作关系中具有相同的产品,如a&b和b&c,将关系中所有产品a、b、c聚合到一个有向图的顶点中,对优先关系,如《a,b》,则建立由包含产品a的顶点指向包含产品b的顶点的一条有向弧,最后将还未纳入图中的每个产品作为一个有向图的顶点,便形成了产品关系图。
9.本发明的进一步改进,所述步骤三中,所述根据用户改变产品状态的行为生成计费事件消息是指,当用户做出购买产品、使用产品和结束使用产品等行为时,从产品关系图中找到包含目标产品的顶点,从该顶点出发,找到所有能到达的顶点,将找到的顶点中所有产品的信息分别包装成计费事件消息。
10.进一步地,所述将找到的顶点中所有产品的信息分别包装成计费事件消息是指,获取用户id,获取产品id,获取自产品上一个计费事件或时间节点以来的用量,获取产品单价,获取计费事件类型,获取用户改变产品状态的时间与上一个计费事件或时间节点时间作为计费开始时间、计费结束时间,将以上信息组成该用户的一个产品的计费事件消息。
11.本发明的进一步改进,所述步骤四中,所述在固定时间节点将用量采样数据包装成计费事件消息是指,在固定时间节点对用户所有已购产品,采样自上一个计费事件或时间节点以来的用量,将每个产品的用量分别包装成计费事件消息。
12.进一步地,所述将每个产品的用量分别包装成计费事件消息是指,获取用户id,获取产品id,获取产品用量,获取产品单价,获取计费事件类型,获取采样时间与上一个计费事件或时间节点时间作为计费开始时间、计费结束时间,将以上信息组成该用户的一个产品的计费事件消息。
13.本发明的进一步改进,所述步骤五中,所述将计费事件消息与产品关系图绑定是指,计费系统在获取计费事件消息后,根据用户id找到用户的产品关系图,将产品id相同的计费事件消息和产品关系图中顶点建立二元组,同时按时间序排列每个顶点的二元组。
14.本发明的进一步改进,所述步骤六中,所述对产品关系图进行循环计费是指,计费系统并行地循环地读取每个用户的产品关系图中的每个顶点,对每个顶点,从当前时刻出发向前读取所有二元组中未标记为“完成计费”的计费事件消息,称为集合p,再读取该顶点所有前驱顶点二元组中未标记为“完成计费”的计费事件消息,称为集合q,若p中一个计费事件消息x包含从计费开始时间到计费结束时间的一个时间段,但q中所有计费事件消息不包含该时间段,则对计费事件消息x执行计费并标记为“完成计费”,否则暂时略过计费事件消息x。
15.进一步地,所述对计费事件消息x执行计费是指,根据计费事件类型确定计费事件消息x适用哪一条计费规则,根据计费规则和计费事件消息中数据计算出消费金额、消费后余额、计费开始时间、计费结束时间、计费完成时间,获取pre_exchange_id即前一个完成的账单的id,生成exchange_id即本账单id。
16.本发明的进一步改进,所述步骤七中,所述存储账单是指,将pre_exchange_id、exchange_id、用户id、产品id、计费事件类型、计费开始时间、计费结束时间、计费完成时间、余额、消费后余额、消费金额等组成账单,存储至数据库中,前后账单通过pre_exchange_id、exchange_id体现时间序。
17.本发明的有益效果:本发明不但通过建立产品关系图,可以使基础云计算产品的计费优先执行,欠费时优先运行;而且还能通过在账单中增加前后账单关联,建立账单计费
顺序,使对账精确定位到错账位置,帮助分析错账原因。
附图说明
18.图1是本发明的流程示意图。
19.图2是本发明中的一种云计算集群架构示意图。
20.图3是本发明中的一种用户产品关系图。
21.图4是本发明中的一种产品关系图与计费事件消息绑定示意图。
22.图5是本发明中的一种计费系统结构示意图。
具体实施方式
23.为了加深对本发明的理解,下面将结合附图和实施例对本发明做进一步详细描述,该实施例仅用于解释本发明,并不对本发明的保护范围构成限定。
24.实施例:如图1所示,一种多个云产品有序计费的方法,包括以下步骤:步骤一、确定用户所购产品之间的关系,步骤二、根据所购产品之间的关系建立产品关系图,步骤三、根据用户改变产品状态的行为生成计费事件消息,步骤四、在固定时间节点将用量采样数据包装成计费事件消息,步骤五、将计费事件消息与产品关系图绑定,步骤六、对产品关系图进行循环计费,步骤七、存储账单。
25.如图2所示,用户自助或与云计算服务商业务员沟通可确定采用云计算集群架构,其中包括六个云产品实例:vpc网关(201)、弹性服务器a(202)、弹性服务器b(203)、弹性服务器c(204)、弹性文件服务(205)、对象存储(206)。202、203、205、206启动即可完成用户交付的主要任务,vpc网关(201)负责从公有云隔离201、202、203、204、205所组成的计算集群,弹性服务器c(204)用于用户非主要任务。所有产品组成一个集合{201,202,203,204,205,206},与自身做笛卡尔积并排除掉两个产品为同一个的元组得到:{(201,202),(201,203),(201,204),(201,205),(201,206),(202,203),(202,204),(202,205),(202,206),(203,204),(203,205),(203,206),(204,205),(204,206),(205,206)}。判断剩余每组两个产品之间是否存在以下二元关系:一个产品启动,另一个产品未启动,此时不满足服务集群最低运行指标或不满足客户某些要求,例如:当201启动,而202未启动,其他产品默认正常运行,此时不能满足用户交付的主要任务;当202启动,而201未启动,此时满足用户交付的主要任务,因此202优先于201启动,具有优先关系《201,202》。最终所有元组中包含有关系:《201,202》,《201,203》,《201,205》,《201,206》,202&203, 202&205,202&206, 203&205,203&206,205&206。
26.步骤一中得到所有元组中包含有关系:《201,202》,《201,203》,《201,205》,《201,206》,202&203, 202&205,202&206, 203&205,203&206,205&206。 首先,对合作关系中具有相同的产品,将关系中所有产品聚合到一个有向图的顶点中,例如202&203,202&205,202&206,203&205,203&206,205&206,组成图3中301,包括产品202、203、205、206。然后,对优先关系建立有向弧,例如《201,202》,则建立由图3中302指向图3中301的有向弧。最后,将还未
纳入图中的每个产品作为一个有向图的顶点,例如还有产品204未纳入图中,因此作为图3中303。
27.步骤三中根据用户改变产品状态的行为生成计费事件消息。
28.在本实施例中,当用户结束使用产品vpc网关201时,从图3用户产品关系图中找到顶点302,找到从302到达的顶点301。然后对vpc网关201、弹性服务器a202、弹性服务器b203、弹性文件服务205、对象存储206,获取用户id,获取每个产品id,从计量系统获取自产品上一个计费事件或时间节点以来的用量,获取产品单价,获取计费事件类型,一般以编码的方式,如可以以整型数字“3”表示用户结束使用,获取用户结束使用的时间与上一个计费事件或时间节点时间作为计费开始时间、计费结束时间,将以上信息组成该用户的一个产品的计费事件消息。
29.步骤四在固定时间节点将用量采样数据包装成计费事件消息。
30.当时间到达13:00时,从计量系统获取用户所有已购产品自上一个计费事件或时间节点以来的用量,获取用户id,获取每个产品id,获取产品用量,获取产品单价,获取计费事件类型,一般以编码的方式,如可以以整型数字“4”表示系统计费,获取采样时间与上一个计费事件或时间节点时间作为计费开始时间、计费结束时间,将以上信息组成该用户的一个产品的计费事件消息。
31.步骤五将计费事件消息与产品关系图绑定。
32.在图4所示实施例中,计费系统在获取计费事件消息后,根据用户id找到用户的产品关系图,将产品id相同的计费事件消息和产品关系图中顶点建立二元组(402),可使用计费事件id和顶点id建立二元组,如使用“jf033”代表计费事件id,使用“v401“代表顶点id。同时按时间序排列每个顶点的二元组,将402加入队列(403)并按计费事件消息内的计费开始时间、计费结束时间(404)倒序排序。
33.步骤六对产品关系图进行循环计费。
34.在图4所示实施例中,计费系统并行地循环地读取每个用户的产品关系图中的每个顶点,对顶点(401),从队列(403)读取所有二元组中未标记为“完成计费”的计费事件消息,称这些计费事件消息组成的集合为集合p,再读取401所有前驱顶点二元组中未标记为“完成计费”的计费事件消息,称为集合q,集合q为空集。p中一个计费事件消息x包含从计费开始时间到计费结束时间的一个时间段,q为空集,不包含x的时间段,则根据计费事件类型确定计费事件消息x适用哪一条计费规则,根据用户id获取当前余额,使用产品用量和产品单价计算出消费金额,使用当前余额和消费金额计算出消费后余额,获取计费开始时间、计费结束时间和计费完成时间,获取pre_exchange_id即前一个完成的账单的id,生成exchange_id即本账单id,标记x为“完成计费”。
35.步骤七存储账单。
36.将pre_exchange_id、exchange_id、用户id、产品id、计费事件类型、计费开始时间、计费结束时间、计费完成时间、余额、消费后余额、消费金额等组成账单,存储至数据库中,前后账单通过pre_exchange_id、exchange_id体现时间序。
37.如图5所示,本实施例的一种计费系统结构示意图包括:产品确定关系确定模块501用于确定用户所购产品之间的关系;产品关系图建立模块502用于根据所购产品之间的关系建立产品关系图;用户行为响应模块503用于根据用
户改变产品状态的行为生成计费事件消息;采样模块504用于在固定时间节点将用量采样数据包装成计费事件消息;计费事件消息接收模块505和绑定关系模块506用于将计费事件消息与产品关系图绑定;计费模块507用于对产品关系图进行循环计费;账单存储模块508用于存储账单以上显示和描述了本发明的基本原理,主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
再多了解一些

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

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

相关文献