语义交换机松耦合系统进行信息处理的方法
【专利摘要】本发明提供一种语义交换机松耦合系统进行信息处理的方法,包括:在每一个业务处理节点布置一个服务池,服务池为由相同功能的n个语义交换机组成的用于完成同一个语义操作的语义交换机集群;每一个语义交换机均配置有运行时数据库、配置子模块和语义处理程序;语义处理程序为客户依据客户业务逻辑所编写的程序,通过编写不同的程序,可使本语义交换机具有不同的业务处理功能;运行时数据库采用非关系数据库集群,用于以JSON格式保存数据记录,并且,每一条数据记录具有唯一的记录ID;该记录ID作为URI的标记可以被访问;配置子模块中定义本体描述与关系描述。优点为消除传统信息系统的烟道模型,实现多平台异构系统的数据共享。
【专利说明】语义交换机松耦合系统进行信息处理的方法
【技术领域】
[0001]本发明属于数据处理【技术领域】,具体涉及一种语义交换机松耦合系统进行信息处理的方法。
【背景技术】
[0002]当前企业信息系统的标准架构就是采用以关系型数据库为核心,通过中间件与Web服务器构建的三级架构。关系型数据库成为企业计算与数据管理的核心部件。但是,采用关系型数据库为企业信息系统带来许多弊端:(I)关系型数据库成为企业业务计算的瓶颈:由于关系型数据库的处理能力聚集在核心服务器与小型机上,虽然可以采用提升服务器的处理能力或者集群的方式,但是在处理大数据(PByte)的时候会造成性能瓶颈。(2)关系型数据库为紧耦合信息系统:由于关系型数据库的设计需要在IT系统开发前就互相关联的数据结构进行严格的定义,并在此基础上开发企业信息系统的各种部件与模块。这种紧耦合系统不便于系统升级改进,每一次的企业业务变化均需要重新开始设计,导致维护与升级成本太高。
[0003]另外,现代企业信息系统还具有以下问题:(I)现代企业信息系统均为烟道系统,通常:生产系统、办公系统、财务系统、人力资源系统等系统均是独立开发的烟道系统,互相既不能共享数据又不能共享方法。(2)现代企业信息系统的安全性受到挑战:由于企业核心资产都集中在核心数据库中,企业的数据库已经成为企业信息系统的心脏,一旦被渗透将造成灾难性影响。而企业数据库开发人员并不具备足够的安全知识以开发基于安全代码实现的信息系统,从而造成企业信息系统的安全漏洞层出不穷。(3)开发成本高:传统的企业信息系统的开发过程非常复杂,需要通过需求分析、系统分析、概要设计、详细设计、代码编程、质量验证等几个阶段。而且在开发完成后,一旦客户需求改变则需要重新开始上述的整个开发流程。同时由于现在的应用系统大量采用关系型数据库,因此针对新的需求将无可避免的改造现有的关系型数据库的结构,而针对紧耦合关系型数据库的任何修改都会加大数据库系统的风险。(4)维护成本高:现有信息系统的开发模型形成的烟道系统造成了各个应用系统相互独立,其维护成本非常高。(5)网络、应用、内容、安全、存储技术之间的鸿沟:传统的信息系统将网络部署、应用开发、内容生产、信息安全、数据存储隔离开来,形成了信息系统五个核心要素之间的鸿沟。这些鸿沟给信息系统开发和维护造成非常高的成本。
【发明内容】
[0004]针对现有技术存在的缺陷,本发明提供一种语义交换机松耦合系统进行信息处理的方法,将其应用于企业信息系统时,可有效解决上述技术问题。
[0005]本发明采用的技术方案如下:
[0006]本发明提供一种语义交换机松耦合系统进行信息处理的方法,包括以下步骤:
[0007]SI,在每一个业务处理节点布置一个服务池,所述服务池为由相同功能的η个语义交换机组成的用于完成同一个语义操作的语义交换机集群;其中,η为自然数,n^l;
[0008]并且,每一个语义交换机均配置有运行时数据库、配置子模块和语义处理程序;
[0009]其中,所述语义处理程序为客户依据客户业务逻辑所编写的程序,通过编写不同的程序,可使本语义交换机具有不同的业务处理功能;并且,所述语义处理程序定义以下内容:根据运行时数据库的操作动作CRUD,分别定义与各操作动作CRUD对应的详细操作程序;
[0010]所述运行时数据库采用非关系数据库集群,用于以JSON格式保存数据记录,并且,每一条数据记录具有唯一的记录ID ;该记录ID作为URI的标记可以被访问;
[0011]所述配置子模块中定义本体描述与关系描述;
[0012]所述本体描述用于定义本语义交换机的各类属性,包括:本体运行时数据库格式、本体认可的应用层协议与数据交换格式、本体所属的服务池的统一资源名URN、本体所属的服务池所包含的各组员的IP、本体的语义防火墙规则;
[0013]所述关系描述用于定义本语义交换机与其他关系节点之间的关系模型和数据传输接口 ;其中,所 述关系节点包括单个关系语义交换机、关系服务池或者应用服务器;所述关系描述具体定义以下信息:关系节点的应用层协议和关系节点的数据交换格式;其中,当关系节点为关系服务池时,还定义分别针对每个关系服务池的负载均衡模式、健康检查方式以及所述关系服务池中各成员节点IP ;
[0014]S2,当任意一个服务池i中的语义交换机j接收到一个基于各类应用层协议以及各类型数据交换格式的来自请求端k的CRUD操作请求时,该CRUD操作请求为以下四种操作请求之一:创建操作请求、更新操作请求、删除消息操作请求和查询操作请求;所述语义交换机j对该CRUD操作请求首先进行安全预处理,然后进行应用层协议解析,将来自请求端k的CRUD操作请求转换为能够被所述语义交换机j识别的CRUD操作请求,并将转换后的CRUD操作请求发送到输入队列;
[0015]S3,所述语义交换机j读取所述输入队列中的CRUD操作请求,并对所述CRUD操作请求进行语义预处理,将CRUD操作请求统一转换为内部使用的JSON格式语义消息,然后将所述JSON格式语义消息发送到JSON内部消息队列;
[0016]S4,所述语义交换机j对所述JSON内部消息队列中待处理的该条JSON格式语义消息进行解析,获取以下信息:该条消息的源IP、运行时数据库id、针对运行时数据库的操作动作CRUD、消息内容和记录ID ;其中,所述针对运行时数据库的操作动作CRUD包括创建新记录、查询记录、更新记录和删除记录;然后将获取到的上述消息组合为一条内部语义消息,并将该内部语义消息发送到内部语义消息队列;
[0017]S5,所述语义交换机j对所述内部语义消息队列中的内部语义消息进行语义规则过滤,依据配置子模块中设定的语义防火墙规则判断该条语义消息是否可以执行,如果不能被执行,则阻断语义消息的下一步工作并通知应用层代理取消本次会话;如果可以被执行,则进行S6 ;
[0018]S6,所述语义交换机j解释并执行所述语义处理程序,对可执行的语义消息进行语义计算、加工和处理,生成处理后的针对关系节点的新CRUD语义消息;然后,一方面,对所述运行时数据库执行操作动作CRUD ;另一方面,读取所述配置子模块,判断所定义的关系节点的类别,如果为单个关系语义交换机;则直接将该单个关系语义交换机确定为目的节点;如果为应用服务器,则直接将该应用服务器确定为目的节点;如果为关系服务池,则执行S7 ;
[0019]S7,所述语义交换机j从所述配置子模块中获取该关系服务池的负载均衡模式及其所包含的各成员节点IP,通过所述负载均衡模式,确定所述关系服务池中最佳成员节点作为目的节点;
[0020]S8,所述语义交换机j读取所述配置子模块,获得所确定的目的节点的数据格式,将JSON格式的新CRUD语义消息转换成目标格式,再经语义安全处理后发送到输出端消息队列;
[0021]S9,所述语义交换机j读取所述配置子模块,获得所确定的目的节点的应用层协议,按顺序将输出端消息队列中的消息进行应用层协议封装,将其封装为能够被目的节点所能识别的数据;
[0022]S10,所述语义交换机j对封装后的数据进行安全处理,然后将处理后的数据发送到目的节点;
[0023]S11,所述目的节点在接收到来自所述语义交换机j的消息时,所述语义交换机j相对于所述目的节点变为请求端,当所述目的节点也为语义交换机时,所述目的节点按S2-S10的步骤进行数据处理,由此形成基于分布式计算架构的松耦合系统的数据处理过程。
[0024]优选的,所述语义交换机j的状态改变情况保存到系统管理日志中,信息流经过所述语义交换机j所做的中间操作保存到操作日志;所述系统管理日志和所述操作日志统称为日志审计模块;所述日志审计模块采用非关系数据库引擎以SON格式存储,如果语义交换机j属于一个服务池,则将语义交换机j的日志审计模块所存储的内容在所述服务池中进行分片存储。
[0025]优选的,S2中,所述应用层协议为HTTP协议、MQ协议、JMS协议、FTP协议或SMTP协议,并且,所述数据交换格式为XML格式、JSON格式、SOAP格式或REST格式。
[0026]优选的,S2中,所述语义交换机j对该CRUD操作请求首先进行安全预处理,具体为:
[0027]所述语义交换机j对所述请求消息进行安全过滤、证书确认及解密处理后,再对认证合格及解密后的数据进行规则过滤与协议清洗,屏蔽应用层的攻击。
[0028]优选的,S3中,所述语义交换机j读取所述输入队列中的CRUD操作请求,并对所述CRUD操作请求进行语义预处理,具体为:
[0029]所述语义交换机j通过查询证书数据库,对输入队列中的请求消息进行语义认证,再对认证合格的消息进行解密,得到明文语义消息,再对所述明文语义消息进行消息格式转换,统一转换为内部使用的JSON格式语义消息。
[0030]优选的,S4中,所述语义交换机j对所述JSON内部消息队列中待处理的该条JSON格式语义消息进行解析,具体为:
[0031]所述语义交换机j从会话层的会话链接表中获取当前会话的源IP ;从应用层协议的包头信息中获取针对运行时数据库的操作动作CRUD ;从URL中获取运行时数据库ID、记录ID和针对运行时数据库的操作动作CRUD ;其中,运行时数据库ID、记录ID和针对运行时数据库的操作动作属于URL的一部分,位于URL的固定字段;从JSON内部消息队列中获取请求方发送的消息内容。
[0032]优选的,S5中,所述语义交换机j对所述内部语义消息队列中的内部语义消息进行语义规则过滤,具体为:
[0033]所述语义交换机j配置有客户身份与行为权限映射表,该映射表由多条语义规则表项组成,各条语义规则表项进行编号;每一条语义规则包括合法的源IP、运行时数据库ID、针对运行时数据库的操作动作、消息内容、记录ID、以及请求方合法身份;判断当前接收到的语义消息是否符合对应的语义规则,得出该条语义消息是否能够被执行的结论。
[0034]优选的,S8具体为:
[0035]所述语义交换机j将JSON格式的语义消息转换成目标格式,然后对转换后的语义消息进行语义加密处理,然后再对加密后的语义消息进行语义签名,然后再将签名后的语义消息发送到输出端消息队列。
[0036]优选的,SlO中,所述语义交换机j对封装后的数据进行安全处理,具体为:
[0037]所述语义交换机j对经应用层协议封装后的数据进行证书签名及加解处理,然后再将处理后的数据发送到目的节点。
[0038]本发明提供的语义交换机松耦合系统进行信息处理的方法,具有以下优点:
[0039](I)消除传统信息系统的烟道模型,实现多平台异构系统的数据共享。
[0040](2)自动化实现代码级安全,有效防范信息泄露。
[0041](3)消除企业信息系统的性能瓶颈,实现无限制扩充的信息处理能力。
[0042](4)消除网络、应用系统、存储技术、信息安全之间的鸿沟,实现企业信息系统的有机融合。
[0043](5)采用松耦合系统部署,实现人机交互、机机交互的统一信息交互标准,确保信息系统的部署和维护以及开发最大限度避免重复开发浪费计算资源。
[0044](6)统一的分布式标准语言战略性的降低企业信息系统开发成本,即在系统开发的:系统分析、模块设详细设计、代码开发、QA等任何环节均可以根据客户要求和业务变化随时调整和修改系统。而局部的修改不会对整个信息系统造成战略影响。
[0045](7)实现信息系统的冗余设计,提高信息系统的可用性。
[0046](8)在信息系统开展OLAP的同时不影响OLTP的性能。
【专利附图】
【附图说明】
[0047]图1为本发明提供的语义交换机的整体架构图;
[0048]图2为本发明提供的语义交换机与网络7层协议的参考对照图;
[0049]图3为应用层协议解析模块的工作原理图;
[0050]图4为接收端语义预处理模块的工作原理图;
[0051]图5为接收端消息格式转换子模块的工作原理图;
[0052]图6为语义处理引擎的整体工作流程图;
[0053]图7为语义解析子模块的工作原理图;
[0054]图8为语义处理子模块的工作原理图;
[0055]图9为终端I发送CREATE消息的场景I示意图;
[0056]图10为终端I发送UPDATE消息的场景2示意图;[0057]图11为终端I发送DELETE消息的场景3示意图;
[0058]图12为终端I发送RETRIEVE消息的场景4示意图;
[0059]图13为发送端语义预处理模块的整体工作原理图;
[0060]图14为发送端消息格式转换子模块的工作原理图;
[0061]图15为应用层协议封装模块的工作原理图;
[0062]图16为服务池中两台语义交换机存储过程示意图;
[0063]图17为语义交换机的硬件架构设计图;
[0064]图18为单一角色的语义交换机集群部署图;
[0065]图19为多角色语义交换机集群部署图;
[0066]图20为语义交换机的反馈与进化计算模型。
【具体实施方式】
[0067]以下结合附图对本发明进行详细说明:
[0068]本发明提供一种语义交换机,语义交换机采用基于REST的无状态传输的分布式计算架构,其工作在应用层协议之上的语义层,本发明提供的语义交换机不同于传统的网络交换机与最近流行的应用交换机,其工作在应用层协议之上针对语义消息进行计算、转换、转发、分发、软路由等工作。可以说,本发明提供的语义交换机是第八层交换机,其在网络7层协议的定位可以参考图2。
[0069]如图1所示,本发明提供的语义交换机包括:接收端网络/传输层数据处理模块、应用层协议解析模块、接收端语义预处理模块、语义处理引擎、发送端语义预处理模块、应用层协议封装模块、发送端网络/传输层数据处理模块、运行时数据库和日志审计模块。以下对各模块详细介绍:
[0070](一 )接收端网络/传输层数据处理模块
[0071]接收端网络/传输层数据处理模块用于接收来自应用层请求端的基于各类应用层协议以及各类型数据交换格式的请求消息,并对请求消息进行安全预处理,得到处理后的请求消息,然后将处理后的请求消息发送到应用层协议解析模块。其中,本发明中,接收端网络/传输层数据处理模块所接收到的请求消息的应用层协议包括但不限于=HTTP协议、MQ协议、JMS协议、FTP协议或SMTP协议,并且,请求消息的数据交换格式包括但不限于:XML格式、JSON格式、SOAP格式或REST格式。
[0072]接收端网络/传输层数据处理模块包括网络防火墙子模块、SSL认证与解密子模块和WAF/应用防火墙子模块;
[0073](I)网络防火墙子模块
[0074]网络防火墙子模块用于接收来自请求端的请求消息,并对请求消息进行安全过滤,然后将过滤后的请求消息发送到SSL认证与解密子模块;
[0075](2) SSL认证与解密子模块
[0076]SSL认证与解密子模块用于对过滤后的请求消息进行证书确认及解密处理,然后将认证合格及解密后的请求消息发送到WAF/应用防火墙子模块;
[0077](3) WAF/应用防火墙子模块
[0078]WAF/应用防火墙子模块用于对接收到的请求消息进行规则过滤与协议清洗,屏蔽应用层的攻击;然后将处理后的请求消息发送到应用层协议解析模块。
[0079]其中,WAF/应用防火墙子模块提供专门针对Web服务攻击的防护功能,主要防护以下10种Web攻击:
[0080]Al -注入
[0081]A2 —跨站脚本(XSS)
[0082]A3 一失效的身份认证和会话管理
[0083]A4—不安全的直接对象引用
[0084]A5 一跨站请求伪造(CSRF)
[0085]A6 一安全配置错误
[0086]A7 一不安全的加密存储
[0087]A8 -没有限制URL访问
[0088]A9 一传输层保护不足
[0089]AlO—未验证的重定向和转发。
[0090]( 二 )应用层协议解析模块
[0091]应用层协议解析模块为针对请求端的协议代理,用于对接收到的基于各类应用层协议的请求消息进行协议解析,将请求端的基于各类应用层协议的应用层会话转换为能够被接收端语义预处理模块识别的请求消息,并将转换后的请求消息发送到输入队列。
[0092]具体的,应用层协议解析模块配置各种应用层协议的代理子模块,包括但不限于:HTTP代理子模块、MQ代理子模块、JMS代理子模块、FTP代理子模块和SMTP代理子模块;如图3所示,为应用层协议解析模块的工作原理图;
[0093]HTTP代理子模块用于建立本语义交换机与基于HTTP协议的请求端之间的会话;
[0094]MQ代理子模块用于建立本语义交换机与基于MQ协议的请求端之间的会话;
[0095]JMS代理子模块用于建立本语义交换机与基于JMS协议的请求端之间的会话;
[0096]FTP代理子模块用于建立本语义交换机与基于FTP协议的请求端之间的会话;
[0097]SMTP代理子模块用于建立本语义交换机与基于SMTP协议的请求端之间的会话。
[0098](三)接收端语义预处理模块
[0099]接收端语义预处理模块用于读取输入队列中的请求消息,并对请求消息进行语义预处理,将请求消息统一转换为内部使用的JSON格式语义消息,然后将JSON格式语义消息发送到JSON格式内部消息队列。
[0100]接收端语义预处理模块包括语义认证子模块、语义解密子模块和接收端消息格式转换子模块,其工作原理如图4所示:
[0101](I)语义认证子模块
[0102]语义认证子模块通过查询证书数据库,对输入队列中的请求消息进行语义认证,将认证合格的消息发送到语义解密子模块;
[0103](2)语义解密子模块
[0104]语义解密子模块用于对认证后的消息进行解密,得到明文语义消息,并将明文语义消息发送到接收端消息格式转换子模块;
[0105](3)接收端消息格式转换子模块
[0106]接收端消息格式转换子模块用于将各种数据交换格式的明文语义消息统一转换为内部使用的JSON格式语义消息,然后将JSON格式语义消息发送到JSON内部消息队列;其中,明文语义消息的数据交换格式包括XML格式、JSON格式、SOAP格式或REST格式。如图5所示,为接收端消息格式转换子模块的工作原理图。
[0107](四)语义处理引擎
[0108]语义处理引擎包括语义解析子模块、语义防火墙子模块、语义处理子模块、语义处理程序、负载均衡子模块和配置子模块;其中,语义解析子模块、语义防火墙子模块、语义处理子模块和负载均衡子模块顺次连接,语义处理程序的输出端与语义处理子模块的输入端连接,并且,语义处理子模块的输出端还与运行时数据库连接;配置子模块分别与语义解析子模块、语义防火墙子模块、语义处理子模块和负载均衡子模块连接。如图6所示,为语义处理引擎的整体工作流程图。
[0109](I)配置子模块
[0110]配置子模块中定义本体描述与关系描述;
[0111]本体描述可采用特定的DSL (领域描述语言)实现,用于定义本语义交换机的各类属性,包括:本体运行时数据库格式、本体认可的应用层协议与数据交换格式、本体所属的服务池的统一资源名URN、本体所属的服务池所包含的各组员的IP、本体的语义防火墙规则;其中,服务池为由相同功能的语义交换机组成的用于完成同一个语义操作的语义交换机集群;
[0112]关系描述用于定义本语义交换机与其他关系节点之间的关系模型和数据传输接口 ;其中,关系节点包括单个关系语义交换机、关系服务池或者应用服务器;关系描述具体定义以下信息:关系节点的应用层协议和关系节点的数据交换格式;其中,当关系节点为关系服务池时,还定义分别针对每个关系服务池的负载均衡模式、健康检查方式以及关系服务池中各成员节点IP ;
[0113](2)运行时数据库
[0114]运行时数据库采用非关系数据库集群的〈键:值〉对模式存取,用于将语义处理引擎所产生的信息条目以JSON格式保存数据记录,并且,每一条记录均由众多的〈键:值>对组合而成,同时每一条数据记录均有唯一的记录ID,而记录ID将作为URI的标记可以被访问。
[0115]例如:在非关系数据库中存储的某条数据记录的记录ID为52a481656c6f6311a6000000,则:
[0116]http: //./52a4 81656c6f6 311a6000000/ 即 为显示 ID 为52a481656c6f6311a6000000的订单详情的请求消息;
[0117]http: //./52a481656c6f6 311a6000000/edit/ 为编辑 ID 为52a481656c6f6311a6000000 的订单的请求消息;
[0118]http://./52a481656c6f6311a6000000/delete/ 为删除 ID 为52a481656c6f6311a6000000 的订单的请求消息;
[0119]http://./52a481656c6f6311a6000000/save/ 为新建并存储 ID 为52a481656c6f6311a6000000 的订单的请求消息。
[0120]通过上述方式,将URI与非关系数据库的记录有机的联系在一起,有效避免了混舌L。同时,通过在URI的最后加上请求端的各类针对这项记录的操作指令,获得不同的操作方法。
[0121](3)语义解析子模块
[0122]语义解析子模块用于对JSON内部消息队列中待处理的某条消息进行解析,获取以下信息:该条消息的源IP、运行时数据库ID、针对运行时数据库的操作动作CRUD、消息内容和记录ID ;其中,针对运行时数据库的操作动作CRUD包括创建新记录、查询记录、更新记录和删除记录;然后将获取到的上述消息组合为一条内部语义消息,并将该内部语义消息发送到内部语义消息队列。
[0123]具体的,如图7所示,为语义解析子模块的工作原理图,语义解析子模块从会话层的会话链接表中获取当前会话的源IP;从应用层协议的包头信息中获取针对运行时数据库的操作动作CRUD ;从URL中获取运行时数据库ID、记录ID和针对运行时数据库的操作动作CRUD ;其中,运行时数据库ID、记录ID和针对运行时数据库的操作动作属于URL的一部分,位于URL的固定字段;从JSON格式内部消息队列中获取请求方发送的消息内容;在附图中,还从证书数据库中获取解析证书与用户身份。
[0124](4)语义防火墙子模块
[0125]语义防火墙子模块用于对内部语义消息队列中各条语义消息进行语义规则过滤,依据配置子模块中设定的语义防火墙规则判断该条语义消息是否可以执行,如果不能被执行,则阻断语义消 息的下一步工作并通知应用层代理取消本次会话;如果可以被执行,则将该条语义消息发送给语义处理子模块。
[0126]具体的,语义防火墙子模块配置有客户身份与行为权限映射表,用于描述本体语义交换机可以接受的各类行为,通过对任何访问者设定针对本体操作的CRUD授权实现语义条目级别的访问控制能力。如表1所示,为客户身份与行为权限映射表的一种具体实例,该映射表由多条语义规则表项组成,各条语义规则表项进行编号;每一条语义规则包括合法的源IP、运行时数据库ID、针对运行时数据库的操作动作、消息内容、记录ID以及请求方合法身份;判断当前接收到的语义消息是否符合对应的语义规则,得出该条语义消息是否能够被执行的结论。通过语义防火墙子模块,可防范非法请求进行窃取信息条目、删除敏感数据的目的。
[0127]表1客户身份与行为权限映射表
[0128]
【权利要求】
1.一种语义交换机松耦合系统进行信息处理的方法,其特征在于,包括以下步骤: SI,在每一个业务处理节点布置一个服务池,所述服务池为由相同功能的η个语义交换机组成的用于完成同一个语义操作的语义交换机集群;其中,η为自然数,n^l; 并且,每一个语义交换机均配置有运行时数据库、配置子模块和语义处理程序; 其中,所述语义处理程序为客户依据客户业务逻辑所编写的程序,通过编写不同的程序,可使本语义交换机具有不同的业务处理功能;并且,所述语义处理程序定义以下内容:根据运行时数据库的操作动作CRUD,分别定义与各操作动作CRUD对应的详细操作程序;所述运行时数据库采用非关系数据库集群,用于以JSON格式保存数据记录,并且,每一条数据记录具有唯一的记录ID ;该记录ID作为URI的标记可以被访问; 所述配置子模块中定义本体描述与关系描述; 所述本体描述用于定义本语义交换机的各类属性,包括:本体运行时数据库格式、本体认可的应用层协 议与数据交换格式、本体所属的服务池的统一资源名URN、本体所属的服务池所包含的各组员的IP、本体的语义防火墙规则; 所述关系描述用于定义本语义交换机与其他关系节点之间的关系模型和数据传输接口 ;其中,所述关系节点包括单个关系语义交换机、关系服务池或者应用服务器;所述关系描述具体定义以下信息:关系节点的应用层协议和关系节点的数据交换格式;其中,当关系节点为关系服务池时,还定义分别针对每个关系服务池的负载均衡模式、健康检查方式以及所述关系服务池中各成员节点IP ; S2,当任意一个服务池i中的语义交换机j接收到一个基于各类应用层协议以及各类型数据交换格式的来自请求端k的CRUD操作请求时,该CRUD操作请求为以下四种操作请求之一:创建操作请求、更新操作请求、删除消息操作请求和查询操作请求;所述语义交换机j对该CRUD操作请求首先进行安全预处理,然后进行应用层协议解析,将来自请求端k的CRUD操作请求转换为能够被所述语义交换机j识别的CRUD操作请求,并将转换后的CRUD操作请求发送到输入队列; S3,所述语义交换机j读取所述输入队列中的CRUD操作请求,并对所述CRUD操作请求进行语义预处理,将CRUD操作请求统一转换为内部使用的JSON格式语义消息,然后将所述JSON格式语义消息发送到JSON内部消息队列; S4,所述语义交换机j对所述JSON内部消息队列中待处理的该条JSON格式语义消息进行解析,获取以下信息:该条消息的源IP、运行时数据库ID、针对运行时数据库的操作动作CRUD、消息内容和记录ID ;其中,所述针对运行时数据库的操作动作CRUD包括创建新记录、查询记录、更新记录和删除记录;然后将获取到的上述消息组合为一条内部语义消息,并将该内部语义消息发送到内部语义消息队列; S5,所述语义交换机j对所述内部语义消息队列中的内部语义消息进行语义规则过滤,依据配置子模块中设定的语义防火墙规则判断该条语义消息是否可以执行,如果不能被执行,则阻断语义消息的下一步工作并通知应用层代理取消本次会话;如果可以被执行,则进行S6 ; S6,所述语义交换机j解释并执行所述语义处理程序,对可执行的语义消息进行语义计算、加工和处理,生成处理后的针对关系节点的新CRUD语义消息;然后,一方面,对所述运行时数据库执行操作动作CRUD ;另一方面,读取所述配置子模块,判断所定义的关系节点的类别,如果为单个关系语义交换机;则直接将该单个关系语义交换机确定为目的节点;如果为应用服务器,则直接将该应用服务器确定为目的节点;如果为关系服务池,则执行S7 ; S7,所述语义交换机j从所述配置子模块中获取该关系服务池的负载均衡模式及其所包含的各成员节点IP,通过所述负载均衡模式,确定所述关系服务池中最佳成员节点作为目的节点; S8,所述语义交换机j读取所述配置子模块,获得所确定的目的节点的数据格式,将JSON格式的新CRUD语义消息转换成目标格式,再经语义安全处理后发送到输出端消息队列; S9,所述语义交换机j读取所述配置子模块,获得所确定的目的节点的应用层协议,按顺序将输出端消息队列中的消息进行应用层协议封装,将其封装为能够被目的节点所能识别的数据; S10,所述语义交换机j对封装后的数据进行安全处理,然后将处理后的数据发送到目的节点; S11,所述目的节点 在接收到来自所述语义交换机j的消息时,所述语义交换机j相对于所述目的节点变为请求端,当所述目的节点也为语义交换机时,所述目的节点按S2-S10的步骤进行数据处理,由此形成基于分布式计算架构的松耦合系统的数据处理过程。
2.根据权利要求1所述的语义交换机松耦合系统进行信息处理的方法,其特征在于,所述语义交换机j的状态改变情况保存到系统管理日志中,信息流经过所述语义交换机j所做的中间操作保存到操作日志;所述系统管理日志和所述操作日志统称为日志审计模块;所述日志审计模块采用非关系数据库引擎以SON格式存储,如果语义交换机j属于一个服务池,则将语义交换机j的日志审计模块所存储的内容在所述服务池中进行分片存储。
3.根据权利要求1所述的语义交换机松耦合系统进行信息处理的方法,其特征在于,S2中,所述应用层协议为HTTP协议、MQ协议、JMS协议、FTP协议或SMTP协议,并且,所述数据交换格式为XML格式、JSON格式、SOAP格式或REST格式。
4.根据权利要求1所述的语义交换机松耦合系统进行信息处理的方法,其特征在于,S2中,所述语义交换机j对该CRUD操作请求首先进行安全预处理,具体为: 所述语义交换机j对所述请求消息进行安全过滤、证书确认及解密处理后,再对认证合格及解密后的数据进行规则过滤与协议清洗,屏蔽应用层的攻击。
5.根据权利要求1所述的语义交换机松耦合系统进行信息处理的方法,其特征在于,S3中,所述语义交换机j读取所述输入队列中的CRUD操作请求,并对所述CRUD操作请求进行语义预处理,具体为: 所述语义交换机j通过查询证书数据库,对输入队列中的请求消息进行语义认证,再对认证合格的消息进行解密,得到明文语义消息,再对所述明文语义消息进行消息格式转换,统一转换为内部使用的JSON格式语义消息。
6.根据权利要求1所述的语义交换机松耦合系统进行信息处理的方法,其特征在于,S4中,所述语义交换机j对所述JSON内部消息队列中待处理的该条JSON格式语义消息进行解析,具体为: 所述语义交换机j从会话层的会话链接表中获取当前会话的源IP;从应用层协议的包头信息中获取针对运行时数据库的操作动作CRUD ;从URL中获取运行时数据库ID、记录ID和针对运行时数据库的操作动作CRUD ;其中,运行时数据库ID、记录ID和针对运行时数据库的操作动 作属于URL的一部分,位于URL的固定字段;从JSON内部消息队列中获取请求方发送的消息内容。
7.根据权利要求1所述的语义交换机松耦合系统进行信息处理的方法,其特征在于,S5中,所述语义交换机j对所述内部语义消息队列中的内部语义消息进行语义规则过滤,具体为: 所述语义交换机j配置有客户身份与行为权限映射表,该映射表由多条语义规则表项组成,各条语义规则表项进行编号;每一条语义规则包括合法的源IP、运行时数据库id、针对运行时数据库的操作动作、消息内容、记录ID、以及请求方合法身份;判断当前接收到的语义消息是否符合对应的语义规则,得出该条语义消息是否能够被执行的结论。
8.根据权利要求1所述的语义交换机松耦合系统进行信息处理的方法,其特征在于,S8具体为: 所述语义交换机j将JSON格式的语义消息转换成目标格式,然后对转换后的语义消息进行语义加密处理,然后再对加密后的语义消息进行语义签名,然后再将签名后的语义消息发送到输出端消息队列。
9.根据权利要求1所述的语义交换机松耦合系统进行信息处理的方法,其特征在于,SlO中,所述语义交换机j对封装后的数据进行安全处理,具体为: 所述语义交换机j对经应用层协议封装后的数据进行证书签名及加解处理,然后再将处理后的数据发送到目的节点。
【文档编号】H04L12/931GK103957174SQ201410206999
【公开日】2014年7月30日 申请日期:2014年5月16日 优先权日:2014年5月16日
【发明者】吴若松 申请人:北京信诺瑞得软件系统有限公司