CN105912597A - Method for storing structural data of tenants in multi-tenant database - Google Patents

Method for storing structural data of tenants in multi-tenant database Download PDF

Info

Publication number
CN105912597A
CN105912597A CN201610206330.5A CN201610206330A CN105912597A CN 105912597 A CN105912597 A CN 105912597A CN 201610206330 A CN201610206330 A CN 201610206330A CN 105912597 A CN105912597 A CN 105912597A
Authority
CN
China
Prior art keywords
tenant
data
data model
storing
model
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
Application number
CN201610206330.5A
Other languages
Chinese (zh)
Other versions
CN105912597B (en
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 Bingo Software Co Ltd
Original Assignee
South China Normal University
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 South China Normal University filed Critical South China Normal University
Priority to CN201610206330.5A priority Critical patent/CN105912597B/en
Publication of CN105912597A publication Critical patent/CN105912597A/en
Application granted granted Critical
Publication of CN105912597B publication Critical patent/CN105912597B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/22Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention relates to a method for storing structural data of tenants in a multi-tenant database. The method comprises following steps: (1) setting a structural data model: the structural data model is composed of a basic data model, an extended table data model, a key value pair data model; the basic data mode is used for storing basic information of tenants, the extended table data model is used for storing extended information on basic information of tenants; the key value pair data model is used for storing customized list information of tenants; (2) classifying tenants: classifying tenants of a multi-tenant application based on data types generated by tenants; (3) storing tenant data: utilizing different data models of the structural data model for storage to different types of data generated by tenants based on the classification result. The embodiment of the method for storing structural data of tenants in the multi-tenant database is capable of effectively storing basic data and customized data of tenants and helps to satisfy the interests of providers while meeting the needs of tenants.

Description

The method storing tenant's structural data in multi-tenant database
Technical field
The present invention relates to cloud computing applied technical field, a kind of in multi-tenant database, store tenant's structural data Method.
Background technology
Cloud computing is the most emerging a kind of delivery service pattern, provides user institute by network with on-demand, easy extension way The resource needed or service.Software as a Service (SaaS), i.e. software i.e. services, and is the big base form of cloud computing three One of, its various application are by being deployed in data center in service provider's Unified Set, user can temporally wait demand, passes through Web Browser or Web client access corresponding service, to carry out on-demand use, have the biggest motility.
In order to reach benefit, SaaS application service provider uses many tenants (Muti-Tenant) technology, it would be desirable to use The tenant of same or like SaaS service uses same application example so that it is produce certain scale effect.We are employing Many tenants technology is referred to as SaaS many tenants application with the application that SaaS mode is run.
In the many tenants of SaaS apply, according to data sharing degree, the data of different tenants can be divided into two big classes: the first kind It is basic data, mainly includes basic data metadata and basic data Value Data, basic data model can be used to store, The service used for realizing all tenants to be required for;Another kind of is self-defining data, and it includes user-defined data table and custom field, For realizing tenant's individual demand.
Wherein, the self-defined demand of each tenant cannot be predicted in advance due to data base designer, and the personalization of each tenant Need the most different so that self-defining data motility is the biggest.Storage method of the prior art or the most all have one Fixed limitation, it is impossible to meet tenant's structural data memory requirement, therefore, need a kind of new method badly, meet tenant's Structural data storage demand.
Summary of the invention
It is an object of the invention to a kind of method storing tenant's structural data in multi-tenant database, can effectively store rent The basic data at family and self-defining data, while reaching tenant's demand, meet the interests of service supplier.
In order to realize foregoing invention purpose, the technical solution adopted in the present invention is as follows:
Embodiments provide a kind of method storing tenant's structural data in multi-tenant database, including:
(1) structural data model is set:
Described structural data model is made up of basic data model, expansion table data model and key-value pair data model;
Described basic data model is for storing the Back ground Information of tenant, and described expansion table data model is used for storing tenant basis letter The expansion information of breath, described key-value pair data model is for storing the user-defined data table information of tenant;
(2) classification tenant:
Tenant during many tenants are applied by the data type produced according to tenant classifies;
(3) storage tenant data:
According to the result of classification, the data that different types of tenant is produced, use the different pieces of information mould in structural data model Type stores.
As a kind of specific embodiment, described basic data model comprises tenant's table and multiple Back ground Information tables.
As a kind of specific embodiment, described expansion packetization includes expansion field data and expands field metadata.
As a kind of specific embodiment, described expansion table data model comprises a Zhang Tuo and opens up tables of data and a Zhang Tuo opens up field unit number According to table.
As a kind of specific embodiment, described user-defined data table information includes table metadata information, field metadata information and value number It is believed that breath.
As a kind of specific embodiment, described key-value pair data model comprises a table metadata table, a field metadata table With a Value Data table.
As a kind of specific embodiment, the tenant during many tenants are applied by the described data type produced according to tenant classifies Particularly as follows:
The tenant only producing basic data is defined as the first tenant;
The tenant producing basic data and custom field data is defined as the second tenant;
The tenant producing basic data, user-defined data table data and custom field data is defined as the 3rd tenant.
As a kind of specific embodiment, the described result according to classification, the data that different types of tenant is produced, use knot Different pieces of information model in structure data model carry out storing particularly as follows:
Basic data model is used to store the basic data that the first tenant produces;
Use basic data model to store the basic data that the second tenant produces, use expansion table data model to store the second tenant and produce Raw custom field data;
The basic data using basic data model storage the 3rd tenant to produce, uses expansion table data model storage the 3rd tenant to produce Raw custom field data, use the user-defined data table data that key-value pair data model storage the 3rd tenant produces.
Compared with prior art, the technical scheme that the present invention provides has the advantages that
The method storing tenant's structural data in multi-tenant database that embodiment of the present invention provides, by arranging structuring Data model, this models coupling basic data model, expansion table data model and key-value pair data model, overcome single The model shortcoming when storing multi-tenant data, can effectively store basic data and the self-defining data of tenant, reach tenant While demand, meet the interests of service supplier.
Accompanying drawing explanation
Fig. 1 is the logical architecture figure of many tenants Course Website group's application system of the embodiment of the present invention;
Fig. 2 is the flow chart of an embodiment of the method described in the embodiment of the present invention;
Fig. 3 is that the embodiment of the present invention illustrates tenant's information data and each tenant in many tenants Course Website application system The logical storage structure of user profile data.
Detailed description of the invention
In order to be fully understood from the purpose of the present invention, feature and effect, below with reference to accompanying drawing 1-3 to the design of the present invention, tool The technique effect of body structure and generation is described further.
The present embodiment, as a example by Course Website group's application system with multi-tenant architecture, this system using a branch of instruction in school as One tenant, the soft and hardware resource of shared system between multiple tenants, it is divided into three big assemblies, background system, foreground system And data base, this application system logical architecture refers to Fig. 1, from figure 1 it appears that this system includes ftp server (File Transfer Protocol Server) 101, content management server 102, web application server 103, database server 104, And external user 105 and internal user 106.Wherein, present invention is mainly applied on data base.
As in figure 2 it is shown, present embodiments provide a kind of method storing tenant's structural data in multi-tenant database, including:
Step 201: structural data model is set
Described structural data model is made up of basic data model, expansion table data model and key-value pair data model.
Wherein, described basic data model is for storing the Back ground Information of tenant, and basic data model arranges two tables, a rent Family table and multiple Back ground Information tables.Wherein, tenant's table (tenant_info) arranges tenant_id (tenant ID, major key), name (name Word), telephone (phone), address (address) and email (E-mail address) field, user's table (user_info) is arranged User_id (ID, major key), tenant_id (tenant id, external key), ext_data_id (expansion field id, external key), name (name), age (age) and telephone (phone) field.
Described expansion table data model is for storing the expansion information of tenant's Back ground Information, and described expansion information includes expanding Field Count According to expand field metadata.Expanding data model to need to arrange two tables, a Zhang Tuo opens up tables of data and a Zhang Tuo opens up field unit number According to table.Wherein, expanding tables of data (ext_data) and arrange ext_data_id (expanding data ID, major key), ext_col_id (opens up Exhibition row ID, external key) and expand data value (value) field, expand field metadata table (ext_column_metadata) and set Put ext_col_id (expanding row ID, major key), tenant_id (tenant ID, external key), name (column name) and type (row Data type) field.
Described key-value pair data model is for storing the user-defined data table information of tenant, and described user-defined data table information includes that table metadata is believed Breath, field metadata information and Value Data information, described key-value pair data model needs to arrange three tables, comprises a list cell number According to table, a field metadata table and a Value Data table.Wherein, table metadata table (table_matadata) arranges id (table ID, major key), tenant_id (tenant ID, external key), whether name (table name), enabled (come into force), and (table describes info Information) field, field metadata table (column_metadata) arranges col_id (row ID, major key), tenant_id (tenant ID, external key), table_id (table id, external key), name (row name), type (field data types), (field is long for length Degree), null (can be null), def_v (default value), enabled (whether coming into force) and info (row description information) field, Value Data table (data) arranges id (value ID, major key), tenant_id (tenant ID, external key), table_id (table id, external key), Col_id (row ID, external key), value (field value) and info (value description information) field.As it is shown on figure 3, after for arranging Structural data model BEKV.
Step 202: classification tenant
Tenant during many tenants are applied by the data type produced according to tenant classifies.The described data class produced according to tenant Tenant during many tenants are applied by type classifies particularly as follows: the tenant only producing basic data is defined as the first tenant;To produce The tenant of raw basic data and custom field data is defined as the second tenant;Will produce basic data, user-defined data table data and from The tenant of defined word segment data is defined as the 3rd tenant.
Having three tenants A, B, C on the SaaS platform of the present embodiment, specifying information is as shown in the table:
Table 4-1 is tenant's information table (tenant_info)
tenant_id name telephone address email
001 A 13666666666 Nanchang pty@163.com
002 B 13888888888 ShenZhen,GuangDong xy@163.com
003 C 13999999999 Beihai Fisheries Base Guangxi Province abc@163.com
Table 4-2 is the user message table (user_info) of tenant A
user_id tenant_id name age telephone
100001 001 Zhang Xi 18 13677777777
100002 001 Zhao Qi 19 13688888888
Table 4-3 is the user message table (user_info_B) of tenant B
user_id tenant_id name age telephone sex email
200001 002 Zhao Zhong 20 13699999999 Man a@163.com
200002 002 Party building 21 13600000000 Female b@163.com
Table 4-4 is the user message table (my_user) of tenant C
user_id tenant_id father_name birthday
300001 003 Ren Hang 1988-10-10
300002 003 Hu Rong 2000-10-01
Wherein, for tenant A, only produce basic data, belong to first kind tenant.For tenant B, it needs to enter existing table Row part amendment, belongs to Equations of The Second Kind tenant.For tenant C, it needs newly-built table to store data, belongs to the 3rd class tenant.
Step 203: storage tenant data
According to the result of classification, the data that different types of tenant is produced, use the different pieces of information mould in structural data model Type stores.It is particularly as follows: use basic data model to store the basic data that the first tenant produces;Use basic data mould Type stores the basic data that the second tenant produces, and uses expansion table data model to store the custom field data that the second tenant produces; The basic data using basic data model storage the 3rd tenant to produce, uses expansion table data model storage the 3rd tenant to produce Custom field data, use the user-defined data table data that key-value pair data model storage the 3rd tenant produces.
The data of tenant A use the tables of data storage in basic data model.
Tenant B produces basic data and custom field data, and basic data uses the tables of data storage of basic data model, from Defined word segment data uses the tables of data storage in expansion table data model.
Tenant C can produce basic data, user-defined data table data and custom field data, and wherein, basic data uses basis number Storing according to the tables of data of model, custom field uses the tables of data storage expanding table data model, and user-defined data table field data makes Store by the tables of data of key-value pair data model.
As chart 5-1 is to shown in table 5-7, for through above-mentioned steps, the data storage of three tenants A, B, C of the present embodiment Schematic diagram after BEKV model.
Table 5-1 basic data model tenant's information table (tenant_info)
tenant_id name telephone address email
001 A 13666666666 Nanchang pty@163.com
002 B 13888888888 ShenZhen,GuangDong xy@163.com
003 C 13999999999 Beihai Fisheries Base Guangxi Province abc@163.com
The user message table (user_info) of table 5-2 basic data model tenant
user_id tenant_id ext_data_id name age telephone
100001 001 Zhang Xi 18 13677777777
100002 001 Zhao Qi 19 13688888888
200001 002 e_d_0 Zhao Zhong 20 13699999999
200002 002 e_d_1 Party building 21 13600000000
Table 5-3 expands data model and expands field metadata table (ext_column_metadata)
ext_col_id tenant_id name type
e_d_0 002 sex char(2)
e_d_1 002 email varchar(100)
Table 5-4 expands data model and expands tables of data (ext_data)
ext_data_id ext_col_id value
e_d_0 e_c_0 Man
e_d_0 e_c_1 a@163.com
e_d_1 e_c_0 Female
e_d_1 e_c_1 b@163.com
Table 5-5 key-value pair data model table metadata table (table_matadata)
table_id tenant_id name enabled info
t_0 003 user_info_c yes The table of tenant C
Table 5-6 key-value pair data model field metadata table (column_metadata)
col_id tenant_id table_id name type length null def_v enabled
c_0 003 t_1 user_id varchar 20 yes yes
c_1 003 t_1 father_name varchar 20 yes yes
c_2 003 t_1 birthday date no yes
Table 5-7 key-value pair data model value tables of data (data)
id tenant_id table_id col_id value info
d_0 003 t_1 c_0 300001
d_1 003 t_1 c_0 300002
d_2 003 t_1 c_1 Ren Hang
d_3 003 t_1 c_1 Hu Rong
d_4 003 t_1 c_3 1988-10-10
d_5 003 t_1 c_3 2000-10-01
The method storing tenant's structural data in multi-tenant database that embodiment of the present invention provides, by arranging structuring Data model, this models coupling basic data model, expansion table data model and key-value pair data model, overcome single The model shortcoming when storing multi-tenant data, can effectively store basic data and the self-defining data of tenant, reach tenant While demand, meet the interests of service supplier.
It should be understood that the invention is not limited in above-mentioned embodiment, every various changes to the present invention or modification are without departing from this The spirit and scope of invention, if within the scope of these change claim and the equivalent technologies belonging to the present invention with modification, then originally Invention also implies that comprising these changes and modification.

Claims (8)

1. the method storing tenant's structural data in multi-tenant database, it is characterised in that including:
(1) structural data model is set:
Described structural data model is made up of basic data model, expansion table data model and key-value pair data model;
Described basic data model is for storing the Back ground Information of tenant, and described expansion table data model is used for storing tenant basis letter The expansion information of breath, described key-value pair data model is for storing the user-defined data table information of tenant;
(2) classification tenant:
Tenant during many tenants are applied by the data type produced according to tenant classifies;
(3) storage tenant data:
According to the result of classification, the data that different types of tenant is produced, use the different pieces of information mould in structural data model Type stores.
2. the method storing tenant's structural data in multi-tenant database as claimed in claim 1, it is characterised in that:
Described basic data model comprises tenant's table and multiple Back ground Information tables.
3. the method storing tenant's structural data in multi-tenant database as claimed in claim 1, it is characterised in that:
Described expansion packetization includes expansion field data and expands field metadata.
4. the method storing tenant's structural data in multi-tenant database as claimed in claim 1, it is characterised in that:
Described expansion table data model comprises a Zhang Tuo and opens up tables of data and a Zhang Tuo opens up field metadata table.
5. the method storing tenant's structural data in multi-tenant database as claimed in claim 1, it is characterised in that:
Described user-defined data table information includes table metadata information, field metadata information and Value Data information.
6. the method storing tenant's structural data in multi-tenant database as claimed in claim 1, it is characterised in that:
Described key-value pair data model comprises a table metadata table, a field metadata table and a Value Data table.
7. the method storing tenant's structural data in multi-tenant database as claimed in claim 1, it is characterised in that institute State according to tenant produce data type to many tenants apply in tenant classify particularly as follows:
The tenant only producing basic data is defined as the first tenant;
The tenant producing basic data and custom field data is defined as the second tenant;
The tenant producing basic data, user-defined data table data and custom field data is defined as the 3rd tenant.
8. the method storing tenant's structural data in multi-tenant database as claimed in claim 1, it is characterised in that institute State the result according to classification, the data that different types of tenant is produced, use the different pieces of information model in structural data model Carry out storing particularly as follows:
Basic data model is used to store the basic data that the first tenant produces;
Use basic data model to store the basic data that the second tenant produces, use expansion table data model to store the second tenant and produce Raw custom field data;
The basic data using basic data model storage the 3rd tenant to produce, uses expansion table data model storage the 3rd tenant to produce Raw custom field data, use the user-defined data table data that key-value pair data model storage the 3rd tenant produces.
CN201610206330.5A 2016-03-31 2016-03-31 The method of tenant's structural data is stored in multi-tenant database Active CN105912597B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610206330.5A CN105912597B (en) 2016-03-31 2016-03-31 The method of tenant's structural data is stored in multi-tenant database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610206330.5A CN105912597B (en) 2016-03-31 2016-03-31 The method of tenant's structural data is stored in multi-tenant database

Publications (2)

Publication Number Publication Date
CN105912597A true CN105912597A (en) 2016-08-31
CN105912597B CN105912597B (en) 2019-05-17

Family

ID=56745529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610206330.5A Active CN105912597B (en) 2016-03-31 2016-03-31 The method of tenant's structural data is stored in multi-tenant database

Country Status (1)

Country Link
CN (1) CN105912597B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897429A (en) * 2017-02-27 2017-06-27 和创(北京)科技股份有限公司 SaaS system tenant information acquisition methods and apply its server
CN107153701A (en) * 2017-05-10 2017-09-12 焦点科技股份有限公司 A kind of IT system management and method for managing and monitoring based on metadata
CN109242259A (en) * 2018-08-10 2019-01-18 华迪计算机集团有限公司 A kind of data integrating method and system based on basic data resources bank
CN109800234A (en) * 2019-01-25 2019-05-24 苏州科达科技股份有限公司 Service platform database system, upgrade method, equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100191719A1 (en) * 2003-09-23 2010-07-29 Salesforce.Com, Inc. Query optimization in a multi-tenant database system
CN103399942A (en) * 2013-08-14 2013-11-20 山大地纬软件股份有限公司 Data engine system supporting SaaS multi-tenant function and working method of data engine system
CN105095503A (en) * 2015-08-31 2015-11-25 成都康赛信息技术有限公司 Personalized dynamic data structure design method applied to SaaS cloud system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100191719A1 (en) * 2003-09-23 2010-07-29 Salesforce.Com, Inc. Query optimization in a multi-tenant database system
CN103399942A (en) * 2013-08-14 2013-11-20 山大地纬软件股份有限公司 Data engine system supporting SaaS multi-tenant function and working method of data engine system
CN105095503A (en) * 2015-08-31 2015-11-25 成都康赛信息技术有限公司 Personalized dynamic data structure design method applied to SaaS cloud system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
乔建忠: "SaaS模式下的数据存储模型与模式扩展技术的研究与设计", 《万方数据库 东北大学硕士学位论文》 *
胡遵华等: "一种基于云的SaaS分布式多租户数据库研究", 《计算机应用与软件》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897429A (en) * 2017-02-27 2017-06-27 和创(北京)科技股份有限公司 SaaS system tenant information acquisition methods and apply its server
CN107153701A (en) * 2017-05-10 2017-09-12 焦点科技股份有限公司 A kind of IT system management and method for managing and monitoring based on metadata
CN109242259A (en) * 2018-08-10 2019-01-18 华迪计算机集团有限公司 A kind of data integrating method and system based on basic data resources bank
CN109242259B (en) * 2018-08-10 2020-12-11 华迪计算机集团有限公司 Data integration method and system based on basic data resource library
CN109800234A (en) * 2019-01-25 2019-05-24 苏州科达科技股份有限公司 Service platform database system, upgrade method, equipment and storage medium

Also Published As

Publication number Publication date
CN105912597B (en) 2019-05-17

Similar Documents

Publication Publication Date Title
US10545947B2 (en) Message personalization over multiple internet messaging campaigns
Vattani K-means requires exponentially many iterations even in the plane
CN105912597A (en) Method for storing structural data of tenants in multi-tenant database
US20130166543A1 (en) Client-based search over local and remote data sources for intent analysis, ranking, and relevance
US11126792B2 (en) Version history for offline edits
WO2017107826A1 (en) Service information pushing method and device
WO2019052209A1 (en) Data storage method and device, and storage medium
CN100562021C (en) A kind of control method of distributed multi-source data that can be synchronous and device
JP2016526218A (en) Database sharding with an update layer
US20140359029A1 (en) Message index subdivided based on time intervals
WO2019024060A1 (en) Data storage method and device, and storage medium
US9128967B2 (en) Storing graph data in a column-oriented data store
CN107832323B (en) Distributed realization system and method based on graph database
CN103853759B (en) A kind of generation method and system of adaptive list
US9754015B2 (en) Feature rich view of an entity subgraph
JP6383110B2 (en) Data search method, apparatus and terminal
US11886411B2 (en) Data storage using roaring binary-tree format
EP3470992B1 (en) Efficient storage and utilization of a hierarchical data set
CN111435376A (en) Information processing method and system, computer system, and computer-readable storage medium
Tang et al. Mining collaboration patterns between APIs for mashup creation in web of things
WO2019165763A1 (en) Method for use in querying data
US9852226B2 (en) Search engine results system using entity density
CN101789023A (en) Food material information release management system based on Web and release management method thereof
US9754319B2 (en) Source document framework for accounting systems
CN107888686B (en) User data validity verification method located at HBase client

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230627

Address after: Building G1, No. 17, Software Road, Tianhe District, Guangzhou, Guangdong 510660

Patentee after: GUANGZHOU BINGO SOFTWARE CO.,LTD.

Address before: 510631 School of computer science, South China Normal University, 55 West Zhongshan Road, Guangzhou, Guangdong

Patentee before: SOUTH CHINA NORMAL University