CN102281330A - 用于saas平台的数据存储、通讯访问及控制的方法 - Google Patents
用于saas平台的数据存储、通讯访问及控制的方法 Download PDFInfo
- Publication number
- CN102281330A CN102281330A CN2011102211075A CN201110221107A CN102281330A CN 102281330 A CN102281330 A CN 102281330A CN 2011102211075 A CN2011102211075 A CN 2011102211075A CN 201110221107 A CN201110221107 A CN 201110221107A CN 102281330 A CN102281330 A CN 102281330A
- Authority
- CN
- China
- Prior art keywords
- gateway
- tenant
- message
- passage
- data
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种用于SAAS平台的数据存储、通讯访问及控制的方法。本发明的方法提高了网络的访问的性能,教育局租户和学校租户可以位于不同机房以适应联通和电信网络。教育局和学校租户之间传递大量信息,并且能够动态发现租户的物理位置,自动组织租户之间的级联关系以提高网络的实时性、鲁棒性、可伸缩性。本方法不但解决了数据隔离、数据分库存储以提高数据库查询效率,而且还解决了租户点对点之间通讯、租户到租户之间的第四层组播通讯、租户逻辑地址到物理地址映射、租户级联关系的动态发现与网络结构自组织、用户与用户之间通讯,租户逻辑数据库之间的自动同步等技术问题以提高网络的通讯效率、网络节点的可伸缩性,租户数据的可迁移性。
Description
技术领域
本发明涉及数据存储、通讯访问及控制领域,尤其涉及用于SAAS平台的数据存储、通讯访问及控制的方法。
背景技术
作为目前市场上比较成熟的SAAS平台,一般应用都是CRM和OA,租户均是企业,租户之间数据耦合较少,只需通过租户特征解决数据库水平分割,对于数据同步、通讯需求量不大,网络的通讯效率较低,网络的访问性能较差。
发明内容
为了解决现有技术中网络的通讯效率较低和网络的访问性能较差的问题,本发明提供了一种用于SAAS平台的数据存储、通讯访问及控制的方法。
本发明提供了一种用于SAAS平台的数据存储、通讯访问及控制的方法,包括如下步骤:
A. 构建网闸;
B. 建立通讯协议;
C. 建立租户服务器与消息交换服务器的消息交换通道,建立租户服务器与网闸的消息交换通道,建立消息交换服务器与物理服务器的消息交换通道,建立租户服务器与网闸的网闸通道,建立租户服务器之间的租户通道。
作为本发明的进一步改进,,在所述步骤A中,所述网闸包括用户地址注册模块、用户地址翻译模块、租户地址注册模块、租户地址翻译模块和逻辑域控制器,通过网闸完成地址注册、翻译及寻址,所述逻辑域控制器记录各租户的级联关系。
作为本发明的进一步改进,在所述步骤B中,所述通讯协议建立在TCP/IP协议的基础上,所述通讯协议从底层至顶层依次为:分布式消息交换协议、网闸管理协议、租户协议、逻辑数据库同步协议。
作为本发明的进一步改进,在所述步骤C中,所述租户服务器包括网闸代理接口、用户代理接口、租户代理接口、逻辑数据库代理接口,所述网闸通道在网闸代理接口与网闸之间建立,所述租户通道在租户代理接口之间建立;所述逻辑数据库代理接口之间建立有数据复制通道,所述数据复制通道在租户通道上面完成数据自动同步,所述逻辑数据库代理接口与物理数据库完成连接。
作为本发明的进一步改进,在步骤步骤C中,所述消息交换通道建立过程包括如下步骤:
C1. 发送机、消息交换机、接收机建立TCP连接;
C2. 发送机通知消息交换机准备矩阵交换空间;
C3. 消息交换机通知接收机监听所述的矩阵交换空间;
C4. 消息交换机通知发送机进行发送消息、且接收机监听所述矩阵交换空间;
C5. 发送机将消息发送到矩阵交换空间中;
C6. 消息交换机将消息推送给接收机。
作为本发明的进一步改进,所述网闸为至少两个,同一时刻只能有一个网闸做为主网闸,其他网闸做为从网闸,当主网闸处理能力不足时,会将任务分发给从网闸进行处理;所述网闸通道建立过程包括如下步骤:
第一步:网闸向消息交换机声明2个知名矩阵交换空间,该2个知名矩阵交换空间分别为GM:GKS和GM:GKB;
第二步:网闸代理接口命名为GA1,网闸代理接口GA1通知消息交换机创建连接GM:GKS的发送机,网闸代理接口GA1利用P源语通过消息交换机向网闸发送请求与GM:GKS矩阵交换空间建立GM:GKS握手;
第三步:消息交换机将GM:GKS握手推送给网闸;
第四步:网闸向消息交换机发送请求与GM:GA1矩阵交换空间建立GM:GA1握手;
第五步:消息交换机将GM:GA1握手推送给网闸代理接口GA1,从而网闸通道建立完毕。
作为本发明的进一步改进,每一个从网闸始终监测主网闸,当主网闸出现故障或无响应时,每一个从网闸便自动发起选举,从而确定一个新的主网闸;监测及选举主网闸的方法如下:
第一步. 网闸启动时,以从模式运行;
第二步. 启用定时器T1每隔一定时间利用P源语向GM:GKB发送广播查询主网闸;
第三步. 在规定时间内,判断主网闸是否有回应,如果主网闸有回应,那么记录主网闸、所述网闸以从模式运行、并执行第二步,如果主网闸没有回应,那行执行第四步;
第四步. 判断是否为选举模式,如果是选举模式,那么执行第七步,如果不是选举模式,那么执行第五步;
第五步. 所述网闸以随机数生成令牌,由GM:GKB广播选举请求;
第六步. 进入选举模式,启用定时器T2;
第七步. 判断定时器T2是否超时,如果超时,那么执行超时步骤,如果没有超时,那么执行未超时步骤;
所述未超时步骤包括如下步骤:
第一步. 通过V源语从GM:GKB接收消息;
第二步. 所述网闸进入选举模式、等待通知,如果所述网闸没有选举成为主网闸、那么所述网闸等待通知,当所述网闸接到主网闸通知时、所述网闸记录主网闸、并停止定时器T2;
所述超时步骤包括如下步骤:
第一步. 判断网闸选举成为主网闸的请求是否被拒绝,如果请求被拒绝,那么所述网闸以从模式运行、并发动下一次选举、停上定时器T2,如果请求没有被拒绝,那么执行超时步骤的第二步;
第二步. 所述网闸以主模式运行,并通知其他网闸、所述网闸为主网闸,选举结束,停止定时器T2。
作为本发明的进一步改进,在用户地址注册、用户地址翻译、租户地址注册、租户地址翻译过程中均需要将注册信息和翻译信息存入地址映射表中, 在地址存储方法中,包括存储单元和存储代理接口,所述存储代理接口为:网闸对分布式的存储单元访问的代理,使得存储单元对网闸是透明的;
地址存储方法包括如下步骤:
第一步. 存储单元按顺时针链接成为一个双向循环链表;
第二步. 存储单元最多为16组,将16组存储单元分成16个区间,将16个区间平均连续分配到不同存储单元中;
第三步. 存储代理接口收到应用程序存储时,将用户代码ASII码求和对16求余,得到Hash值;
第四步. 服务器查找相应的存储单元对所述Hash值负责,就存储到相应的存储单元上;
存储单元检索方法包括如下步骤:
第一步. 存储代理接口收到应用程序检索时,将用户代码ASII码求和对16求余,得到Hash值;
第二步. 存储代理接口将查询请求发给负责该HASH值的存储单元;
第三步. 该存储单元在本地查找,如果找到则返回成功;
第四步. 如果本地未找到,在查找请求打上自己的名字,则按逆时针转发查找请求;
第五步. 收到转发查找请求时,检查是否是自己发起的,如果是表示查找完毕并且未找到结果,返回失败,执行存储单元检索方法的第三步。
作为本发明的进一步改进,所述数据复制通道分为单通道和链式通道,
所述单通道传输过程包括如下步骤:
第一步. 建立租户通道;
第二步. 利用数据库监听器监听数据库改变、并将改变对象传入逻辑数据库代理接口;
第三步. 逻辑数据库代理接口定时将数据收集,当数据达到LDT发送窗口大小时,将数据传给数据复制通道进行数据压缩和加密,然后传给租户通道进行发送;
第四步. 对端消息接收机采用V源语接收消息,并对发送的数据复制通道进行数据解压缩和解密;
链式通道传输过程包括如下步骤:
第一步. 建立租户通道;
第二步. 利用数据库监听器监听数据库改变、并将改变对象传入逻辑数据库代理接口;
第三步. 逻辑数据库代理接口定时将数据收集,当数据达到LDT发送窗口大小时,将数据传给数据复制通道进行数据压缩和加密,然后传给租户通道进行发送;
第四步. 对端消息接收机采用V2源语接收消息,并对发送的数据复制通道进行数据解压缩和解密。
本发明的有益效果是:本发明的方法提高了网络的访问的性能,教育局租户和学校租户可以位于不同机房以适应联通和电信网络。教育局和学校租户之间传递大量信息,并且能够动态发现租户的物理位置,自动组织租户之间的级联关系以提高网络的实时性、鲁棒性、可伸缩性。本方法不但解决了数据隔离、数据分库存储以提高数据库查询效率,而且还解决了租户点对点之间通讯、租户到租户之间的第四层组播通讯、租户逻辑地址到物理地址映射、租户级联关系的动态发现与网络结构自组织、用户与用户之间通讯,租户逻辑数据库之间的自动同步等技术问题以提高网络的通讯效率、网络节点的可伸缩性,租户数据的可迁移性。
附图说明
图1是本发明的方法流程图。
图2是本发明的SAAS平台原理框图。
图3是本发明一实施例的方法流程图。
图4是本发明另一实施例的方法流程图。
图5是本发明又一实施例的方法流程图。
图6是本发明又一实施例的方法流程图。
图7是本发明又一实施例的方法流程图。
图8是本发明又一实施例的方法流程图。
图9是本发明又一实施例的方法流程图。
具体实施方式
如图1所示,本发明公开了一种用于SAAS平台的数据存储、通讯访问及控制的方法,包括如下步骤:在步骤S1中,构建网闸。在步骤S2中,建立通讯协议。在步骤S3中,建立租户服务器与消息交换服务器的消息交换通道,建立租户服务器与网闸的消息交换通道,建立消息交换服务器与物理服务器的消息交换通道,建立租户服务器与网闸的网闸通道,建立租户服务器之间的租户通道。
如图2所示,根据本明的方法构建的SAAS平台,并将该SAAS平台称称为该系统。
在所述步骤S1中,所述网闸包括用户地址注册模块、用户地址翻译模块、租户地址注册模块、租户地址翻译模块和逻辑域控制器,通过网闸完成地址注册、翻译及寻址,所述逻辑域控制器记录各租户的级联关系。
在所述步骤S2中,所述通讯协议建立在TCP/IP协议的基础上,所述通讯协议从底层至顶层依次为:分布式消息交换协议、网闸管理协议、租户协议、逻辑数据库同步协议。
在所述步骤S3中,所述租户服务器包括网闸代理接口、用户代理接口、租户代理接口、逻辑数据库代理接口,所述网闸通道在网闸代理接口与网闸之间建立,所述租户通道在租户代理接口之间建立;所述逻辑数据库代理接口之间建立有数据复制通道,所述数据复制通道在租户通道上面完成数据自动同步,所述逻辑数据库代理接口与物理数据库完成连接。
物理数据库位于物理服务器内,物理数据库为多个,多个物理数据库组成物理数据库云。网闸也为多个,多个网闸组成网闸云。消息交换服务器为多个,多个消息交换服务器组成消息交换服务器云。消息交换服务器内安装有消息交换机。
网闸包括如下模块:用户地址注册模块、用户地址翻译模块、租户地址注册模块、租户地址翻译模块、逻辑域控制器。在用户地址注册模块中,注册用户注册信息到租户逻辑地址映射,该用户注册信息包括用户名、手机和邮箱等信息。在租户地址注册模块中,注册租户逻辑地址到物理地址映射,物理地址包括物理数据库地址和应用服务器地址。在租户地址翻译模块中,通过租户逻辑地址找到物理地址。在用户地址翻译模块中,通过用户注册信息找到租户逻辑地址,再通过租户逻辑地址找到物理地址,即,通过两次寻址,最终完成用户注册信息到物理地址的映射。所有的用户地址注册信息和租户地址注册信息都会存储在网闸内。
本发明中提到了用户和租户的概念,下面举例说明,租户是指一个单位非个人,例如学校租户、联校租户和教育局租户,其中联校租户可以管理学校租户,教育局租户具有最高权限,教育局租户可以管理学校租户和联校租户。用户分为学校租户的用户、联校租户的用户和教育局租户的用户,例如,学校租户的用户可以是该学校的教师、学生;教育局租户的用户可以是教育局的工作人员或是教育局的局长;因为每个租户的权限不同,而且用户又是属于某一租户的,所以说用户的权限也是不同的,租户的权限会在网闸中标识,例如,学校租户A的租户逻辑地址为1000,那么该学校租户A的用户便只能通过租户逻辑地址1000找到相应的物理地址和执行相应的操作。因为网闸能够根据租户逻辑地址找到物理地址,所以教育局租户和学校租户可以位于不同机房以适应联通和电信网络。教育局和学校租户之间传递大量信息,并且系统能够动态发现租户的物理位置,自动组织租户之间的级联关系以提高网络的实时性、鲁棒性、可伸缩性。
网闸中的逻辑域控制器会将联校租户管理学校租户,教育局租户管理联校租户和学校租户的级联关系进行记录,当学校租户要向教育局租户传递数据时,学校租户无需向联校租户传递数据,而是根据逻辑域控制器直接找到管理该学校租户的教育局租户,学校租户直接将数据传递至教育局租户,方便、省时,避免了数据的多次传导,提高了效率。
该系统还包括数据库水平分割器,根据租户特征确定物理存储位置,将结果注册给网闸,该租户特征包括:网络类型、所在地区、教育局的网络类型、教育局所在地区、教育局物理服务器地址、兄弟学校所在物理服务器分布情况。网络类型是指电信网络或联通网络,所在地区是指学校租户或联校租户所在地区。根据租户特征确定物理存储位置,将结果注册给网闸,网闸便可以进行用户地址注册、用户地址翻译、租户地址注册、租户地址翻译等工作。
该系统还包括分布式传输器,该分布式传输器包括租户代理接口、用户代理接口和租户逻辑数据库代理接口。租户代理接口负责租户与租户之间的点对点通讯。用户代理接口负责用户与用户之间的通讯、以及代理用户登陆。租户逻辑数据库代理接口负责逻辑数据库之间数据的同步。
如果数据量不大,所有学校,教育局,管理平台同类业务均可存储在同一张表,通过租户逻辑地址进行区分。如果学校和教育局多了,单一数据库就可能存储不下来,必须采用水平分割技术对数据库进行分库,使得各个库存储容量在承受范围内。
水平分库条件:采用租户逻辑地址作为行关键字进行水平分割,同一县区所有单位虚拟数据库尽量映射到同一物理数据中。对于家长不属于学校的用户,采用个人代码进行水平分割。
一个物理数据库可以存放多个学校数据,学校之间通过租户逻辑地址隔离,隔离的数据形成一个个虚拟数据库。
一个学校所有老师和学生数据必须存储在同一虚拟数据库中。
区县教育局和所辖学校可以不在同一物理数据库中,如果不在同一物理数据库中,学校必须向所辖教育局传输所需的数据,教育局审批数据,必须下发数据。
在该系统中,如果随着被纳入管理学校范围的扩大,只需要增加相应的数量的服务器,而达到自由水平扩展功能。同时其他学校租户的使用性能不会因此受到影响而降低,速度变慢。
本发明的方法及系统的优点:集群式的管理,能达到教育资源最大限度的管理和使用;不需要每个学校架设自己的服务器,和配备相应的网管人员,充分减少系统的维护费用节省成本;系统集中式管理,每一个被纳入的学校无须维护;采用Web平台页面设计,只要上网即可使用,无论是在学校、在家还是在任何一地方,教师随处办公,学生、学生家长、教育管理机构都可以随意纳入管理使用; 先天性的防毒,因为服务器被集中由专业管理人员管理,不会因为某个学校网络管理人员的技术高低,而导致系统数据被破坏;采用硬盘双热备份,并每天定时备份系统数据,保证数据万无一失;严格的保密措施,和互联网数据交互保护技术,保证数据不被外泄。
该系统还包括消息交换服务器和租户服务器,所述消息交换服务器为多台,多台消息交换服务器构成消息交换服务器集群。所述分布式传输器位于所述租户服务器内,所述租户服务器还包括网闸代理接口,所述网闸代理接口为应用程序代理网闸的通讯。所述消息交换服务器为所有系统组件交互信令提供消息路由转发,临时存储以及消息事务管理。
用户登陆该系统的步骤:
第一步:租户服务器以URL形式对外提供登陆服务,用户通过DNS解析登陆任意一个用户代理接口,其中多个用户代理服务器使用同一域名提供服务;
第二步:用户代理接口启用网闸代理接口,通过网闸的2次地址翻译功能,获取用户所属租户的实际物理服务器地址;
第三步:用户代理接口通过HTTP重定向功能,将登陆请求重定向到租户物理服务器,完成登陆;
第四步:登陆后应用程序将数据提交给逻辑数据库代理接口,逻辑数据库代理接口采用地址翻译将数据存入物理服务器;
第五步:逻辑数据库代理接口启用逻辑数据库同步协议,开启链式LDT通道,将数据同步到多级域控制器,以及备份服务器上。
该系统采用协议堆栈设计,该系统的通讯协议为四层,该系统的通讯协议是建立在TCP/IP协议的基础上,该系统的四层通讯协议从底层至顶层依次为:分布式消息交换协议、网闸管理协议、租户协议、逻辑数据库同步协议。
该系统还包括如下通道:消息交换通道、网闸通道、租户通道、数据复制通道、用户代理通道。网闸通道完成租户网闸协商信令流程,租户通道完成租户代理协商信令流程,用户代理通道完成用户之间的交流;数据复制通道也就是LDT通道,数据复制通道在租户通道上面完成数据自动同步,采用分布式事务保证数据一致性。
分布式消息交换协议在消息交换通道上通讯,网闸管理协议在网闸通道上通讯,租户协议在租户通道上通讯,逻辑数据库同步协议在LDT通道上通讯。
当数据需要保证安全性和数据传输的正确性时,那么便可以通过LDT通道进行数据的传输,在LDT通道上会对数据进行加密传输,无需进行加密传输的数据便可以在租户通道或用户代理通道上进行传输。
分布式消息交换协议位于通讯协议堆栈最底层,为上层提供消息收发的基础。上层所有消息收发都通过分布式消息交换协议提供的通讯原语进行,通讯原语包括:P源语、V源语和V2源语。分布式消息交换协议采用分布式生产者-消费者模型设计,基于TCP协议,由消息发送机,消息接收机,消息交换机构成,所述消息交换机位于所述消息交换服务器内。
消息交换机包括矩阵交换空间和消息池,为了消息可以快速多次交换,矩阵交换空间中存储的不是消息数据,而是消息的指针,消息数据存储在消息交换机的消息池中。
关于矩阵交换空间,按名称进行索引,该系统初始化一些知名的矩阵交换空间,其他矩阵交换空间通过网闸管理协议进行协商确定。如果发送机已经知道LM:R1已经就绪,则可一直接发送消息。其中LM:R1为矩阵交换空间的名称。
一个消息交换机中至少有3个交换矩阵分别是网闸交换矩阵,租户交换矩阵,临时交换矩阵。其中网闸通道交换的消息在网闸交换矩阵中进行交换,租户通道和数据同步通道的消息在租户交换矩阵中交换,临时交换矩阵交换通讯过程中的无需保证可靠性的消息。
网闸交换矩阵名称为GM,租户交换矩阵名称为LM,临时交换矩阵名称为 TM,网闸代理接口使用的发送机的矩阵为GM。
矩阵交换空间名称= {交换矩阵名称:接收机名称},交换矩阵名称 = {GM|LM|TM},接收机名称 = {接收机URL}。
P原语:
功能:生产一个消息,存储到消息交换机中;
参数:矩阵交换空间名称,超时;
处理算法:发送机利用P原语往矩阵交换空间中传送一个数据信号,如果矩阵交换空间不足,在发送机进程阻塞直到超时后矩阵交换空间足够返回,否则返回。
V原语:
功能:从消息交换机中消费一个消息,并移除消息;
参数算法:矩阵交换空间名称,超时;
功能:接收机利用V原语往矩阵交换空间中获取一个数据信号,如果矩阵交换空间没有数据,在接收机进程阻塞直到超时后或交换空间有信号返回,否则返回,进程返回时,在消息交换机端,矩阵交换空间和消息池同时移除该消息。
V2原语:
功能:从消息交换机中消费一个消息,不移除消息,并将消息指针传递给下一个矩阵交换空间,唤醒下一矩阵交换空间的远端V进程;
参数:矩阵交换空间名称,下一个矩阵交换空间,超时;
处理算法:接收机利用V2原语往矩阵交换空间中获取一个数据信号,如果矩阵交换空间没有数据,在接收机进程阻塞直到超时后矩阵交换空间有信号返回,否则返回,进程返回时,消息交换机端,当前矩阵交换空间移除该消息指针,并将消息指针放入下一个矩阵交换空间,消息池中不移除消息,当下一个矩阵交换空间不存在时,消息池中将消息移除,当消息指针放入下一矩阵交换空间时,唤醒等待在该矩阵交换空间的远端V进程。
如图3所示产,在步骤步骤S3中,所述消息交换通道建立过程包括如下步骤:在步骤W1中,发送机、消息交换机、接收机建立TCP连接。在步骤W2中,发送机通知消息交换机准备矩阵交换空间。在步骤W3中,消息交换机通知接收机监听所述的矩阵交换空间。在步骤W4中,消息交换机通知发送机进行发送消息、且接收机监听所述矩阵交换空间。在步骤W5中,发送机将消息发送到矩阵交换空间中。在步骤W6中,消息交换机将消息推送给接收机。
网闸启动时向消息交换机声明2个知名矩阵交换空间,分别是:GM:GKS和GM:GKB,对于GM:GKS知名矩阵交换空间的消息,只有主网闸才能接收消息。主网闸有网闸选举协议选举出来。GM:GKB是主从网闸之间广播消息的公共空间。
如图4所示,网闸代理接口与网闸之间建立网闸通道的步骤包括:
在步骤Q1中,网闸向消息交换机声明2个知名矩阵交换空间,该2个知名矩阵交换空间分别为GM:GKS和GM:GKB。在步骤Q2中,网闸代理接口命名为GA1,网闸代理接口GA1通知消息交换机创建连接GM:GKS的发送机,网闸代理接口GA1向消息交换机声明GM:GA1矩阵交换空间,网闸代理接口GA1利用P源语通过消息交换机向网闸发送请求与GM:GKS矩阵交换空间建立GM:GKS握手。在步骤Q3中,消息交换机将GM:GKS握手推送给网闸。在步骤Q4中,网闸向消息交换机发送请求与GM:GA1矩阵交换空间建立GM:GA1握手。在步骤Q5中,消息交换机将GM:GA1握手推送给网闸代理接口GA1,从而网闸通道建立完毕。
网闸选举是决定在分布式环境下,如果有多个网闸同时启动是决定哪个网闸以主模式运行,即做为主网闸。只有主网闸才能从GM:GKS矩阵交换空间接收消息,主网闸处理能力不足时采用轮盘转算法,将任务分发给从网闸去执行。在系统运行过程中,每一个从网闸始终监测主网闸,当主网闸出现故障或无响应时,每一个从网闸便自动发起选举,从而确定一个新的主网闸;如图5所示,监测及选举主网闸的方法如下:
在步骤Y1中,网闸启动时,以从模式运行。在步骤Y2中,启用定时器T1每隔一定时间利用P源语向GM:GKB发送广播查询主网闸。在步骤Y3中,在规定时间内,判断主网闸是否有回应,如果主网闸有回应,那么记录主网闸、所述网闸以从模式运行、并执行步骤Y2,如果主网闸没有回应,那行执行步骤Y4。在步骤Y4中, 判断是否为选举模式,如果是选举模式,那么执行步骤Y7,如果不是选举模式,那么执行步骤Y5。在步骤Y5中,所述网闸以随机数生成令牌,由GM:GKB广播选举请求。在步骤Y6中,进入选举模式,启用定时器T2。在步骤Y7中,判断定时器T2是否超时,如果超时,那么执行超时步骤,如果没有超时,那么执行未超时步骤。
所述未超时步骤包括如下步骤:
在步骤X1中,通过V源语从GM:GKB接收消息。
在步骤X2中,所述网闸进入选举模式、等待通知,如果所述网闸没有选举成为主网闸、那么所述网闸等待通知,当所述网闸接到主网闸通知时、所述网闸记录主网闸、并停止定时器T2;
所述超时步骤包括如下步骤:
在步骤Z1中,判断网闸选举成为主网闸的请求是否被拒绝,如果请求被拒绝,那么所述网闸以从模式运行、并发动下一次选举、停上定时器T2,如果请求没有被拒绝,那么执行步骤Z2。
在步骤Z2中,所述网闸以主模式运行,并通知其他网闸、所述网闸为主网闸,选举结束,停止定时器T2。
不管是租户注册还是用户注册,网闸都需要一个设备来存储用户代码(EMAIL或手机) 到租户逻辑地址,租户逻辑地址到物理地址的映射,并且映射存储量巨大,而且租户地址翻译依赖这个地址映射表。所以必须存储,检索高效率。采用分布式算法存储与检索。
1. 判断租户网络类型,如果网络类型是未知,从双线服务器中寻找一台服务器物理地址,如果双线服务器不够按照先电信后网通的顺序寻找;
2. 水平分割器检查租户的网络类型是否与逻辑域控制器网络类型是否一致,如果一致,检查逻辑域控制器是否已分配物理地址,如果已分配并且逻辑域控制器物理服务器能力足够,那么将该物理地址分配给租户,否则逻辑物理服务器能力不足,按照网络类型、地区距离、兄弟节点分布频率优先排序原则寻找一台服务器。
3. 如果租户的网络类型与逻辑域控制器网络类型不一致,那么按网络类型一致、服务器负载最轻的优先寻找服务器作为该租户物理地址。
在用户地址存储方法中,包括存储单元和存储代理接口,所述存储代理接口为:网闸对分布式的存储单元访问的代理,使得存储单元对网闸是透明的。
如图6所示,用户地址存储方法包括如下步骤:
在步骤J1中,存储单元按顺时针链接成为一个双向循环链表。
在步骤J2中,存储单元最多为16组,将16组存储单元分成16个区间,将16个区间平均连续分配到不同存储单元中。
在步骤J3中,存储代理接口收到应用程序存储时,将用户代码ASII码求和对16求余,得到Hash值。
在步骤J4中,服务器查找相应的存储单元对所述Hash值负责,就存储到相应的存储单元上。
应用程序包括:用户代码和租户逻辑地址。
存储单元增加方法:
如果要向系统增加存储单元,按顺时针增加,新增的存储单元,接管存储单元链表顺时针方向的上一个存储单元的部分区间。
如图7所示,存储单元检索方法包括如下步骤:
在步骤K1中,存储代理接口收到应用程序检索时,将用户代码ASII码求和对16求余,得到Hash值。
在步骤K2中,存储代理接口将查询请求发给负责该HASH值的存储单元;
在步骤K3中,该存储单元在本地查找,如果找到则返回成功;
在步骤K4中,如果本地未找到,在查找请求打上自己的名字,则按逆时针转发查找请求;
在步骤K5中,收到转发查找请求时,检查是否是自己发起的,如果是表示查找完毕并且未找到结果,返回失败,执行存储单元检索方法的第三步。
逻辑数据库同步协议用于处理不同逻辑数据库之间的数据同步。逻辑数据库同步协议运行在数据复制通道上,数据复制通道建立在租户通道上,并且在租户通道增加DES加密算法,gzip压缩算法以构成数据复制通道。
逻辑数据库同步协议分为单点同步和多点链路同步2种,因此数据复制通道也分为单通道和链式通道。
如图8所示,所述单通道传输过程包括如下步骤:
在步骤L1中,建立租户通道。
在步骤L2中,利用数据库监听器监听数据库改变、并将改变对象传入逻辑数据库代理接口。
在步骤L3中,逻辑数据库代理接口定时将数据收集,当数据达到LDT发送窗口大小时,将数据传给数据复制通道进行数据压缩和加密,然后传给租户通道进行发送;
在步骤L4中,对端消息接收机采用V源语接收消息,并对发送的数据复制通道进行数据解压缩和解密。
LDT发送窗口大小设计为4K。
如图9所示,链式通道传输过程包括如下步骤:
在步骤M1中,建立租户通道。
在步骤M2中,利用数据库监听器监听数据库改变、并将改变对象传入逻辑数据库代理接口。
在步骤M3中,逻辑数据库代理接口定时将数据收集,当数据达到LDT发送窗口大小时,将数据传给数据复制通道进行数据压缩和加密,然后传给租户通道进行发送。
在步骤M4中,对端消息接收机采用V2源语接收消息,并对发送的数据复制通道进行数据解压缩和解密。
链式通道传输过程与单通道传输过程区别是:对端消息接收机采用 V2原语接收消息,V2原语消费消息是不从消息交换机销毁消息,只是把消息指针移动下一站,并唤醒下一个接收机的V2进程。
链式通道传输过程将优先级高的接收机放在链表的头部,一方面避免了广播传输引发的流量集中和CPU占有集中,另一方面避免了多次单播模式的重复发送以前的资源浪费,是一种高效的数据多目标传播方式。
本发明所述网闸为租户网闸。P原语、V原语和V2原语是消息交换机提供给上层的调用接口,;P原语、V原语和V2原语封装打包了消息交换的通讯细节。本发明所述的SAAS平台可以是软件。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (9)
1.一种用于SAAS平台的数据存储、通讯访问及控制的方法,其特征在于,包括如下步骤:
A.构建网闸;
B.建立通讯协议;
C.建立租户服务器与消息交换服务器的消息交换通道,建立租户服务器与网闸的消息交换通道,建立消息交换服务器与物理服务器的消息交换通道,建立租户服务器与网闸的网闸通道,建立租户服务器之间的租户通道。
2.根据权利要求1所述的方法,其特征在于,在所述步骤A中,所述网闸包括用户地址注册模块、用户地址翻译模块、租户地址注册模块、租户地址翻译模块和逻辑域控制器,通过网闸完成地址注册、翻译及寻址,所述逻辑域控制器记录各租户的级联关系。
3.根据权利要求2所述的方法,其特征在于,在所述步骤B中,所述通讯协议建立在TCP/IP协议的基础上,所述通讯协议从底层至顶层依次为:分布式消息交换协议、网闸管理协议、租户协议、逻辑数据库同步协议。
4.根据权利要求3所述的方法,其特征在于,在所述步骤C中,所述租户服务器包括网闸代理接口、用户代理接口、租户代理接口、逻辑数据库代理接口,所述网闸通道在网闸代理接口与网闸之间建立,所述租户通道在租户代理接口之间建立;所述逻辑数据库代理接口之间建立有数据复制通道,所述数据复制通道在租户通道上面完成数据自动同步,所述逻辑数据库代理接口与物理数据库完成连接。
5.根据权利要求4所述的方法,其特征在于,在步骤步骤C中,所述消息交换通道建立过程包括如下步骤:
C1. 发送机、消息交换机、接收机建立TCP连接;
C2. 发送机通知消息交换机准备矩阵交换空间;
C3. 消息交换机通知接收机监听所述的矩阵交换空间;
C4. 消息交换机通知发送机进行发送消息、且接收机监听所述矩阵交换空间;
C5. 发送机将消息发送到矩阵交换空间中;
C6. 消息交换机将消息推送给接收机。
6.根据权利要求5所述的方法,其特征在于,所述网闸为至少两个,同一时刻只能有一个网闸做为主网闸,其他网闸做为从网闸,当主网闸处理能力不足时,会将任务分发给从网闸进行处理;所述网闸通道建立过程包括如下步骤:
第一步:网闸向消息交换机声明2个知名矩阵交换空间,该2个知名矩阵交换空间分别为GM:GKS和GM:GKB;
第二步:网闸代理接口命名为GA1,网闸代理接口GA1通知消息交换机创建连接GM:GKS的发送机,网闸代理接口GA1向消息交换机声明GM:GA1矩阵交换空间,网闸代理接口GA1利用P源语通过消息交换机向网闸发送请求与GM:GKS矩阵交换空间建立GM:GKS握手;
第三步:消息交换机将GM:GKS握手推送给网闸;
第四步:网闸向消息交换机发送请求与GM:GA1矩阵交换空间建立GM:GA1握手;
第五步:消息交换机将GM:GA1握手推送给网闸代理接口GA1,从而网闸通道建立完毕。
7.根据权利要求6所述的方法,其特征在于,每一个从网闸始终监测主网闸,当主网闸出现故障或无响应时,每一个从网闸便自动发起选举,从而确定一个新的主网闸;监测及选举主网闸的方法如下:
第一步. 网闸启动时,以从模式运行;
第二步. 启用定时器T1每隔一定时间利用P源语向GM:GKB发送广播查询主网闸;
第三步. 在规定时间内,判断主网闸是否有回应,如果主网闸有回应,那么记录主网闸、所述网闸以从模式运行、并执行第二步,如果主网闸没有回应,那行执行第四步;
第四步. 判断是否为选举模式,如果是选举模式,那么执行第七步,如果不是选举模式,那么执行第五步;
第五步. 所述网闸以随机数生成令牌,由GM:GKB广播选举请求;
第六步. 进入选举模式,启用定时器T2;
第七步. 判断定时器T2是否超时,如果超时,那么执行超时步骤,如果没有超时,那么执行未超时步骤;
所述未超时步骤包括如下步骤:
第一步. 通过V源语从GM:GKB接收消息;
第二步. 所述网闸进入选举模式、等待通知,如果所述网闸没有选举成为主网闸、那么所述网闸等待通知,当所述网闸接到主网闸通知时、所述网闸记录主网闸、并停止定时器T2;
所述超时步骤包括如下步骤:
第一步. 判断网闸选举成为主网闸的请求是否被拒绝,如果请求被拒绝,那么所述网闸以从模式运行、并发动下一次选举、停上定时器T2,如果请求没有被拒绝,那么执行超时步骤的第二步;
第二步. 所述网闸以主模式运行,并通知其他网闸、所述网闸为主网闸,选举结束,停止定时器T2。
8. 根据权利要求7所述的方法,其特征在于,在用户地址注册、用户地址翻译、租户地址注册、租户地址翻译过程中均需要将注册信息和翻译信息存入地址映射表中, 在地址存储方法中,包括存储单元和存储代理接口,所述存储代理接口为:网闸对分布式的存储单元访问的代理,使得存储单元对网闸是透明的;
地址存储方法包括如下步骤:
第一步. 存储单元按顺时针链接成为一个双向循环链表;
第二步. 存储单元最多为16组,将16组存储单元分成16个区间,将16个区间平均连续分配到不同存储单元中;
第三步. 存储代理接口收到应用程序存储时,将用户代码ASII码求和对16求余,得到Hash值;
第四步. 服务器查找相应的存储单元对所述Hash值负责,就存储到相应的存储单元上;
存储单元检索方法包括如下步骤:
第一步. 存储代理接口收到应用程序检索时,将用户代码ASII码求和对16求余,得到Hash值;
第二步. 存储代理接口将查询请求发给负责该HASH值的存储单元;
第三步. 该存储单元在本地查找,如果找到则返回成功;
第四步. 如果本地未找到,在查找请求打上自己的名字,则按逆时针转发查找请求;
第五步. 收到转发查找请求时,检查是否是自己发起的,如果是表示查找完毕并且未找到结果,返回失败,执行存储单元检索方法的第三步。
9. 根据权利要求8所述的方法,其特征在于,所述数据复制通道分为单通道和链式通道,
所述单通道传输过程包括如下步骤:
第一步. 建立租户通道;
第二步. 利用数据库监听器监听数据库改变、并将改变对象传入逻辑数据库代理接口;
第三步. 逻辑数据库代理接口定时将数据收集,当数据达到LDT发送窗口大小时,将数据传给数据复制通道进行数据压缩和加密,然后传给租户通道进行发送;
第四步. 对端消息接收机采用V源语接收消息,并对发送的数据复制通道进行数据解压缩和解密;
链式通道传输过程包括如下步骤:
第一步. 建立租户通道;
第二步. 利用数据库监听器监听数据库改变、并将改变对象传入逻辑数据库代理接口;
第三步. 逻辑数据库代理接口定时将数据收集,当数据达到LDT发送窗口大小时,将数据传给数据复制通道进行数据压缩和加密,然后传给租户通道进行发送;
第四步. 对端消息接收机采用V2源语接收消息,并对发送的数据复制通道进行数据解压缩和解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110221107.5A CN102281330B (zh) | 2011-08-03 | 2011-08-03 | 用于saas平台的数据存储、通讯访问及控制的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110221107.5A CN102281330B (zh) | 2011-08-03 | 2011-08-03 | 用于saas平台的数据存储、通讯访问及控制的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102281330A true CN102281330A (zh) | 2011-12-14 |
CN102281330B CN102281330B (zh) | 2014-04-02 |
Family
ID=45106499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110221107.5A Expired - Fee Related CN102281330B (zh) | 2011-08-03 | 2011-08-03 | 用于saas平台的数据存储、通讯访问及控制的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102281330B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571821A (zh) * | 2012-02-22 | 2012-07-11 | 浪潮电子信息产业股份有限公司 | 一种云安全访问控制模型 |
CN102843259A (zh) * | 2012-08-21 | 2012-12-26 | 武汉达梦数据库有限公司 | 集群内中间件自管理热备方法及系统 |
CN103428035A (zh) * | 2013-08-26 | 2013-12-04 | 福建省视通光电网络有限公司 | 一种基于tcp/ip协议的大型网络通信系统与方法 |
CN104700221A (zh) * | 2015-03-18 | 2015-06-10 | 浪潮集团有限公司 | 一种saas模式的系统中海量数据变更日志的采集方法 |
CN105574074A (zh) * | 2015-11-23 | 2016-05-11 | 江苏瑞中数据股份有限公司 | 一种基于智能电网wams的时序大数据存储方法 |
CN105989060A (zh) * | 2015-02-09 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 数据管理方法、装置 |
CN106055587A (zh) * | 2016-05-21 | 2016-10-26 | 乐视控股(北京)有限公司 | 一种分库数据库系统及其路由方法 |
CN108027786A (zh) * | 2015-07-29 | 2018-05-11 | Macom连接解决有限公司 | 基于与数据请求相关联的时钟计数器产生逾时信号 |
CN109561226A (zh) * | 2017-09-26 | 2019-04-02 | 华为技术有限公司 | 一种api混合多租户路由方法、系统和api网关 |
CN109669946A (zh) * | 2018-12-14 | 2019-04-23 | 中南设计集团(武汉)工程技术研究院有限公司 | 一种基于海量用户的复杂权限体系数据隔离系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030123434A1 (en) * | 2001-12-28 | 2003-07-03 | Makoto Hirayama | Internet telephone system |
CN2914196Y (zh) * | 2005-12-27 | 2007-06-20 | 河北国际商务信息中心 | 政府外网受理、内网办理审批系统 |
US20070250531A1 (en) * | 2006-04-24 | 2007-10-25 | Document Advantage Corporation | System and Method of Web Browser-Based Document and Content Management |
CN101421968A (zh) * | 2003-12-23 | 2009-04-29 | 万朝维亚有限公司 | 用于连网计算机应用的鉴权系统 |
-
2011
- 2011-08-03 CN CN201110221107.5A patent/CN102281330B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030123434A1 (en) * | 2001-12-28 | 2003-07-03 | Makoto Hirayama | Internet telephone system |
CN101421968A (zh) * | 2003-12-23 | 2009-04-29 | 万朝维亚有限公司 | 用于连网计算机应用的鉴权系统 |
CN2914196Y (zh) * | 2005-12-27 | 2007-06-20 | 河北国际商务信息中心 | 政府外网受理、内网办理审批系统 |
US20070250531A1 (en) * | 2006-04-24 | 2007-10-25 | Document Advantage Corporation | System and Method of Web Browser-Based Document and Content Management |
Non-Patent Citations (1)
Title |
---|
肖永田等: "基于内存交换的网闸系统的研究与实现", 《计算机工程与应用》, 31 December 2005 (2005-12-31), pages 138 - 141 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571821A (zh) * | 2012-02-22 | 2012-07-11 | 浪潮电子信息产业股份有限公司 | 一种云安全访问控制模型 |
CN102843259A (zh) * | 2012-08-21 | 2012-12-26 | 武汉达梦数据库有限公司 | 集群内中间件自管理热备方法及系统 |
CN103428035A (zh) * | 2013-08-26 | 2013-12-04 | 福建省视通光电网络有限公司 | 一种基于tcp/ip协议的大型网络通信系统与方法 |
CN105989060A (zh) * | 2015-02-09 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 数据管理方法、装置 |
CN104700221A (zh) * | 2015-03-18 | 2015-06-10 | 浪潮集团有限公司 | 一种saas模式的系统中海量数据变更日志的采集方法 |
CN108027786A (zh) * | 2015-07-29 | 2018-05-11 | Macom连接解决有限公司 | 基于与数据请求相关联的时钟计数器产生逾时信号 |
CN105574074A (zh) * | 2015-11-23 | 2016-05-11 | 江苏瑞中数据股份有限公司 | 一种基于智能电网wams的时序大数据存储方法 |
CN106055587A (zh) * | 2016-05-21 | 2016-10-26 | 乐视控股(北京)有限公司 | 一种分库数据库系统及其路由方法 |
CN109561226A (zh) * | 2017-09-26 | 2019-04-02 | 华为技术有限公司 | 一种api混合多租户路由方法、系统和api网关 |
WO2019062340A1 (zh) * | 2017-09-26 | 2019-04-04 | 华为技术有限公司 | 一种api混合多租户路由方法、系统和api网关 |
US11272036B2 (en) | 2017-09-26 | 2022-03-08 | Huawei Technologies Co., Ltd. | API hybrid multi-tenant routing method and system, and API gateway |
CN109669946A (zh) * | 2018-12-14 | 2019-04-23 | 中南设计集团(武汉)工程技术研究院有限公司 | 一种基于海量用户的复杂权限体系数据隔离系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102281330B (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102281330B (zh) | 用于saas平台的数据存储、通讯访问及控制的方法 | |
CN102694849B (zh) | 物联网资源信息获取方法、终端设备及系统 | |
WO2020113545A1 (zh) | 基于联盟链投票共识算法产生及管理多模标识网络的方法 | |
CN104754065B (zh) | 基于内容中心网络的动态分布Web资源管理方法及系统 | |
CN101741696A (zh) | 一种分布式地理信息环境中的多用户实时协作系统 | |
CN104640237A (zh) | 一种物联网系统 | |
CN101132269B (zh) | 数据同步方法及使用该方法的iptv内容分发网络系统 | |
CN105959433A (zh) | 一种域名解析方法及其域名解析系统 | |
CN101808096B (zh) | 一种大规模异地局域网间屏幕共享及控制的方法 | |
CN107079060A (zh) | 用于运营商级nat优化的系统和方法 | |
CN102917084B (zh) | 胖树结构组网数据中心内部节点ip地址的自动分配方法 | |
CN109213792A (zh) | 数据处理的方法、服务端、客户端、装置及可读存储介质 | |
CN102651699A (zh) | 一种树状分层结构监控系统及监控方法 | |
CN107357791A (zh) | 一种数据共享方法及装置 | |
CN103248726A (zh) | 一种多根对等的物联网标识解析方法 | |
CN102880668A (zh) | 综合应急管理平台数据存储方法及采用该方法的平台架构 | |
CN104811371A (zh) | 一种全新的即时通信系统 | |
CN102447734A (zh) | 一种税务云计算网开im在线客服系统云端服务方法 | |
CN110213156A (zh) | 一种跨中心群组即时通信方法和系统 | |
CN107959602B (zh) | 一种入网方法和装置 | |
CN103763353A (zh) | 一种水利数据交换模型及方法 | |
JP2002344486A5 (zh) | ||
CN114281790A (zh) | 一种多类型负荷资源聚合商接入系统及方法 | |
CN112367354A (zh) | 一种云边资源图智能调度系统及其调度方法 | |
CN102594839B (zh) | 一种识别伪dhcp服务器的方法和交换机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140402 Termination date: 20150803 |
|
EXPY | Termination of patent right or utility model |