发明内容
本发明的目的是提供云计算数据共享***及方法。
根据本发明的一个方面,提供了云计算数据共享***,包括:
数据模块,对网络共享数据的输入和输出进行管理;
云计算资源池,包括用于存放写入或者读取的共享数据的多个组播节点;同步模块,处理组播节点中读取网络共享数据与写入网络共享数据的顺序,读写阻塞时进行读写事务管理,实现消息队列,保证各组播节点的数据一致;
网络模块,实现网络共享数据在云计算资源池与同步模块之间的传送,解析网络共享数据,形成指令集与数据流;和
控制模块,对数据模块、同步模块和网络模块进行控制。
在一些实施方式中,数据模块包括数据读写接口和数据查询接口,用于读写和查询网络共享数据。
在一些实施方式中,多个组播节点包括一个已同步组播节点和多个未同步组播节点,其中,同步模块收到控制模块发出的网络共享数据的组播模式同步指令后,通过调用数据模块的数据查询接口获取网络共享数据的块位置信息,通过调用已同步组播节点的磁盘块来输入网络共享数据,并形成网络组播流;多个未同步组播节点缓存网络组播流后,通过调用未同步组播节点的磁盘块来同步缓存的网络组播流,同步完成后发送同步完成信息到控制模块,确保已同步组播节点和未同步组播节点所读写的数据一致。
根据本发明的另一个方面,提供了云计算数据共享方法,包括:
通过数据模块对网络共享数据进行管理,并读写网络共享数据;
提供云计算资源池,云计算资源池包括用于存放写入或者读取的网络共享数据的多个组播节点;
通过同步模块处理组播节点中读取与写入网络共享数据的顺序,读写阻塞时进行读写事务管理,实现消息队列,保证各组播节点的数据一致;
通过网络模块在云计算资源池与同步模块之间传送网络共享数据,解析网络共享数据;通过控制模块对数据模块、同步模块和网络模块之间数据传输进行管理和控制。
在一些实施方式中,云计算数据共享方法中网络共享数据的写入过程,包括以下步骤:
控制模块接收到数据模块发送的共享数据写入完成的指令后,发送同步指令到多个组播节点中的已同步组播节点的同步模块;
在已同步组播节点的同步模块获取已同步组播节点的块位置信息后,通过调用已同步组播节点的磁盘块来输入网络共享数据,并形成网络组播流;
在多个未同步组播节点缓存网络组播流后,通过调用未同步组播节点的磁盘块来同步缓存的网络组播流,同步完成后发送同步完成信息到控制模块,确保已同步组播节点和未同步组播节点所读写的数据一致。
在一些实施方式中,云计算数据共享方法中网络共享数据的读取过程,包括以下步骤:
网络模块将网络共享数据读取指令发送给控制模块;
控制模块返回数据模块网络位置和已同步组播节点的块位置信息;
通过调用数据模块磁盘块输出接口完成网络共享数据磁盘块的读取。
在一些实施方式中,控制模块通过接收同步模块发送的网络共享数据同步完成信息和网络模块发送的网络共享数据写入完成指令,更新网络共享数据的块位置信息和属性的元数据,确保用户所读写的数据一致。
在一些实施方式中,通过控制模块获得网络共享数据的元数据后,通过数据模块的数据读写接口读取网络共享数据的实际内容;通过控制模块获得网络共享数据的元数据和可用磁盘块位置信息后,通过数据模块的数据读写接口写入网络共享数据的实际内容。
本发明中同步模块可以处理组播节点中读取网络共享数据与写入网络共享数据的顺序,进行读写事务管理,用户需要下载共享网络数据时,同步模块中的组播节点采用组播形式进行同步读取网络共享数据,同时对用户的读操作进行阻塞控制,在各个组播节点更新完网络共享数据后才解除读操作锁定,确保各个组播节点所读取的网络共享数据保持一致,即此时用户可以进行网络共享数据的下载,同步模块采用组播数据报文的方式同步网络共享数据,可以有效地减少网络共享数据在网络中的重复传送,极大提高网络吞吐量,减少***的复杂度,同时在***开发,维护,硬件资源三大方面上降低了成本。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述说明。
根据本发明的一个方面,如图1所示,提供了云计算数据共享***,包括:
数据模块2,对网络共享数据的输入和输出进行管理;
云计算资源池,包括用于存放写入或者读取的共享数据的多个组播节点;同步模块3,处理组播节点中读取网络共享数据与写入网络共享数据的顺序,读写阻塞时进行读写事务管理,实现消息队列,保证各组播节点的数据一致;
网络模块4,实现网络共享数据在云计算资源池与同步模块3之间的传送,解析网络共享数据,形成指令集与数据流;和
控制模块1,对数据模块2、同步模块3和网络模块4进行控制。
数据模块2包括数据读写接口21和数据查询接口22,用于读写和查询网络共享数据。数据模块2管理的共享数据块位置信息记录共享数据在云计算资源池中所在的组播节点以及组播节点磁盘块的位置。数据模块2管理的共享数据块位置信息包含多条记录。
如图2和图3所示,多个组播节点包括一个已同步组播节点31和多个未同步组播节点32,其中,同步模块3收到控制模块1发出的网络共享数据的组播模式同步指令后,通过调用数据模块2的数据查询接口22获取网络共享数据的块位置信息,通过调用已同步组播节点31的磁盘块来输入网络共享数据,并形成网络组播流;多个未同步组播节点32缓存网络组播流后,通过调用未同步组播节点32的磁盘块来同步缓存的网络组播流,同步完成后发送同步完成信息到控制模块1,确保已同步组播节点31和未同步组播节点32所读写的数据一致。
根据本发明的另一个方面,提供了云计算数据共享方法,包括:
通过数据模块2对网络共享数据进行管理,并读写网络共享数据;
提供云计算资源池,云计算资源池包括用于存放写入或者读取的网络共享数据的多个组播节点;
通过同步模块3处理组播节点中读取与写入网络共享数据的顺序,读写阻塞时进行读写事务管理,实现消息队列,保证各组播节点的数据一致;
通过网络模块4在云计算资源池与同步模块3之间传送网络共享数据,解析网络共享数据;通过控制模块1对数据模块2、同步模块3和网络模块4之间数据传输进行管理和控制。
控制模块1发送两种不同的模式的网络共享数据同步指令。同步模块3收到控制模块1发出的网络共享数据的组播模式同步指令后,通过调用数据模块2的数据查询接口22获取网络共享数据的块位置信息,通过计算共享数据更新磁盘块数量多少可选择发送单播模式同步指令或组播模式同步指令到云计算资源池中不同组播节点的同步模块3。一个方面,控制模块1发送组播同步指令到云计算资源池中已同步组播节点31的同步模块3。已同步组播节点31同步模块3调用数据模块2的数据查询接口22获取共享数据块位置信息,通过调用已同步组播节点31数据模块2的共享数据输出接口通过网络组播磁盘块。未同步组播节点32同步模块3调用数据模块2的数据查询接口22获取共享数据块位置信息,通过接收组播磁盘块和调用未同步组播节点32数据模块2的共享数据输入接口同步组播磁盘块,同步完成后发送同步完成信息到控制模块1。控制模块1更新共享数据的块位置信息和属性等元数据。另一个方面,控制模块1发送单播同步指令到云计算资源池中未同步组播节点32的同步模块3。未同步组播节点32同步模块3调用数据模块2的数据查询接口22获取共享数据块位置信息,通过调用已同步组播节点31数据模块2的共享数据输出接口输出磁盘块到未同步组播节点32数据模块2的共享数据输入接口输入磁盘块,同步完成后发送同步完成信息到控制模块1。控制模块1更新共享数据的块位置信息和属性等元数据。同步模块3通过接收控制模块1的同步指令完成共享数据磁盘块在云计算资源池中各组播节点的同步,确保各组播节点所读写的数据一致。
云计算数据共享方法中网络共享数据的写入过程,包括以下步骤:
控制模块1接收到数据模块2发送的共享数据写入完成的指令后,发送同步指令到多个组播节点中的已同步组播节点31的同步模块3;
在已同步组播节点31的同步模块3获取已同步组播节点31的块位置信息后,通过调用已同步组播节点31的磁盘块来输入网络共享数据,并形成网络组播流;
在多个未同步组播节点32缓存网络组播流后,通过调用未同步组播节点的磁盘块来同步缓存的网络组播流,同步完成后发送同步完成信息到控制模块1,确保已同步组播节点31和未同步组播节点所读写的数据一致。
云计算数据共享方法中网络共享数据的读取过程,包括以下步骤:
网络模块4将网络共享数据读取指令发送给控制模块1;
控制模块1返回数据模块2网络位置和已同步组播节点31的块位置信息;
通过调用数据模块2磁盘块输出接口完成网络共享数据磁盘块的读取。
控制模块1通过接收同步模块3发送的网络共享数据同步完成信息和网络模块4发送的网络共享数据写入完成指令,更新网络共享数据的块位置信息和属性的元数据,确保用户所读写的数据一致。
通过控制模块1获得网络共享数据的元数据后,通过数据模块2的数据读写接口21读取网络共享数据的实际内容;通过控制模块1获得网络共享数据的元数据和可用磁盘块位置信息后,通过数据模块2的数据读写接口21写入网络共享数据的实际内容。
图4示意性地显示了本发明一种实施方式的云计算数据共享方法的工作流程。
如图4所示,云计算数据共享方法,包括:
S101:控制模块1初始化云计算资源池中所有组播节点数据模块2可用磁盘块信息;
S102:用户输入网络共享数据写入(上传)指令;
S103:控制模块1接收用户的写入(上传)指令,读取写入指令中请求磁盘块数量,并根据轮询或权重优先算法向用户返回数据模块2网络位置以及与请求磁盘块数量一致的磁盘块序列。控制模块1创建网络共享数据的块位置信息、属性和权限等元数据;
S104:用户调用数据模块2的网络共享数据磁盘块输入接口完成网络共享数据磁盘块的写入,完成后发送写入完成信息到控制模块1;
S105:控制模块1接收到用户发送的网络共享数据写入完成信息后,更新网络共享数据的块位置信息和属性等元数据。控制模块1发送组播模式同步指令到云计算资源池中已同步组播节点31的同步模块3;
S106:上述云计算资源池中已同步组播节点31的同步模块3通过查询控制模块1的网络共享数据查询接口22获得网络共享数据的块位置信息,通过调用已同步组播节点31数据模块2的网络共享数据输出接口输出网络共享数据的磁盘块形成网络组播流。多个未同步组播节点32缓存磁盘块组播流后,调用控制模块1的网络共享数据查询接口22获取网络共享数据的块位置信息,通过调用未同步组播节点32数据模块2的网络共享数据输入接口同步缓存的组播磁盘块,同步完成后发送同步完成信息到控制模块1,确保各已同步组播节点31和多个未同步组播节点32的网络共享数据一致。
S107:控制模块1接收到上述云计算资源池中未同步组播节点32同步模块3的同步完成信息后,更新网络共享数据的块位置信息和属性等元数据。
S201:用户输入网络共享数据读取(下载)指令;
S202:控制模块1接收用户的读取(下载)指令,并根据轮询或权重优先算法向用户返回数据模块2网络位置以及网络共享数据的块位置信息;
S203:用户调用数据模块2的网络共享数据磁盘块输出接口完成网络共享数据磁盘块的读取。
本发明中控制模块1和数据模块2对网络共享数据的元数据和磁盘块的指令流和数据流分离控制,控制模块1对共享数据磁盘块更新量的多少进行计算和发送不同模式的同步指令到同步模块3,同步模块3采用组播数据报文的方式同步网络共享数据。同时,本发明中同步模块3可以处理组播节点中读取网络共享数据与写入网络共享数据的顺序,进行读写事务管理,用户需要下载共享网络数据时,同步模块3中的组播节点采用组播形式进行同步读取网络共享数据,同时对用户的读操作进行阻塞控制,在各个组播节点更新完网络共享数据后才解除读操作锁定,确保各个组播节点所读取的网络共享数据保持一致,即此时用户可以进行网络共享数据的下载,同步模块3采用组播数据报文的方式同步网络共享数据,可以有效地减少网络共享数据在网络中的重复传送,极大提高网络吞吐量,减少***的复杂度,同时在***开发,维护,硬件资源三大方面上降低了成本。
以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。