首页 / 专利库 / 银行与财务事项 / 别名映射 / 멀티데이타베이스 시스템에서의 글로벌 질의에 대한 부질의생성방법

멀티데이타베이스 시스템에서의 글로벌 질의에 대한 부질의생성방법

阅读:240发布:2020-10-31

专利汇可以提供멀티데이타베이스 시스템에서의 글로벌 질의에 대한 부질의생성방법专利检索,专利查询,专利分析的服务。并且PURPOSE: A method for generating a subquery for a global query in a multi-database system, is provided to obtain data of desired through a query result transmitted from a subquery hereafter, by perfectly reflecting data demanded by the global query on every subquery without loss. CONSTITUTION: A method for generating a subquery for a global query in a multi-database system, connected through many local databases and networks, comprises the steps as follows. In a first step, table information in a from-passage from a parsing result of the global query is added to a global table list, projection information in a select-passage of the global query is added to a projection list, and then whether a where-passage exists in the global query is confirmed. In a second step, when a where-passage exists in the first step, table information having the where-passage is added to the global table list, and then join-field is added to a selection list. In a third step, when a where-passage doesn't exist in the first step, join field is added to the selection list. In a fourth step, whether an alias in the selection is coinciding with an alias in the global table is confirmed. In a fifth step, local data information corresponding to an alias and field information in the projection list is searched in mapping information only in case of coincidence in the fourth step, and the alias and field information in the projection list are added to a select and from-passage corresponding to the searched area database.,下面是멀티데이타베이스 시스템에서의 글로벌 질의에 대한 부질의생성방법专利的具体信息内容。

  • 다수개의 지역 데이타베이스와 네트워크를 통해 연결된 멀티데이타베이스 시스템에서의 글로벌 질의에 대한 부질의 생성방법에 있어서,
    글로벌 질의의 파싱 결과로부터 글로벌 질의의 from절에 있는 테이블 정보를 글로벌 테이블 리스트에 추가하고, 글로벌 질의의 select절에 있는 프로젝션(projection) 정보를 프로젝션 리스트에 추가한 다음, 글로벌 질의에 where절이 존재하는지 확인하는 제1단계;
    상기 제1단계에서 where절이 존재하면 where 절에 있는 테이블 정보를 글로벌 테이블 리스트에 추가한 다음, join 필드를 실렉션(selection) 리스트에 추가하는 제2단계;
    상기 제1단계에서 where절이 존재하지 않으면 join 필드를 실렉션(selection) 리스트에 추가하는 제3단계;
    상기 제3단계 수행 후, 프로젝션 리스트에 있는 엘리어스(alias)가 글로벌 테이블에 있는 테이블의 엘리어스와 일치하는지 확인하는 제4단계; 및
    상기 제4단계에서 일치하는 경우에 대해서만 프로젝션 리스트에 있는 엘리어스와 프로젝션 리스트에 있는 필드정보에 해당되는 지역 데이타베이스 정보를 매핑 정보에서 검색하여, 찾은 지역 데이타베이스에 해당되는 부질의의 select와 from절에 프로젝션 리스트에 있는 엘리어스와 필드정보를 추가하는 제5단계
    를 포함한 것을 특징으로 하는 글로벌 질의에 대한 부질의 생성방법.
  • 다수개의 지역 데이타베이스와 네트워크를 통해 연결된 멀티데이타베이스 시스템에서의 글로벌 질의로부터 부질의를 생성하는 기능을 수행하기 위한 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    글로벌 질의의 파싱 결과로부터 글로벌 질의의 from절에 있는 테이블 정보를 글로벌 테이블 리스트에 추가하고, 글로벌 질의의 select절에 있는 프로젝션(projection) 정보를 프로젝션 리스트에 추가한 다음, 글로벌 질의에 where절이 존재하는지 확인하는 제1단계;
    상기 제1단계에서 where절이 존재하면 where 절에 있는 테이블 정보를 글로벌 테이블 리스트에 추가한 다음, join 필드를 실렉션(selection) 리스트에 추가하는 제2단계;
    상기 제1단계에서 where절이 존재하지 않으면 join 필드를 실렉션(selection) 리스트에 추가하는 제3단계;
    상기 제3단계 수행 후, 프로젝션 리스트에 있는 엘리어스(alias)가 글로벌 테이블에 있는 테이블의 엘리어스와 일치하는지 확인하는 제4단계; 및
    상기 제4단계에서 일치하는 경우에 대해서만 프로젝션 리스트에 있는 엘리어스와 프로젝션 리스트에 있는 필드정보에 해당되는 지역 데이타베이스 정보를 매핑 정보에서 검색하여, 찾은 지역 데이타베이스에 해당되는 부질의의 select와 from절에 프로젝션 리스트에 있는 엘리어스와 필드정보를 추가하는 제5단계
    를 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  • 说明书全文

    멀티데이타베이스 시스템에서의 글로벌 질의에 대한 부질의 생성방법(The subquery generation method in a Multidatabase System)

    본 발명은 멀티데이타베이스(multidatabase) 시스템에서의 글로벌 질의로부터 부질의를 생성하는 방법에 관한 것으로, 더욱 자세하게는 멀티데이타베이스 시스템에서 글로벌 질의에서 요구한 데이타가 손실됨이 없이 각 부질의에 충실히 반영되도록 하여, 차후 부질의로부터 전달된 질의 결과를 통해 원하는 데이타를 얻을 수 있는 글로벌 질의로부터의 부질의 생성방법에 관한 것이다.

    멀티데이타베이스 시스템은 이미 존재하는 여러 개의 이질적인 데이타베이스 시스템을 논리적으로 통합하여 사용자에게 단일한 뷰(view)를 제공하는 분산 데이타베이스 시스템의 일종이다. 이때, 멀티데이타베이스에 참여하는 데이타베이스를 지역(local) 데이타베이스라고 한다. 사용자는 글로벌 질의를 통해 멀티데이타베이스 시스템에 저장된 자료를 검색하며, 멀티데이타베이스 시스템은 제출된 글로벌 질의를 분해하여 실제 데이타를 가지고 있는 지역 데이타베이스로 전달한다. 지역 데이타베이스는 질의에 대한 수행 결과를 멀티데이타베이스 시스템으로 반환하고, 멀티데이타베이스는 질의 결과를 통합하여 사용자에게 출력한다. 글로벌 질의를 부질의로 분해하는 과정에서 분해된 부질의가 글로벌 질의가 요구하는 데이타를 나타낼 수 없게 되는, 즉 데이타 손실이 발생될 수 있다.

    따라서, 본 발명은 멀티데이타베이스 시스템에서 표준 글로벌 질의(global query)를 각 지역 데이타베이스로 전달할 부질의(subquery)로 변환함에 있어, 글로벌 질의에서 요구한 데이타가 손실됨이 없이 각 부질의에 충실히 반영되도록 하여, 차후 부질의에 대한 응답으로 전달된 질의 결과로부터 원하는 데이타를 얻을 수 있도록 하기 위한 글로벌 질의에 대한 부질의 생성방법을 제공하는데 그 목적이 있다.

    도1은 멀티데이타베이스 시스템의 일반적인 구조를 나타낸 도면.

    도2는 본 발명에 따른 글로벌 질의로부터 부질의를 생성하는 흐름도.

    상기 목적을 달성하기 위한 본 발명에 따른 방법은, 다수개의 지역 데이타베이스와 네트워크를 통해 연결된 멀티데이타베이스 시스템에서의 글로벌 질의에 대한 부질의 생성방법에 있어서, 글로벌 질의의 파싱 결과로부터 글로벌 질의의 from절에 있는 테이블 정보를 글로벌 테이블 리스트에 추가하고, 글로벌 질의의 select절에 있는 프로젝션(projection) 정보를 프로젝션 리스트에 추가한 다음, 글로벌 질의에 where절이 존재하는지 확인하는 제1단계; 상기 제1단계에서 where절이 존재하면 where 절에 있는 테이블 정보를 글로벌 테이블 리스트에 추가한 다음, join 필드를 실렉션(selection) 리스트에 추가하는 제2단계; 상기 제1단계에서 where절이 존재하지 않으면 join 필드를 실렉션(selection) 리스트에 추가하는 제3단계; 상기 제3단계 수행 후, 프로젝션 리스트에 있는 엘리어스(alias)가 글로벌 테이블에 있는 테이블의 엘리어스와 일치하는지 확인하는 제4단계; 및 상기 제4단계에서 일치하는 경우에 대해서만 프로젝션 리스트에 있는 엘리어스와 프로젝션 리스트에 있는 필드정보에 해당되는 지역 데이타베이스 정보를 매핑 정보에서 검색하여, 찾은 지역 데이타베이스에 해당되는 부질의의 select와 from절에 프로젝션 리스트에 있는 엘리어스와 필드정보를 추가하는 제5단계를 포함한 것을 특징으로 한다.

    또한, 본 발명에 따른 기록매체는, 다수개의 지역 데이타베이스와 네트워크를 통해 연결된 멀티데이타베이스 시스템에서의 글로벌 질의로부터 부질의를 생성하는 기능을 수행하기 위한 컴퓨터로 읽을 수 있는 기록매체에 있어서, 글로벌 질의의 파싱 결과로부터 글로벌 질의의 from절에 있는 테이블 정보를 글로벌 테이블 리스트에 추가하고, 글로벌 질의의 select절에 있는 프로젝션(projection) 정보를 프로젝션 리스트에 추가한 다음, 글로벌 질의에 where절이 존재하는지 확인하는 제1단계; 상기 제1단계에서 where절이 존재하면 where 절에 있는 테이블 정보를 글로벌 테이블 리스트에 추가한 다음, join 필드를 실렉션(selection) 리스트에 추가하는 제2단계; 상기 제1단계에서 where절이 존재하지 않으면 join 필드를 실렉션(selection) 리스트에 추가하는 제3단계; 상기 제3단계 수행 후, 프로젝션 리스트에 있는 엘리어스(alias)가 글로벌 테이블에 있는 테이블의 엘리어스와 일치하는지 확인하는 제4단계; 및 상기 제4단계에서 일치하는 경우에 대해서만 프로젝션 리스트에 있는 엘리어스와 프로젝션 리스트에 있는 필드정보에 해당되는 지역 데이타베이스 정보를 매핑 정보에서 검색하여, 찾은 지역 데이타베이스에 해당되는 부질의의 select와 from절에 프로젝션 리스트에 있는 엘리어스와 필드정보를 추가하는 제5단계를 실행시키기 위한 프로그램이 기록된 것을 특징으로 한다.

    이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.

    도1은 멀티데이타베이스 시스템의 일반적인 구조를 나타낸 것으로, 멀티데이타베이스 시스템은 다수개의 지역 데이타베이스와 네트워크를 통해 연결되어 데이타를 억세스한다. 그리고, 멀티데이타베이스 시스템은 상기 네트워크에 연결되어 다수개의 지역 데이타베이스에 부질의를 송출하여 그에 대한 질의 결과를 입력받는다. 그리고, 각 지역 데이타베이스로부터 입력된 질의 결과를 통합하여 사용자나 관리자에게 제공한다.

    도2는 본 발명에 따른 글로벌 질의로부터 부질의를 생성하는 흐름도를 나타낸다.

    본 발명에 따른 글로벌 질의로부터 부질의를 생성하는 방법은 파싱 결과로부터 글로벌 질의의 from절에 있는 테이블 정보를 글로벌 테이블 리스트에 추가한다(101). 그리고 글로벌 질의의 select절에 있는 프로젝션(projection) 정보를 프로젝션 리스트에 추가한다(102). 그런 다음, 글로벌 질의에 where절이 존재하면(103) where 절에 있는 테이블 정보를 글로벌 테이블 리스트에 추가한 다음(104), join 필드를 실렉션(selection) 리스트에 추가한다(105). 한편, where 절이 존재하지 않으면(103), join 필드를 실렉션(selection) 리스트에 추가하는(105) 과정만 수행한다.

    이러한 과정을 통해 글로벌 테이블을 구성한 다음에, 글로벌 테이블에 있는 각 테이블에 다음과 같은 과정을 수행한다.

    프로젝션 리스트에 있는 엘리어스(alias)(A)가 글로벌 테이블에 있는 테이블(T)의 엘리어스와 일치하는지 확인한다(106). 확인 결과, 일치하는 경우에 대해서만 프로젝션 리스트에 있는 엘리어스(A)와 프로젝션 리스트에 있는 필드정보(F)에 해당되는 지역 데이타베이스 정보를 매핑 정보에서 검색한다(107). 그리고, 찾은 지역 데이타베이스에 해당되는 부질의의 select와 from절에 프로젝션 리스트에 있는 엘리어스(A)와 필드정보(F)를 추가한다(108). 한편, 프로젝션 리스트에 있는 엘리어스(alias)(A)가 글로벌 테이블에 있는 테이블(T)의 엘리어스와 일치하지 않으면 바로 부질의로서 송출한다. 이러한 과정을 통해 글로벌 질의로부터 부질의를 생성하여 각 지역 데이타베이스로 송출하게 된다.

    상기와 같은 본 발명의 동작을 구체적인 예를 들어 설명하면 다음과 같다.

    글로벌 질의가 제출되면 먼저 제출된 글로벌 질의를 파싱(parsing)해야 하며, 파싱된 글로벌 질의를 매핑정보와 함께 분석하여 해당 지역 데이타베이스에 전달할 부질의를 생성해야 한다. 매핑정보란 어떤 테이블의 어떤 필드가 지역 데이타베이스에서 어떤 테이블의 어떤 필드에 대응하는지를 알려주는 정보이다.

    하나의 글로벌 질의가 여러 개의 부질의로 나뉘어 각각의 지역 데이타베이스로 전달되어야 함은 명확하다. 그러나, 각각의 지역 데이타베이스에 하나씩만의 부질의로 글로벌 질의의 목적을 달성 할 수 있는 것은 아니다.

    다음의 예를 생각해 보자.

    두 개의 데이타베이스 중 DB1은 표1 및 표2에 나타낸 바와 같은 임의의 두개의 테이블을 가지고 있고, DB2는 표3 및 표4에 나타낸 바와 같은 임의의 두개의 테이블을 가지고 있다고 가정한다.

    Empolyee Table

    ID name Age
    1 James 30
    2 John 44

    Professor Table

    ID name Age
    3 Tom 35
    4 Kim 55

    Empolyee Table

    ID name Age
    11 Park 60
    12 Bill 10

    Professor Table

    ID name Age
    3 Tom 35
    14 Lilly 20

    그리고, 하나의 글로벌 질의문이 다음과 같이 제출되었다고 하자.

    Select p.name, e.name

    From Professor p, Empolyee e

    Where p.age < e.age

    양쪽의 데이타베이스(DB)의 테이블이 똑같으므로 특별히 분절화 할 것이 없어서, 만약 이 문장을 각각의 DB에 똑같이 보낸다면, 데이타베이스 A로부터는 (Tom,John)의 결과가, 데이타베이스 B로부터는 (Tom,Park), (Lilly,Park)의 결과가 나올 것이다.

    하지만, 이 결과에서는 뜻하지 않은 데이타 손실이 생겼다. 즉, (Lilly,James), (Lilly,John), (Kim,Park)이라는 결과는 얻을 수가 없다. 그러나, 이 양쪽의 데이타베이스들은 통합되었으므로, 이러한 결과를 생성하여야 한다. 그런데 결과를 살펴보면, 두 개의 테이블에 걸쳐져 있는 질의문의 경우 각기 다른 DB에 위치한 테이블들의 내용이 모아지지 않았음을 알 수 있다.

    이와 같은 데이타 손실은 지역 데이타베이스에서는 처리할 수 없다. 왜냐하면, 다른 DB에 어떤 내용이 저장되어 있는지 알 수 없기 때문이다. 따라서, 이러한 경우에는 멀티 데이타베이스에서 결과를 수집하여 가능한 조합을 시험해 보는 게 가장 타당한 방법이다.

    결국 멀티 데이타베이스는 우선 각 지역 데이타베이스로부터 각각의 테이블들을 하나로 모은 글로벌 테이블들을 만들어야 한다. 그리고, 이 글로벌 테이블들로부터 질의를 만족하는 모든 가능한 결과를 추출하여야 한다.

    표5 및 표6은 위의 예제 테이블을 이용하여 글로벌 테이블를 작성한 것이다.

    Empolyee Table

    ID name Age
    1 James 30
    2 John 44
    11 Park 60
    12 Bill 10

    Professor Table

    ID name Age
    3 Tom 35
    4 Kim 55
    14 Lilly 20

    이와 같이 글로벌 테이블을 작성한 후, 가능한 한 모든 조합을 만들어 글로벌 질의의 Where절의 조건과 비교한다. 이러한 비교를 통해 위의 예에서 발생한 데이타의 손실을 방지할 수 있다. 이러한 방법의 단점은 모든 작업을 지역 데이타베이스에게 수행할 때보다 멀티 데이타베이스의 작업 부담이 늘어난다는 것이다.

    결론적으로 글로벌 질의를 분할하는 과정에서는 From절에 나타난 모든 테이블들을 각각의 지역 데이타베이스로부터 통합하는 작업을 해야 한다. 이렇게 만들어진 테이블들로부터 결과를 추출해 내는 일은 후술하는 부분 결과의 통합에서 행해져야 한다.

    이 예에서처럼 중간단계의 글로벌 테이블을 만들기 위해 글로벌 질의는 다음과 같이 분할되어야 한다.

    DB A

    - 1. Select p.id, p.name, p.age From Professor p

    - 2. Select e.id, e.name, e.age From Employee e

    DB B

    - 1. Select p.id, p.name, p.age From Professor p

    - 2. Select e.id, e.name, e.age From Employee e

    각각의 DB로 위에서 생성된 부질의가 보내진다. DB A 의 첫 번째 부질의의 결과는 DB B 의 첫 번째 부질의의 결과와 통합되어야 하고, DB A 의 두 번째 부질의의 결과는 DB B 의 두 번째 부질의와 통합되어야 한다. 그리고, 이렇게 통합된 결과들은 최종적으로 'Where e.age > p.age'의 조건으로 비교되어야 한다.

    위의 예제의 경우를 좀더 일반적인 경우로 확장시키면 다음과 같다.

    DB 1 에서 DB m 까지 m개의 지역 데이타베이스가 있다고 가정하자. 또, 글로벌 테이블 이름 T i 에 대해서 DB k 에서의 지역 테이블 이름을 A k (T i )라고 하자. 마찬가지로, 어떤 글로벌 테이블 T i 의 글로벌 필드명 f j 의 DB k 에서의 지역 필드 이름을 A k (f j )라고 하자. 위에서 설명한 분할 규칙은 다음과 같이 쓰일 수 있다.

    Global Query

    - Select t 1 .f 1 , t 1 .f 2 , ... t n .f k

    From T 1 t 1 , T 2 t 2 , ... T n t n

    Where ...

    SubQueries

    DB 1

    - Q 1 : Select t 1 '.A 1 (f 1 ), t 1 '.A 1 (f 2 ), ... From A 1 (T 1 ) t 1 '

    - Q 2 : Select t 2 '.A 1 (f 1 ), t 2 '.A 1 (f 2 ), ... From A 1 (T 2 ) t 2 '

    - Q 3 : ...

    DB 2

    - Q 1 : Select t 1 '.A 2 (f 1 ), t 1 '.A 2 (f 2 ), ... From A 2 (T 1 ) t 1 '

    - Q 2 : Select t 2 '.A 2 (f 1 ), t 2 '.A 2 (f 2 ), ... From A 1 (T 2 ) t 2 '

    - Q 3 : ...

    DB m

    - Q 1 : Select t 1 '.A m (f 1 ), t 1 '.A m (f 2 ), ... From A m (T 1 ) t 1 '

    - Q 2 : Select t 2 '.A m (f 1 ), t 2 '.A m (f 2 ), ... From A m (T 2 ) t 2 '

    - Q 3 : ...

    그런데, 원래의 글로벌 질의의 Where절에 t j .f l 이 들어가 있고, 이것이 글로벌 질의의 Select절에는 포함이 안되어 있다고 한다면, 각 DB k Q j 의 Select절에다가 t j '.A k (f l )을 추가해 주어야 한다.

    또한, 글로벌 테이블 작성을 위해 결과들을 합칠 때는 각 튜플의 값이 일치하는 가를 나타내기 위해 기준이 되는 키필드가 있어야 한다. 이를 위해 키필드에 해당되는 값은 반드시 부질의의 Select절에 포함되어야 한다. 결국 최종적인 부질의는 다음과 같은 형태가 된다.

    DB k

    - Q i = Select t i '.A k (f s ) (t i .f s is in Select Clause of Global Query)

    ∪ t i '.A k (f r ) (t i .f r is in Where Clause of Global Query)

    ∪ t i '.A k (f y ) (t i .f y is key of Global Table T i )

    From A k (T i ) t i '

    글로벌 테이블을 작성하는 방법은 다음과 같다.

    - T i = ∪ Result Q i of DB k , 여기서 k = 1 ... m

    다음은 위에서 설명한 알고리즘을 위해 사전에 준비해야 할 데이타를 나타낸 것이다. 글로벌 질의가 다음과 같이 제출되었다고 가정하자.

    Select p.name From Person p, Child c Where c.father = p.name

    ① 우선 입력으로 들어오는 매핑 정보는 다음과 같이 구성된다. 이 매핑 정보는 위에서 설명한 A k (f i )를 구현하기 위한 것이다. 하나의 글로벌 테이블의 글로벌 필드는 각각의 지역 데이타베이스에서 지역 테이블 이름과, 지역 필드 이름이 다를 수 있으므로, 동일한 글로벌 테이블, 필드를 가지고 여러 개의 튜플(Tuple)을 만들어 낼 수 있다. 이러한 매핑의 예는 다음의 표7과 같다.

    글로벌 테이블 이름 글로벌 필드 이름 위치 지역 테이블 이름 지역 필드 이름
    Person name DB A PERSON NM
    person name DB B PEOPLE P_NAME
    ... ... ... ... ...

    또한 조인(join)할 때 필요한 키 필드들도 입력으로 주어져야 한다. 키 필드들은 각각의 글로벌 테이블별로 주어진다. 한 테이블의 키 필드는 여러 개일 수 있으며 표8과 같이 구성된다.

    글로벌 테이블 이름 키 필드
    Person name,age
    ... ...

    마지막 준비 작업으로 입력된 글로벌 질의를 파싱한다.

    ② 알고리즘의 첫 번째 단계는 어떤 글로벌 테이블들이 사용되고 있는지를 알아내는 것이다. 글로벌 테이블의 From절로부터 표9와 같은 테이블을 쉽게 만들어 낼 수 있다.

    글로벌 클래스

    글로벌 테이블 이름 글로벌 엘리어스
    Person p
    ... ...

    ③ 글로벌 프로젝션 테이블를 만들어 낸다.

    - 우선 Select절에서부터 들어있는 모든 프로젝션을 얻는다.

    - 다음으로 where절에 등장하는 모든 필요한 프로젝션들을 얻어 낸다.

    - 키필드 들을 프로젝션에 추가시킨다.

    - 생성된 프로젝션 리스트는 표10과 같다. 프로젝션이 요구되는 것이 오퍼레이션일 수 있으므로, 표에 오퍼레이션인지의 여부와 인자 리스트가 추가되어 있다. 오퍼레이션 값은 오퍼레이션이 아닌 경우 1, 인자가 없는 경우 2, 인자가 있는 경우 3이 된다.

    글로벌 프로젝션

    Alias Field Name Operation Argument
    p name 1 _
    c father 1 _
    p age 1 _

    상기와 같이 이루어지는 본 발명에 의하면 멀티 데이타베이스에 제출된 글로벌 질의를 각 지역 데이타베이스에 제출하기 위한 부질의로 생성함에 있어서, 데이타의 손실이 발생하지 않고, 알고리즘이 간단하여 용이하게 실현할 수 있는 효과가 있다.

    高效检索全球专利

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

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

    申请试用

    分析报告

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

    申请试用

    QQ群二维码
    意见反馈