Nothing Special   »   [go: up one dir, main page]

CN107357853B - 一种redis控制台的操作方法、装置及计算机系统 - Google Patents

一种redis控制台的操作方法、装置及计算机系统 Download PDF

Info

Publication number
CN107357853B
CN107357853B CN201710509084.5A CN201710509084A CN107357853B CN 107357853 B CN107357853 B CN 107357853B CN 201710509084 A CN201710509084 A CN 201710509084A CN 107357853 B CN107357853 B CN 107357853B
Authority
CN
China
Prior art keywords
redis
index
operation command
instance
console
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
Application number
CN201710509084.5A
Other languages
English (en)
Other versions
CN107357853A (zh
Inventor
饶慧林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huaduo Network Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201710509084.5A priority Critical patent/CN107357853B/zh
Publication of CN107357853A publication Critical patent/CN107357853A/zh
Application granted granted Critical
Publication of CN107357853B publication Critical patent/CN107357853B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开一种REDIS控制台的操作方法、装置及计算机系统。该方法包括:代理进程根据操作命令中包含的索引确定该索引对应的REDIS实例;代理进程将操作命令发送至所述REDIS实例;代理进程接收所述REDIS实例返回的操作命令执行结果;其中,所述代理进程运行于所述REDIS控制台。本发明实现了分布式系统下对REDIS操作的简化,并且没有增加用户的学习成本,并且在REDIS命令变更的情况下,本发明采用透明传输,可以不需要对本发明提供的方案进行修改而直接使用。

Description

一种REDIS控制台的操作方法、装置及计算机系统
技术领域
本发明涉及计算机领域,尤其涉及一种REDIS控制台的操作方法、装置及计算机系统。
背景技术
为了适应互联网业务的发展,REDIS数据服务一般采用分布式部署,REDIS数据库进程可以部署在全国甚至全世界的计算机上。对于用户而言,为了便于操作分布在各地的数据,需要通过控制台对REDIS数据库进程进行频繁操作。在操作的过程中,如果需要对某个索引(key)进行操作,用户需要查询该索引在哪个REDIS实例上,例如数据存储在哪个计算机上,然后连接该REDIS实例来进行操作。
举例来说,用户希望删除CARID=2的数据,用户可以发送redis>DEL CARID(integer)2到控制台,控制台到收到该消息后,可以确定该数据存储在计算机A上,通过连接到对应REDIS实例,可以将对应的数据删除。又如,用户需要获取某个valueCount=2的数据,用户可以发送“get keyCount”命令到控制台,控制台收到消息后,会找到keyCount这个key所在的redis实例,然后主动去链接该实例,透传“get keyCount”到该redis实例,执行命令之后该实例返回CARID的valueCount给控制台,控制台把对应的结果给展示用户或者返回给调用控制台的进程。
如上所述,在现有技术中,为了在通过控制台进行进行数据操作,用户需要多次操作才能完成对数据的查找、增加、删除、修改等,导致数据操作的效率低下,对于用户也不友好。
为了解决现有技术中存在的问题,本发明提供了一种REDIS控制台的操作方案,以简化用户在缓存数据库操作时需要人工接入的程度,提高数据库处理的效率。通过本发明提供的方案,通过透传操作指令,减少对系统修改的需求,能够降低对系统改造的成本。
发明内容
有鉴于此,本发明提供一种REDIS控制台的操作方法、装置及计算机系统,以提高用户处理数据的效率。
本发明提供了一种REDIS控制台的操作方法,该方法包括:
代理进程根据操作命令中包含的索引确定该索引对应的REDIS实例;
代理进程将操作命令发送至所述REDIS实例;
代理进程接收所述REDIS实例返回的操作命令执行结果;
其中,所述代理进程运行于所述REDIS控制台。
可选地,所述所述操作命令由用户输入所述REDIS控制台。
可选地,代理进程根据操作命令中包含的索引确定该索引对应的REDIS实例包括:
代理进程对索引进行散列操作;
所述代理进程根据散列操作的结果确定该索引对应的REDIS实例;
其中所述REDIS控制台中存储有散列操作的结果与REDIS实例之间的对应关系。
可选地,代理进程根据操作命令中包含的索引确定该索引对应的REDIS实例包括:
代理进程根据索引对应的范围确定该索引对应的REDIS实例;
其中所述REDIS控制台中存储有索引的范围与REDIS实例之间的对应关系。
本发明提供了一种REDIS控制台的操作装置,该装置包括:
确定模块,用于根据操作命令中包含的索引确定该索引对应的REDIS实例;
发送模块,用于将操作命令发送至所述REDIS实例;
接收模块,用于接收所述REDIS实例返回的操作命令执行结果。
可选地,该操作装置还包括输入模块,用于将所述索引以及所述操作命令户输入所述REDIS控制台。
可选地,所述确定模块,还用于对操作命令中包含的索引进行散列操作;根据散列操作的结果确定该索引对应的REDIS实例;其中所述REDIS控制台中存储有散列值与REDIS实例之间的对应关系。
可选地,所述确定模块,还用于根据操作命令中包含的索引对应的范围确定该索引对应的REDIS实例;其中所述REDIS控制台中存储有索引的范围与REDIS实例之间的对应关系。
相应地,本发明提供了一种计算机系统,该系统包括:
处理器、计算机可读存储器、和计算机可读存储介质;
程序,用于根据操作命令中包含的索引确定该索引对应的REDIS实例;将所述操作命令发送至所述REDIS实例;接收所述REDIS实例返回的操作命令执行结果;
所述程序存储在所述计算机可读存储介质上,用于由所述处理器经由所述计算机可读存储器执行。
可选地,所述操作命令由用户输入所述计算机系统。
本发明实现了分布式系统下对REDIS操作的简化,并且没有增加用户的学习成本,并且在REDIS命令变更的情况下,本发明采用透明传输,可以不需要对本发明提供的方案进行修改而直接使用。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是现有技术中计算机组成结构框图;
图2是本发明提供的基于散列分区的REDIS控制台的操作方法示意图;
图3是本发明提供的基于范围分区的REDIS控制台的操作方法示意图;
图4是本发明提供的REDIS控制台的操作装置示意图。
附图标记说明
105 内部存储器 110 处理器
115 网络接口 120 总线桥
125 USB接口 130 I/O接口
135 外部存储器 140 系统总线
145 I/O总线 605 获取模块
405 输入模块 410 确定模块
415 发送模块 420 接收模块
425 展示模块
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。
图1为计算机组成结构框图,其中示出了计算机的主要部件。图1中,处理器110、内部存储器105、总线桥120以及网络接口115接入系统总线140,总线桥120用于桥接系统总线140和I/O总线145,I/O接口接入I/O总线145,USB接口以及外部存储器135与I/O接口连接。图1中,处理器110可以为一个或多个处理器,每个处理可以具有一个或者多个处理器内核;内部存储器105为易失性存储器,例如寄存器、缓存器、各种类型的随机存取存储器等;在计算机开机运行的时候,内部存储器105中的数据包括操作系统和应用程序;网络接口115可以为以太网接口、光纤接口、无线局域网接口等;系统总线140可以用来传送数据信息、地址信息、以及控制信息;总线桥120可以用来进行协议转换,将系统总线协议转换为I/O协议或者将I/O协议转换为系统总线协议以实现数据传输;I/O总线145用来数据信息和控制信息,还可以总线终结电阻或电路来降低信号反射干扰;I/O接口130主要与各种外部设备连接,例如键盘、鼠标、传感器等等,闪存可以通过USB接口125接入I/O总线,外部存储器为非易失性存储器,例如硬盘、光盘等。在计算机开机之后,处理器可以将存储于外部存储其中的数据读取到内部存储器中,并对内部存储其中的计算机指令进行处理,完成操作系统以及应用程序的功能。该示例计算机可以为台式机、笔记本电脑、平板电脑、智能手机等。
对于REDIS数据服务而言,分区是实现分布式数据操作的重要任务之一。分区的目的在于将数据分割到多个REDIS实例,每个REDIS实例存放有索引对应的键值(value)的子集。通过REDIS分区可以使得能够通过多个计算机的内存来存放大数据,如果仅放在一台计算机上,由于单个计算机内存的限制,会导致内存存储的数据无法满足用户操作的需求。此外,通过REDIS分区可以利用多个计算机的计算能力和网络带宽。
对于分区而言,可以通过范围分区和散列分区的方式实现。所谓范围分区,就是根据索引的原始值进行分区,所谓散列分区,就是根据索引的散列值进行分区。距离来说,存在3个REDIS示例:REDIS1、REDIS2、REDIS3,有很多用户,ID为1-20000。通过范围分区的话,可以将ID为1-10000的用户对应到实例REDIS1上,将ID为10001-20000的用户对应到REDIS2上;范围分区以后,可以维护一张表,然后根据用户的ID就可以查询到对应的实例。通过散列分区的话,可以对用户ID进行散列,那么这些用户会根据散列的结果对应到REDIS1-REDIS3实例。
图2示出了本发明提供的一种REDIS控制台的操作方法,其中实现了代理进程,并通过散列的方式对应到实例,具体包括:
步骤205,用户通过发送某个索引的操作命令到REDIS代理进程;本发明中通过实现REDIS进程代理,可以实现用户需要的操作,从而屏蔽了用户查询的过程,能够提高数据操作的效率;
步骤210,REDIS代理进程根据索引进行散列,得到该索引对应于REDIS实例B;散列的时候,采用散列算法对索引进行处理就可以得到散列结果,根据散列结果就可以确定对应的实例;散列结果与实例的对应关系也可以预先存储起来,例如在进行数据存储的时候,就可以通过散列确定其应该存储在哪个实例,并记录该实例与散列结果之间的对应关系;
步骤215,在确定索引对应的实例之后,可以将操作命令发送至REDIS实例B,例如通过透明传输的方式发送至REDIS实例B;
步骤220,REDIS实例B接收到该操作命令后,对索引对应的数据进行操作,例如增加、修改、删除数据等操作;
步骤225,REDIS实例B返回操作命令的执行结果;
步骤230,REDIS代理进程向用户展示操作命令的执行结果。
图3示出了本发明提供的另一种REDIS控制台的操作方法,其中实现了代理进程,并通过索引的原始值对应到实例,具体包括:
步骤305,用户通过发送某个索引的操作命令到REDIS代理进程;本发明中通过实现REDIS进程代理,可以实现用户需要的操作,从而屏蔽了用户查询的过程,能够提高数据操作的效率;
步骤310,REDIS代理进程根据索引确定其对应于REDIS实例B,例如索引处于实例B对应的索引范围内;索引与实例之间的对应关系,可以在将数据存储到实例时,记录下来,作为后续操作的依据;
步骤315,在确定索引对应的实例之后,可以将操作命令透明传输至REDIS实例B;
步骤320,REDIS实例B接收到该操作命令后,对索引对应的数据进行操作,例如增加、修改、删除数据等操作;
步骤325,REDIS实例B返回操作命令的执行结果;
步骤330,REDIS代理进程向用户展示操作命令的执行结果。
上述流程使用的代理进程可以通过编写软件并运行的方式来实现,这对于本领域技术人员而言是易于理解的,在此不再赘述。
相应地,本发明提供了一种REDIS控制台的操作装置,如图4所示,该装置可以包括输入模块405、确定模块410、发送模块415、接收模块420、以及展示模块425。
具体而言,输入模块405主要是用来供用户输入操作命令,该操作命令可以参考REDIS数据服务的规范。确定模块410主要用来根据操作命令中包含的索引确定该索引对应的REDIS实例;更具体地,确定模块410可以通过对索引进行散列得到散列结果,然后通过散列结果与REDIS实例之间的对应关系,从而确定对应的实例;确定模块410也可以根据索引和实例与索引范围之间的对应关系来确定对应的实例;发送模块415主要用于将操作命令发送至所述REDIS实例,一般通过通信协议,例如telnet或者http协议;接收模块420主要用于接收所述REDIS实例返回的操作命令执行结果,接收时也通过通信协议,例如telnet或者http协议;展示模块425主要用于展示操作结果,例如将操作结果显示于显示屏上。
优选地,散列结果与实例之间的对应关系可以使用散列结果与实例所位于的计算机的IP地址之间的对应关系来实现,或者索引范围与实例之间的对应关系可以用索引范围与实例所位于的计算机的IP地址之间的对应关系来实现。
本发明可以使得工程师也不需要关心REDIS的实例在哪里,通过操作命令就直接得到相应的结果,屏蔽了中间的细节,也不需要用户额外学习新的知识,只要熟悉REDIS命令,就能能操作。本发明对操作命令做了透传,用户发送的命令,其实就是操作REDIS的真实命令。当REDIS进程以后升级或者改造后,可能会新增或减少一些命令,但是该系统只是做了透传,所以即使REDIS命令变更,也依然可以稳定的使用。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
上述说明示出并描述了本发明的若干具体实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (7)

1.一种REDIS控制台的操作方法,其特征在于,所述方法应用于采用分布式部署的REDIS数据服务中,该方法包括:
代理进程根据操作命令中包含的索引确定该索引对应的REDIS实例;其中,根据所述索引的散列结果或者所述索引对应的范围确定该索引对应的REDIS实例,所述索引为用户ID,所述操作命令由用户输入所述REDIS控制台;
代理进程将操作命令通过透明传输的方式发送至所述REDIS实例;
代理进程接收所述REDIS实例返回的操作命令执行结果;其中,所述代理进程运行于所述REDIS控制台。
2.根据权利要求1所述的操作方法,其特征在于,代理进程根据操作命令中包含的索引确定该索引对应的REDIS实例包括:
代理进程对索引进行散列操作;
所述代理进程根据散列操作的结果确定该索引对应的REDIS实例;
其中所述REDIS控制台中存储有散列操作的结果与REDIS实例之间的对应关系。
3.根据权利要求1所述的操作方法,其特征在于,代理进程根据操作命令中包含的索引确定该索引对应的REDIS实例包括:
代理进程根据索引对应的范围确定该索引对应的REDIS实例;
其中所述REDIS控制台中存储有索引的范围与REDIS实例之间的对应关系。
4.一种REDIS控制台的操作装置,其特征在于,所述装置应用于采用分布式部署的REDIS数据服务中,该装置包括:
确定模块,用于根据操作命令中包含的索引确定该索引对应的REDIS实例;其中,根据所述索引的散列结果或者所述索引对应的范围确定该索引对应的REDIS实例,所述索引为用户ID;
发送模块,用于将操作命令通过透明传输的方式发送至所述REDIS实例;
接收模块,用于接收所述REDIS实例返回的操作命令执行结果;
该操作装置还包括输入模块,用于将所述操作命令户输入所述REDIS控制台。
5.根据权利要求4所述的操作装置,其特征在于,所述确定模块,还用于对操作命令中包含的索引进行散列操作;根据散列操作的结果确定该索引对应的REDIS实例;其中所述REDIS控制台中存储有散列值与REDIS实例之间的对应关系。
6.根据权利要求4所述的操作装置,其特征在于,所述确定模块,还用于根据操作命令中包含的索引对应的范围确定该索引对应的REDIS实例;其中所述REDIS控制台中存储有索引的范围与REDIS实例之间的对应关系。
7.一种计算机系统,其特征在于,该系统包括:
处理器、计算机可读存储器、和计算机可读存储介质;
程序,用于根据操作命令中包含的索引确定该索引对应的REDIS实例;其中,根据所述索引的散列结果或者所述索引对应的范围确定该索引对应的REDIS实例;将所述操作命令通过透明传输的方式发送至所述REDIS实例;接收所述REDIS实例返回的操作命令执行结果;所述操作命令由用户输入所述计算机系统;
所述程序存储在所述计算机可读存储介质上,用于由所述处理器经由所述计算机可读存储器执行。
CN201710509084.5A 2017-06-28 2017-06-28 一种redis控制台的操作方法、装置及计算机系统 Active CN107357853B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710509084.5A CN107357853B (zh) 2017-06-28 2017-06-28 一种redis控制台的操作方法、装置及计算机系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710509084.5A CN107357853B (zh) 2017-06-28 2017-06-28 一种redis控制台的操作方法、装置及计算机系统

Publications (2)

Publication Number Publication Date
CN107357853A CN107357853A (zh) 2017-11-17
CN107357853B true CN107357853B (zh) 2020-12-08

Family

ID=60273479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710509084.5A Active CN107357853B (zh) 2017-06-28 2017-06-28 一种redis控制台的操作方法、装置及计算机系统

Country Status (1)

Country Link
CN (1) CN107357853B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052551B (zh) * 2017-11-28 2021-04-30 北京航天云路有限公司 一种在redis上实现的存储大量时序数据的方法
CN109669886B (zh) * 2018-12-27 2020-11-20 广州致远电子有限公司 基于嵌入式系统的外设控制系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473272A (zh) * 2013-08-20 2013-12-25 小米科技有限责任公司 数据处理方法、装置及系统
CN103501237A (zh) * 2013-09-03 2014-01-08 小米科技有限责任公司 设备管理方法、管理平台、设备及系统
CN104050276A (zh) * 2014-06-26 2014-09-17 北京思特奇信息技术股份有限公司 一种分布式数据库的缓存处理方法及系统
CN104199957A (zh) * 2014-09-17 2014-12-10 合一网络技术(北京)有限公司 一种Redis通用代理的实现方法
CN105933408A (zh) * 2016-04-20 2016-09-07 中国银联股份有限公司 一种Redis通用中间件的实现方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426515B2 (en) * 2002-01-15 2008-09-16 International Business Machines Corporation Edge deployed database proxy driver

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473272A (zh) * 2013-08-20 2013-12-25 小米科技有限责任公司 数据处理方法、装置及系统
CN103501237A (zh) * 2013-09-03 2014-01-08 小米科技有限责任公司 设备管理方法、管理平台、设备及系统
CN104050276A (zh) * 2014-06-26 2014-09-17 北京思特奇信息技术股份有限公司 一种分布式数据库的缓存处理方法及系统
CN104199957A (zh) * 2014-09-17 2014-12-10 合一网络技术(北京)有限公司 一种Redis通用代理的实现方法
CN105933408A (zh) * 2016-04-20 2016-09-07 中国银联股份有限公司 一种Redis通用中间件的实现方法及装置

Also Published As

Publication number Publication date
CN107357853A (zh) 2017-11-17

Similar Documents

Publication Publication Date Title
CN111190928A (zh) 缓存处理方法、装置、计算机设备以及存储介质
CN109634718B (zh) 云平台创建镜像的方法及系统
US11979300B2 (en) Standardized format for containerized applications
CN107635027B (zh) 一种域名解析方法、介质、装置和计算设备
CN109829287A (zh) Api接口权限访问方法、设备、存储介质及装置
US9697085B2 (en) Presenting a file system for a file containing items
CN107766039B (zh) 从Java对象中存取属性值的方法、服务器及存储介质
US20170289243A1 (en) Domain name resolution method and electronic device
CN114385091A (zh) 网盘盘符的实现方法、装置、网盘及存储介质
CN114201317A (zh) 数据传输方法、装置、存储介质及电子设备
CN116069811B (zh) 使用用户定义的函数扩展数据库外部函数
CN113190534A (zh) 数据库数据迁移方法及装置
CN105939355A (zh) 一种数据访问方法、系统及客户端和服务器
CN114637703B (zh) 数据访问装置、方法、可读介质和电子设备
CN107357853B (zh) 一种redis控制台的操作方法、装置及计算机系统
US9891929B2 (en) System and method for redirecting input/output (I/O) sequences
CN112235433A (zh) 一种域名访问方法及装置
CN114489622A (zh) 静态资源管理方法、Node.js应用、电子设备和存储介质
EP3872630A2 (en) Request processing method and apparatus, electronic device, and computer storage medium
JP6418419B2 (ja) ハードディスクがアプリケーションコードを実行するための方法および装置
CN104572638A (zh) 数据读写方法及装置
CN111597479A (zh) 一种用于终端的图片智能加载方法、装置和电子设备
CN111949648A (zh) 内存缓存数据系统和数据索引方法
US7849164B2 (en) Configuring a device in a network via steps
CN109062929A (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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20171117

Assignee: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Contract record no.: X2021980000151

Denomination of invention: Operation method, device and computer system of redis console

Granted publication date: 20201208

License type: Common License

Record date: 20210107