首页 / 专利库 / 软件 / 逻辑文件 / 用于多副本数据网格系统中的写/读文件操作的方法

用于多副本数据网格系统中的写/读文件操作的方法

阅读:140发布:2024-01-12

专利汇可以提供用于多副本数据网格系统中的写/读文件操作的方法专利检索,专利查询,专利分析的服务。并且用于多副本数据网格系统中的写/读文件操作的方法属于多副本数据网格系统中高速写文件操作领域,其特征在于,依次含有以下步骤:用户向副本 访问 客户端提出写文件 请求 ;经元数据 服务器 进行身份认证成功后,则通过其中的服务器距离比较模 块 选择一个在逻辑距离上离用户最近的副本存储服务器,并选择对应的副本视图信息,经副本访问客户端的视图解析模块确认副本视图有效后,由副本访问客户端的读写执行模块向所述副本存储服务器发送写数据请求,当所述副本存储服务器执行写操作成功后,由元数据服务器的副本视图更新模块来更新副本视图。本 发明 使用户能够选择最近的副本存储服务器进行写操作,同时也保证用户能正常执行读操作。,下面是用于多副本数据网格系统中的写/读文件操作的方法专利的具体信息内容。

1.一种用于多副本数据网格系统中的写文件操作的方法,其特征在于,其实现步骤依次如下:
步骤(1).用户向所述系统中的副本访问客户端的用户访问接口提交写文件请求,该请求包括:所写文件的标识、所要写入的数据以及所写数据段的起始地址偏移量和数据段的长度;
步骤(2).所述用户访问接口模块对所述写文件请求进行简单封装后,发向所述副本访问客户端的视图请求模块,该视图请求模块向所述系统中元数据服务器内的身份认证模块发出写视图请求;
步骤(3).所述元数据服务器的身份认证模块对所述写视图请求进行简单认证,若:未通过认证,则把出错信息发给该元数据服务器中的出错处理模块,经记录异常后,向所述系统中副本访问客户端内的视图解析模块发送写视图请求失效响应;若:通过认证,则把认证正确的信息以及用户的写视图请求发向该元数据服务器中的服务器距离比较模块,该服务器距离比较模块根据预先存储的各副本存储服务器的域名或IP地址,估计并选择出与离开发起写视图请求的用户的逻辑距离最小的一个副本存储服务器;
步骤(4).所述元数据服务器中的副本视图选择模块根据从所述服务器距离比较模块得到的副本存储服务器和用户写视图请求,从所述元数据服务器中的副本视图存储模块所提供的副本视图中,选取副本视图,生成对应的副本视图信息,并将结果返回给所述系统中副本访问客户端内的视图解析模块;
步骤(5).所述副本访问客户端的视图解析模块收到从所述元数据服务器中的副本视图选择模块返回的副本视图信息或者出错处理模块返回的写视图请求失效响应后,验查是否为有效视图信息;若为无效视图,则把出错信息发给该副本访问客户端的出错处理模块,并通过所述用户访问接口模块给用户返回出错信息;若为有效视图,则解析所述副本视图信息,按照副本视图信息中的数据段所在服务器对所述副本视图信息进行分组,使得存储在相同服务器上的数据段属于同一个组,再把同一组的各数据段按起始地址的偏移量的大小进行组内排序,并将分组视图信息发向所述副本访问客户端内的读写执行模块进行具体的写数据操作;
步骤(6).所述副本访问客户端的读写执行模块根据从所述视图解析模块收到的分组视图信息向副本存储服务器发送写数据请求;
步骤(7).步骤(6)所述的副本存储服务器检验从所述副本访问客户端中的读写执行模块收到的写数据请求的有效性;若为无效数据请求,则向所述副本访问客户端的读写执行模块返回出错信息;若为有效请求,则对数据副本执行写数据操作,在写成功后,所述副本存储服务器向所述元数据服务器内的副本视图更新模块发送副本更新报告;
步骤(8).步骤(7)所述元数据服务器的副本视图更新模块收到从副本存储服务器得到的副本更新报告后,通过所述元数据服务器内的副本视图存储模块对对应的副本视图信息进行更新操作,以便向所述副本视图选择模块提供准确的副本视图,若副本视图更新失败,则所述副本视图更新模块向步骤(7)所述副本存储服务器返回副本更新失败确认信息,进而所述副本存储服务器回滚至写操作前的状态,并向步骤(6)所述副本访问客户端的读写执行模块发送写数据失败响应;
步骤(9).若步骤(8)所述的副本视图更新成功,则步骤(8)所述的副本视图更新模块向步骤(7)所述副本存储服务器返回副本更新成功确认信息,该副本存储服务器向步骤(6)所述副本访问客户端的读写执行模块发送写数据成功响应;
步骤(10).步骤(6)所述副本访问客户端的读写执行模块收到从步骤(7)所述副本存储服务器的写数据响应后,对写数据响应进行判断,若为写数据失败响应,则把出错信息发给该副本访问客户端的出错处理模块,并通过所述用户访问接口模块向用户返回出错信息;若为写数据成功响应,则向所述视图解析模块返回写数据成功信息,该视图解析模块通过所述用户访问接口模块向用户返回写文件响应。
2.根据权利要求1所述的用于多副本数据网格系统中的写文件操作的方法,其特征在于,当把所述的方法用于读操作时,在身份认证通过后,由服务器距离比较模块根据副本存储服务器与用户之间的逻辑距离信息选择并生成对应的视图信息。

说明书全文

用于多副本数据网格系统中的写/读文件操作的方法

技术领域

[0001] 本发明涉及数据网格系统中的文件操作,尤其涉及多副本数据网格系统中的高速写文件操作。

背景技术

[0002] 数据网格系统广泛采用数据副本技术来提高文件操作的性能,即将多个文件副本存储在不同数据节点中,其中包括一个可改写的主副本文件以及多个只读副本文件。对于读文件操作,一般情况下用户可以手工选择最近的副本文件进行读操作,或者通过数据网格中的资源调度器为用户自动分配通讯开销小的副本文件进行读操作。对于写文件操作,一般是将数据写入到主副本文件中,主副本文件是唯一可改写副本文件,主副本文件更新完毕后,将通过同步或异步方式自动更新其他只读副本文件。
[0003] 从上述现有技术可知,目前数据网格中的写文件操作有如下不足:
[0004] 由于只能改写主副本文件,当主副本文件存储到用户的传输开销较大时,将降低数据网格写文件操作的性能。
[0005] 当对某一文件频繁执行写操作时,存储该主副本文件的数据节点将可能出现过载,导致写文件操作的性能急剧下降,甚至造成系统崩溃。

发明内容

[0006] 本发明的目的在于提供一种用于多副本数据网格系统中的就近写/读副本文件的方法,该方法使用户可以对最近的副本文件进行写操作,提高了写文件操作的性能。
[0007] 一种用于多副本数据网格系统中的支持就近写/读副本文件的方法涉及到元数据服务器、副本存储服务器和副本访问客户端。
[0008] 其中元数据服务器包括副本视图存储模、副本视图更新模块、服务器距离比较模块、副本视图选择模块和出错处理模块,各模块的作用如下:
[0009] 副本视图存储模块:存储副本视图信息,描述一个副本的完整视图信息由副本存储服务器地址以及在所述副本存储服务器上存储的可用副本的数据段描述信息组成,所述数据段描述信息由在副本内的起始偏移量与数据段长度表示,所述副本存储服务器地址由副本存储服务器的域名或IP地址表示;
[0010] 副本视图更新模块:根据副本更新的具体情况,查找并删除过时的副本视图信息,建立新的副本视图信息,修改副本视图的数据段描述信息;
[0011] 服务器距离比较模块:估计各个副本存储服务器到发起读写请求的用户的逻辑距离,距离越远表示服务器与用户之间的通信链路的可用带宽越小,反之亦然;
[0012] 副本视图选择模块:根据用户的读写请求,以及所述服务器距离比较模块的输出结果选取与所述用户距离最小的副本视图;当用户进行读文件操作时,所述距离最小的副本视图可能由多个副本存储服务器上的多个数据段拼合而成;当用户进行写文件操作时,所述距离最小的副本视图为距离用户最近的副本存储服务器上的一个数据段;
[0013] 其中副本存储服务器负责存储、管理副本文件;负责接收并执行来自用户的读写操作;负责向元数据服务器报告所管理的副本文件的更新状态;
[0014] 出错处理模块:当身份认证失败时,记录异常,并向客户端发送请求失败响应。
[0015] 其中访问客户端包括用户访问接口模块、视图请求模块、视图解析模块、读写执行模块和错误处理模块,各模块的作用如下:
[0016] 用户访问接口模块:接收用户发出的读写文件请求;
[0017] 视图请求模块:根据用户访问接口模块的输出参数,向元数据服务器发出读写请求,获取具体读写操作所需的副本视图信息;
[0018] 副本视图解析模块:解析由元数据服务器返回的副本视图信息,按副本视图信息中的数据段所在的服务器对所述副本视图信息进行分组,存储在相同服务器上的数据段属于同一组,同一组的各数据段按照起始偏移量进行组内排序;对于读操作,通过读写执行模块从相关副本存储服务器获取各数据段数据,并组成完整的数据段返回给用户访问接口模块;对于写操作,通过读写执行模块将用户数据写入到相应的副本存储服务器的对应数据段中;
[0019] 读写执行模块:与副本存储服务器交互,执行读写文件操作;
[0020] 错误处理模块:处理读写视图请求以及执行读写文件时所产生的错误。
[0021] 其中通过访问客户端进行写文件操作的方法,其实现步骤依次如下:
[0022] 步骤(1).用户向所述系统中的副本访问客户端的用户访问接口模块提交写文件请求,
[0023] 该请求包括:所写文件的标识、所要写入的数据以及所写数据段的起始地址偏移量和数据段的长度;
[0024] 步骤(2).所述用户访问接口模块对所述写文件请求进行简单封装后,发向所述副本访问客户端的视图请求模块,该视图请求模块向所述系统中元数据服务器内的身份认证模块发出写视图请求;
[0025] 步骤(3).所述元数据服务器的身份认证模块对所述写视图请求进行简单认证,若:未认证通过认证,则把出错信息发给该元数据服务器中的出错处理模块,经记录异常后,向所述系统中副本访问客户端内的视图解析模块发送写视图请求失效响应;若:通过认证,则把认证正确的信息以及用户的写视图请求发向该元数据服务器中的服务器距离比较模块,该服务器距离比较模块根据预先存储的各副本存储服务器的域名或IP地址,估计并选择出与离开发起写视图请求的用户的逻辑距离最小的一个副本存储服务器;
[0026] 步骤(4).所述元数据服务器中的副本视图选择模块根据从所述服务器距离比较模块得到的副本存储服务器和用户写视图请求,从所述元数据服务器中的副本视图存储模块所提供的副本视图中,选取副本视图,生成对应的副本视图信息,并将结果返回给所述系统中副本访问客户端内的视图解析模块;
[0027] 步骤(5).所述副本访问客户端的视图解析模块收到从所述元数据服务器中的副本视图选择模块返回的副本视图信息或者出错处理模块返回的写视图请求失效响应后,验查是否为有效视图信息;若为无效视图,则把出错信息发给该副本访问客户端的出错处理模块,并通过所述用户访问接口模块给用户返回出错信息;若为有效视图,则解析所述副本视图信息,按照副本视图信息中的数据段所在服务器对所述副本视图信息进行分组,使得存储在相同服务器上的数据段属于同一个组,再把同一组的各数据段按起始地址的偏移量的大小进行组内排序,并将分组视图信息发向所述副本访问客户端内的读写执行模块进行具体的写数据操作;步骤(6).所述副本访问客户端的读写执行模块根据从所述视图解析模块收到的分组视图信息向副本存储服务器发送写数据请求;
[0028] 步骤(7).步骤(6)所述的副本存储服务器检验从所述副本访问客户端中的读写执行模块收到的写数据请求的有效性;若为无效数据请求,则向所述副本访问客户端的读写执行模块返回出错信息;若为有效请求,则对数据副本执行写数据操作,在写成功后,所述副本存储服务器向所述元数据服务器内的副本视图更新模块发送副本更新报告;
[0029] 步骤(8).步骤(7)所述元数据服务器的副本视图更新模块收到从副本存储服务器得到的副本更新报告后,通过所述元数据服务器内的副本视图存储模块对对应的副本视图信息进行更新操作,以便向所述副本视图选择模块提供准确的副本视图,若副本视图更新失败,则所述副本视图更新模块向步骤(7)所述副本存储服务器返回副本更新失败确认信息,进而所述副本存储服务器回滚至写操作前的状态,并向步骤(6)所述副本访问客户端的读写执行模块发送写数据失败响应;
[0030] 步骤(9).若步骤(8)所述的副本视图更新成功,则步骤(8)所述的副本视图更新模块向步骤(7)所述副本存储服务器返回副本更新成功确认信息,该副本存储服务器向步骤(6)所述副本访问客户端的读写执行模块发送写数据成功响应;
[0031] 步骤(10).步骤(6)所述副本访问客户端的读写执行模块收到从步骤(7)所述副本存储服务器的写数据响应后,对写数据响应进行判断,若为写数据失败响应,则把出错信息发给该副本访问客户端的出错处理模块,并通过所述用户访问接口模块向用户返回出错信息;若为写数据成功响应,则向所述视图解析模块返回写数据成功信息,该视图解析模块通过所述用户访问接口模块向用户返回写文件响应。
[0032] 其中当把所述的方法用于读操作时,在身份认证通过后,由服务器距离比较模块根据所述副本存储器与用户之间的逻辑距离信息选择并生成对应的读视图信息。
[0033] 其中用户在进行读写操作前,需要获得文件的句柄,并在完成所有读写操作后,释放所获取的文件句柄。
[0034] 综上所述,使用本发明所提供的方法可以使用户能够选择最近的副本存储服务器进行写操作,同时保证用户能够正常执行读文件操作,提高文件读写操作的性能,此外访问客户端对读写细节进行了屏蔽,从而为用户提供更加方便的文件操作服务。附图说明
[0035] 图1是本发明的系统拓扑图;
[0036] 图2是元数据服务器的主要模块组成框图
[0037] 图3是访问客户端的主要模块组成框图;
[0038] 图4是用户进行写文件操作的流程图
[0039] 图5是用户进行读文件操作的流程图。

具体实施方式

[0040] 本发明中的通过访问客户端进行写文件操作的方法实施步骤如下:
[0041] 1、用户向访问客户端的访问客户端的访问接口模块提交写文件请求,该请求包括所写文件的标识、所要写如的数据以及所写数据段的起始偏移量和长度;
[0042] 2、访问接口模块对写文件请求进行简单封装后,交由视图请求模块,后者向元数据服务器请求写操作所需的视图信息;
[0043] 3、元数据服务器对请求进行简单认证,如果未认证通过,则返回给访问客户端出错信息;如果认证通过,则转入服务器距离比较模块,估计并选择出与用户距离最近的副本存储服务器;
[0044] 4、找到最近副本存储服务器后,由副本视图选择模块生成对应的视图信息,并将结果返回给访问客户端;
[0045] 5、访问客户端的视图解析模块接收元数据服务器返回的视图信息,并检查是否为有效视图信息,如果为无效视图,则通过访问接口模块返回给用户出错信息;如果为有效视图,则按照视图信息通过读写执行模块尝试向最近的副本存储服务器发送写数据请求;
[0046] 6、副本存储服务器检验来自访问客户端的写数据请求的有效性,如果为无效请求,则返回给访问客户端出错信息;如果为有效请求,则执行写操作;写成功后副本存储服务器向元数据服务器发送副本更新报告;如果更新失败,则返回给访问客户端出错信息,并回滚至写操作前的状态;如果更新成功,则通知访问客户端;
[0047] 7、如果访问客户端的视图解析模块的写请求失败,则通过访问接口模块返回给用户出错信息;如果成功,则通过访问接口模块提示用户写文件操作成功完成。
[0048] 其中通过访问客户端进行读文件操作的方法的实施步骤如下:
[0049] 1、用户向访问客户端的访问客户端的访问接口模块提交读文件请求,该请求包括所读文件的标识、所要读取数据的起始偏移量和长度;
[0050] 2、访问接口模块对读文件请求进行简单封装后,交由视图请求模块,后者向元数据服务器请求读操作所需的视图信息;
[0051] 3、元数据服务器对请求进行简单认证,如果未认证通过,则返回给访问客户端出错信息;如果认证通过,则转入服务器距离比较模块,估计副本存储服务器与用户之间的距离,并转入副本视图选择模块进行处理;
[0052] 4、副本视图选择模块根据由服务器距离比较模块得到的距离信息选择生成对应的视图信息,并将结果返回给访问客户端;
[0053] 5、访问客户端的视图解析模块接收元数据服务器返回的视图信息,并检查是否为有效视图信息,如果为无效视图,则通过访问接口模块返回给用户出错信息;如果为有效视图,则按照视图信息通过读写执行模块尝试向一个或多个副本存储服务器发送读数据请求;
[0054] 6、副本存储服务器检验来自访问客户端的读数据请求的有效性,如果为无效请求,则返回给访问客户端出错信息;如果为有效请求,则执行读操作,将读取的数据返回给访问客户端;
[0055] 7、如果访问客户端的视图解析模块的读请求失败,则通过访问接口模块返回给用户出错信息;如果成功,则将所有返回的数据段拼装成用户所请求的完成的数据段,通过访问接口模块返回给用户。
[0056] 下面结合附图对本发明的具体实施作进一步的详细阐述。
[0057] 图1是具体实施本发明的数据网格系统的网络组成拓扑图,该图由服务器组1与访问客户端2两大部分组成,其中服务器组由元数据服务器3与多个副本存储服务器4构成,其中元数据服务器3与副本存储服务器4相连。访问客户端2与元数据服务器3和副本存储服务器4相连,客户端的读写操作由两个阶段组成,首先是与元数据服务器之间的元数据操作,然后是与副本存储服务器之间的数据操作。
[0058] 如图2所示,其中元数据服务器由6个模块构成,分别为:副本视图更新模块10、副本视图存储模块11、身份认证模块12、服务器距离比较模块13、副本视图选择模块14、出错处理模块15。
[0059] 各模块的作用如下:
[0060] 副本视图更新模块10:接收来自副本存储服务器的副本更新报告,查找并删除过时的副本视图信息,建立新的副本视图信息,修改副本视图的数据段描述信息,并向副本存储服务器发送更新确认。
[0061] 副本视图存储模块11:存储副本视图信息,并为其他模块提供视图查询服务。描述一个副本的完整视图信息由副本存储服务器地址以及在所述副本存储服务器上存储的可用副本的数据段描述信息组成,所述数据段描述信息由在副本内的起始偏移量与数据段长度表示,所述副本存储服务器地址由副本存储服务器的域名或IP地址表示。
[0062] 身份认证模块12:对用户的读写视图请求进行基于文件句柄的身份认证处理,即判断请求中所提供的文件句柄是否为合法用户的文件句柄。
[0063] 服务器距离比较模块13:估计各个副本存储服务器到发起读写请求的用户的逻辑距离,距离越远表示服务器与用户之间的通信链路的可用带宽越小,反之亦然。
[0064] 副本视图选择模块14:根据用户的读写请求,以及所述服务器距离比较模块的输出结果选取与所述用户距离最小的副本视图;当用户进行读文件操作时,所述距离最小的副本视图可能由多个副本存储服务器上的多个数据段拼合而成;当用户进行写文件操作时,所述距离最小的副本视图为距离用户最近的副本存储服务器上的一个数据段。
[0065] 出错处理模块15:当身份认证失败时,记录异常,并向客户端发送请求失败响应。
[0066] 如图3所示,其中访问客户端由用户访问接口模块200、视图请求模块201、视图解析模块202、读写执行模块203和错误处理模块204五部分组成。
[0067] 各模块的作用如下:
[0068] 用户访问接口模块200:接收用户发出的读写文件请求,并将执行结果返回给用户。
[0069] 视图请求模块201:根据用户访问接口模块的输出参数,向元数据服务器发出读写视图请求,获取具体读写操作所需的副本视图信息。
[0070] 副本视图解析模块202:解析由元数据服务器返回的副本视图信息,按副本视图信息中的数据段所在的服务器对所述副本视图信息进行分组,存储在相同服务器上的数据段属于同一组,同一组的各数据段按照起始偏移量进行组内排序;对于读操作,通过读写执行模块203从相关副本存储服务器获取各数据段数据,并组成完整的数据段返回给用户访问接口模块201;对于写操作,通过读写执行模块203将用户数据写入到相应的副本存储服务器的对应数据段中。
[0071] 读写执行模块203:与副本存储服务器交互,执行读写文件操作。
[0072] 错误处理模块204:处理读写视图请求以及执行读写文件时所产生的错误。
[0073] 图4所示为用户进行写文件操作的流程图,在访问客户端内,步骤300中由用户访问接口200对用户的写文件请求进行简单封装,转到步骤310中由视图请求模块201向元数据服务器请求写操作所需的视图信息;在元数据服务器内,步骤320中由身份认证模块对用户的视图请求进行身份认证,在步骤330中如果通过认证,则转到步骤340中由服务器距离比较模块13估计并选择出与用户距离最近的副本存储服务器,并转到步骤350中由副本视图选择模块14生成视图信息发送给访问客户端,如果在步骤330中没有通过认证,则转到步骤360中由出错处理模块15发送给访问客户端错误报告;在访问客户端内,步骤370中由视图解析模块202接收来自元数据服务的视图响应,在步骤380中如果视图为无效视图信息,则转到步骤440中由错误处理模块204进行错误处理,并转到步骤450由用户访问接口200提示用户写失败,如果在步骤380中判断视图为有效视图,则转到步骤390中由写执行模块203向副本存储服务器发起写执行请求;在副本存储服务器中,步骤400检验来自访问客户端的写执行请求的有效性,如果为无效请求,则返回给访问客户端出错信息转到步骤420,如果为有效请求,则执行写操作,向元数据服务器发送副本更新报告,并在步骤410中由元数据服务器的副本视图更新模块10对副本视图进行更新,完成更新后在步骤
400中向访问客户端发送写执行结果;在访问客户端中,步骤420中由写执行模块203接收副本存储服务器的写执行结果,在步骤430中判断写执行是否成功,如果成功则转到步骤
450中由用户访问接口200向用户返回用户写响应,如果步骤430中判断写执行失败,则转到步骤440中由错误处理模块204进行错误处理,并转到步骤450由用户访问接口200提示用户写失败。
[0074] 图5为用户进行读文件操作的流程图,在访问客户端内,步骤500中由用户访问接口200对用户的读文件请求进行简单封装,转到步骤510中由视图请求模块201向元数据服务器请求读操作所需的视图信息;在元数据服务器内,步骤520中由身份认证模块对用户的视图请求进行身份认证,在步骤530中如果通过认证,则转到步骤540中由服务器距离比较模块13估计各副本存储服务器与用户之间的距离,并转到步骤550中由副本视图选择模块14按照步骤540估计的距离信息生成视图信息发送给访问客户端,如果在步骤530中没有通过认证,则转到步骤560中由出错处理模块15发送给访问客户端错误报告;在访问客户端内,步骤570中由视图解析模块202接收来自元数据服务的视图响应,在步骤580中如果视图为无效视图信息,则转到步骤620中由错误处理模块204进行错误处理,并转到步骤650由用户访问接口200提示用户写失败,如果在步骤580中判断视图为有效视图,则转到步骤590中由读执行模块203向视图中涉及到的副本存储服务器发起读数据请求;在副本存储服务器中,步骤600检验来自访问客户端的读执行请求的有效性,如果为无效请求,则返回给访问客户端出错信息转到步骤610,如果为有效请求,则执行读数据操作,并向访问客户端发送读数据结果;在访问客户端中,步骤610中由读执行模块203接收副本存储服务器的读数据结果,在步骤610中判断读数据是否成功,如果成功则转到步骤640中由视图解析模块按照视图信息对读取的数据进行拼合,当整个视图拼合完成后转到步骤650中由用户访问接口200向用户返回用户读响应,如果步骤610中判断读数据失败,则转到步骤620中由错误处理模块204进行错误处理,并转到步骤650由用户访问接口200提示用户读失败。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈