CN109783119A - 一种数据多版本兼容升级管理***及其管理方法 - Google Patents
一种数据多版本兼容升级管理***及其管理方法 Download PDFInfo
- Publication number
- CN109783119A CN109783119A CN201811497462.3A CN201811497462A CN109783119A CN 109783119 A CN109783119 A CN 109783119A CN 201811497462 A CN201811497462 A CN 201811497462A CN 109783119 A CN109783119 A CN 109783119A
- Authority
- CN
- China
- Prior art keywords
- data
- adapter
- storage equipment
- queue module
- terminal user
- 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)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开的一种数据多版本兼容升级管理***,包括存储设备以及至少一与所述存储设备进行数据交互的服务端,其特征在于,每一服务端包括一数据下载解析器、一数据存储层模块、一同步队列模块、若干适配器以及若干API接口。还公开了上述数据多版本兼容升级管理***的管理方法。与现有技术相比,本发明采用适配器加速方法,有效地管理数据多版本升级,当升级版本时,只需要增加一个适配器、修改解析器即可,使用加速方法后,对终端用户无影响。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据多版本兼容升级管理***及其管理方法。
背景技术
每个版本的API接口管理对应的不同的终端用户版本,把接收到的数据直接存储至本地和发送到同步队列,每个版本的接口独立,版本之间没有相关性,在需要快速迭代的开发项目中,对软件版本的维护工作量大,可能某个业务逻辑的修改需要改动每个版本的API接口。数据多版本在持续迭代的产品中很常见,下一个版本在之前的版本上做一些表的增加,或者对表的字段增加或删除。每次应业务需要或者技术优化的需要,直接表现是业务层逻辑的变动、展示层显示的内容变化等,这些变化都需要底层数据存储的支持,这样数据存储结构需要变化。参见图1,图中给出的是现有的数据多版本兼容升级管理***,包括存储设备10以及若干服务端20,每一服务端20包括数据下载解析器21、数据存储层模块22、同步队列模块23以及若干API接口24,数据下载解析器21与存储设备10连接,用于向存储设备10获取数据,数据存储层模块22与数据下载解析器21连接,用于存储数据下载解析器21获取到的数据,每一个API接口24一方面分别与同步队列模块23连接,用于将终端用户30上传的数据发送至同步队列模块23,经由同步队列模块23发送中存储设备10中,另一方面分别与数据存储层模块22连接,用于将终端用户上传的数据发送至数据存储层模块22进行存储。由于每一个API接口24管理着对应的终端用户的版本,这些API接口24中可能功能业务相同,也有新的API接口是前一个API接口的变异(部分相同),这样会导致以下一些问题:
1、不同的API接口24提交的数据版本存在差异,不同的版本数据存储不一致;
2、不同的API接口24要对数据进行过滤,导致数据不全、完整性缺失;
3、数据存储层模块22写入存在不一致,API接口24和数据下载解析器21都可以直接操作,单从数据存储层模块22看,难以判断哪一个写入数据存在问题;
4、API接口业务逻辑复杂,需要同时操作数据存储层模块22和同步队列模块23,处理量较大,导致处理速度变慢。
发明内容
本发明所解决的技术问题之一在于:针对现有技术的不足而提供一种逻辑简单明确、提高数据同步速度、不影响终端用户的使用体验的数据多版本兼容升级管理***。
本发明所要解决的技术问题之二在于:提供一种上述数据多版本兼容升级管理***的管理方法。
作为本发明第一方面的一种数据多版本兼容升级管理***,包括存储设备以及至少一与所述存储设备进行数据交互的服务端,其特征在于,每一服务端包括一数据下载解析器、一数据存储层模块、一同步队列模块、若干适配器S1...SN以及若干API接口A1...AN,其中,N≥2且N为整数;
API接口A1...AN分别相对应地与适配器S1...SN连接,用于将其接收到的终端用户提交的数据分别发送至适配器S1...SN;适配器SM-1与适配器SM连接,其中,M为2...N,适配器SN与所述同步队列模块连接,使得适配器SM-1接收到的数据逐层向适配器SM传递,最终经由适配器SN将终端用户提交的所有数据传送至所述同步队列模块;
所述同步队列模块一方面与所述存储设备连接,用于将其收集到的所有数据传送至所述存储设备进行存储,另一方面与所述数据下载解析器连接,用于将其收集的所有数据传送至所述数据下载解析器;
所述数据下载解析器一方面与所述存储设备连接,用于向所述存储设备获取数据并对获取到的数据和/或所述同步队列模块传送的数据进行解析,另一方面与所述数据存储层模块连接,用于将其解析后的数据传送至所述数据存储层模块进行存储;
所述数据存储层模块与适配器SN连接,用于将终端用户请求获取的数据经过指定的适配器S1...SN和指定的API接口A1...AN发送至终端用户。
作为本发明第二方面的一种上述数据多版本兼容升级管理***的管理方法,包括以下步骤:
(1)API接口AM接收终端用户提交的数据,其中,M为2...N,N≥2且N为整数;
(2)API接口AM将终端用户提交的数据传送至适配器SM;
(3)适配器SM接收到的数据逐层向适配器SM+1传递,最终经由适配器SN将终端用户提交的所有数据传送至所述同步队列模块;
(4)所述同步队列模块将其收集到的所有数据传送至所述存储设备进行存储,同时将一份相同的数据传送至所述数据下载解析器;
(5)所述数据下载解析器向所述存储设备获取数据,同时接收所述同步队列模块发来的数据,所述数据下载解析器对获取到的数据和/或接收到的所述同步队列模块发来的数据进行解析和数据校验去重处理,并将解析和去重处理后的数据传送至所述数据存储层模块进行存储。
与现有技术相比,本发明具有以下优点:
(1)本发明采用适配器加速方法,有效地管理数据多版本升级,当升级版本时,只需要增加一个适配器、修改解析器即可,新增加的适配器是居于前一个数据版本的适配器;
(2)新的API接口不管之前老版本的适配器,避免各个版本交叉冲突;
(3)API接口只提交数据到适配器,适配器提交数据到同步队列模块,同步队列模块提交数据到存储设备,提交数据流向简单明确;
(4)数据下载解析器从存储设备下载数据,并提交数据到本地数据存储层,当API接口需要获取数据时访问适配器,适配器从数据存储层模块获取数据,获取数据流向简单明确;
(5)同步队列模块提交数据到存储设备,从存储设备下载数据,这两个过程需要经过网络传输,相当耗时,为了使同步队列模块数据快速存储到本地存储层,采用同步队列模块直接提交数据到数据下载器,达到加速效果,而且对于不同的数据版本,只要修改解析器即可,对终端用户无影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有的数据多版本兼容升级管理***的结构示意图。
图2是本发明的结构示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
参见图2,图中给出的是一种数据多版本兼容升级管理***,包括存储设备100以及若干与存储设备100进行数据交互的服务端200。
每一服务端200包括一数据下载解析器210、一数据存储层模块220、一同步队列模块230、若干适配器S1...SN以及若干API接口A1...AN,其中,N≥2且N为整数。
API接口A1...AN分别相对应地与适配器S1...SN连接,用于将其接收到的终端用户提交的数据分别发送至适配器S1...SN;适配器SM-1与适配器SM连接,其中,M为2...N,适配器SN与同步队列模块230连接,使得适配器SM-1接收到的数据逐层向适配器SM传递,最终经由适配器SN将终端用户提交的所有数据传送至同步队列模块230。适配器S1...SN起到对老版本API接口与新版本API接口进行平滑升级的作用,使得最终存入的数据存储层模块220的数据保持一致。
同步队列模块230一方面与存储设备100连接,用于将其收集到的所有数据传送至存储设备100进行存储,另一方面与数据下载解析器210连接,用于将其收集的所有数据传送至数据下载解析器210。
数据下载解析器210一方面与存储设备100连接,用于向存储设备100获取数据并对获取到的数据和/或同步队列模块230传送的数据进行解析,另一方面与数据存储层模块220连接,用于将其解析后的数据传送至数据存储层模块220进行存储。
数据存储层模块220与适配器SN连接,用于将终端用户请求获取的数据经过指定的适配器S1...SN和指定的API接口A1...AN发送至终端用户V1...VN。
本发明的数据多版本兼容升级管理***的管理方法,包括以下步骤:
(1)终端用户VM向API接口AM提交数据,其中,M为2...N;
(2)API接口AM将数据提交至适配器SM;
(3)适配器SM接收到的数据逐层向适配器SM+1传递,最终经由适配器SN将终端用户提交的所有数据传送至同步队列模块230;
(4)同步队列模块230将其收集到的所有数据传送至存储设备100进行存储,同时将一份相同的数据传送至数据下载解析器210;
(5)数据下载解析器210向存储设备100获取数据,同时接收同步队列模块230发来的数据,数据下载解析器210对获取到的数据和/或接收到的同步队列模块230发来的数据进行解析和数据校验去重处理,并将解析和去重处理后的数据传送至数据存储层模块220进行存储。
终端用户V1...VN提交的数据,原有开发的API接口不变,只需将数据提交至相对应的适配器S1...SN,适配器S1...SN会管理是否继续提交到更高版本的适配器S1...SN,由此需要判断适配器的对应的数据版本,而且是有固定顺序的,即如果数据版本到了V6,需要创建不同的数据版本适配器V1、V2、V3、V4、V5、V6。不同的API接口提交数据后到每个不同版本的适配器如下:
1、如果终端用户V1提交数据到API接口A1,后面需要依次经过适配器S1、S2、S3、S4、S5、S6;
2、如果终端用户V2提交数据到API接口A2,后面需要依次经过适配器S2、S3、S4、S5、S6;
3、如果终端用户V3提交数据到API接口A3,后面需要依次经过适配器S3、S4、S5、S6;
4、如果终端用户V4提交数据到API接口A4,后面需要依次经过适配器S4、S5、S6;
5、如果终端用户V5提交数据到API接口A5,后面需要依次经过适配器S5、S6;
6、如果终端用户V6提交数据到API接口A6,后面需要依次经过适配器S6。
为了不影响终端用户的使用,对于刚刚提交的数据需要快速保存到本地数据存储层模块220,方便终端用户查询刚刚提交的数据;在同步队列模块230中增加加速器,把同步队列模块230中的数据同时加速提交一份数据到数据下载解析器210,这个过程是通过本地缓存快速处理的,节省网络上传和下载两个过程的等待时间,达到了加速效果。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (2)
1.一种数据多版本兼容升级管理***,包括存储设备以及至少一与所述存储设备进行数据交互的服务端,其特征在于,每一服务端包括一数据下载解析器、一数据存储层模块、一同步队列模块、若干适配器S1...SN以及若干API接口A1...AN,其中,N≥2且N为整数;
API接口A1...AN分别相对应地与适配器S1...SN连接,用于将其接收到的终端用户提交的数据分别发送至适配器S1...SN;适配器SM-1与适配器SM连接,其中,M为2...N,适配器SN与所述同步队列模块连接,使得适配器SM-1接收到的数据逐层向适配器SM传递,最终经由适配器SN将终端用户提交的所有数据传送至所述同步队列模块;
所述同步队列模块一方面与所述存储设备连接,用于将其收集到的所有数据传送至所述存储设备进行存储,另一方面与所述数据下载解析器连接,用于将其收集的所有数据传送至所述数据下载解析器;
所述数据下载解析器一方面与所述存储设备连接,用于向所述存储设备获取数据并对获取到的数据和/或所述同步队列模块传送的数据进行解析,另一方面与所述数据存储层模块连接,用于将其解析后的数据传送至所述数据存储层模块进行存储;
所述数据存储层模块与适配器SN连接,用于将终端用户请求获取的数据经过指定的适配器S1...SN和指定的API接口A1...AN发送至终端用户。
2.一种如权利要求1所述的数据多版本兼容升级管理***的管理方法,其特征在于,包括以下步骤:
(1)API接口AM接收终端用户提交的数据,其中,M为2...N,N≥2且N为整数;
(2)API接口AM将终端用户提交的数据传送至适配器SM;
(3)适配器SM接收到的数据逐层向适配器SM+1传递,最终经由适配器SN将终端用户提交的所有数据传送至所述同步队列模块;
(4)所述同步队列模块将其收集到的所有数据传送至所述存储设备进行存储,同时将一份相同的数据传送至所述数据下载解析器;
(5)所述数据下载解析器向所述存储设备获取数据,同时接收所述同步队列模块发来的数据,所述数据下载解析器对获取到的数据和/或接收到的所述同步队列模块发来的数据进行解析和数据校验去重处理,并将解析和去重处理后的数据传送至所述数据存储层模块进行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811497462.3A CN109783119B (zh) | 2018-12-07 | 2018-12-07 | 一种数据多版本兼容升级管理***及其管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811497462.3A CN109783119B (zh) | 2018-12-07 | 2018-12-07 | 一种数据多版本兼容升级管理***及其管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783119A true CN109783119A (zh) | 2019-05-21 |
CN109783119B CN109783119B (zh) | 2022-01-28 |
Family
ID=66496814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811497462.3A Active CN109783119B (zh) | 2018-12-07 | 2018-12-07 | 一种数据多版本兼容升级管理***及其管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783119B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750282A (zh) * | 2019-10-14 | 2020-02-04 | 支付宝(杭州)信息技术有限公司 | 用于运行应用程序的方法、装置及gpu节点 |
CN112905226A (zh) * | 2020-12-25 | 2021-06-04 | 广州朗国电子科技有限公司 | 数据封装方法、装置、电子设备及存储介质 |
CN114026540A (zh) * | 2019-06-13 | 2022-02-08 | 微软技术许可有限责任公司 | 用于支持和协商跨多个产品的多个api版本的***和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008894A (zh) * | 2007-01-26 | 2007-08-01 | 华为技术有限公司 | 实现***新旧版本兼容的方法及装置 |
US20160019049A1 (en) * | 2010-05-26 | 2016-01-21 | Automation Anywhere, Inc. | System and method for resilient automation upgrade |
CN106383726A (zh) * | 2016-08-30 | 2017-02-08 | 武汉精测电子技术股份有限公司 | 一种基于图像视频传输接口的讯号适配器升级方法 |
US20170090911A1 (en) * | 2015-09-30 | 2017-03-30 | International Business Machines Corporation | Upgrade of port firmware and driver software for a target device |
-
2018
- 2018-12-07 CN CN201811497462.3A patent/CN109783119B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101008894A (zh) * | 2007-01-26 | 2007-08-01 | 华为技术有限公司 | 实现***新旧版本兼容的方法及装置 |
US20160019049A1 (en) * | 2010-05-26 | 2016-01-21 | Automation Anywhere, Inc. | System and method for resilient automation upgrade |
US20170090911A1 (en) * | 2015-09-30 | 2017-03-30 | International Business Machines Corporation | Upgrade of port firmware and driver software for a target device |
CN106383726A (zh) * | 2016-08-30 | 2017-02-08 | 武汉精测电子技术股份有限公司 | 一种基于图像视频传输接口的讯号适配器升级方法 |
Non-Patent Citations (1)
Title |
---|
周振红等: ""ATL和VCL支持下的组件版本升级技术"", 《人民黄河》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114026540A (zh) * | 2019-06-13 | 2022-02-08 | 微软技术许可有限责任公司 | 用于支持和协商跨多个产品的多个api版本的***和方法 |
CN114026540B (zh) * | 2019-06-13 | 2024-03-19 | 微软技术许可有限责任公司 | 用于支持和协商跨多个产品的多个api版本的***和方法 |
CN110750282A (zh) * | 2019-10-14 | 2020-02-04 | 支付宝(杭州)信息技术有限公司 | 用于运行应用程序的方法、装置及gpu节点 |
CN112905226A (zh) * | 2020-12-25 | 2021-06-04 | 广州朗国电子科技有限公司 | 数据封装方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109783119B (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10467241B2 (en) | Dynamically provisioning instances of a single-tenant application for multi-tenant use | |
CN103024052B (zh) | 实现浏览器数据同步的***和方法 | |
CN101770515B (zh) | 一种基于数据块比较的数据更新方法 | |
CN109783119A (zh) | 一种数据多版本兼容升级管理***及其管理方法 | |
US8429256B2 (en) | Systems and methods for generating cached representations of host package inventories in remote package repositories | |
US7899917B2 (en) | Synchronization framework for occasionally connected applications | |
US20180278725A1 (en) | Converting a single-tenant application for multi-tenant use | |
CN101656751A (zh) | 加速上传与下载文件的方法及其*** | |
EP1407379A2 (en) | Method and apparatus to improve file management | |
CN112069265A (zh) | 配置数据的同步方法、业务数据***、计算机***和介质 | |
CN111381983A (zh) | 虚拟试验靶场验证***的轻量级消息中间件***及方法 | |
WO2014120467A1 (en) | Database shard arbiter | |
CN109150608A (zh) | 用于语音对话平台的接口服务升级方法及*** | |
RU2567381C2 (ru) | Система и способ для передачи изображений в режиме реального времени | |
CN112100265A (zh) | 面向大数据架构与区块链的多源数据处理方法及装置 | |
CN103139157A (zh) | 一种基于socket的网络通信方法、装置及*** | |
CN102521252A (zh) | 一种远程数据的访问方法 | |
CN104794190A (zh) | 一种大数据有效存储的方法和装置 | |
CN111147308B (zh) | 基于微服务架构的网络管理方法和*** | |
JP7210642B2 (ja) | ファイルディレクトリのトラバーサル方法、装置、設備、媒体、及びプログラム | |
EP2833602B1 (en) | Shared data de-publication method and system | |
CN115640110A (zh) | 分布式云计算***调度方法和装置 | |
CN106293847A (zh) | 一种虚拟化平台服务支撑的方法 | |
CN110457380A (zh) | 一种数据存储*** | |
US11868334B2 (en) | Integrating change tracking of storage objects of a distributed object storage database into a distributed storage system |
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 |