具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种数据存储的方法,该方法的执行主体可以为主设备Master,如图1所示,该方法包括:
步骤101,主设备接收输入的数据,更新主控器的当前数据序列号,并将所述数据进行第一保存;
例如,接收用户输入的登录所需要的数据,并根据SN’=SN+1更新当前数据序列号,其中,SN为当前数据序列号,SN’为更新后的数据序列号。即主设备没接收一组新的数据,将当前数据序列号执行加1的操作。这里“一组”表示可以用于登录的至少一个数据。
例如,数据可以为登录某游戏所需要的登录ID(Identity,身份标识)、密码,昵称、等级、年龄、性别、备注等等。
可选的,第一保存指可以将数据在第三方数据库MYSQL中保存,或者可以将数据采用文件存储。由于主设备中保存的数据量比较大,可以采用固定大小的大数组进行保存,或者采用哈希表进行保存。
可选的,应用程序编程接口包括数据写入接口和数据获取接口,其中,数据写入接口用于将数据写入存储模块,数据获取接口用于将数据从存储模块中读取。例如,通过应用程序编程接口的数据写入接口将所述数据进行第一保存。
步骤102,主设备将所述数据发送给至少一个所述从设备;
进一步的,分别获取主设备和从设备当前数据序列号;并判断所述主设备的当前数据序列号与从所述设备的当前数据序列号是否相同;当所述主设备的当前数据序列号与所述从设备的当前数据序列号不同时,可执行本步骤操作。
可选的,主设备与从设备Slave每接收一组新的数据,即进行一次更新操作,其中从设备执行更新操作的过程与主控制执行更新操作的过程相同。
当主设备接收到新的数据进行数据序列号更新后,从设备的数据序列号为上一次更新之后的序列号,此时,主设备与从设备的数据序列号不同,则主设备将所述数据发送给至少一个所述从设备进行数据同步更新,从设备接收到数据后进行数据序列号更新,此时主设备与从设备的数据序列号保持一致。
可选的,进行游戏登录时,登录ID与密码比较重要,此时,从设备中的预设选择条件可以为保存关键数据,即只保存主设备发送的数据中的登录ID与密码,保证登录服务。
可选的,通过应用程序编程接口的数据获取接口获取保存的所述数据,并将所述数据发送给至少一个所述从设备。数据可以以压缩包的形式发送。
可选的,第二保存指可以将数据在内存Cache中保存。从设备可以采用链表的形式进行数据保存。
步骤103,从设备接收主设备发送的数据,更新从设备的当前数据序列号;
例如,数据可以为登录某游戏所需要的登录ID、密码,昵称、等级、年龄、性别、备注等等。
根据SN’=SN+1更新当前数据序列号,其中,SN为当前数据序列号,SN’为更新后的数据序列号。即从设备每次从主设备接收一个新的数据包,将当前数据序列号执行加1的操作。这里数据包为主设备将需要发送的数据进行压缩成的数据包,便于快速传输。
步骤104,从设备根据预设选择条件选择所述数据中的部分数据进行第二保存。
其中,将所述数据划分为不同的字段;根据预设选择条件选择所述数据中的部分字段进行第二保存。
需要说明的是,预设选择条件为根据从设备当前执行的业务的特点设置的选择数据的条件。例如,所述根据预设选择条件选择的部分字段包括登陆备份字段或者用户简单资料备份字段。
可选的,当所述预设选择条件为所述登陆备份字段时,则选择所述数据中的登陆备份字段进行第二保存,并删除除所述登陆备份字段之外的字段;
当所述预设选择条件为所述用户简单资料备份字段时,则选择所述数据中的用户简单资料备份字段进行第二保存,并删除除所述用户简单资料备份字段之外的字段。
例如,进行游戏登录时,登录ID与密码比较重要,此时,从设备中的预设选择条件可以为登陆备份字段,即只保存主设备发送的数据中的登录ID与密码,保证登录服务。另外,为了适应批量获取用户的简单资料时,例如,用户的昵称、性别等简单资料,此时,从设备中的预设选择条件可以为用户简单资料备份字段,即只保存主设备发送的数据中的昵称、性别等资料。当然还可以根据其他的业务特点选择不同的字段进行第二保存。
进一步的,当所述主设备发生异常时,从设备接收上层逻辑处理器发送的更换提供服务的设备请求,通过应用程序编程接口的数据获取接口获取保存的所述部分数据。
可选的,根据预设选择条件选择所述数据中的部分数据,通过应用程序编程接口的数据写入接口将所述部分数据进行第二保存。可选的,第二保存指可以将数据在内存Cache中保存。从设备可以采用链表的形式进行数据保存。
本发明实施例提供一种数据存储的方法,通过保存主设备发送的数据中的部分数据,使得可以降低资源消耗,并且采用与主设备不同的保存方式,数据被同时污染的概率较小,从而提高数据安全性。
本发明实施例提供一种数据查询的方法,该方法的执行主体为配置管理中心设备,如图2所示,该方法包括:
步骤201,配置管理中心设备接收数据请求,所述数据请求包括当前服务所需的数据,所述数据为基于上述数据存储方法存储于主设备和/或从设备中的数据;
其中,当前服务所需的数据可以为用户登陆某个应用时需要的密码等数据,或者可以为服务过程中,主设备宕机时,需要替换主设备时需要的从设备中的数据。
步骤202,根据所述数据请求,在保存的系统资料中查询满足所述当前服务所需的数据所在的设备,并获取所述设备的设备标号。
所述保存的系统资料包括主设备标号、各个从设备标号、主设备中保存的数据以及各个从设备中保存的数据说明。
需要说明的是,当前服务所需的数据所在的设备可以为主设备和/或从设备,获取设备的设备标号后,即可由设备标号对应的设备中保存的数据提供当前服务。
本发明实施例提供的一种数据查询的方法,通过配置管理中心设备中保存系统资料,使得可以保证不间断的提供正常服务。
实施例2
本发明实施例提供一种数据处理的方法,如图3所示,该方法包括:
步骤301,主设备接收输入的数据,更新主设备的当前数据序列号,并将所述数据进行第一保存;
例如,接收用户输入的登录所需要的数据,并根据SN’=SN+1更新当前数据序列号,其中,SN为当前数据序列号,SN’为更新后的数据序列号。即主设备没接收一组新的数据,将当前数据序列号执行加1的操作。这里“一组”表示可以用于登录的至少一个数据。
例如,数据可以为登录某游戏所需要的登录ID(Identity,身份标识)、密码,昵称、等级、年龄、性别、备注等等。
可选的,第一保存指可以将数据在第三方数据库MYSQL中保存,或者可以将数据采用文件存储。由于主设备中保存的数据量比较大,可以采用固定大小的大数组进行保存,还可以采用哈希表进行保存。
可选的,如图4所示的数据处理系统架构的示意图,API(ApplicationProgramming Interface,应用程序编程接口)包括数据写入接口SetData和数据获取接口GetData。其中,数据写入接口用于将数据写入存储模块,例如,执行写操作时,写进程负责提供上层逻辑处理器写入数据的请求,当接收到用户写入的数据时,通过应用程序编程接口的数据写入接口将数据写入保存模块,由保存模块进行第一保存。数据获取接口用于将数据从存储模块中读取,例如,执行读操作时,读进程负责提供上层逻辑处理器数据读取的请求,通过应用程序编程接口的数据获取接口将存储在保存模块中的数据读取出来。另外,当执行同步操作时,读取数据时,也通过应用程序编程接口的数据获取接口将存储在保存模块中的数据读取出来。
步骤302,分别获取所述主设备的当前数据序列号与从设备的当前数据序列号,并判断所述主设备的当前数据序列号与从所述设备的当前数据序列号是否相同;
可选的,主设备与从设备每接收一组新的数据,即进行一次更新操作,其中从设备执行更新操作的过程与主控制执行更新操作的过程相同。需要说明的是,主设备与从设备接收到的每一组新数据都携带一个序列号,用于标识当前数据。
当主设备接收到新的数据进行数据序列号更新后,从设备此时还没有接收到主设备发送的新的数据,因此从设备的数据序列号为上一次更新之后的序列号。
步骤303,当所述当前序列号与从设备的当前序列号不一致时,将所述数据发送给至少一个所述从设备,以便所述从设备根据预设选择条件选择所述数据中的部分数据进行第二保存;
此时,主设备与从设备的数据序列号不同,则主设备将所述数据发送给至少一个所述从设备进行数据同步更新,从设备接收到数据后进行数据序列号更新,此时主设备与从设备的数据序列号保持一致。
可选的,如图4所示,通过应用程序编程接口的数据获取接口获取保存的所述数据,并将所述数据发送给至少一个所述从设备。数据可以以压缩包的形式发送。
步骤304,从设备接收主设备发送的数据,更新从设备的当前数据序列号;
各个从设备接收到数据后,都需要进行数据序列号的更新。其中,数据序列号更新的方式与主设备进行数据序列号更新的方式相同,在此不一一赘述。
步骤305,根据预设选择条件选择所述数据中的部分数据进行第二保存。
进一步的,将所述数据划分为不同的字段;根据预设选择条件选择所述数据中的部分字段进行第二保存。例如,可以将进行某游戏所需要的数据划分为登录ID(Identity,身份标识)、密码,昵称、等级、年龄、性别、备注等字段。
需要说明的是,预设选择条件为根据从设备当前执行的业务的特点设置的选择数据的条件。例如,所述根据预设选择条件选择的部分字段包括登陆备份字段或用户简单资料备份字段。
可选的,当所述预设选择条件为所述登陆备份字段时,则选择所述数据中的登陆备份字段进行第二保存,并删除除所述登陆备份字段之外的字段;
当所述预设选择条件为所述用户简单资料备份字段时,则选择所述数据中的用户简单资料备份字段进行第二保存,并删除除所述用户简单资料备份字段之外的字段。
例如,进行游戏登录时,登录ID与密码比较重要,此时,从设备中的预设选择条件可以为登陆备份字段,即只保存主设备发送的数据中的登录ID与密码字段,保证登录服务。另外,为了适应批量获取用户的简单资料时,例如,用户的昵称、性别等简单资料,此时,从设备中的预设选择条件可以为用户简单资料备份字段,即只保存主设备发送的数据中的昵称、性别等资料。当然还可以根据其他的业务特点选择不同的字段进行第二保存。
可选的,如图4所示,从设备中的应用程序编程接口包括数据写入接口SetData和数据获取接口GetData。根据预设选择条件选择所述数据中的部分数据,通过应用程序编程接口的数据写入接口将所述部分数据写入保存模块,由保存模块进行第二保存。
可选的,如图4所示,第二保存指可以将数据在内存Cache中保存。从设备可以采用链表的形式进行数据保存。
需要说明的是,主设备与从设备中都有三个业务进程:读进程、写进程、同步进程。上层逻辑处理器可以对主设备执行读写请求,对从设备执行读请求,主设备通过与从设备上数据序列号的比较,当两者的数据序列号不同时,则执行同步操作。
进一步的,配置管理中心设备接收上层逻辑处理模块发送的数据请求,所述数据请求包括当前服务所需的数据;
例如当需要登录游戏时,需要读取密码,此时数据请求为可以提供登录游戏的密码。
配置管理中心设备根据所述数据请求,在保存的系统资料中查询满足所述当前服务所需的数据所在的设备,并获取所述设备的设备标号,并将所述设备标号发送给所述上层逻辑处理模块。
需要说明的是,当前服务所需的数据所在的设备可以为主设备和/或从设备。
例如,当主设备发生异常不能完成登录操作时,例如,主设备宕机时,上层逻辑处理器重定向到从设备上完成登录动作,即从设备接收上层逻辑处理器发送的更换提供服务的设备请求,通过应用程序编程接口的数据获取接口获取保存的所述部分数据,完成登录操作,进一步提供服务。
另外,在确定由哪一个从设备提供服务时,可以通过一个集中的配置管理中心设备来管理。配置管理中心设备为一个独立的设备,其中保存着系统资料,如主设备标号、各个从设备标号、主设备中保存的数据以及各个从设备中保存的数据说明(例如,登陆备份字段、用户简单资料备份字段等)。
当主设备宕机时,上层逻辑处理器向配置管理中心设备发送数据请求,请求提供继续完成当前服务所需的数据。配置管理中心设备通过查找保存的系统资料确定可以提供服务的从设备,并将从设备标号发送给上层逻辑处理器,上层逻辑处理器重定向到从设备标号对应的从设备上,由从设备中保存的数据提供当前服务。
本发明实施例提供一种数据处理的方法,通过从设备保存主设备发送的数据中的部分数据,使得可以有效地降低从设备的硬件消耗,并且从设备与主设备采用不同的数据保存方式,数据被同时污染的概率较小,从而提高数据安全性。
实施例3
本发明实施例提供一种数据存储的装置,该装置可以为主设备,如图5所示,该装置包括:接收模块501,保存模块502,同步模块503;
接收模块501,用于接收输入的数据,更新主控器的当前数据序列号;
可选的,接收用户输入的登录所需要的数据,并根据SN’=SN+1更新当前数据序列号,其中,SN为当前数据序列号,SN’为更新后的数据序列号。即主控器没接收一组新的数据,将当前数据序列号执行加1的操作。这里“一组”表示可以用于登录的至少一个数据。
例如,数据可以为登录某游戏所需要的登录ID(Identity,身份标识)、密码,昵称、等级、年龄、性别、备注等等。
保存模块502,用于将所述数据进行第一保存;
进一步的,如图6所示,该装置还包括:数据写入接口504,用于将所述数据写入所述保存模块502。
可选的,第一保存指可以将数据在第三方数据库MYSQL中保存,或者可以将数据采用文件存储。由于主设备中保存的数据量比较大,可以采用固定大小的大数组进行保存,还可以以哈希表进行保存。
判断模块505,用于分别获取所述主设备的当前数据序列号与从设备的当前数据序列号,并判断所述主设备的当前数据序列号与从所述设备的当前数据序列号是否相同;
当所述当前序列号与从设备的当前序列号不一致时,同步模块503,用于将所述数据发送给至少一个所述从设备,以便所述从设备根据预设选择条件选择所述数据中的部分数据进行第二保存;其中,所述第一保存与所述第二保存采用不同的数据结构。
所述第二保存采用链表的形式将所述部分数据保存在内部存储中。
如图6所示,该装置还包括:数据获取接口506,用于从所述保存模块502获取保存的所述数据。
本发明实施例提供一种数据存储的装置,通过接收模块,用于接收输入的数据,更新主设备的当前数据序列号;保存模块,用于将所述数据进行第一保存;同步模块,用于当所述当前序列号与从设备的当前序列号不一致时,将所述数据发送给至少一个所述从设备,以便所述从设备根据预设选择条件选择所述数据中的部分数据进行第二保存。本发明实施例提供的方案可以降低资源消耗,并且主设备与从设备采用不同的保存方式,数据被同时污染的概率较小,从而提高数据安全性。
本发明实施例提供一种数据存储的装置,该装置可以为从设备,如图7所示,该装置包括:接收模块701,保存模块702;
接收模块701,用于接收主设备发送的数据,更新从设备的当前数据序列号,
可选的,根据SN’=SN+1更新当前数据序列号,其中,SN为当前数据序列号,SN’为更新后的数据序列号。即从设备每次从主设备接收一个新的数据包,将当前数据序列号执行加1的操作。这里数据包为主设备将需要发送的数据进行压缩成的数据包,便于快速传输。
保存模块702,用于根据预设选择条件选择所述数据中的部分数据进行第二保存。
可选的,第二保存指可以将数据在内存Cache中保存。从设备可以采用链表的形式进行数据保存。
进一步的,如图8所示,所述装置还包括数据写入接口703,用于将所述部分数据写入所述保存模块702。
进一步的,如图8所示,所述保存模块702包括:划分单元7021,保存单元7022;
划分单元7021,用于将所述数据划分为不同的字段;例如,可以将登录某游戏所需要的数据划分为登录ID(Identity,身份标识)、密码,昵称、等级、年龄、性别、备注等字段。
保存单元7022,用于根据预设选择条件选择所述数据中的部分字段进行第二保存。
进一步的,所述根据预设选择条件选择的部分字段包括登陆备份字段或用户简单资料备份字段。如图8所示,所述保存单元7022包括第一保存子单元70221,第二保存子单元70222;当所述预设选择条件为所述登陆备份字段时,第一保存子单元70221,用于则选择所述数据中的登陆备份字段进行第二保存,并删除除所述登陆备份字段之外的字段;
第二保存子单元70222,用于当所述预设选择条件为所述用户简单资料备份字段时,则选择所述数据中的用户简单资料备份字段进行第二保存,并删除除所述用户简单资料备份字段之外的字段。
例如,进行游戏登录时,登录ID与密码比较重要,此时,从设备中的预设选择条件可以为登陆备份字段,即只保存主设备发送的数据中的登录ID与密码字段,保证登录服务。另外,为了适应批量获取用户的简单资料时,例如,用户的昵称、性别等简单资料,此时,从设备中的预设选择条件可以为用户简单资料备份字段,即只保存主设备发送的数据中的昵称、性别等资料。当然还可以根据其他的业务特点选择不同的数据进行第二保存。
进一步的,当所述主设备发生异常而不能正常服务时,例如,主设备宕机时,所述接收模块701还用于,接收上层逻辑处理器发送的更换提供服务的设备请求;
所述装置还包括:数据获取接口704,用于从所述保存模块702获取保存的所述部分数据,进一步的提供正常服务。
本发明实施例提供一种数据存储的装置,通过接收模块,用于接收主设备发送的数据,更新从设备的当前数据序列号,保存模块,用于根据预设选择条件选择所述数据中的部分数据进行第二保存,使得从设备仅保存主设备中的部分数据,可以降低资源消耗,并且主设备与从设备采用不同的保存方式,数据被同时污染的概率较小,从而提高数据安全性。
本发明实施例提供一种数据查询的装置,如图9所示,该装置可以为配置管理中心设备,该装置包括:接收模块901,查询模块902;
接收模块901,用于接收数据请求,所述数据请求包括当前服务所需的数据,所述数据为存储于主设备和/或从设备中的数据;
例如当需要登录游戏时,需要读取密码,此时数据请求为登陆游戏所需的密码,此时密码可以保存在主设备和/从设备中。
查询模块902,用于根据所述数据请求,在保存的系统资料中查询满足所述当前服务所需的数据所在的设备,并获取所述设备的设备标号。
需要说明的是,当前服务所需的数据所在的设备可以为主设备和/或从设备。
例如,当主设备发生异常不能完成登录操作时,例如,主设备宕机时,上层逻辑处理器重定向到从设备上完成登录动作,即从设备接收上层逻辑处理器发送的更换提供服务的设备请求,通过应用程序编程接口的数据获取接口获取保存的所述部分数据,完成登录操作,进一步提供服务。
另外,在确定由哪一个从设备提供服务时,可以通过一个集中的配置管理中心设备来管理。配置管理中心设备为一个独立的设备,其中保存着系统资料,如主设备标号、各个从设备标号、主设备中保存的数据以及各个从设备中保存的数据说明(例如,登陆备份字段、用户简单资料备份字段等)。
当主设备宕机时,上层逻辑处理器向配置管理中心设备发送数据请求,请求提供继续完成当前服务所需的数据。配置管理中心设备通过查找保存的系统资料确定可以提供服务的从设备,并将从设备标号发送给上层逻辑处理器,上层逻辑处理器重定向到从设备标号对应的从设备上,由从设备中保存的数据提供当前服务。
本发明实施例提供一种数据查询的装置,通过根据所述当前服务在保存的系统资料中查询满足所述当前服务的数据所在的设备标号,并将查询到的设备标号发送给所述上层逻辑处理模块,使得可以保证不间断的提供正常服务。
实施例4
本发明实施例提供一种数据处理的系统,如图10所示,包括主设备1001、至少一个从设备1002、上层逻辑处理模块1003以及配置管理中心设备1004;
所述主设备1001,用于接收输入的数据,更新主设备的当前数据序列号,并将所述数据进行第一保存;以及将所述数据发送给至少一个从设备1002;
所述从设备1002,用于接收主设备901发送的数据,并更新所述从设备的当前数据序列号;以及根据预设选择条件选择所述数据中的部分数据进行第二保存;
所述上层逻辑处理模块1003,用于当接收到需要提供当前服务的数据请求时,向所述配置管理中心设备1004发送数据请求,包括当前服务所需的数据;
所述配置管理中心设备1004,用于接收上层逻辑处理模块1003发送的数据请求,所述数据请求包括当前服务所需的数据;以及根据所述数据请求,在保存的系统资料中查询满足所述当前服务所需的数据所在的设备,获取所述设备的设备标号,并将所述设备标号发送给所述上层逻辑处理模块1003。
需要说明的是,当前服务所需的数据所在的设备可以为主设备和/或从设备,获取设备的设备标号后,即可由设备标号对应的设备中保存的数据提供当前服务。
需要说明的是,所述主设备为附图6提供的数据存储的装置,所述从设备为附图8提供的另一种数据存储的装置,所述配置管理中心设备为附图9提供的数据查询的装置。
本发明实施例提供一种数据处理的系统,通过从设备根据预设选择条件选择主设备中保存的数据中的部分数据进行保存,使得以降低资源消耗,并且主设备与从设备采用不同的保存方式,数据被同时污染的概率较小,从而提高数据安全性,以及通过配置管理中心设备查找满足服务的设备标号以提供不间断的正常服务。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。