CN110309191B - 存储业务数据的方法、装置和系统 - Google Patents
存储业务数据的方法、装置和系统 Download PDFInfo
- Publication number
- CN110309191B CN110309191B CN201810306569.9A CN201810306569A CN110309191B CN 110309191 B CN110309191 B CN 110309191B CN 201810306569 A CN201810306569 A CN 201810306569A CN 110309191 B CN110309191 B CN 110309191B
- Authority
- CN
- China
- Prior art keywords
- data
- service
- server
- storage
- storage server
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种存储业务数据的方法、装置和系统,属于数据存储技术领域。所述方法包括:接收业务服务器发送的数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述第一数据格式的业务数据对应的业务标识;将所述业务数据存储到第一存储服务器中,所述第一存储服务器对应的存储格式为所述第一数据格式;根据预先存储的所述业务标识对应的数据描述文件,将第一数据格式的业务数据转换为第二数据格式的业务数据;将所述第二数据格式的业务数据存储到第二存储服务器中,其中,所述第二存储服务器对应的存储格式为所述第二数据格式。采用本发明,可以提高开发效率。
Description
技术领域
本发明涉及数据存储技术领域,特别涉及一种存储业务数据的方法、装置和系统。
背景技术
随着电子技术和数据存储技术的发展,各种各样的数据存储服务器得到了广泛的应用,比如,内存级存储服务器和文件级存储服务器,其中,内存级存储服务器具有读写快、可靠性较低的特点,文件级存储服务器具有读写慢、可靠性较高的特点。结合各个数据存储服务器的特点,可以将业务服务器的业务数据分别存储到内存级存储服务器和文件级存储服务器中,实现业务数据在这两个存储服务器中的同步。
为了使得将业务服务器的业务数据同步到内存级存储服务器及文件级存储服务器中,技术人员可以针对每种业务开发对应的数据同步代码,并将其预先设置在每种业务对应的业务服务器中。当业务服务器获取到业务数据后,可以根据对应的数据同步代码将业务数据存储到内存级存储服务器的同时,再将业务数据存储到文件级存储服务器中。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
基于上述处理方式,每个业务服务器中均需要设置有对应的数据同步代码,即每个业务的技术人员在开发业务的过程中,均需要开发数据同步代码,从而,导致开发效率较低。
发明内容
本发明实施例提供了一种存储业务数据的方法、装置和系统,可以解决相关技术中存在的开发效率较低的问题。所述技术方案如下:
一方面,提供了一种存储业务数据的方法,所述方法包括:
接收业务服务器发送的数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述业务数据对应的业务标识;
将所述第一数据格式的业务数据存储到第一存储服务器中,所述第一存储服务器中的数据的数据格式为所述第一数据格式;
根据预先存储的所述业务标识对应的数据描述文件,将所述第一数据格式的业务数据转换为第二数据格式的业务数据;
将所述第二数据格式的业务数据存储到第二存储服务器中,其中,所述第二存储服务器中的数据的数据格式为所述第二数据格式;
其中,所述第一存储服务器与所述第二存储服务器的类型不同,所述第一存储服务器和所述第二存储服务器为内存级存储服务器或文件级存储服务器。
一方面,提供了一种存储业务数据的方法,所述方法包括:
确定待存储的第一数据格式的业务数据;
向同步服务器发送数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述业务数据对应的业务标识,以使所述同步服务器将所述第一数据格式的业务数据存储到第一存储服务器中;根据预先存储的所述业务标识对应的数据描述文件将所述第一数据格式的业务数据转换为第二数据格式的业务数据;将所述第二数据格式的业务数据存储到第二存储服务器中。
一方面,提供了一种存储业务数据的装置,所述装置包括:
第一接收模块,用于接收业务服务器发送的数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述业务数据对应的业务标识;
第一存储模块,用于将所述第一数据格式的业务数据存储到第一存储服务器中,所述第一存储服务器中的数据的数据格式为所述第一数据格式;
确定模块,用于根据预先存储的所述业务标识对应的数据描述文件,将所述第一数据格式的业务数据转换为第二数据格式的业务数据;
第二存储模块,用于将所述第二数据格式的业务数据存储到第二存储服务器中,其中,所述第二存储服务器中的数据的数据格式为所述第二数据格式;
其中,所述第一存储服务器与所述第二存储服务器的类型不同,所述第一存储服务器和所述第二存储服务器为内存级存储服务器或文件级存储服务器。
一方面,提供了一种存储业务数据的装置,所述装置包括:
确定模块,用于确定待存储的第一数据格式的业务数据;
第一发送模块,用于向同步服务器发送数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述业务数据对应的业务标识,以使所述同步服务器将所述第一数据格式的业务数据存储到第一存储服务器中;根据预先存储的所述业务标识对应的数据描述文件将所述第一数据格式的业务数据转换为第二数据格式的业务数据;将所述第二数据格式的业务数据存储到第二存储服务器中。
一方面,提供了一种同步服务器,所述同步服务器包括配置装置和数据存储代理装置,其中:
所述数据存储代理装置,用于接收业务服务器发送的数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述业务数据对应的业务标识;
将所述第一数据格式的业务数据存储到第一存储服务器中,所述第一存储服务器对应的存储格式为所述第一数据格式;
根据所述配置装置中预先存储的所述业务标识对应的数据描述文件,将所述第一数据格式的业务数据转换为第二数据格式的业务数据;
将所述第二数据格式的业务数据存储到第二存储服务器中,其中,所述第二存储服务器对应的存储格式为所述第二数据格式。
一方面,提供了一种同步服务器,所述同步服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述所述的存储业务数据的方法。
一方面,提供了一种业务服务器,所述业务服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述所述的存储业务数据的方法。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述所述的存储业务数据的方法。
一方面,提供了一种存储业务数据的系统,所述系统包括同步服务器、业务服务器、第一存储服务器和第二存储服务器,其中:所述同步服务器,如上述所述的同步服务器;所述业务服务器,如上述所述的业务服务器;所述第一存储服务器,如上述所述的第一存储服务器;所述第二存储服务器,如上述所述的第二存储服务器。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,待存储业务数据的业务服务器可以通过同步服务器将业务数据存储到第一存储服务器中,业务服务器除了可以将业务数据存储到第一存储服务器之外,还可以自动将业务数据存储到第二存储服务器,其中,第一存储服务器和第二存储服务器为内存级存储服务器或文件级存储服务器。这样,每个业务服务器不需要执行将业务数据存储到第二存储服务器的处理,也即每个业务的技术人员在开发业务的过程中,均不需要开发数据同步代码,从而,可以提高开发效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1(a)是本发明实施例提供的一种系统框架示意图;
图1(b)是本发明实施例提供的一种系统框架示意图;
图2是本发明实施例提供的一种存储业务数据的方法流程图;
图3是本发明实施例提供的一种系统框架示意图;
图4是本发明实施例提供的一种存储业务数据的方法流程图;
图5是本发明实施例提供的一种存储业务数据的方法流程图;
图6是本发明实施例提供的一种系统框架示意图;
图7是本发明实施例提供的一种存储业务数据的装置结构示意图;
图8是本发明实施例提供的一种存储业务数据的装置结构示意图;
图9是本发明实施例提供的一种存储业务数据的装置结构示意图;
图10是本发明实施例提供的一种存储业务数据的装置结构示意图;
图11是本发明实施例提供的一种服务器的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种存储业务数据的方法,该方法可以由业务服务器101、同步服务器102、内存级存储服务器103和文件级存储服务器104共同实现,其中,系统框架图如图1(a)所示。其中,业务服务器101可以是某业务的后台服务器,同步服务器102可以是用于向内存级存储服务器和文件级存储服务器存储业务数据的服务器,同步服务器中可以设置有配置中心(也可称为配置装置)和数据存储代理访问层(也可称为数据存储代理装置)。
业务服务器101可以包括处理器、存储器、收发器等部件。处理器可以为CPU(Central Processing Unit,中央处理单元)等,可以用于确定待存储的第一数据格式的业务数据的相关处理。存储器可以为RAM(Random Access Memory,随机存取存储器)、Flash(闪存)等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如业务标识等。收发器可以用于与同步服务器进行数据传输,例如,向同步服务器发送数据存储请求等。
同步服务器102可以包括处理器、存储器、收发器等部件。处理器可以为CPU等,可以用于将业务数据存储到第一存储服务器中、第二存储服务器中的相关处理。存储器可以为RAM(Random Access Memory,随机存取存储器)、Flash(闪存)等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如业务数据、业务标识等。收发器可以用于与业务服务器进行数据传输,例如,接收业务服务器发送的数据存储请求等。
各业务服务器可以将自身的业务数据存储到内存级存储服务器和文件级存储服务器。其中,内存级存储服务器和文件级存储服务器对应的存储介质不同,内存级存储服务器具有读写快、可靠性较差(即存储在内存级存储服务器中的数据有丢失的可能)的特点,数据的存储格式为key-value,其中的数据可以是编码后的字节数组,比如可以是CloudKeyValue服务器(CKV,内存级、持久化、分布式的Key-Value存储服务器)、redis服务器或者其他key-value存储服务器。文件级存储服务器具有读写慢、可靠性较高的特点,其中的数据是符合数据表对应的数据字典描述的关系型数据,比如,可以是Cloud Database(CDB,高性能、高可靠的Mysql数据库)。另外,针对文件级存储服务器为CDB,内存级存储服务器为CKV,同步服务器中可以预先设置有CKV client(客户端)和CDB client,这样,同步服务器可以分别通过CKV client和CDB client向相应的存储服务器写入数据,逻辑框架图如图1(b)所示。
对于既要求读写快、又要求可靠性高的业务数据,相应的业务服务器将自身的业务数据存储到内存级存储服务器中的同时,还可以将自身的业务数据存储到文件级存储服务器中。例如,课程报名业务,用户可以通过终端选择自己想要学习的课程,进而,可以通过操作触发终端向业务服务器发送携带有课程名的数据存储请求。业务服务器接收到终端发送的数据存储请求后,可以将其存储到内存级存储服务器中,进而,可以将业务数据存储到文件级存储服务器中。这样,需要每个业务服务器中均需要设置有数据同步代码,即每个业务的技术人员在开发业务的过程中,均需要开发数据同步代码,从而,导致开发效率较低。然而,本方案中,业务服务器需要存储业务数据时,可以向同步服务器发送携带有业务数据和业务标识的数据存储请求。同步服务器接收到数据存储请求后,可以分别将业务数据存储到内存级存储服务器和文件级存储服务器中。这样,只需要在同步服务器中设置有数据同步代码,每个业务的技术人员在开发业务的过程中,不再需要开发数据同步代码,从而,可以提高开发效率,同时还可以避免人力浪费。另外,各业务服务器中无需再设置有数据同步代码,从而,可以减少各业务服务器中的代码冗余,减少各业务服务器中可执行文件的数据量。
下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:
步骤201,业务服务器确定待存储的第一数据格式的业务数据。
其中,业务服务器可以是通过同步服务器向内存级存储服务器和文件级存储服务器存储业务数据的任一业务服务器,第一数据格式可以是符合内存级存储服务器或文件级存储服务器的存储格式的数据格式。
在实施中,在工作过程中,当业务服务器需要存储业务数据时,业务服务器可以基于待存储的业务数据的特性,将业务数据进行相应处理,得到第一数据格式的业务数据。例如,待存储的业务数据需要读写快,则业务服务器可以将业务数据进行相应处理,得到key-value格式的业务数据,其中,key-value格式可以是内存级存储服务器中数据的存储格式。
步骤202,业务服务器向同步服务器发送数据存储请求,数据存储请求中携带有第一数据格式的业务数据、业务数据对应的业务标识。
在实施中,业务服务器确定出第一数据格式的业务数据后,可以向同步服务器发送数据存储请求,其中,数据存储请求中可以携带有第一数据格式的业务数据以及业务标识,如图3所示。其中,同步服务器中可以设置有读写数据接口,业务服务器确定出第一数据格式的数据存储请求后,可以调用同步服务器中的读写数据接口,在调用读写数据接口时,可以携带上第一数据格式的业务数据和业务标识。
步骤203,同步服务器接收业务服务器发送的数据存储请求,数据存储请求中携带有第一数据格式的业务数据、业务数据对应的业务标识。
在实施中,业务服务器向同步服务器发送数据存储请求后,同步服务器可以接收业务服务器发送的数据存储请求,并对其进行解析,获取其中携带的第一数据格式的业务数据和业务标识。
步骤204,同步服务器将第一数据格式的业务数据存储到第一存储服务器中,第一存储服务器对应的存储格式为第一数据格式。
在实施中,同步服务器获取到第一数据格式的业务数据后,同步服务器可以将其存储到数据的存储格式为第一数据格式的存储服务器中(可称为第一存储服务器),其中,第一存储服务器可以是内存级存储服务器,或者是文件级存储服务器。具体的,同步服务器可以向第一存储服务器发送数据写入请求,第一存储服务器接收到数据写入请求后,可以将第一数据格式的业务数据进行存储。另外,第一存储服务器成功将业务数据存储后,可以向同步服务器发送存储成功通知,如果未能成功将业务数据进行存储,可以向同步服务器发送存储失败通知。
可选的,每个业务可以对应有存储该业务的业务数据的文件级存储服务器,同步服务器在存储业务数据前,可以先确定该业务对应的文件级存储服务器,相应的,当第一存储服务器为文件级存储服务器时,即当第一数据格式的业务数据是待存储到文件级存储服务器的业务数据时,同步服务器可以先确定待存储业务数据的第一存储服务器。同步服务器确定第一存储服务器的处理过程可以如下:根据预先存储的业务标识与数据库配置信息的对应关系,确定数据存储请求中携带的业务标识对应的数据库配置信息,根据确定出的数据库配置信息确定第一存储服务器。
在实施中,一般情况下,向文件级存储服务器中存储业务数据时,需要获知待存储业务数据的文件级存储服务器的数据库配置信息,其中,数据库配置信息可以包括:文件级存储服务器的IP(Internet Protocol,网络之间互连的协议)地址、端口号、用户名、密码以及数据库名,其中,用户名和密码可以是该业务对应的业务服务器预先注册的用户名和密码。
同步服务器中可以预先存储有各个业务的业务标识与数据库配置信息的对应关系,其中,数据库配置信息用于确定存储对应业务的业务数据的文件级存储服务器,可以是对应文件级存储服务器的标识。当第一存储服务器为文件级存储服务器时,即当第一数据格式为文件级存储服务器中数据的存储格式时,同步服务器接收到业务服务器发送的数据存储请求后,可以在上述对应关系中,确定业务标识对应的数据库配置信息,进而,可以将确定出的数据库配置信息对应的文件级服务器确定为第一存储服务器。确定出第一存储服务器后,即确定出数据库配置信息后,同步服务器可以基于数据库配置信息,确定用于与第一存储服务器进行通信的连接,进而,可以通过该连接将业务数据存储到第一存储服务器。其中,针对数据库配置信息包括数据库名的情况,同步服务器可以将业务数据存储到数据库配置信息中数据库名对应的数据库中。
步骤205,同步服务器根据预先存储的业务标识对应的数据描述文件,将第一数据格式的业务数据转换为第二数据格式的业务数据。
在实施中,同步服务器中可以预先存储有各业务标识与数据描述文件的对应关系,其中,数据描述文件即Protocal Buffer文件,可以是用于描述对应业务数据的数据存储方式的文件。其中,某业务对应的数据描述文件可以包括字段名、字段名的顺序、每个字段的数据占用的字节数、字段数据的类型(比如整型、浮点型等)。例如,课程报名业务,该业务对应的数据描述文件可以是:用户名(占用4字节、整型)、课程名(占用4字节、short型)、报名时间(占用8字节、long型)等。
同步服务器接收到数据存储请求后,除了可以将第一数据格式的业务数据存储到第一存储服务器中之外,还可以在上述对应关系中,确定数据存储请求中携带的业务标识对应的数据描述文件,进而,可以基于业务标识对应的数据描述文件,对第一数据格式的业务数据进行格式转换,得到第二数据格式的业务数据。其中,内存级存储服务器中存储的数据可以是根据数据描述文件编码后的数据,可以是编码后的字节数组,文件级存储服务器中存储的数据可以是未经编码的业务数据,可以是关系型数据。
可选的,同步服务器可以在成功将第一数据格式的业务数据存储到第一存储服务器的情况下,执行步骤205的处理,相应的,步骤205的处理过程可以如下:如果成功将业务数据存储到第一存储服务器中,则同步服务器根据预先存储的业务标识对应的数据描述文件,将第一数据格式的业务数据转换为第二数据格式的业务数据。
在实施中,针对第一存储服务器成功将业务数据存储后,向同步服务器发送存储成功通知的情况,同步服务器接收到存储成功通知后,可以根据预先存储的业务标识对应的数据描述文件,将第一数据格式的业务数据转换为第二数据格式的业务数据。如果同步服务器没接收到存储成功通知,则同步服务器可以不再确定第二数据格式的业务数据,即可以不再将业务数据同步到第二存储服务器中。
可选的,基于第一数据格式对应的格式的不同,步骤205的处理方式可以多种多样,以下给出了几种可行的处理方式:
方式一,当第一存储服务器为内存级存储服务器时,即当第一数据格式的业务数据为编码后的字节数组时,相应的,步骤205的处理过程可以如下:根据预先存储的业务标识对应的数据描述文件,将编码后的字节数组解码成关系型数据,得到第二数据格式的业务数据。
在实施中,在第一存储服务器为内存级存储服务器时,即当第一数据格式为符合内存级存储服务器中数据的存储格式时,即当第一数据格式的业务数据是根据数据描述文件编码后的业务数据时,同步服务器获取到数据存储请求中携带的业务标识对应的数据描述文件后,可以基于数据描述文件,利用Protocol Buffer的反射机制对编码后的业务数据(即第一数据格式的业务数据)进行解码,得到第二数据格式的业务数据,即得到可以存储到文件级存储服务器的业务数据,也即可以得到存储到文件级存储服务器的关系型数据。
方式二,当第一存储服务器为文件级存储服务器时,即当所述第一数据格式的业务数据为关系型数据时,相应的,步骤205的处理过程可以如下:根据预先存储的业务标识对应的数据描述文件,对关系型数据编码为字节数组,得到第二数据格式的业务数据。
在实施中,当第一存储服务器为文件级存储服务器时,即当第一数据格式的业务数据为未经编码的业务数据(关系型数据)时,同步服务器获取到数据存储请求中携带的业务标识对应的数据描述文件后,可以基于数据描述文件,对第一数据格式的业务数据进行编码,得到第二数据格式的业务数据,即得到key-value型的业务数据,即得到存储到内存级存储服务器中的字节数据。
步骤206,同步服务器将第二数据格式的业务数据存储到第二存储服务器中,第二存储服务器对应的存储格式为第二数据格式。
其中,第一存储服务器与第二存储服务器的类型不同,第一存储服务器和第二存储服务器为内存级存储服务器或文件级存储服务器。
在实施中,同步服务器获取到第二数据格式的业务数据后,可以将其存储到存储格式为第二数据格式的存储服务器(可称为第二存储服务器)中。
可选的,每个业务可以对应有存储该业务的业务数据的文件级存储服务器,同步服务器在存储业务数据前,可以先确定该业务对应的文件级存储服务器,相应的,当第二存储服务器为文件级存储服务器时,即当第一数据格式的业务数据是待存储到内存级存储服务器的业务数据时,同步服务器在向第二存储服务器中存储业务数据前,可以先确定第二存储服务器,相应的,处理过程可以如下:根据预先存储的业务标识与数据库配置信息的对应关系,确定数据存储请求中携带的业务标识对应的数据库配置信息,根据数据库配置信息确定第二存储服务器。
在实施中,当第二存储服务器为文件级存储服务器时,即当第二数据格式为文件级存储服务器中数据的存储格式时,同步服务器可以在预先存储的业务标识与数据库配置信息的对应关系中,确定业务标识对应的数据库配置信息,进而,可以将确定出的数据库配置信息对应的文件级服务器确定为第二存储服务器。确定出第二存储服务器和得到第二数据格式的业务数据后,同步服务器可以基于数据库配置信息,确定用于与第二存储服务器进行通信的连接,进而,可以通过该连接将第二数据格式的业务数据存储到第二存储服务器。其中,针对数据库配置信息包括数据库名的情况,同步服务器可以将业务数据存储到数据库配置信息中数据库名对应的数据库中。
另外,数据存储请求中还可以携带有待存储业务数据的内存级存储服务器的标识,此种情况下,当第一存储服务器或第二存储服务器中是内存级存储服务器时,同步服务器可以通过数据存储请求中携带的内存级存储服务器的标识,确定第一存储服务器或第二存储服务器。
可选的,某些情况下,同步服务器向第二存储服务器存储第二数据格式的业务数据时,可能会失败,此种情况下,同步服务器还可以进行如下处理:如果未能成功将第二数据格式的业务数据存储到第二存储服务器中,则再次将第二数据格式的业务数据存储到第二存储服务器中。
在实施中,如果同步服务器未能成功将第二数据格式的业务数据存储到第二存储服务器中,则同步服务器可以将业务数据存放在重试队列中,从而,可以再次将第二数据格式的业务数据存储到第二存储服务器中。
另外,针对第一数据格式是符合内存级存储服务器的存储格式的情况,本发明实施例还提供了如图4所示的流程,具体的:
步骤401,业务服务器确定待存储的第一数据格式的业务数据。
其中,业务服务器可以是通过同步服务器向内存级存储服务器和文件级存储服务器存储业务数据的任一业务服务器,第一数据格式可以是符合内存级存储服务器的存储格式。
在实施中,在工作过程中,当业务服务器需要存储业务数据时,业务服务器可以获取预选存储的数据描述文件,进而,可以基于数据描述文件对业务数据进行编码,得到编码后的业务数据,即得到第一数据格式的业务数据。
步骤402,业务服务器向同步服务器发送数据存储请求,数据存储请求中携带有第一数据格式的业务数据、业务数据对应的业务标识。
在实施中,业务服务器确定出第一数据格式的业务数据后,可以向同步服务器发送数据存储请求,其中,数据存储请求中可以携带有第一数据格式的业务数据以及业务标识。其中,同步服务器中可以设置有读写数据接口,业务服务器确定出第一数据格式的数据存储请求后,可以调用同步服务器中的读写数据接口,在调用读写数据接口时,可以携带上第一数据格式的业务数据和业务标识。
步骤403,同步服务器接收业务服务器发送的数据存储请求,数据存储请求中携带有第一数据格式的业务数据、业务数据对应的业务标识。
在实施中,业务服务器向同步服务器发送数据存储请求后,同步服务器可以接收业务服务器发送的数据存储请求,并对其进行解析,获取其中携带的第一数据格式的业务数据和业务标识。
步骤404,同步服务器将第一数据格式的业务数据存储到第一存储服务器中,第一存储服务器对应的存储格式为第一数据格式。
在实施中,同步服务器获取到第一数据格式的业务数据后,同步服务器可以将第一数据格式的业务数据存储到内存级存储服务器(可称为第一存储服务器)中。另外,针对数据存储请求中携带有内存级存储服务器的标识的情况,同步服务器接收到数据存储请求后,可以将业务数据存储到内存级存储服务器的标识对应的内存级存储服务器中,即第一存储服务器可以是数据存储请求中携带的内存级存储服务器的标识对应的存储服务器。具体的,同步服务器可以向第一存储服务器发送数据写入请求,第一存储服务器接收到数据写入请求后,可以将数据写入请求中携带的业务数据进行存储。这样,同步服务器接收到数据存储请求后,可以直接将业务数据存储到第一存储服务器中,可以确保业务服务器可以及时获取到业务数据写入内存级存储服务器的存储结果通知,可以保证业务数据写入快的特点。
步骤405,同步服务器根据预先存储的业务标识对应的数据描述文件,根据预先存储的业务标识对应的数据描述文件,将编码后的字节数组解码成关系型数据,得到第二数据格式的业务数据。
在实施中,同步服务器获取到数据存储请求中携带的业务标识对应的数据描述文件后,可以获取数据存储请求中携带的业务标识对应的数据描述文件,进而,可以基于业务标识对应的数据描述文件,利用Protocol Buffer的反射机制对编码后的业务数据(即第一数据格式的业务数据)进行解码,得到第二数据格式的业务数据,即得到可以存储到文件级存储服务器的业务数据。
步骤406,同步服务器根据预先存储的业务标识与数据库配置信息的对应关系,确定数据存储请求中携带的业务标识对应的数据库配置信息,根据确定出的数据库配置信息确定第二存储服务器。
在实施中,同步服务器可以在预先存储的业务标识与数据库配置信息的对应关系中,确定业务标识对应的数据库配置信息,进而,可以将确定出的数据库配置信息对应的文件级服务器确定为第二存储服务器。
其中,步骤405和步骤406没有先后执行顺序,同步服务器可以同时执行步骤405和步骤406,也可以先执行步骤405,再执行步骤406,也可以先执行步骤406,再执行步骤405。
步骤407,同步服务器将第二数据格式的业务数据存储到第二存储服务器中,其中,第二存储服务器对应的存储格式为第二数据格式。
在实施中,确定出第二存储服务器和得到第二数据格式的业务数据后,同步服务器可以基于数据库配置信息,确定用于与第二存储服务器进行通信的连接,进而,可以通过该连接将第二数据格式的业务数据存储到第二存储服务器。其中,针对数据库配置信息包括数据库名的情况,同步服务器可以将业务数据存储到数据库配置信息中数据库名对应的数据库中。具体的,同步服务器可以向第二存储服务器发送数据写入请求,第二存储服务器接收到数据写入请求后,可以将数据写入请求中携带的业务数据进行存储。
可选的,某些情况下,同步服务器向第二存储服务器存储第二数据格式的业务数据时,可能会失败,此种情况下,同步服务器还可以进行如下处理:如果未能成功将第二数据格式的业务数据存储到第二存储服务器中,则再次将第二数据格式的业务数据存储到第二存储服务器中。
在实施中,如果同步服务器未能成功将第二数据格式的业务数据存储到第二存储服务器中,则同步服务器可以将业务数据存放在重试队列中,从而,可以再次将第二数据格式的业务数据存储到第二存储服务器中。这样,可以保障第一存储服务器和第二存储服务器中的数据保持一致性。
此外,第二存储服务器中还可以设置有去重处理。具体的,同步服务器向第二存储服务器中存储业务数据时,还可以携带有业务标识和key值,相应的,第二存储服务器在存储业务数据时,可以判断数据表中是否存在相应的业务标识和key值,如存在,则可以不再进行存储,如不存在,则可以将业务数据存储到数据表中。
本发明实施例中,容量上限为20000写请求/秒,可以保持较高的写速度,从而,可以保证内存级存储服务器读写快的特点。另外,业务服务器中无需设置数据同步代码和用于保障数据一致性的代码,从而,可以避免该部分的开发人员的人力浪费,也可以减少各业务服务器中的代码冗余,减小业务服务器中可执行文件的数据量。
另外,同步服务器中预先存储的数据库配置信息可以是相应的业务服务器预先发送至同步服务器中的,相应的,本发明实施例还提供了如图5所示的流程。
步骤501,业务服务器向同步服务器发送数据描述文件和数据库配置信息。
在实施中,业务服务器在通过同步服务器向内存级存储服务器和文件级存储服务器存储业务数据前,可以向同步服务器发送自身业务对应的数据描述文件和数据库配置信息。其中,业务服务器可以同时向同步服务器发送数据描述文件和数据库配置信息,也可以分开向同步服务器发送数据描述文件和数据库配置信息。
步骤502,同步服务器接收业务服务器发送的数据描述文件和数据库配置信息。
在实施中,业务服务器向同步服务器发送数据描述文件和数据库配置信息后,同步服务器可以接收业务服务器发送的数据描述文件和数据库配置信息。
其中,对于数据描述文件,业务服务器可以将数据描述文件发送至同步服务器的配置中心中,相应的,业务服务器可以通过配置中心对数据描述文件进行解析并以临时文件的形式存储在硬盘上。
步骤503,同步服务器创建数据描述文件和数据库配置信息对应的业务标识。
在实施中,同步服务器接收到数据描述文件和数据库配置信息后,可以创建数据描述文件和数据库配置信息对应的业务标识,即可以为该业务服务器对应的业务分配对应的业务标识。
步骤504,同步服务器将业务标识与数据描述文件、数据库配置信息进行对应存储,并向业务服务器发送业务标识。
其中,业务标识具有唯一性。
在实施中,同步服务器创建业务标识后,可以将业务标识与数据描述文件、数据库配置信息对应存储,并可以向业务服务器发送该业务标识,以便业务服务器在发送数据存储请求时,可以携带相应的业务标识。
另外,同步服务器接收到数据描述文件和数据库配置信息后,除了为其创建对应的业务标识外,还可以通过数据库配置信息,确定用于与对应文件级存储服务器进行通信的连接,进而,可以通过该连接向相应的文件级存储服务器发送数据表创建命令(其中,该数据表创建命令是基于数据描述文件得到的),文件级存储服务器接收到数据表创建命令后,可以创建符合数据描述文件的数据表,以便存储业务服务器发送的业务数据。也就是说,同步服务器可以根据数据描述文件向数据库配置信息对应的文件级存储服务器发送数据表创建命令。
另外,同步服务器中还可以设置有数据表创建引擎,相应的,数据表创建引擎可以获取临时文件,并可以通过数据库配置信息,确定用于与对应文件级存储服务器进行通信的连接,进而,可以通过该连接向相应的文件级存储服务器发送数据表创建命令(其中,该数据表创建命令是基于数据描述文件得到的),文件级存储服务器接收到数据表创建命令后,可以创建符合数据描述文件的数据表,以便存储业务服务器发送的业务数据。另外,同步服务器中还可以预先设置有配置下发引擎和配置管理引擎,针对此种情况,配置下发引擎可以通过定时脚本获取业务标识对应的数据描述文件和数据库配置信息,并将其下发至配置管理引擎中,以便同步服务器可以通过配置管理引擎中的上述信息,确定待存储业务数据的文件级存储服务器和确定业务标识对应的数据描述文件,以便可以对业务数据进行解码或编码处理。其中,以内存级存储服务器为CKV、文件级存储服务器为CDB为例,本方案的逻辑框图可以如图6所示。
步骤505,业务服务器接收同步服务器发送的业务标识。
在实施中,同步服务器向业务服务器发送对应的业务标识后,业务服务器可以接收同步服务器发送的业务标识,并对其进行存储。
本发明实施例中,待存储业务数据的业务服务器可以通过同步服务器将业务数据存储到第一存储服务器中,业务服务器除了可以将业务数据存储到第一存储服务器之外,还可以自动将业务数据存储到第二存储服务器,其中,第一存储服务器和第二存储服务器为内存级存储服务器或文件级存储服务器。这样,每个业务服务器不需要执行将业务数据存储到第二存储服务器的处理,也即每个业务的技术人员在开发业务的过程中,均不需要开发数据同步代码,从而,可以提高开发效率。
基于相同的技术构思,本发明实施例还提供了一种存储业务数据的装置,如图7所示,所述装置为上述同步服务器,该装置包括:
第一接收模块710,用于接收业务服务器发送的数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述业务数据对应的业务标识;
第一存储模块720,用于将所述第一数据格式的业务数据存储到第一存储服务器中,所述第一存储服务器中的数据的数据格式为所述第一数据格式;
确定模块730,用于根据预先存储的所述业务标识对应的数据描述文件,将所述第一数据格式的业务数据转换为第二数据格式的业务数据;
第二存储模块740,用于将所述第二数据格式的业务数据存储到第二存储服务器中,其中,所述第二存储服务器中的数据的数据格式为所述第二数据格式;
其中,所述第一存储服务器与所述第二存储服务器的类型不同,所述第一存储服务器和所述第二存储服务器为内存级存储服务器或文件级存储服务器。
可选的,所述确定模块730,用于:
当所述第一数据格式的业务数据为编码后的字节数组时,根据预先存储的所述业务标识对应的数据描述文件,将所述编码后的字节数组解码成关系型数据,得到第二数据格式的业务数据。
可选的,所述第二存储模块740,还用于:
根据预先存储的业务标识与数据库配置信息的对应关系,确定所述数据存储请求中携带的业务标识对应的数据库配置信息,根据所述数据库配置信息确定第二存储服务器。
可选的,所述确定模块730,用于:
当所述第一数据格式的业务数据为关系型数据时,根据预先存储的所述业务标识对应的数据描述文件,对所述关系型数据编码为字节数组,得到第二数据格式的业务数据。
可选的,所述第一存储模块720,还用于:
根据预先存储的业务标识与数据库配置信息的对应关系,确定所述数据存储请求中携带的业务标识对应的数据库配置信息,根据所述数据库配置信息确定第一存储服务器。
可选的,如图8所示,所述装置还包括:
第二接收模块750,用于接收所述业务服务器发送的数据描述文件和数据库配置信息;
创建模块760,用于创建所述数据描述文件和数据库配置信息对应的业务标识;
第三存储模块770,用于将所述业务标识与所述数据描述文件、所述数据库配置信息进行对应存储,并向所述业务服务器发送所述业务标识。
可选的,所述第二存储模块740,还用于:
如果未能成功将所述第二数据格式的业务数据存储到第二存储服务器中,则再次将所述第二数据格式的业务数据存储到第二存储服务器中。
需要说明的是:上述实施例提供的存储业务数据的装置在存储业务数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将同步服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的存储业务数据的装置与存储业务数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于相同的技术构思,本发明实施例还提供了一种存储业务数据的装置,如图9所示,所述装置为上述业务服务器,该装置包括:
确定模块910,用于确定待存储的第一数据格式的业务数据;
第一发送模块920,用于向同步服务器发送数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述业务数据对应的业务标识,以使所述同步服务器将所述第一数据格式的业务数据存储到第一存储服务器中;根据预先存储的所述业务标识对应的数据描述文件将所述第一数据格式的业务数据转换为第二数据格式的业务数据;将所述第二数据格式的业务数据存储到第二存储服务器中。
可选的,如图10所示,所述装置还包括:
第二发送模块930,用于向所述同步服务器发送数据描述文件和数据库配置信息;
接收模块940,用于接收所述同步服务器发送的业务标识。
基于相同的技术构思,本发明实施例还提供了一种同步服务器,所述同步服务器包括配置装置和数据存储代理装置,其中:
所述数据存储代理装置,用于接收业务服务器发送的数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述业务数据对应的业务标识;
将所述第一数据格式的业务数据存储到第一存储服务器中,所述第一存储服务器对应的存储格式为所述第一数据格式;
根据所述配置装置中预先存储的所述业务标识对应的数据描述文件,将所述第一数据格式的业务数据转换为第二数据格式的业务数据;
将所述第二数据格式的业务数据存储到第二存储服务器中,其中,所述第二存储服务器对应的存储格式为所述第二数据格式。
可选的,所述配置装置还用于:
接收所述业务服务器发送的数据描述文件和数据库配置信息;
创建所述数据描述文件和数据库配置信息对应的业务标识;
将所述业务标识与所述数据描述文件、所述数据库配置信息进行对应存储,并向所述业务服务器发送所述业务标识。
本发明实施例中,待存储业务数据的业务服务器可以通过同步服务器将业务数据存储到第一存储服务器中,业务服务器除了可以将业务数据存储到第一存储服务器之外,还可以自动将业务数据存储到第二存储服务器,其中,第一存储服务器和第二存储服务器为内存级存储服务器或文件级存储服务器。这样,每个业务服务器不需要执行将业务数据存储到第二存储服务器的处理,也即每个业务的技术人员在开发业务的过程中,均不需要开发数据同步代码,从而,可以提高开发效率。
需要说明的是:上述实施例提供的存储业务数据的装置在存储业务数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将业务服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的存储业务数据的装置与存储业务数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11是本发明实施例提供的一种服务器的结构示意图。该服务器可以是单独的服务器或集群服务器,可以是上述同步服务器,也可以是上述业务服务器。具体来讲:
服务器包括中央处理单元(CPU)1101、随机存取存储器(RAM)1102和只读存储器(ROM)1103的系统存储器1104,以及连接系统存储器1104和中央处理单元1101的系统总线1105。服务器还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1106,和用于存储操作系统1113、应用程序1114和其他程序模块1115的大容量存储设备1107。
基本输入/输出系统1106包括有用于显示信息的显示器1108和用于用户输入信息的诸如鼠标、键盘之类的输入设备1109。其中显示器1108和输入设备1109都通过连接到系统总线1105的输入输出控制器1110连接到中央处理单元1101。基本输入/输出系统1106还可以包括输入输出控制器1110以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1110还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1107通过连接到系统总线1105的大容量存储控制器(未示出)连接到中央处理单元1101。大容量存储设备1107及其相关联的计算机可读介质为服务器提供非易失性存储。也就是说,大容量存储设备1107可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1104和大容量存储设备1107可以统称为存储器。
根据本发明的各种实施例,服务器还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器可以通过连接在系统总线1105上的网络接口单元1111连接到网络1112,或者说,也可以使用网络接口单元1111来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。所述一个或者一个以上程序包含用于进行本发明实施例提供的存储业务数据的方法的指令。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述的存储业务数据的方法。
本发明实施例中,待存储业务数据的业务服务器可以通过同步服务器将业务数据存储到第一存储服务器中,业务服务器除了可以将业务数据存储到第一存储服务器之外,还可以自动将业务数据存储到第二存储服务器,其中,第一存储服务器和第二存储服务器为内存级存储服务器或文件级存储服务器。这样,每个业务服务器不需要执行将业务数据存储到第二存储服务器的处理,也即每个业务的技术人员在开发业务的过程中,均不需要开发数据同步代码,从而,可以提高开发效率。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种存储业务数据的方法,其特征在于,所述方法应用于同步服务器,所述方法包括:
接收业务服务器发送的数据库配置信息和临时文件形式的数据描述文件;
创建所述数据库配置信息和所述数据描述文件对应的业务标识;
将所述业务标识与所述数据描述文件对应存储,向所述业务服务器发送所述业务标识;
基于所述数据描述文件,确定数据表创建命令,所述数据表创建命令用于文件级存储服务器创建符合所述数据描述文件的数据表;
通过连接向所述文件级存储服务器发送所述数据表创建命令,所述连接通过所述数据库配置信息确定;
接收所述业务服务器发送的数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述业务数据对应的业务标识;
将所述第一数据格式的业务数据存储到第一存储服务器中,所述第一存储服务器对应的存储格式为所述第一数据格式;
根据预先存储的所述业务标识对应的数据描述文件,将所述第一数据格式的业务数据转换为第二数据格式的业务数据;
将所述第二数据格式的业务数据存储到第二存储服务器中,所述第二存储服务器对应的存储格式为所述第二数据格式;
其中,所述第一存储服务器为所述文件级存储服务器,所述数据表用于存储所述第一数据格式的业务数据,或者,所述第二存储服务器为所述文件级存储服务器,所述数据表用于存储所述第二数据格式的业务数据。
2.根据权利要求1所述的方法,其特征在于,所述根据预先存储的所述业务标识对应的数据描述文件,将所述第一数据格式的业务数据转换为第二数据格式的业务数据,包括:
当所述第一数据格式的业务数据为编码后的字节数组时,根据预先存储的所述业务标识对应的数据描述文件,将所述编码后的字节数组解码成关系型数据,得到第二数据格式的业务数据。
3.根据权利要求1所述的方法,其特征在于,所述根据预先存储的所述业务标识对应的数据描述文件,将所述第一数据格式的业务数据转换为第二数据格式的业务数据,包括:
当所述第一数据格式的业务数据为关系型数据时,根据预先存储的所述业务标识对应的数据描述文件,对所述关系型数据编码为字节数组,得到第二数据格式的业务数据。
4.根据权利要求1-3中任一所述的方法,其特征在于,所述方法还包括:
根据预先存储的业务标识与数据库配置信息的对应关系,确定所述数据存储请求中携带的业务标识对应的数据库配置信息,根据所述数据库配置信息确定第一存储服务器或第二存储服务器。
5.根据权利要求1-3中任一所述的方法,其特征在于,所述方法还包括:
将所述业务标识与所述数据库配置信息对应存储。
6.根据权利要求1-3中任一所述的方法,其特征在于,所述方法还包括:
如果未能成功将所述第二数据格式的业务数据存储到第二存储服务器中,则再次将所述第二数据格式的业务数据存储到第二存储服务器中。
7.一种存储业务数据的方法,其特征在于,所述方法应用于业务服务器,所述方法包括:
向同步服务器发送数据库配置信息和临时文件形式的数据描述文件,以使所述同步服务器创建所述数据库配置信息和所述数据描述文件对应的业务标识;将所述业务标识与所述数据描述文件对应存储,向所述业务服务器发送所述业务标识;基于所述数据描述文件,确定数据表创建命令,所述数据表创建命令用于文件级存储服务器创建符合所述数据描述文件的数据表;所述同步服务器通过连接向所述文件级存储服务器发送所述数据表创建命令,所述连接通过所述数据库配置信息确定;
接收所述同步服务器发送的所述业务标识;
确定待存储的第一数据格式的业务数据;
向所述同步服务器发送数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述业务数据对应的业务标识,以使所述同步服务器将所述第一数据格式的业务数据存储到第一存储服务器中;根据预先存储的所述业务标识对应的数据描述文件将所述第一数据格式的业务数据转换为第二数据格式的业务数据;将所述第二数据格式的业务数据存储到第二存储服务器中;
其中,所述第一存储服务器为所述文件级存储服务器,所述数据表用于存储所述第一数据格式的业务数据,或者,所述第二存储服务器为所述文件级存储服务器,所述数据表用于存储所述第二数据格式的业务数据。
8.一种存储业务数据的装置,其特征在于,所述装置应用于同步服务器,所述装置包括:
第二接收模块,用于接收业务服务器发送的数据库配置信息和临时文件形式的数据描述文件;
创建模块,用于创建所述数据库配置信息和所述数据描述文件对应的业务标识;
第三存储模块,用于将所述业务标识与所述数据描述文件对应存储,向所述业务服务器发送所述业务标识;基于所述数据描述文件,确定数据表创建命令,所述数据表创建命令用于文件级存储服务器创建符合所述数据描述文件的数据表;通过连接向所述文件级存储服务器发送所述数据表创建命令,所述连接通过所述数据库配置信息确定;
第一接收模块,用于所述接收业务服务器发送的数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述业务数据对应的业务标识;
第一存储模块,用于将所述第一数据格式的业务数据存储到第一存储服务器中,所述第一存储服务器对应的存储格式为所述第一数据格式;
确定模块,用于根据预先存储的所述业务标识对应的数据描述文件,将所述第一数据格式的业务数据转换为第二数据格式的业务数据;
第二存储模块,用于将所述第二数据格式的业务数据存储到第二存储服务器中,所述第二存储服务器对应的存储格式为所述第二数据格式;
其中,所述第一存储服务器与所述第二存储服务器的类型不同,所述第一存储服务器和所述第二存储服务器为内存级存储服务器或文件级存储服务器,当所述第一存储服务器为所述文件级存储服务器时,所述数据表用于存储所述第一数据格式的业务数据,或者,当所述第二存储服务器为所述文件级存储服务器时,所述数据表用于存储所述第二数据格式的业务数据。
9.一种存储业务数据的装置,其特征在于,所述装置应用于业务服务器,所述装置包括:
第二发送模块,用于向同步服务器发送数据库配置信息和临时文件形式的数据描述文件,以使所述同步服务器创建所述数据库配置信息和所述数据描述文件对应的业务标识;将所述业务标识与所述数据描述文件对应存储,向所述业务服务器发送所述业务标识;基于所述数据描述文件,确定数据表创建命令,所述数据表创建命令用于文件级存储服务器创建符合所述数据描述文件的数据表;所述同步服务器通过连接向所述文件级存储服务器发送所述数据表创建命令,所述连接通过所述数据库配置信息确定;
接收模块,用于接收所述同步服务器发送的所述业务标识;
确定模块,用于确定待存储的第一数据格式的业务数据;
第一发送模块,用于向所述同步服务器发送数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述业务数据对应的业务标识,以使所述同步服务器将所述第一数据格式的业务数据存储到第一存储服务器中;根据预先存储的所述业务标识对应的数据描述文件将所述第一数据格式的业务数据转换为第二数据格式的业务数据;将所述第二数据格式的业务数据存储到第二存储服务器中;
其中,所述第一存储服务器为所述文件级存储服务器,所述数据表用于存储所述第一数据格式的业务数据,或者,所述第二存储服务器为所述文件级存储服务器,所述数据表用于存储所述第二数据格式的业务数据。
10.一种同步服务器,其特征在于,所述同步服务器包括配置装置和数据存储代理装置,其中:
所述配置装置,用于接收业务服务器发送的数据库配置信息和临时文件形式的数据描述文件;创建所述数据库配置信息和所述数据描述文件对应的业务标识;将所述业务标识与所述数据描述文件对应存储,向所述业务服务器发送所述业务标识;基于所述数据描述文件,确定数据表创建命令,所述数据表创建命令用于文件级存储服务器创建符合所述数据描述文件的数据表;通过连接向所述文件级存储服务器发送所述数据表创建命令,所述连接通过所述数据库配置信息确定;
所述数据存储代理装置,用于接收所述业务服务器发送的数据存储请求,所述数据存储请求中携带有第一数据格式的业务数据、所述业务数据对应的业务标识;
将所述第一数据格式的业务数据存储到第一存储服务器中,所述第一存储服务器对应的存储格式为所述第一数据格式;
根据所述配置装置中预先存储的所述业务标识对应的数据描述文件,将所述第一数据格式的业务数据转换为第二数据格式的业务数据;
将所述第二数据格式的业务数据存储到第二存储服务器中,所述第二存储服务器对应的存储格式为所述第二数据格式;
其中,所述第一存储服务器为所述文件级存储服务器,所述数据表用于存储所述第一数据格式的业务数据,或者,所述第二存储服务器为所述文件级存储服务器,所述数据表用于存储所述第二数据格式的业务数据。
11.根据权利要求10所述的同步服务器,其特征在于,所述配置装置还用于:
将所述业务标识与所述数据库配置信息对应存储。
12.一种服务器,其特征在于,所述服务器为同步服务器或业务服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至6任一所述的存储业务数据的方法或权利要求7所述的存储业务数据的方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6任一所述的存储业务数据的方法或者如权利要求7所述的存储业务数据的方法。
14.一种存储业务数据的系统,其特征在于,所述系统包括同步服务器、业务服务器、第一存储服务器和第二存储服务器,其中:
所述同步服务器,用于执行权利要求1至6中任一所述存储业务数据的方法;
所述业务服务器,用于执行权利要求7所述的存储业务数据的方法;
所述第一存储服务器,用于根据权利要求1所述的存储业务数据的方法存储第一数据格式的业务数据;
所述第二存储服务器,用于根据权利要求1所述的存储业务数据的方法存储第二数据格式的业务数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810306569.9A CN110309191B (zh) | 2018-04-08 | 2018-04-08 | 存储业务数据的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810306569.9A CN110309191B (zh) | 2018-04-08 | 2018-04-08 | 存储业务数据的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110309191A CN110309191A (zh) | 2019-10-08 |
CN110309191B true CN110309191B (zh) | 2023-07-04 |
Family
ID=68074018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810306569.9A Active CN110309191B (zh) | 2018-04-08 | 2018-04-08 | 存储业务数据的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309191B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527891B (zh) * | 2020-11-24 | 2022-06-03 | 武汉联影医疗科技有限公司 | 数据存储方法、装置、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473372A (zh) * | 2013-09-29 | 2013-12-25 | 方正国际软件有限公司 | 管理服务器、多维镜像服务系统和多维镜像数据管理方法 |
CN104376062A (zh) * | 2014-11-11 | 2015-02-25 | 中国有色金属长沙勘察设计研究院有限公司 | 一种异构数据库平台数据的同步方法 |
CN104468648A (zh) * | 2013-09-13 | 2015-03-25 | 腾讯科技(深圳)有限公司 | 数据处理系统及方法 |
CN106570029A (zh) * | 2015-10-12 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 分布式关系型数据库的数据处理方法及系统 |
WO2017075594A1 (en) * | 2015-10-29 | 2017-05-04 | Datto, Inc. | Apparatuses, methods, and systems for storage and analysis of saas data and non-saas data for businesses and other organizations |
CN107392766A (zh) * | 2017-07-25 | 2017-11-24 | 上海壹账通金融科技有限公司 | 业务处理方法、适配器及计算机可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040093342A1 (en) * | 2001-06-27 | 2004-05-13 | Ronald Arbo | Universal data mapping system |
US7660809B2 (en) * | 2005-01-31 | 2010-02-09 | Microsoft Corporation | Using a file server as a central shared database |
US7991740B2 (en) * | 2008-03-04 | 2011-08-02 | Apple Inc. | Synchronization server process |
CN101888393A (zh) * | 2009-05-13 | 2010-11-17 | 上海首恒电子科技有限公司 | 网络环境下基于构件中间件平台的非一致协同系统及方法 |
CN102841927B (zh) * | 2012-07-18 | 2015-04-01 | 福建省新泽尔资讯科技有限公司 | 多数据库之间数据交互的方法装置及分布式数据交互系统 |
CN103475741A (zh) * | 2013-09-29 | 2013-12-25 | 方正国际软件有限公司 | 数据同步系统和数据同步方法 |
-
2018
- 2018-04-08 CN CN201810306569.9A patent/CN110309191B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468648A (zh) * | 2013-09-13 | 2015-03-25 | 腾讯科技(深圳)有限公司 | 数据处理系统及方法 |
CN103473372A (zh) * | 2013-09-29 | 2013-12-25 | 方正国际软件有限公司 | 管理服务器、多维镜像服务系统和多维镜像数据管理方法 |
CN104376062A (zh) * | 2014-11-11 | 2015-02-25 | 中国有色金属长沙勘察设计研究院有限公司 | 一种异构数据库平台数据的同步方法 |
CN106570029A (zh) * | 2015-10-12 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 分布式关系型数据库的数据处理方法及系统 |
WO2017075594A1 (en) * | 2015-10-29 | 2017-05-04 | Datto, Inc. | Apparatuses, methods, and systems for storage and analysis of saas data and non-saas data for businesses and other organizations |
CN107392766A (zh) * | 2017-07-25 | 2017-11-24 | 上海壹账通金融科技有限公司 | 业务处理方法、适配器及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于移动终端的数据智能远传系统的设计;倪清荣;严军;杨锐;;电子测量技术(第09期);48-51 * |
Also Published As
Publication number | Publication date |
---|---|
CN110309191A (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10613788B2 (en) | Data migration between cloud storage systems | |
CN111880740B (zh) | 数据处理方法、装置、计算机系统及可读存储介质 | |
CN103607428B (zh) | 一种访问共享内存的方法和装置 | |
CN111382123B (zh) | 文件存储方法、装置、设备及存储介质 | |
CN112822260B (zh) | 文件传输方法及装置、电子设备、存储介质 | |
CN111694749A (zh) | 接口自动测试方法、装置、计算机设备及可读存储介质 | |
CN108551481B (zh) | 一种文件上传方法、装置、服务器及存储介质 | |
CN111935227A (zh) | 通过浏览器上传文件的方法、浏览器和电子设备 | |
CN112632008A (zh) | 一种数据分片的传输方法、装置及计算机设备 | |
CN115150392A (zh) | 远程文件复制方法、系统、计算设备及存储介质 | |
CN112181393A (zh) | 前后端代码生成方法、装置、计算机设备及存储介质 | |
CN110309191B (zh) | 存储业务数据的方法、装置和系统 | |
CN112583743B (zh) | 一种分布式文件交换方法及装置 | |
CN116955355A (zh) | 一种区块数据处理方法、装置及电子设备 | |
US8280950B2 (en) | Automatic client-server code generator | |
CN114490540B (zh) | 数据存储方法、介质、装置和计算设备 | |
CN111435323A (zh) | 信息的传输方法、装置、终端、服务器及存储介质 | |
US20170364293A1 (en) | Method and apparatus for data processing | |
US11386043B2 (en) | Method, device, and computer program product for managing snapshot in application environment | |
CN102891732A (zh) | 数据发送方法和装置以及数据接收方法和装置 | |
CN114615325A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN114003342A (zh) | 一种分布式存储方法、装置、电子设备及存储介质 | |
CN114116655A (zh) | 基于虚拟机的并行文件存储方法、装置、设备及存储介质 | |
CN111930781B (zh) | 对缓存数据库的数据请求的处理方法和装置 | |
CN116028427B (zh) | 参数的配置系统、方法及存储介质 |
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 |