CN107154984A - 新型线上门店Saas***的分布式控制方法 - Google Patents
新型线上门店Saas***的分布式控制方法 Download PDFInfo
- Publication number
- CN107154984A CN107154984A CN201710532345.5A CN201710532345A CN107154984A CN 107154984 A CN107154984 A CN 107154984A CN 201710532345 A CN201710532345 A CN 201710532345A CN 107154984 A CN107154984 A CN 107154984A
- Authority
- CN
- China
- Prior art keywords
- data
- shops
- redis
- data cached
- control method
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000012546 transfer Methods 0.000 claims abstract description 7
- 230000004044 response Effects 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 3
- 230000001934 delay Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000686 essence Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 210000004291 uterus Anatomy 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种新型线上门店Saas***的分布式控制方法,包括以下步骤:S1,响应客户请求;S2,根据所述客户请求,判断被请求门店是否存在相应的程序级缓存数据,是,则进入步骤S6,否,则进入步骤S3;S3,判断被请求门店是否存在redis缓存数据,是,则将所述redis缓存数据存入被请求门店的程序级缓存数据并进入步骤S6,否,则进入步骤S4;S4,从总数据库获取数据并根据从被请求门店的redis缓存数据中获取的店铺个性化数据,将数据交由相应的服务进行运算得出最终数据;S5,将所述最终数据存入被请求门店的redis缓存数据和程序级缓存数据,并进入步骤S6;以及S6,向客户返回请求数据。
Description
技术领域
本发明涉及电子商务技术领域,尤其涉及一种新型线上门店Saas***的分布式控制方法。
背景技术
线上门店Saas***可以便捷的给用户提供店铺展示和商品销售服务。已有的线上门店Saas***对于店铺内容、商品信息、营销活动的展示效率低,子门店的数据全都独立存储,共用数据无法共享且重复存储,并缺乏分级缓存机制。
当***上建立了大量的店铺,并且用户访问量较大的时候,会导致***出现以下问题:
1、***大量数据的存储,包含大量冗余数据,占用存储空间和计算资源,使得服务器***资源消耗大,降低***的性能。
2、大量重复数据的独立存储,存储结构复杂,对数据的检索效率低,读取数据时耗时长,也导致运算资源的浪费。
3、多店铺之间数据无法有效的同步,如库存、相同的商品信息等,导致大量冗余数据的产生,无法让共同数据的共享,降低***的性能和稳定性。
发明内容
本发明的目的在于克服现有技术的缺点,提供一种新型线上门店Saas***的分布式控制方法。
一种新型线上门店Saas***的分布式控制方法,包括以下步骤:
S1,响应客户请求;
S2,根据所述客户请求,判断被请求门店是否存在相应的程序级缓存数据,是,则进入步骤S6,否,则进入步骤S3;
S3,判断被请求门店是否存在redis缓存数据,是,则将所述redis缓存数据存入被请求门店的程序级缓存数据并进入步骤S6,否,则进入步骤S4;
S4,从总数据库获取数据并根据从被请求门店的redis缓存数据中获取的店铺个性化数据,将数据交由相应的服务进行运算得出最终数据;
S5,将所述最终数据存入被请求门店的redis缓存数据和程序级缓存数据,并进入步骤S6;
S6,向客户返回请求数据。
作为进一步改进的,所述程序级缓存数据和所述redis缓存数据为json格式的缓存数据。
作为进一步改进的,所述json格式的缓存数据采用hash、set或key-value存储方式散列的存储在redis缓存服务和本地缓存服务中。
作为进一步改进的,所述将数据交由相应的服务进行运算得出最终数据的步骤包括:采用Nginx负载均衡方式将请求按照IPHash算法分发给分布式的Web Server进行运算得出最终数据。
作为进一步改进的,所述分布式的Web Server进行运算得出最终数据的步骤包括:所述分布式的Web Server采用Map-Reduce运算得出最终数据。
作为进一步改进的,所述Map-Reduce运算包括以下步骤:
S41,通过Mapping函数把数据分解映射key,value形式的最小单元;
S42,通过Combine函数将mapping出的键值对进行重复键合并,以减少数据通信开销;
S43,通过Partitioner函数把不同节点的数据按照key进行分组;以及
S44,通过Reducing函数进行接收,并对分组后的数据进行最终计算,返回结果。
与现有技术相比较,本发明具有以下优点:
其一,根据***数据分片,将公用并可共享的数据存储在总数据库,大量减少了***存储资源的占用,而数据量的减少,再数据获取的时减少检索占用资源和***IO操作等资源的占用。
其二,当店铺***开店时的商品等公用数据从总数据快速缓存到店主的店铺,店主店铺即时创建,另店主根据自己营销方式针对店铺个性化配置,该数据数据通过运算得到店铺最终展示的数据,从而得到json格式的缓存数据,采用hash,set,key-value等多种存储方式,将数据散列的存储在redis缓存服务和本地缓存服务,其中公用数据的使用减少数据检索的消耗,服务计算量也大量减少,实现对数据的快速检索。
其三,采用Nginx负载均衡方式,Nginx将请求按照IPHash算法分发给分布式的WebServer,这样解决单个Web Server项目性能瓶颈的问题,提升***的高并发访问的稳健性。
其四,***中采用MapReduce分布式计算,将大量店主数据进行数据分片,分散在各个节点上,方便MapReduce程序的计算。通过该技术实现大数据并行处理计算,解决了***对大数据运算的要求。
其五、增加了程序级缓存,且程序级缓存可以有多组以实现成组扩容,在突发热点引起流量骤增的业务场景下,可实现缓存的横向扩展。
附图说明
附图1是新型线上门店Saas***的分布式控制方法的流程图。
附图2是新型线上门店Saas***的分布式控制方法中多级缓存的结构示意图。
附图3是新型线上门店Saas***的分布式控制方法中采用Map-Reduce运算获得最终数据的流程图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
下面结合附图与具体实施方式对本发明作进一步详细描述。
一种新型线上门店Saas***的分布式控制方法,包括以下步骤:
S1,响应客户请求;
S2,根据所述客户请求,判断被请求门店是否存在相应的程序级缓存数据,是,则进入步骤S6,否,则进入步骤S3;
S3,判断被请求门店是否存在redis缓存数据,是,则将所述redis缓存数据存入被请求门店的程序级缓存数据并进入步骤S6,否,则进入步骤S4;
S4,从总数据库获取数据并根据从被请求门店的redis缓存数据中获取的店铺个性化数据,将数据交由相应的服务进行运算得出最终数据;
S5,将所述最终数据存入被请求门店的redis缓存数据和程序级缓存数据,并进入步骤S6;
S6,向客户返回请求数据。
包含主、从结构部署缓存服务满足大多数***业务场景,但是在促销活动这种存在突发热点引起流量骤增的业务场景下需要缓存能横向扩展。请参照图2,为了解决横向扩展的问题,增加了程序级缓存(Cache),实现了多级缓存,程序级Cache的容量一般小于Redis缓存容量,也就是说程序级Cache中的数据热度要更高;同时程序级Cache可以有多组,需要横向扩展的时候,只需要成组扩容程序级Cache即可。
当店铺***开店时的商品等公用数据,可以从总数据快速缓存到店主的店铺,店主店铺即时创建,另店主根据自己营销方式针对店铺个性化配置,该数据数据通过运算得到店铺最终展示的数据,从而得到json格式的缓存数据,采用hash,set,key-value等多种存储方式,将数据散列的存储在redis缓存服务和本地缓存服务,其中公用数据的使用减少数据检索的消耗,服务计算量也大量减少,实现对数据的快速检索。
用户访问时,***响应请求,将从程序级缓存中返回需要的数据,程序级缓存存储的是***极热点数据。此时如果在程序级缓存中无法找到需要的数据,***将请求提交到redis缓存服务,redis主从服务中获取数据返回。如果依然无法获取到数据,将从总数据库获取数据和从redis中获取店铺个性化数据,将数据交由相应的服务进行运算得出最终数据,将数据缓存至redis缓存和程序级缓存,最后返回用户请求的数据。
所述将数据交由相应的服务进行运算得出最终数据的步骤包括:采用Nginx负载均衡方式将请求按照IPHash算法分发给分布式的Web Server进行运算得出最终数据。
请参照图3,作为进一步改进的,所述分布式的Web Server进行运算得出最终数据的步骤采用Map-Reduce运算进行。其中,所述Map-Reduce运算包括以下步骤:
S41,通过Mapping函数把数据分解映射成key,value形式的最小单元;
S42,通过Combine函数将mapping出的键值对进行重复键合并,以减少数据通信开销,在这一步骤中,也相对于提前进行预计算一部分,加快总体计算速度;
S43,通过Partitioner函数把不同节点的数据按照key进行分组;以及
S44,通过Reducing函数进行接收,并对分组后的数据进行最终计算,返回结果。
采用Map-Reduce技术实现***分布式计算,实现店铺大数据的管理运算,将总数据库和个性化数据计算得到店铺展示需要的数据,并将数据按数据访问的热点分级存储。店铺开店时,总数据库中记录的主要为共用共享数据,该数据主要因所有店铺共享使用,数据也按热点方式存储在redis和程序级缓存,店主访问时,数据可直接从缓存获取计算得到结果,或是直接将缓存中的数据结果返回店主。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (7)
1.一种新型线上门店Saas***的分布式控制方法,其特征在于,包括以下步骤:
S1,响应客户请求;
S2,根据所述客户请求,判断被请求门店是否存在相应的程序级缓存数据,是,则进入步骤S6,否,则进入步骤S3;
S3,判断被请求门店是否存在redis缓存数据,是,则将所述redis缓存数据存入被请求门店的程序级缓存数据并进入步骤S6,否,则进入步骤S4;
S4,从总数据库获取数据并根据从被请求门店的redis缓存数据中获取的店铺个性化数据,将数据交由相应的服务进行运算得出最终数据;
S5,将所述最终数据存入被请求门店的redis缓存数据和程序级缓存数据,并进入步骤S6;以及
S6,向客户返回请求数据。
2.根据权利要求1所述的控制方法,其特征在于:所述程序级缓存数据和所述redis缓存数据为json格式的缓存数据。
3.根据权利要求1所述的控制方法,其特征在于:所述程序级缓存数据具有多组。
4.根据权利要求2所述的控制方法,其特征在于:所述json格式的缓存数据采用hash、set或key-value存储方式散列的存储在redis缓存服务和本地缓存服务中。
5.根据权利要求1所述的控制方法,其特征在于:所述将数据交由相应的服务进行运算得出最终数据的步骤包括:采用Nginx负载均衡方式将请求按照IPHash算法分发给分布式的Web Server进行运算得出最终数据。
6.根据权利要求5所述的控制方法,其特征在于:所述分布式的Web Server进行运算得出最终数据的步骤包括:所述分布式的Web Server采用Map-Reduce运算得出最终数据。
7.根据权利要求6所述的控制方法,其特征在于:所述Map-Reduce运算包括以下步骤:
S41,通过Mapping函数把数据分解映射key,value形式的最小单元;
S42,通过Combine函数将mapping出的键值对进行重复键合并,以减少数据通信开销;
S43,通过Partitioner函数把不同节点的数据按照key进行分组;以及
S44,通过Reducing函数进行接收,并对分组后的数据进行最终计算,返回结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710532345.5A CN107154984A (zh) | 2017-07-03 | 2017-07-03 | 新型线上门店Saas***的分布式控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710532345.5A CN107154984A (zh) | 2017-07-03 | 2017-07-03 | 新型线上门店Saas***的分布式控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107154984A true CN107154984A (zh) | 2017-09-12 |
Family
ID=59795182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710532345.5A Pending CN107154984A (zh) | 2017-07-03 | 2017-07-03 | 新型线上门店Saas***的分布式控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107154984A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528448A (zh) * | 2016-10-11 | 2017-03-22 | 杭州数强网络科技有限公司 | 一种多源异构电商大数据的分布式高速缓存机制 |
CN106777085A (zh) * | 2016-12-13 | 2017-05-31 | 东软集团股份有限公司 | 一种数据处理方法、装置及数据查询*** |
-
2017
- 2017-07-03 CN CN201710532345.5A patent/CN107154984A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528448A (zh) * | 2016-10-11 | 2017-03-22 | 杭州数强网络科技有限公司 | 一种多源异构电商大数据的分布式高速缓存机制 |
CN106777085A (zh) * | 2016-12-13 | 2017-05-31 | 东软集团股份有限公司 | 一种数据处理方法、装置及数据查询*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210044662A1 (en) | Server side data cache system | |
CN103380421B (zh) | 用于图形数据的分布式缓存 | |
CN104508639B (zh) | 使用一致性域表的一致性管理 | |
CN103425756B (zh) | 一种hdfs中数据块的副本管理策略 | |
CN102307206B (zh) | 基于云存储的快速访问虚拟机镜像的缓存***的缓存方法 | |
CN103067297B (zh) | 一种基于资源消耗预测的动态负载均衡方法及装置 | |
EP3443471B1 (en) | Systems and methods for managing databases | |
CN105450579B (zh) | 网络资源预加载方法、客户端及中间件服务器 | |
CN104065568A (zh) | 一种Web服务器集群的路由方法 | |
CN103631820B (zh) | 分布式文件***的元数据管理方法及设备 | |
CN110110006A (zh) | 数据管理方法及相关产品 | |
CN103312624A (zh) | 一种消息队列服务***和方法 | |
CN105354250A (zh) | 一种面向云存储的数据存储方法及装置 | |
EP3049940B1 (en) | Data caching policy in multiple tenant enterprise resource planning system | |
CN104270412A (zh) | 一种基于Hadoop分布式文件***的三级缓存方法 | |
CN109767274B (zh) | 一种对海量***数据进行关联存储的方法及*** | |
CN109376318A (zh) | 一种页面加载方法、计算机可读存储介质及终端设备 | |
CN109408590A (zh) | 分布式数据库的扩容方法、装置、设备及存储介质 | |
CN103297490B (zh) | 信息处理装置、分布式处理***和分布式处理方法 | |
Kayaaslan et al. | Document replication strategies for geographically distributed web search engines | |
CN106302659A (zh) | 一种基于云存储***中提升访问数据快速存储方法 | |
CN106210022A (zh) | 一种用于处理论坛高并发数据请求的***和方法 | |
CN104077291B (zh) | 用户生成内容访问次数的发布方法、客户端及*** | |
CN110196680A (zh) | 数据处理方法、装置及存储介质 | |
CN104424325A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170912 |