CN108614873A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN108614873A CN108614873A CN201810360890.5A CN201810360890A CN108614873A CN 108614873 A CN108614873 A CN 108614873A CN 201810360890 A CN201810360890 A CN 201810360890A CN 108614873 A CN108614873 A CN 108614873A
- Authority
- CN
- China
- Prior art keywords
- service module
- user
- vfs
- file
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据处理方法及装置,所述方法包括:所述一致性服务模块接收所述VFS模块通过VFS接口发送的数据写入请求;所述一致性服务模块进行数据写入处理,并将数据写入结果返回给所述VFS模块,以使所述VFS模块通过所述VFS接口将所述数据写入结果返回给所述用户应用。应用本发明实施例可以在实现一致性服务的情况下,简化处理流程,提高处理效率,降低一致性服务的耦合度。
Description
技术领域
本发明涉及分布式系统领域,尤其涉及一种数据处理方法及装置。
背景技术
随着IT(Information Technology,信息技术)行业的不断发展,大型网站,数据库,分布式计算,分布式存储等分布式系统已经成为IT行业发展的未来趋势。分布式协调服务(也可以称为一致性协调服务)在分布式系统中节点监控,分布式锁,分布式数据同步,变动通知等起到重要作用,是分布式系统的关键技术。
然而实践发现,目前常见的一致性协调服务主要包括hadoop(一种分布式系统架构)的zookeeper(一种分布式应用程序协调服务)服务或ceph(一种分布式文件系统)集群的monitor(监控器)服务,其需要专门部署zookeeper集群或monitor集群,且主机需要通过与zookeeper集群或monitor集群交互实现一致性协调服务,上述一致性协调服务的部署存在部署复杂,维护难度大而且效率低下的问题。
发明内容
本发明提供一种数据处理方法及装置,以解决现有一致性协调功能存在部署复杂,维护难度大而且效率低下的问题。
根据本发明的第一方面,提供一种数据处理方法,应用于分布式主机系统中的任一主机,所述主机安装有一致性服务模块和虚拟文件系统VFS模块,所述方法包括:
所述一致性服务模块接收所述VFS模块通过VFS接口发送的数据写入请求;其中,所述数据写入请求由所述VFS模块在接收到所述主机上的用户应用发起的数据写入请求时发送;
所述一致性服务模块进行数据写入处理,并将数据写入结果返回给所述VFS模块,以使所述VFS模块通过所述VFS接口将所述数据写入结果返回给所述用户应用。
结合第一方面,在第一种可能的实现方式中,所述一致性服务模块进行数据写入处理,并将数据写入结果返回给所述VFS模块,包括:
当所述一致性服务模块为跟随服务模块时,将所述数据写入请求发送给领导服务模块,由所述领导服务模块发起数据写入协商,并将数据写入结果返回给所述发送数据写入请求的一致性服务模块;
所述发送数据写入请求的一致性服务模块将所述数据写入结果返回给所述VFS模块;
当所述一致性服务模块为领导服务模块时,发起数据写入协商处理,并将数据写入结果返回给所述VFS模块。
结合第一方面,在第二种可能的实现方式中,所述一致性服务模块将写入的数据以文件的形式保存在文件目录中;其中,所述文件以文件名为键key,文件内容为值value的形式保存。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述文件目录包括永久性文件目录和临时性文件目录;
所述方法还包括:
当所述一致性服务模块接收到用户应用发起的针对临时性文件的写入请求时,所述一致性服务模块在所述临时性文件的文件名中记录该用户应用的进程名和进程号信息;
当所述一致性服务模块监控到该用户应用的进程退出时,查询与所述用户应用的进程名和进程号对应的临时性文件,并将查询到的临时性文件删除。
结合第一方面,在第四种可能的实现方式中,所述方法还包括:
当所述一致性服务模块监控到用户应用的进程退出时,查询与所述用户应用的进程名对应的脚本文件,执行所查询到的脚本文件;
向所述分布式主机系统中的其它主机的一致性服务模块发送用户应用退出通知消息,所述用户应用退出通知消息携带有所述用户应用的进程名;
当所述一致性服务模块接收到所述分布式主机系统中的其它主机发送的用户应用退出通知消息时,查询该用户应用退出通知消息中携带的用户应用的进程名对应的脚本文件,并执行所查询到的脚本文件。
根据本发明的第二方面,提供一种数据处理装置,应用于分布式主机系统中的任一主机中安装的一致性服务模块,所述主机还安装有虚拟文件系统VFS模块,所述装置包括:
接收单元,用于接收所述VFS模块通过VFS接口发送的数据写入请求;其中,所述数据写入请求由所述VFS模块在接收到所述主机上的用户应用发起的数据写入请求时发送;
处理单元,用于进行数据写入处理;
发送单元,用于将数据写入结果返回给所述VFS模块,以使所述VFS模块通过所述VFS接口将所述数据写入结果返回给所述用户应用。
结合第二方面,在第一种可能的实现方式中,所述处理单元,具体用于当所述一致性服务模块为跟随服务模块时,将所述数据写入请求发送给领导服务模块,由所述领导服务模块发起数据写入协商,并将数据写入结果返回给所述发送数据写入请求的一致性服务模块;
所述发送单元,还用于将所述数据写入结果返回给所述VFS模块;
所述处理单元,还具体用于当所述一致性服务模块为领导服务模块时,发起数据写入协商处理;
所述发送单元,还用于将数据写入结果返回给所述VFS模块。
结合第二方面,在第二种可能的实现方式中,所述处理单元,还用于将写入的数据以文件的形式保存在文件目录中;其中,所述文件以文件名为键key,文件内容为值value的形式保存。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述文件目录包括永久性文件目录和临时性文件目录;
所述处理单元,还用于当所述接收单元接收到用户应用发起的针对临时性文件的写入请求时,在所述临时性文件的文件名中记录该用户应用的进程名和进程号信息;
所述处理单元,还用于当监控到该用户应用的进程退出时,查询与所述用户应用的进程名和进程号对应的临时性文件,并将查询到的临时性文件删除。
结合第二方面,在第四种可能的实现方式中,所述处理单元,还用于当监控到用户应用的进程退出时,查询与所述用户应用的进程名对应的脚本文件,执行所查询到的脚本文件;
所述发送单元,还用于向所述分布式主机系统中的其它主机的一致性服务模块发送用户应用退出通知消息,所述用户应用退出通知消息携带有所述用户应用的进程名;
所述处理单元,还用于当所述接收单元接收到所述分布式主机系统中的其它主机发送的用户应用退出通知消息时,查询该用户应用退出通知消息中携带的用户应用的进程名对应的脚本文件,并执行所查询到的脚本文件。
根据本发明的第三方面,提供一种数据处理装置,所述数据处理装置包括处理器、存储有机器可执行指令的机器可读存储介质。处理器通过读取并执行机器可读存储介质中与数据处理逻辑对应的机器可执行指令,执行前述的数据处理方法。
根据本发明的第四方面,提供一种包括机器可执行指令的机器可读存储介质,所述机器可执行指令可由数据处理装置中的处理器执行以实现前述的数据处理方法。应用本发明公开的技术方案,通过在分布式主机系统中的各主机中安装一致性服务模块和VFS模块,当VFS模块接收到主机上的用户应用发起的数据写入请求时,VFS模块通过VSF接口将数据写入请求发送给一致性服务模块,一致性服务模块进行数据写入处理,并将数据写入结果返回给VFS模块,由VFS模块通过VFS接口将数据写入结果返回给所述用户应用,在实现一致性服务的情况下,简化了处理流程,提高了处理效率,降低了一致性服务的耦合度。
附图说明
图1是本发明实施例提供的一种分布式主机系统的架构示意图;
图2是本发明实施例提供的一种数据处理方法的流程示意图;
图3是本发明实施例提供的一种具体应用场景的架构示意图;
图4是本发明实施例提供的一种数据处理装置的结构示意图;
图5是本发明实施例提供的一种数据处理装置的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,下面先对本发明实施例适用的系统架构进行简单说明。
请参见图1,为本发明实施例提供的一种分布式主机系统的架构示意图,如图1所示,在该分布式主机系统中,各主机中均安装有一致性服务模块和VFS(Virtual FileSystem,虚拟文件系统)。其中:
对于任一主机,当该主机初始化时,一致性服务模块可以与分布式主机系统中其它主机的一致性服务模块建立连接,并与该其它主机的一致性服务模块进行选举。
当主机初始化完成时,VFS模块可以向一致性服务模块进行注册,进而,VFS模块可以为主机上的用户应用提供访问一致性服务模块的VFS接口,即主机上的用户应用可以直接通过VFS模块提供的VFS接口访问一致性服务模块,从而,在实现分布式主机系统一致性服务的前提下,简化了处理流程,提高了处理效率。
为了使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图2,为本发明实施例提供的一种数据处理方法的流程示意图,其中,该数据处理方法可以应用于分布式主机系统中的任一主机,如图1所示分布式主机系统架构中的任一主机,如图2所示,该数据处理方法可以包括以下步骤:
步骤201、一致性服务模块接收VFS模块通过VFS接口发送的数据写入请求;其中,该数据写入请求由VFS模块在接收到主机上的用户应用发起的数据写入请求时发送的。
本发明实施例中,对于分布式系统中的任一主机,当该主机初始化时,该主机中的一致性服务模块可以与其它主机的一致性服务模块建立连接,并与其它主机的一致性服务模块进行选举。
在本发明其中一个实施例中,上述一致性服务模块与分布式主机系统中其它主机的一致性服务模块建立连接,并与其它主机的一致性服务模块进行选举,可以包括:
一致性服务模块读取主机的存储空间中保存的一致性服务模块配置信息,并根据读取到的一致性服务模块配置信息与其它主机的一致性服务模块建立连接,并与其它主机的一致性服务模块进行选举。
在该实施例中,可以预先在分布式主机系统各主机的存储空间中保存一致性服务模块配置信息,该一致性服务模块配置信息可以包括但不限于分布式主机系统其它主机的一致性服务模块的相关信息,如IP(Internet Protocol,互联网协议)地址等。
相应地,当分布式主机系统中的主机初始化时,一致性服务器模块可以读取主机的存储空间中保存的一致性服务模块配置信息。根据该一致性服务模块配置信息,一致性服务器模块与其它主机的一致性服务模块建立连接,并与其它主机的一致性服务模块进行选举。通过选举,为每个一致性服务器模块分配角色属性,即领导服务模块(Leader)、或者跟随服务模块(Follower)。
其中,分布式主机系统各主机的一致性服务模块之间进行选举的具体实现流程可以参见PAXOS(一种基于消息传递的一致性算法)协议中的相关描述,本发明实施例在此不做赘述。
本发明实施例中,为了简化一致性服务访问的处理流程,提高处理效率,可以在主机中安装VFS模块,由VFS模块为主机内的用户应用提供用于访问一致性服务的VFS接口。
相应地,在本发明实施例中,当主机初始化完成时,VFS模块可以向一致性服务模块进行注册,并当注册成功后,主机上的用户应用可以通过该VFS模块对一致性服务模块进行访问。
本发明实施例中,VFS模块完成向一致性服务模块的注册之后,就可以向用户应用提供访问一致性服务模块的VFS接口。
当主机上的用户应用需要访问一致性服务模块时,可以向VFS模块发送访问请求,由VFS模块将访问请求发送给一致性服务模块。
相应地,在本发明实施例中,当VFS模块接收到主机上的用户应用发起的数据写入请求时,VFS模块可以通过VFS接口将该数据写入请求发送给一致性服务模块。
其中,该数据写入请求可以包括新数据的写入以及旧数据的修改。
步骤202、一致性服务模块进行数据写入处理,并将数据写入结果返回给VFS模块,以使VFS模块通过VFS接口将数据写入结果返回给用户应用。
本发明实施例中,当一致性服务模块接收到VFS模块转发的数据写入请求时,一致性服务模块可以根据该数据写入请求进行数据写入处理,并将数据写入结果(写入成功或写入失败)返回给VFS模块。
相应地,上述一致性服务模块进行数据写入处理,并将数据写入结果返回给VFS模块,可以包括:
当一致性服务模块为跟随服务模块时,将数据写入请求发送给领导服务模块,由领导服务模块发起数据写入协商,并将数据写入结果返回给发送数据写入请求的一致性服务模块;
发送数据写入请求的一致性服务模块将数据写入结果返回给VFS模块;
当一致性服务模块为领导服务模块时,发起数据写入协商处理,并将数据写入结果返回给VFS模块。
在该实施例中,当一致性服务模块接收到数据写入请求,且确定自身为跟随服务模块时,一致性服务模块可以将该数据写入请求发送给领导服务模块。
领导服务模块接收到该数据写入请求时,可以发起数据写入协商,以确定是否允许此次数据写入,并将数据写入结果返回给发送数据写入请求的跟随服务模块,由该发送数据写入请求的跟随服务模块将数据写入结果返回给用户应用。
在该实施例中,当一致性服务模块接收到数据写入请求,且确定自身为领导服务模块时,该一致性服务模块可以发起数据写入协商,并将数据写入结果返回给用户应用。
其中,分布式系统中各一致性服务模块(包括领导服务模块和跟随服务模块)之间进行数据写入协商的具体实现可以参见PAXOS协议中的相关描述,本发明实施例在此不做赘述。
此外,当数据写入协商的结果为允许进行数据写入时,领导服务模块还需要将待写入的数据写入本地存储空间(领导服务模块所在主机的存储空间),并将待写入的数据同步给各跟随服务模块,由各跟随服务模块将数据写入到本地存储空间(跟随服务模块所在主机的存储空间),其具体实现可以参见PAXOS协议中的相关描述,本发明实施例在此不做赘述。
本发明实施例中,VFS模块接收到一致性服务模块返回的数据写入结果时,可以将该数据写入结果发送给发起数据写入请求的用户应用。
可见,在图1所示的方法流程中,通过在分布式主机系统中的各主机上安装VFS模块,由该VFS模块为主机上的用户应用提供访问跟一致性服务的VFS接口,将主机上的一致性服务虚拟为文件系统,用户应用可以直接通过调用该VFS接口实现对一致性服务的访问(例如,可以通过shell命令调用VFS接口实现对一致性服务的访问),简化了一致性服务的处理流程,提高了处理效率,降低了一致性服务的耦合度。
需要说明的是,在本发明实施例中,用户应用也可以通过VFS模块向一致性服务模块发送数据读取请求,一致性服务模块接收到数据读取请求,且确定发起数据读取请求的用户应用具有数据读取权限时,可以通过VFS模块将用户读取的数据返回给发起数据读取请求的用户应用,其具体实现在此不做赘述。
进一步地,在本发明其中一个实施例中,一致性服务中的数据(即一致性服务模块写入的数据)以文件的形式保存在文件目录中;其中,该文件以文件名为key(键),文件内容为value(值)的形式保存。
在该实施例中,为了提高数据访问效率,一致性服务的数据可以以文件的形式在文件目录中,该文件目录以树状结构存在,用户应用可以像访问普通文件的一样访问一致性服务中的数据。
其中,由于一致性服务中的数据是以键值对(key-value)的形式保存的,因此,当一致性服务模块以文件的形式将数据写入主机的存储空间时,可以以文件名为key,以文件内容为value进行数据写入。
在该实施例的一种实施方式中,上述文件目录包括永久性文件目录和临时性文件目录。
在该实施方式中,为了区分一致性服务中的永久性数据(即永久性键值对,也可以称为永久性文件)和临时性数据(即临时性键值对,也可以称为临时性文件),可以将文件目录可以包括永久性文件目录和临时性文件目录,即在VFS模块提供的用于访问一致性服务的VFS接口中划分永久性文件目录和临时性文件目录,分别用于写入永久性键值对和临时性键值对,用户应用可以通过VFS模块提供的VFS接口对永久性文件目录或临时性文件目录进行访问。
本发明实施例中,考虑到临时性文件通常是与用户应用的进程关联存在的,当用户应用的进程退出时,其对应的临时性文件将失效,此时,可以删除对应的临时性文件,以节省存储资源。
相应地,在一个示例中,当一致性服务模块接收到用户应用发起的针对临时性文件的写入请求时,一致性服务模块可以在临时性文件的文件名中记录用户应用的进程名和进程号信息;
当一致性服务模块监控到该用户应用的进程退出时,查询与用户应用的进程名和进程号对应的临时性文件,并将查询到的临时性文件删除。
具体地,在该示例中,临时性文件的写入过程中,可以将发起数据写入请求的用户应用的进程名和进程号;此外,一致性服务模块可以定时监控用户应用的进程的状态,当一致性服务模块监控到用户应用的进程退出时,一致性服务模块可以根据该用户应用的进程名和进程号查询是否存在对应的临时性文件,若存在,则将该临时性文件删除。
其中,一致性服务模块删除临时性文件之后,还需要发起数据同步过程,以使分布式主机系统中的其它主机的一致性服务模块进行数据同步处理,其具体实现在此不做赘述。
进一步地,在发明其中一个实施例中,当一致性服务模块监控到用户应用的进程退出时,一致性服务模块可以查询与该用户应用的进程名对应的脚本文件,执行所查询到的脚本文件,并向分布式主机系统的其它主机的一致性服务模块发送用户应用退出通知,该用户应用退出通知消息携带有该用户应用的进程名。
当一致性服务模块接收到分布式主机系统中其它主机发送的用户应用退出通知消息时,一致性服务模块可以查询该用户应用退出通知消息中携带的用户应用的进程名对应的脚本文件,并执行所查询到的脚本文件。
在该实施例中,可以在一致性服务中提供用户应用退出通知服务,分布式主机系统中各主机的一致性服务模块可以监控主机上的用户应用的在线状态,当一致性服务模块监控到某用户应用退出时,该一致性服务模块可以向分布式主机系统中的其它主机的一致性服务模块发送用户应用退出通知消息,以便其它主机一致性服务模块可以获知该用户应用退出事件。
进一步地,在该实施例中,可以在分布式主机系统中各主机的存储空间中保存以用户应用的进程名命名的脚本文件,当一致性服务模块监控到用户应用退出,或接收到用户应用退出通知消息时,可以根据用户应用的进程名查询该用户应用的进程名对应的脚本文件,并当查询到对应的脚本文件时,执行该脚本文件,进而,对于存在对应的脚本文件的用户应用,当该用户应用退出时,分布式主机系统中各主机均能获知该用户应用退出事件,并根据预先配置的脚本文件进行相应的处理。
例如,该脚本文件可以为用于进行告警处理的脚本文件,当一致性服务模块接收到其它主机的一致性服务模块发送的用户应用退出通知消息时,可以根据该用户应用退出通知消息中携带的用户应用的进程名查询到对应的脚本文件,并执行该脚本文件,进行告警,从而,当分布式主机系统中任一主机上出现用户应用退出时,该分布式主机系统中各主机均可以进行告警处理,以便用户(如管理员)可以及时获知用户应用退出事件,并根据实际情况采取相应处理措施。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。
请参见图3,为本发明实施例提供的一种具体应用场景的架构示意图,如图3所示,在该应用场景中,分布式主机系统中包括主机1、主机2和主机3,各主机上安装有用户应用、VFS模块以及一致性服务模块。
在该实施例中,一致性服务模块初始化过程中通过读取保存在本地存储空间的一致性服务配置信息来和其他主机的一致性服务模块建立连接,通过PAXOS协议选举领导服务模块。在选举完成后分布式主机系统将有一个一致性服务模块作为领导服务模块,其他一致性服务模块作为跟随服务模块提供服务。
主机初始化完成时,VFS模块向一致性服务模块进行注册。VFS模块完成注册后,向用户应用提供访问一致性服务的VFS接口。
用户应用运行在操作系统用户态,一致性服务运行在系统内核态,一致性服务通过PAXOS协议将一致性服务数据分别保存到每个一致性服务的主机的存储空间。用户应用通过VFS模块提供的VFS接口来访问一致性服务。
在该实施例中,假设主机2中的一致性服务模块被选举为领导服务模块,主机1和主机3中的一致性服务模块为跟随服务模块。
在该实施例中,一致性服务数据以文件(文件的文件名为key,文件内容为value)的形式在文件目录的树状结构中保存,用户应用可以像访问普通文件一样访问一致性服务当中的数据。
其中,该文件目录可以包括永久性性文件目录和临时性文件目录,分别用于保存永久性键值和临时性键值。其中临时性键值在写入过程中,键值名将保留用户应用的进程名和进程号信息,并在内核系统当中启动定时监控用户应用的进程的任务,当监控到应用服务的进程退出时,则删除临时性键值。
在该实施例中,用户应用修改一致性服务数据的流程可以包括(以主机1的用户应用1发起一致性服务数据修改为例):
1、主机1的用户应用1通过VFS模块提供的VFS接口查看一致性服务数据,并发送修改一致性服务数据的请求。
2、用户应用1发送的修改一致性服务数据的请求通过VFS模块提供的VFS接口传递到内核空间,通过登录链接将该请求发送给跟随服务模块1(即主机1中的一致性服务模块),跟随服务模块1将该请求发送给领导服务模块。
3、领导服务模块发起修改数据协商过程,协商完成后将修改后的数据同步到跟随服务模块1和跟随服务模块2。
4、领导服务模块通知跟随服务模块1数据修改结果。
5、系统内核系统将跟随服务服务模块1返回的数据修改结果通过VFS模块提供的VFS接口返回给用户应用1。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过在分布式主机系统中的各主机中安装一致性服务模块和VFS模块,当VFS模块接收到主机上的用户应用发起的数据写入请求时,VFS模块通过VSF接口将数据写入请求发送给一致性服务模块,一致性服务模块进行数据写入处理,并将数据写入结果返回给VFS模块,由VFS模块通过VFS接口将数据写入结果返回给所述用户应用,在实现一致性服务的情况下,简化了处理流程,提高了处理效率,降低了一致性服务的耦合度。
请参见图4,为本发明实施例提供一种数据处理装置的结构示意图,其中,该装置可以应用于上述方法实施例中的一致性服务模块,如图4所示,该数据处理装置可以包括:
接收单元410,用于接收所述VFS模块通过VFS接口发送的数据写入请求;其中,所述数据写入请求由所述VFS模块在接收到所述主机上的用户应用发起的数据写入请求时发送;
处理单元420,用于进行数据写入处理;
发送单元430,用于将数据写入结果返回给所述VFS模块,以使所述VFS模块通过所述VFS接口将所述数据写入结果返回给所述用户应用。
在可选实施中,所述处理单元420,具体用于当所述一致性服务模块为跟随服务模块时,将所述数据写入请求发送给领导服务模块,由所述领导服务模块发起数据写入协商,并将数据写入结果返回给所述发送数据写入请求的一致性服务模块;
所述发送单元430,还用于将所述数据写入结果返回给所述VFS模块;
所述处理单元420,还具体用于当所述一致性服务模块为领导服务模块时,发起数据写入协商处理;
所述发送单元430,还用于将数据写入结果返回给所述VFS模块。
在可选实施中,所述处理单元420,还用于将写入的数据以文件的形式保存在文件目录中;其中,所述文件以文件名为键key,文件内容为值value的形式保存。
在可选实施中,所述文件目录包括永久性文件目录和临时性文件目录;
所述处理单元420,还用于当所述接收单元410接收到用户应用发起的针对临时性文件的写入请求时,在所述临时性文件的文件名中记录该用户应用的进程名和进程号信息;
所述处理单元420,还用于当监控到该用户应用的进程退出时,查询与所述用户应用的进程名和进程号对应的临时性文件,并将查询到的临时性文件删除。
在可选实施中,所述处理单元420,还用于当监控到用户应用的进程退出时,查询与所述用户应用的进程名对应的脚本文件,执行所查询到的脚本文件;
所述发送单元430,还用于向所述分布式主机系统中的其它主机的一致性服务模块发送用户应用退出通知消息,所述用户应用退出通知消息携带有所述用户应用的进程名;
所述处理单元420,还用于当所述接收单元410接收到所述分布式主机系统中的其它主机发送的用户应用退出通知消息时,查询该用户应用退出通知消息中携带的用户应用的进程名对应的脚本文件,并执行所查询到的脚本文件。
请参见图5,为本申请实施例提供的一种数据处理装置的硬件结构示意图。该数据处理装置可以包括处理器501、存储有机器可执行指令的机器可读存储介质502。处理器501与机器可读存储介质502可经由系统总线503通信。并且,通过读取并执行机器可读存储介质502中与数据处理逻辑对应的机器可执行指令,处理器501可执行上文描述的数据处理方法。
本文中提到的机器可读存储介质502可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
本申请实施例还提供了一种包括机器可执行指令的机器可读存储介质,例如图5中的机器可读存储介质502,所述机器可执行指令可由数据处理装置中的处理器501执行以实现以上描述的数据处理方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过在分布式主机系统中的各主机中安装一致性服务模块和VFS模块,当VFS模块接收到主机上的用户应用发起的数据写入请求时,VFS模块通过VSF接口将数据写入请求发送给一致性服务模块,一致性服务模块进行数据写入处理,并将数据写入结果返回给VFS模块,由VFS模块通过VFS接口将数据写入结果返回给所述用户应用,在实现一致性服务的情况下,简化了处理流程,提高了处理效率,降低了一致性服务的耦合度。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据处理方法,其特征在于,应用于分布式主机系统中的任一主机,所述主机安装有一致性服务模块和虚拟文件系统VFS模块,所述方法包括:
所述一致性服务模块接收所述VFS模块通过VFS接口发送的数据写入请求;其中,所述数据写入请求由所述VFS模块在接收到所述主机上的用户应用发起的数据写入请求时发送;
所述一致性服务模块进行数据写入处理,并将数据写入结果返回给所述VFS模块,以使所述VFS模块通过所述VFS接口将所述数据写入结果返回给所述用户应用。
2.根据权利要求1所述的方法,其特征在于,所述一致性服务模块进行数据写入处理,并将数据写入结果返回给所述VFS模块,包括:
当所述一致性服务模块为跟随服务模块时,将所述数据写入请求发送给领导服务模块,由所述领导服务模块发起数据写入协商,并将数据写入结果返回给所述发送数据写入请求的一致性服务模块;
所述发送数据写入请求的一致性服务模块将所述数据写入结果返回给所述VFS模块;
当所述一致性服务模块为领导服务模块时,发起数据写入协商处理,并将数据写入结果返回给所述VFS模块。
3.根据权利要求1所述的方法,其特征在于,所述一致性服务模块将写入的数据以文件的形式保存在文件目录中;其中,所述文件以文件名为键key,文件内容为值value的形式保存。
4.根据权利要求3所述的方法,其特征在于,所述文件目录包括永久性文件目录和临时性文件目录;
所述方法还包括:
当所述一致性服务模块接收到用户应用发起的针对临时性文件的写入请求时,所述一致性服务模块在所述临时性文件的文件名中记录该用户应用的进程名和进程号信息;
当所述一致性服务模块监控到该用户应用的进程退出时,查询与所述用户应用的进程名和进程号对应的临时性文件,并将查询到的临时性文件删除。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述一致性服务模块监控到用户应用的进程退出时,查询与所述用户应用的进程名对应的脚本文件,执行所查询到的脚本文件;
向所述分布式主机系统中的其它主机的一致性服务模块发送用户应用退出通知消息,所述用户应用退出通知消息携带有所述用户应用的进程名;
当所述一致性服务模块接收到所述分布式主机系统中的其它主机发送的用户应用退出通知消息时,查询该用户应用退出通知消息中携带的用户应用的进程名对应的脚本文件,并执行所查询到的脚本文件。
6.一种数据处理装置,其特征在于,应用于分布式主机系统中的任一主机中安装的一致性服务模块,所述主机还安装有虚拟文件系统VFS模块,所述包括:
接收单元,用于接收所述VFS模块通过VFS接口发送的数据写入请求;其中,所述数据写入请求由所述VFS模块在接收到所述主机上的用户应用发起的数据写入请求时发送;
处理单元,用于进行数据写入处理;
发送单元,用于将数据写入结果返回给所述VFS模块,以使所述VFS模块通过所述VFS接口将所述数据写入结果返回给所述用户应用。
7.根据权利要求6所述的装置,其特征在于,
所述处理单元,具体用于当所述一致性服务模块为跟随服务模块时,将所述数据写入请求发送给领导服务模块,由所述领导服务模块发起数据写入协商,并将数据写入结果返回给所述发送数据写入请求的一致性服务模块;
所述发送单元,还用于将所述数据写入结果返回给所述VFS模块;
所述处理单元,还具体用于当所述一致性服务模块为领导服务模块时,发起数据写入协商处理;
所述发送单元,还用于将数据写入结果返回给所述VFS模块。
8.根据权利要求6所述的装置,其特征在于,
所述处理单元,还用于将写入的数据以文件的形式保存在文件目录中;其中,所述文件以文件名为键key,文件内容为值value的形式保存。
9.根据权利要求8所述的装置,其特征在于,所述文件目录包括永久性文件目录和临时性文件目录;
所述处理单元,还用于当所述接收单元接收到用户应用发起的针对临时性文件的写入请求时,在所述临时性文件的文件名中记录该用户应用的进程名和进程号信息;
所述处理单元,还用于当监控到该用户应用的进程退出时,查询与所述用户应用的进程名和进程号对应的临时性文件,并将查询到的临时性文件删除。
10.根据权利要求6所述的装置,其特征在于,
所述处理单元,还用于当监控到用户应用的进程退出时,查询与所述用户应用的进程名对应的脚本文件,执行所查询到的脚本文件;
所述发送单元,还用于向所述分布式主机系统中的其它主机的一致性服务模块发送用户应用退出通知消息,所述用户应用退出通知消息携带有所述用户应用的进程名;
所述处理单元,还用于当所述接收单元接收到所述分布式主机系统中的其它主机发送的用户应用退出通知消息时,查询该用户应用退出通知消息中携带的用户应用的进程名对应的脚本文件,并执行所查询到的脚本文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810360890.5A CN108614873B (zh) | 2018-04-20 | 2018-04-20 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810360890.5A CN108614873B (zh) | 2018-04-20 | 2018-04-20 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108614873A true CN108614873A (zh) | 2018-10-02 |
CN108614873B CN108614873B (zh) | 2020-11-06 |
Family
ID=63660761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810360890.5A Active CN108614873B (zh) | 2018-04-20 | 2018-04-20 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108614873B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108614873B (zh) * | 2018-04-20 | 2020-11-06 | 新华三技术有限公司 | 一种数据处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110235481A1 (en) * | 2010-03-25 | 2011-09-29 | Hitachi-Lg Data Storage, Inc. | Storage system and method for generating file system in the storage system |
CN102693324A (zh) * | 2012-01-09 | 2012-09-26 | 西安电子科技大学 | 一种分布式数据库同步系统、同步方法和节点管理方法 |
CN103036717A (zh) * | 2012-12-12 | 2013-04-10 | 北京邮电大学 | 分布式数据的一致性维护系统和方法 |
CN103297268A (zh) * | 2013-05-13 | 2013-09-11 | 北京邮电大学 | 基于p2p技术的分布式数据一致性维护系统和方法 |
CN104052768A (zh) * | 2013-03-13 | 2014-09-17 | 彭涛 | 分布式多点同步系统及其同步方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108614873B (zh) * | 2018-04-20 | 2020-11-06 | 新华三技术有限公司 | 一种数据处理方法及装置 |
-
2018
- 2018-04-20 CN CN201810360890.5A patent/CN108614873B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110235481A1 (en) * | 2010-03-25 | 2011-09-29 | Hitachi-Lg Data Storage, Inc. | Storage system and method for generating file system in the storage system |
CN102693324A (zh) * | 2012-01-09 | 2012-09-26 | 西安电子科技大学 | 一种分布式数据库同步系统、同步方法和节点管理方法 |
CN103036717A (zh) * | 2012-12-12 | 2013-04-10 | 北京邮电大学 | 分布式数据的一致性维护系统和方法 |
CN104052768A (zh) * | 2013-03-13 | 2014-09-17 | 彭涛 | 分布式多点同步系统及其同步方法 |
CN103297268A (zh) * | 2013-05-13 | 2013-09-11 | 北京邮电大学 | 基于p2p技术的分布式数据一致性维护系统和方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108614873B (zh) * | 2018-04-20 | 2020-11-06 | 新华三技术有限公司 | 一种数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108614873B (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10691187B2 (en) | Persistent reservations for virtual disk using multiple targets | |
CN107566533B (zh) | 一种基于nas实现的内外网文件共享系统 | |
US9146755B2 (en) | System and method for transporting platform independent power configuration parameters | |
CN105144105B (zh) | 用于可扩展的崩溃一致的快照操作的系统和方法 | |
US10831741B2 (en) | Log-shipping data replication with early log record fetching | |
CN107179879A (zh) | 用于存储设备的数据迁移的方法和装置 | |
CN106446159B (zh) | 一种存储文件的方法、第一虚拟机及名称节点 | |
JP2011501254A (ja) | セッション・アフィニティを使用する分散環境においてフェイルオーバを処理する方法及びシステム | |
US11079968B1 (en) | Queue management in multi-site storage systems | |
US9723064B1 (en) | Hybrid quorum policies for durable consensus in distributed systems | |
US11064021B2 (en) | Method, device and computer program product for managing network system | |
CN103703441A (zh) | 一种硬盘和数据处理方法 | |
US20140214956A1 (en) | Method and apparatus for managing sessions of different websites | |
CN112698838B (zh) | 多云容器部署系统及其容器部署方法 | |
US9448827B1 (en) | Stub domain for request servicing | |
CN104079600B (zh) | 文件存储方法、装置、访问客户端及元数据服务器系统 | |
US10545667B1 (en) | Dynamic data partitioning for stateless request routing | |
US8914517B1 (en) | Method and system for predictive load balancing | |
CN110445826B (zh) | 一种会话信息获取方法、装置及服务器 | |
CN108614873A (zh) | 一种数据处理方法及装置 | |
CN112162925A (zh) | 一种基于服务虚拟化的测试方法和系统 | |
CN111756784B (zh) | 会话方法、会话装置、计算机设备和介质 | |
US11223689B1 (en) | Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof | |
US20200218800A1 (en) | Event-triggered behavior analysis | |
US11571618B1 (en) | Multi-region game server fleets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |