拟态构造云服务系统持久化操作方法、装置、设备和系统
技术领域
本发明涉及云服务领域,特别涉及一种拟态构造云服务系统持久化操作方法、装置、设备和系统。
背景技术
随着越来越多的云服务上线,我们的生活已经与云计算息息相关。然而,公有云同时带来了许多问题,公有云所依托的虚拟化技术带来了隐私性、隔离性、安全性等方面的隐患,攻击者可以通过虚拟化的漏洞攻击平台,窃取云上资料,破坏云上应用,给云上用户带来隐私泄露、服务中断等损失。
云环境的单一性、同质性放大了这一威胁,公有云提供商出于节约成本、方便管理的目的,往往采用单一性架构。如此一来,一旦攻击者掌握某一种攻击方式,云上用户的安全都会受到威胁,云平台的同质化成为了攻击的放大器。现有的云计算平台防御手段相当有限,防火墙等依赖先验攻击的防御方式无法有效抵御未知攻击,基于异常的防御方式需要经过长时间总结,才可以建立云平台正常工作时的参数模型,如此虽然能够预测未知的攻击风险,然而依然具有较高的误报率,容易影响系统效率。
为解决云环境中的安全问题,一种基于拟态防御的安全云服务构建方法被提出了,该安全云服务为用户应用提供冗余构造,通过冗余系统中各部分反馈的一致性来判断是否有攻击发生,该技术不需要预先经验的支持,而且能对已知和未知的威胁做出有效保护。
但是,应用拟态防御的安全云服务时需要多个云服务执行体共同进行工作,如此一来,如果涉及到持久化数据的写入问题,便会形成多次写入问题,造成数据库与业务逻辑不符,出现错误或不必要的冗余。
发明内容
有鉴于此,本发明提供一种拟态构造云服务系统持久化操作方法、装置、设备和系统,可以实现在进行持久化操作时出现脏写入操作时,避免不必要的冗余与错误,避免数据库与真实的业务逻辑不符,提高数据库中数据的正确性。
为了实现上述发明目的,本发明提供以下技术方案:
第一方面,本发明提供了一种拟态构造云服务系统持久化操作方法,包括:
获得多个会话控制对象消息,其中,每个所述会话控制对象消息为云服务执行体池中一个云服务执行体根据数据库操作请求生成的会话控制对象消息;
对所述多个会话控制对象消息进行分组,获得多个消息组,其中,同一个消息组中的各会话控制对象消息由不同的云服务执行体生成且对所述数据库的操作相同;
分别将各所述消息组中的一个会话控制对象消息发送到执行消息队列中,以使所述数据库根据所述执行消息队列中的会话控制对象消息进行数据库操作。
结合第一方面,在某些可选的实施方式中,所述对所述多个会话控制对象消息进行分组,获得多个消息组,其中,同一个消息组中的各会话控制对象消息由不同的云服务执行体生成且对所述数据库的操作相同,包括:
获得所述多个会话控制对象消息中的预设时间段内产生的会话控制对象消息中携带的数据库操作指令;
将数据库操作指令相同并在所述预设时间段内产生的所述会话控制对象消息划分为一个所述消息组,其中,一个所述消息组中的各所述会话控制对象消息由不同的所述云服务执行体生成。
结合第一方面,在某些可选的实施方式中,所述分别将各所述消息组中的一个会话控制对象消息发送到执行消息队列中,以使所述数据库根据所述执行消息队列中的会话控制对象消息进行数据库操作,包括:
分别随机标记各所述消息组中的一个所述会话控制对象消息;
将各所述消息组中未被标记的所述会话控制对象消息删除;
将各所述消息组中被标记的所述会话控制对象消息按顺序发送到所述执行消息队列,以使所述数据库根据所述执行消息队列中的会话控制对象消息进行数据库操作,其中,所述顺序为获得各所述被标记的所述会话控制消息对象的时间顺序。
结合上一个实施方式,在某些可选的实施方式中,所述将各所述消息组中被标记的所述会话控制对象消息按顺序发送到所述执行消息队列,以使所述数据库根据所述执行消息队列中的会话控制对象消息进行数据库操作,包括:
将各所述消息组中被标记的所述会话控制对象消息按顺序发送到所述执行消息队列,以使所述执行消息队列按照各所述被标记的所述会话控制消息队列到达所述执行消息队列的先后顺序,将各所述被标记的会话控制对象消息发送到所述数据库,进而使得所述数据库根据接收的所述会话控制对象消息进行数据库操作。
结合第一方面,在某些可选的实施方式中,所述方法,还包括:
所述云服务执行体获得数据库操作请求;
所述云服务执行体与所述数据库操作请求对应的数据库建立通信连接;
所述云服务执行体根据所述数据库操作请求建立会话控制对象;
所述云服务执行体获得与所述数据库操作请求对应的数据库操作指令;
所述云服务执行体将所述数据库操作指令写入到所述会话控制对象中,从而生成会话控制对象消息。
第二方面,本发明提供了一种拟态构造云服务系统持久化操作装置,包括:消息获得单元、消息分组单元和消息发送单元;
所述消息获得单元,用于获得多个会话控制对象消息,其中,每个所述会话控制对象消息为云服务执行体池中一个云服务执行体根据数据库操作请求生成的会话控制对象消息;
所述消息分组单元,用于对所述多个会话控制对象消息进行分组,获得多个消息组,其中,同一个消息组中的各会话控制对象消息由不同的云服务执行体生成且对所述数据库的操作相同;
所述消息发送单元,用于分别将各所述消息组中的一个会话控制对象消息发送到执行消息队列中,以使所述数据库根据所述执行消息队列中的会话控制对象消息进行数据库操作。
结合第二方面,在某些可选的实施方式中,所述消息发送单元包括:消息标记子单元、消息删除子单元和消息发送子单元;
所述消息标记子单元,用于分别随机标记各所述消息组中的一个所述会话控制对象消息;
所述消息删除子单元,用于将各所述消息组中未被标记的所述会话控制对象消息删除;
所述消息发送子单元,用于将各所述消息组中被标记的所述会话控制对象消息按顺序发送到所述执行消息队列,以使所述数据库根据所述执行消息队列中的会话控制对象消息进行数据库操作,其中,所述顺序为获得各所述被标记的所述会话控制消息对象的时间顺序。
第三方面,本发明提供了一种存储介质,所述存储介质用于存储程序,所述程序被处理器执行时实现上述拟态构造云服务系统持久化操作方法。
第四方面,本发明提供了一种拟态构造云服务系统持久化操作设备,其特征在于,所述设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序,所述程序至少用于实现上述拟态构造云服务系统持久化操作方法。
第五方面,本发明提供了一种拟态构造云服务系统持久化操作系统,所述系统包括:云服务执行体池、消息处理单元和执行消息队列,其中,所述云服务执行体池中包括云服务执行体;
所述云服务执行体池中的云服务执行体根据数据库操作请求生成会话控制对象消息;
所述消息处理单元获得多个会话控制对象消息,其中,每个所述会话控制对象消息为一个云服务执行体生成的;
所述消息处理单元对所述多个会话控制对象消息进行分组,获得多个消息组,其中,同一个消息组中的各会话控制对象消息由不同的云服务执行体生成且对所述数据库的操作相同;
所述消息处理单元分别将各所述消息组中的一个会话控制对象消息发送到所述执行消息队列中,以使所述数据库根据所述执行消息队列中的会话控制对象消息进行数据库操作。
本发明提供的一种拟态构造云服务系统持久化操作方法、装置、设备和系统,通过获得多个会话控制对象消息,其中,每个所述会话控制对象消息为云服务执行体池中一个云服务执行体根据数据库操作请求生成的会话控制对象消息;对所述多个会话控制对象消息进行分组,获得多个消息组,其中,同一个消息组中的各会话控制对象消息由不同的云服务执行体生成且对所述数据库的操作相同;分别将各所述消息组中的一个会话控制对象消息发送到执行消息队列中,以使所述数据库根据所述执行消息队列中的会话控制对象消息进行数据库操作。由此可以看出,通过对会话控制对象消息进行分组,将不同云服务执行体生成且对所述数据库的操作相同的会话控制对象消息划分为一组,然后只将每组中的一个会话控制对象消息发送到执行消息队列中,数据库再根据执行消息队列中的会话控制消息进行数据库操作,从避免了对数据库中数据的重复操作,避免不必要的冗余与错误,避免数据库与真实的业务逻辑不符,提高数据库中数据的正确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1示出了本发明提供的一种拟态构造云服务系统持久化操作方法的流程图;
图2示出了本发明提供的另一种拟态构造云服务系统持久化操作方法的流程图;
图3示出了本发明提供的另一种拟态构造云服务系统持久化操作方法的流程图;
图4示出了本发明提供的另一种拟态构造云服务系统持久化操作方法的流程图;
图5示出了本发明提供的一种拟态构造云服务系统持久化操作装置的结构示意图;
图6示出了本发明提供的一种拟态构造云服务系统持久化操作设备的结构示意图;
图7示出了本发明提供的一种拟态构造云服务系统持久化操作系统的结构示意图。
具体实施方式
本发明公开了一种拟态构造云服务系统持久化操作方法、装置、设备和系统,本领域技术人员可以借鉴本文内容,适当改进工艺参数实现。特别需要指出的是,所有类似的替换和改动对本领域技术人员来说是显而易见的,它们都被视为包括在本发明。本发明的方法及应用已经通过较佳实施例进行了描述,相关人员明显能在不脱离本发明内容、精神和范围内对本文所述的方法和应用进行改动或适当变更与组合,来实现和应用本发明技术。
云计算有资源池化、按需自服务等显著特点,其提供了一种资源可度量、按使用计费的新型服务模式。经过多年发展,云计算行业已经形成了基础设施及服务、平台及服务、软件及服务等多种服务模式,以供用户根据自己的需求进行租用,避免资源的浪费,并同时提高客户的效率。一些成熟的云计算平台已逐步出现,如阿里云、百度云、Amazon EC2等公有云,它们提供的服务使得用户只需花费极少量资金租用就可以满足自身需求,并可以实现应用的快速部署。
公有云旨在为所有云上用户提供便捷的租用资源服务,将应用部署至公有云上已经成为了许多企业的首要选择。随着越来越多的云服务上线,我们的生活已经与云计算息息相关。
经本方案发明人研究发现,公有云同时带来了许多问题,公有云所依托的虚拟化技术带来了隐私性、隔离性、安全性等方面的隐患,攻击者可以通过虚拟化的漏洞攻击平台,窃取云上资料,破坏云上应用,给云上用户带来隐私泄露、服务中断等损失。
云环境的单一性、同质性放大了这一威胁,公有云提供商出于节约成本、方便进行管理的目的,往往采用单一性架构。如此一来,一旦攻击者掌握某一种攻击方式,云上用户的安全都会受到威胁。云平台的同质化成为了攻击的放大器。现有的云计算平台防御手段相当有限,防火墙等依赖先验攻击的防御方式无法有效抵御未知攻击,基于异常的防御方式需要经过长时间总结,才可以建立云平台正常工作时的参数模型,如此虽然能够预测未知的攻击风险,然而依然具有较高的误报率,容易影响系统效率。
为解决云环境中的安全问题,一种基于拟态防御的安全云服务构建方法被提出了,该安全云服务为用户应用提供冗余构造,通过冗余系统中各部分反馈的一致性来判断是否有攻击发生,该技术不需要预先经验的支持,而且能对已知和未知的威胁做出有效保护。
但是,本方案发明人研究发现,应用拟态防御的安全云服务时需要多个云服务执行体共同进行工作,如此一来,如果涉及到持久化数据的写入问题,便会形成多次写入问题,造成数据库与业务逻辑不符,出现错误或不必要的冗余。
因此,为解决现有的拟态防御的安全云服务带来的数据多次写入问题,本方案发明人提供了一种拟态构造云服务系统持久化操作方法、装置、设备和系统。通过本发明方案,可以实现在进行持久化操作时出现脏写入操作时,避免不必要的冗余与错误,避免数据库与真实的业务逻辑不符,提高数据库中数据的正确性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
其中,在本申请实施例的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
如图1所示,本发明提供了一种拟态构造云服务系统持久化操作方法,包括:
S100、获得多个会话控制对象消息,其中,每个所述会话控制对象消息为云服务执行体池中一个云服务执行体根据数据库操作请求生成的会话控制对象消息;
应理解,会话控制对象消息也称为session对象消息,session对象消息是基于session对象构建的一种消息。session对象消息可以存储云服务执行体的信息,本文所说的云服务执行体可以是用户部署的应用。session对象消息可以存储云服务执行体的标识以及云服务执行体所需要对数据库进行的数据库操作请求。数据库可以根据session对象消息中的数据库操作请求完成相应的数据操作。
应理解,云服务执行体池是云服务将资源池化的结果,即云服务执行体池是包括了多个云服务执行体资源的资源池,不同的业务逻辑可以使用云服务执行体池中的部分或全部云服务执行体资源,本发明对此不作限制。
可选的,在某个预设时间段内,可能有多个业务逻辑在执行,每个业务逻辑又需要多个云服务执行体来共同进行,而每个云服务执行体执行某个业务逻辑时,可能需要对数据库中的数据进行操作,则在该预设时间段内可能会产生多个会话控制对象消息。例如,在某个预设时间段内,有3个不同的业务逻辑需要执行,每个业务逻辑需要3个云服务执行体来共同进行,并且每个业务逻辑均需要对数据库中进行数据写入操作,则执行上述3个业务逻辑需要9个不同的云服务执行体执行,则产生9个会话控制对象消息。
可选的,在某个预设时间段内,一个云服务执行体池中的所有云服务执行体也可以执行同一个业务逻辑,并产生多个会话控制对象消息,本发明对此不作限制。
S200、对所述多个会话控制对象消息进行分组,获得多个消息组,其中,同一个消息组中的各会话控制对象消息由不同的云服务执行体生成且对所述数据库的操作相同;
应理解,一个云服务执行体池可能收到多个会话控制对象消息,因此本发明可以根据生成各会话控制对象消息的云服务执行体以及各会话控制对象消息对数据库的操作来对多个会话控制对象消息进行分组,并将由不同的云服务执行体生成且对所述数据库的操作相同的会话控制对象消息分为一组。
应理解,多个云服务执行体执行同一个业务逻辑会产生多个“重复”的会话控制对象消息。而分组的目的就是把“重复”的会话控制对象消息划分为一组。为保证准确性,需要确保“重复”的会话控制对象消息来自于不同的云服务执行体,且均为执行同一个业务逻辑产生的会话控制对象消息,即对所述数据库的操作相同。
S300、分别将各所述消息组中的一个会话控制对象消息发送到执行消息队列中,以使所述数据库根据所述执行消息队列中的会话控制对象消息进行数据库操作。
应理解,数据库根据执行消息队列中的会话控制对象消息进行数据库操作,所以需保证执行消息队列中的会话控制对象消息是无冗余,无顺序错误的。而分别将各所述消息组中的一个会话控制对象消息发送到执行消息队列中,可以保证执行消息队列中的会话控制对象消息无冗余,即无“重复”的会话控制对象消息。
可选的,为保证执行消息队列中的会话控制对象消息无顺序错误,执行本方法的设备可以根据获得执行消息队列中的各个会话控制对象消息的时间顺序,将各个会话控制对象消息发送给执行消息队列。
可选的,图1所示步骤S100至S300可以应用于本发明提供的消息处理模块。
可选的,如图2所示,在某些可选的实施方式中,所述步骤S200,可以包括:
S210、获得所述多个会话控制对象消息中的预设时间段内产生的会话控制对象消息中携带的数据库操作指令;
应理解,云服务执行体在执行某一个业务逻辑时,该业务逻辑可能需要对数据进行相应的数据库操作,云服务执行体可以将进行相应的数据库操作的数据库操作指令存储在相应的会话控制对象消息中。
可选的,本文所说的数据库操作指令可以是采用结构化查询语言(StructuredQuery Language,SQL)编写的数据库操作指令,本发明对此不作限制。
S220、将数据库操作指令相同并在所述预设时间段内产生的所述会话控制对象消息划分为一个所述消息组,其中,一个所述消息组中的各所述会话控制对象消息由不同的所述云服务执行体生成。
其中,图2中的步骤S100和S300已在图1实施方式中说明,本实施方式不再赘述。
应理解,在实际运行过程中,同一个云服务执行体在不同的时间段内可能执行不同的业务逻辑,从而产生不同的会话控制对象消息。因此,需保证数据所进行的数据库操作是某一个云服务执行体执行某一个业务逻辑需要进行的数据库操作,即保证该数据库操作对应的会话控制对象消息是某一个预设时间段内的产生的,在该预设时间段内产生的会话控制对象消息才可以作为当前分组过程中的有效的会话控制对象消息。
可选的,执行本方法的设备可以根据产生各个会话控制对象消息中携带的数据库操作指令的时间,判断各个会话控制对象消息是否是在预设时间段产生的,若是,则对其进行分组。
在实际应用中,本发明可以周期性地将一个时间段内产生的未分组的会话控制对象消息进行分组。
可选的,可以将划分为同一组的会话控制对象消息存储在相邻的一块存储区域,也可以为划分为同一组的会话控制对象消息标记相同的分组标识,拥有相同分组标识的会话控制对象消息可以认为是位于同一组消息组中的会话控制对象消息。
可选的,执行本方法的设备也可以根据生成或获得各个会话控制对象消息,判断各个会话控制对象消息是否是在在预设时间段产生的,本发明对此不作限制。
可选的,本文所说的预设时间段可以是根据系统的规划进行设定,例如,在系统规划时,可能设定各个云服务执行体执行一个业务逻辑的最大周期是100秒,那么预设时间段可以设定为100秒,本发明对预设时间段的长度不作限定,任何时间长度的预设时间端均可以作为本发明的实施方式。
可选的,如图3所示,在某些可选的实施方式中,所述步骤S300,包括:
S310、分别随机标记各所述消息组中的一个所述会话控制对象消息;
S320、将各所述消息组中未被标记的所述会话控制对象消息删除;
应理解,因同一组消息组中的各会话控制对象消息为“重复”的会话控制对象消息,所以可以在各消息组中分别随机标记一个会话控制对象消息,并将未标记的会话控制对象消息删除,以此可以达到“去重”的功能。
可选的,可以是随机标记每个消息组中的一个会话控制对象消息,也可以是按照固定的方式在每个消息组中标记一个会话控制对象消息,例如可以规定标记每个消息组中的第一个会话控制对象消息,本发明对此不作限制。
可选的,可以删除未被标记的会话控制对象消息,也可以不删除,例如可以将被标记的会话控制对象消息发送到执行消息队列,将未被标记的会话控制对象消息发送到其他数据库中存储,本发明对此不作限制。
可选的,标记的方式可以是在会话控制对象消息中增加字段作为标记,例如可以在会话控制对象消息中增加某个约定的字段,会话控制对象消息中包括该约定的字段即可认为是被标记的会话控制对象消息,本发明对此不做限制。
S330、将各所述消息组中被标记的所述会话控制对象消息按顺序发送到所述执行消息队列,以使所述数据库根据所述执行消息队列中的会话控制对象消息进行数据库操作,其中,所述顺序为获得各所述被标记的所述会话控制消息对象的时间顺序。
其中,图3中的步骤S100和S200已在图1实施方式中说明,本实施方式不再赘述。
应理解,不同的业务逻辑之间一般是有先后逻辑关系的,相应的数据操作也是有先后逻辑关系的。例如,要删除数据库中的某一个数据,一般是先查询得到该数据,再删除该数据。站在数据库的角度来看,数据库需要根据查询该数据的数据库库操作指令查询得到该数据,再根据删除该数据的数据库操作指令删除该数据,所以被标记的所述会话控制对象消息可以按照获得各所述被标记的所述会话控制消息对象的时间顺序发送到执行消息队列,从而使得在进行数据库操作时不会出现混乱,避免数据错误。
可选的,结合图3实施方式,在某些可选的实施方式中,所述步骤S330,包括:
将各所述消息组中被标记的所述会话控制对象消息按顺序发送到所述执行消息队列,以使所述执行消息队列按照各所述被标记的所述会话控制消息队列到达所述执行消息队列的先后顺序,将各所述被标记的会话控制对象消息发送到所述数据库,进而使得所述数据库根据接收的所述会话控制对象消息进行数据库操作。
应理解,由于数据库进行数据库操作的能力有限,若某个时间段内,数据库获得大量数据库操作指令,可能导致数据库操作不及时,出现错误。因此,可以将被标记的所述会话控制对象消息发送到执行消息队列进行缓存,再由执行消息队列依据各所述被标记的所述会话控制消息到达所述执行消息队列的先后顺序,将各会话控制消息队列依次发送到数据库,以使得数据库根据接收的会话控制对象消息进行数据库操作。
利用执行消息队列保存会话控制对象消息,保证会话控制对象消息不会因为高并发而导致数据库崩溃,保证数据库稳定性和安全性。
可选的,如图4所示,在某些可选的实施方式中,所述方法,还包括:
S50、所述云服务执行体获得数据库操作请求;
应理解,业务逻辑在云服务执行体中执行时,根据业务逻辑的要求,可能需要对数据库进行操作,因此云服务执行体可以获得数据库操作请求。
S60、所述云服务执行体与所述数据库操作请求对应的数据库建立通信连接;
可选的,云服务执行体在于数据库建立通信连接之前可以是与数据库保持线路连接的状态,即云服务执行体所在的设备与数据库在硬件上保持连接,但是在软件层面,云服务执行体所在的设备与数据库处于未连接状态。
S70、所述云服务执行体根据所述数据库操作请求建立会话控制对象;
应理解,会话控制对象是用于存储特定用户会话所需的属性和配置,是一种基于后端有别于数据库的临时存储数据的技术。
S80、所述云服务执行体获得与所述数据库操作请求对应的数据库操作指令;
应理解,数据库操作指令可以是用户在执行具体业务逻辑时,调用云服务执行体内的web应用后生成的,本发明对此不作限制。
S90、所述云服务执行体将所述数据库操作指令写入到所述会话控制对象中,从而生成会话控制对象消息。
其中,图4中的步骤100、步骤S200和S300已在图1实施方式中说明,本实施方式不再赘述。
可选的,云服务执行体生成会话控制对象消息后,可以将生成的会话控制对象消息发送给本发明提供的消息处理模块,本发明对此不作限制。
如图5所示,本发明提供了一种拟态构造云服务系统持久化操作装置,包括:消息获得单元100、消息分组单元200和消息发送单元300;
所述消息获得单元100,用于获得多个会话控制对象消息,其中,每个所述会话控制对象消息为云服务执行体池中一个云服务执行体根据数据库操作请求生成的会话控制对象消息;
所述消息分组单元200,用于对所述多个会话控制对象消息进行分组,获得多个消息组,其中,同一个消息组中的各会话控制对象消息由不同的云服务执行体生成且对所述数据库的操作相同;
所述消息发送单元300,用于分别将各所述消息组中的一个会话控制对象消息发送到执行消息队列中,以使所述数据库根据所述执行消息队列中的会话控制对象消息进行数据库操作。
可选的,在某些可选的实施方式中,所述消息分组单元200包括:数据库操作指令获得单元和消息划分单元;
所述数据库操作指令获得单元,用于获得所述多个会话控制对象消息中的预设时间段内产生的会话控制对象消息中携带的数据库操作指令;
所述消息划分单元,用于将数据库操作指令相同并在所述预设时间段内产生的所述会话控制对象消息划分为一个所述消息组,其中,一个所述消息组中的各所述会话控制对象消息由不同的所述云服务执行体生成。
可选的,在某些可选的实施方式中,所述消息发送单元300包括:消息标记子单元、消息删除子单元和消息发送子单元;
所述消息标记子单元,用于分别随机标记各所述消息组中的一个所述会话控制对象消息;
所述消息删除子单元,用于将各所述消息组中未被标记的所述会话控制对象消息删除;
所述消息发送子单元,用于将各所述消息组中被标记的所述会话控制对象消息按顺序发送到所述执行消息队列,以使所述数据库根据所述执行消息队列中的会话控制对象消息进行数据库操作,其中,所述顺序为获得各所述被标记的所述会话控制消息对象的时间顺序。
可选的,结合上一个装置,在某些可选的实施方式中,所述消息发送子单元,具体用于:
将各所述消息组中被标记的所述会话控制对象消息按顺序发送到所述执行消息队列,以使所述执行消息队列按照各所述被标记的所述会话控制消息队列到达所述执行消息队列的先后顺序,将各所述被标记的会话控制对象消息发送到所述数据库,进而使得所述数据库根据接收的所述会话控制对象消息进行数据库操作。
可选的,在某些可选的实施方式中,所述装置,还包括:请求获得子单元、通信连接建立子单元、会话控制对象建立子单元、指令获得子单元和会话控制对象消息生成子单元;
所述请求获得子单元,用于所述云服务执行体获得数据库操作请求;
所述通信连接建立子单元,用于所述云服务执行体与所述数据库操作请求对应的数据库建立通信连接;
所述会话控制对象建立子单元,用于所述云服务执行体根据所述数据库操作请求建立会话控制对象;
所述指令获得子单元,用于所述云服务执行体获得与所述数据库操作请求对应的数据库操作指令;
所述会话控制对象消息生成子单元,用于所述云服务执行体将所述数据库操作指令写入到所述会话控制对象中,从而生成会话控制对象消息。
本发明提供了一种存储介质,所述存储介质用于存储程序,所述程序被处理器执行时实现上述拟态构造云服务系统持久化操作方法。
如图6所示,本发明提供了一种拟态构造云服务系统持久化操作设备F400,其特征在于,所述设备F400包括至少一个处理器F100、以及与处理器F100连接的至少一个存储器F200、总线F300;其中,所述处理器F100、所述存储器F200通过所述总线F300完成相互间的通信;所述处理器F100用于调用所述存储器F200中的程序,所述程序至少用于实现上述拟态构造云服务系统持久化操作方法。
如图7所示,本发明提供了一种拟态构造云服务系统持久化操作系统,所述系统包括:云服务执行体池、消息处理单元和执行消息队列,其中,所述云服务执行体池中包括云服务执行体;
例如图7中,云服务执行体池中包括云服务执行体a、云服务执行体b和云服务执行体c,本发明对云服务执行体池中包括的云服务执行体的数量不作限制,任何数量的云服务执行体均属于本发明的可选实施方式。
所述云服务执行体池中的云服务执行体根据数据库操作请求生成会话控制对象消息;
所述消息处理单元获得多个会话控制对象消息,其中,每个所述会话控制对象消息为一个云服务执行体生成的;
所述消息处理单元对所述多个会话控制对象消息进行分组,获得多个消息组,其中,同一个消息组中的各会话控制对象消息由不同的云服务执行体生成且对所述数据库的操作相同;
所述消息处理单元分别将各所述消息组中的一个会话控制对象消息发送到所述执行消息队列中,以使所述数据库根据所述执行消息队列中的会话控制对象消息进行数据库操作。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。