服务注册与发现

2024-08-16

服务注册与发现(精选七篇)

服务注册与发现 篇1

海量的信息和无处不在的网络, 已经深刻地影响着国民经济和社会生活。以信息和知识为基础的信息产业, 已成为全球经济的主导推动力量。一个国家信息化建设程度直接影响其在新经济中的地位和未来。信息化是人类对现实世界各种事物抽象和数字化的过程。人类是通过自然界中各种事物的特性来认识事物的, 而这些事物的特性在信息化社会中又是通过各类信息系统中的各种数据来表现的。在全球电子业务和电子商务的推动下, 为实现各种不同信息系统间跨地域、跨行业、跨部门的信息共享, 使信息资源合理应用, 就必须对海量的信息资源进行统一标识、统一管理、统一命名。解决这一问题的前提和基础是对数据进行标准化, 而要实现数据标准化首先必须解决元数据的标准化问题。

1 元数据定义

ISO/IEC 11179-3:2003《信息技术元数据注册系统第3部分:注册系统元模型与基本属性》对元数据的定义是:定义和描述其他数据的数据 (data that defines and describes other data) 。这意味着元数据也是数据, 其本身也可以作为被描述的对象。

在信息系统中一般把数据看成是独立的信息单元, 不管这里的“数据”是一本书、一个网页或者一个虚拟的URL地址。目前, 国内外在不同的领域都形成了各种类型的元数据标准, 但是这些元数据标准常常缺少兼容性的功能。在全球网络的环境中, 要使不同元数据标准实现相互兼容, 使不同系统间的数据能够相互访问和检索已成为急需解决的问题。

2003~2005年, ISO/IEC JTC1/SC32 (数据管理和交换) 发布了ISO/IEC 11179《信息技术元数据注册系统》系列国际标准。该标准的目的就是通过电子信息交换来满足国际范围数据开放式交换的需要, 有利于跨网络、跨组织、跨越所有软硬件层面和地理, 越过时间、空间及应用的数据及其各个成分的重新使用和标准化。

2 元数据注册系统

元数据注册系统 (Metadata Registries, MDR) 是注册元数据的信息系统。元数据注册系统是对元数据的定义信息及其编码、转换、应用等规范进行发布、注册、管理和检索的系统, 它能支持开放环境中元数据规范的发现、识别、调用以及在此基础上的元数据转换、挖掘和复用。一个规范和标准的记录元数据的系统会增强元数据的有用性和共享性。通过元数据注册系统能建立一个系统、可靠、可持续的和公共的元数据规范及应用信息的注册管理机制;为众多分布、异构、自主、变化的信息系统提供一种方便地公开发布自己元数据格式及其应用规则的渠道;提供开放的查询、发现、链接元数据规范及其应用规则的公共机制。

与传统的数据标准化机制不一样, 元数据注册系统是一个面向网络、面向服务的全新的数据标准化机制。表1简要地列出了数据标准化整个发展历史中主要技术特点的关系。

从表1可以看到, 数据标准化的发展是在技术革新和人们的客观需求的推动下不断改进的。近几年来, 由于人们在面对网络海量的信息资源时越来越充满无力感, 人们太需要在有限的时间内, 最有效率的获得自己所需要的资源。人们已经无暇再陷入到对单个数据元素的标准化这样的愚公移山似的工作中去了。元数据注册系统满足了人们的需要。这种元数据注册是基于国际标准I S O/I E C11179, 而且对整个网络服务都是适用的。它为各应用开发者提供了一步到位的数据需要, 而且构成获得网络用户互操作性目标中的一个关键部分。这种注册主要是将供共享系统用的全部文件格式、接口、界面、定义和交换模式等都存储在“元数据注册系统”中。有了这样的注册系统, 系统和应用开发者和有关人员就可利用这样的注册系统, 发现需要的元数据资产并使用它们, 同时也使整个共享域各部门能够阅读、写或交换其中的有关数据。元数据注册系统是支持将来的面向网络和服务的数据管理战略的, 是一种重要的数据管理机制。

元数据注册系统的原型是基于W e b的B/S模式的平台。B/S结构即浏览器和服务器结构, 它是随着网络技术的兴起, 对C/S结构的一种变化或者改进的结构。在这种结构下, 用户工作界面是通过浏览器来实现, 极少部分事务逻辑在前端实现, 但是主要事务逻辑在服务器端实现, 形成所谓三层结构。这样就大大简化了客户端电脑载荷, 减轻了系统维护与升级的成本和工作量, 从而降低了用户的总体成本。以目前的技术看, 局域网建立B/S结构的网络应用, 并通过Internet/Intranet模式下数据库应用, 相对易于把握、成本也是较低的。它是一次性到位的开发, 能实现不同人员, 从不同地点, 以不同的接入方式 (如LAN、WAN、Internet/Intranet等) 访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限, 服务器数据库也很安全。特别是在J A V A这样的跨平台语言出现之后, B/S架构管理软件更是方便、速度快、效果优。

此外, 元数据注册系统还能采用S O A (面向服务的体系架构) 来构建, 通过服务发现的方式, 让整个元数据注册系统的流程效率更高。SOA不是一种技术, 而是一种IT系统和软件的构建方法和过程。基于S O A的I T系统建设更强调基于统一标准的快速开发和灵活组合。“服务”是S O A的核心元素, “服务”对应于某个业务流程、业务功能或数据资源, 按照统一的规格来组成信息系统。

根据元数据注册系统的基本功能特点, 我们认为其具体应用架构如图1所示。

如图1所示, 客户端除了浏览器一般无须任何用户程序 (如果采用S O A的架构也只需要增加少量的接口, S O A不仅是站在单个信息系统或集成项目的角度, 而是更强调站在用户IT建设全局或行业内信息化建设全局, 来规划并逐步建成统一的IT系统架构模式, 积累可重复使用的信息系统资源库, 以实现用户组织内或全行业内的信息资源共享) , 只需从W e b服务器上下载程序到本地来执行, 在下载过程中若遇到与数据库有关的指令, 由W e b服务器交给数据库服务器来解释执行, 并返回给W e b服务器, W e b服务器又返回给用户。在这种结构中, 将许许多多的网连接到一块, 形成一个巨大的网, 可以是项目网、行业网或全国网。用户根据自己的角色进行登录, 从而完成相应的操作。

3 结语

服务注册与发现 篇2

【关键词】数字档案;管理;知识发现与服务

在进行数字档案管理中,由于信息资源的广泛性,导致数字档案管理存在一定难度。由于这种档案管理是在国家基础上进行,所以人们会加强对档案的利用。在整个社会里,加强数字档案管理是为了实现信息资源共享,在这一目标的引导下,数字档案管理不断加强。文章通过对于数字档案管理中的知识服务和知识发现的探索,为数字化档案管理提供借鉴。

一、知识服务是数字档案信息服务的瓶颈

加强档案信息化建设在信息化建设中扮演着重要的角色,一方面可以提高利用档案信息利用率,另一方面,还可以实现档案信息的有效管理。对于用户来说,通过网络信息查询技术,一方面可以快速获得所需档案信息,另一方面还可以提高准确性。这样一来,可以大大减少数字档案资源较多带来的阻碍,还可以提高资源检索的效率。由于知识服务的重要性,导致其在数字化信息管理中重要地位。不过对于用户来说,要按照自己的工作性质和对信息的需求在广泛的数字档案信息中获取所需知识离不开技术方面的支持。对于用户来说,得到的信息可能存在分散性,所以并不会完全满足自身发展需求,也就是说,在面对浩如烟海的数字档案信息中,要想真正获得有用的信息,就要加强知识服务水平,提高科技水平。

二、知识发现与知识服务相关理念

(一)知识发现

在世界范围内,最早出现知识发现概念是在1989年的美国,在底特律的国际学术会议上提出了知识发现一词。六年后的加拿大举办了相似的国际学术会议,具体阐述了知识发现的理念。不过,在世界范围内普遍认为,提出知识发现这个概念的是1996年的Fayyad。有相当一部分人认为,知识发现就是通过档案来寻求可以利用的有价值的信息,而在档案里,知识就是有效的数据。所以要把数据转化成有效的信息。提高知识的利用价值,供人们决策,提高知识的发现率也就是对于知识利用程度的提高。

在现在看来,数据的挖掘和知识发现主要有三种关系:第一种关系中知识发现以数据的挖掘为前提。第二种观点里知识发现和数据服务有一定程度的关系,在任何时间里可以实现数据服务和知识发现的有机结合,共同发挥作用。第三种观点认为,知识发现是数据挖掘的拓展,是更深入层次的数据挖掘。

(二)知识服务

在1999年,学者任俊为的一篇论文里提出了支持服务这一理念。后来人们普遍认为,在知识服务中,重点就是服务,更深层次上讲,是利用信息进行服务。而要想有效开展服务,提高服务水平,就必须利用丰富的信息资源,进一步提高资源的利用率。在进行服务的过程里,通过一定的智能技术,可以帮助信息需求者在浩如烟海的信息资源里快速找到有效信息。通过这种观念可以得知,知识服务是信息服务的拓展和延伸。不过在现阶段的发展里,人们对于知识服务的看法仍然存在不同观点:有人认为,知识服务就是为需要知识的人提供有效的信息,实现信息有效提取和重组。换句话说,就是按照知识的不同内容和人对于知识的不同需求提供有针对性的有效服务。而还有一部分人持有不同的观点,他们认为,知识服务就是利用知识进行创新的发展过程,在创新中实现数字档案管理的发展。

三、数字档案管理中的知识发现与知识服务的一般模式

(一)数字档案信息空间

在管理数字档案的过程中,要进行知识服务就要加强对数字档案信息空间的理解。它是宏观信息空间的一个分支,是通过数字档案软件和硬件空间、时间和技术空间,还有服务空间等多种空间构成的组合体。对于信息空间这一概念来说,最开始是用于描述计算机应用系统。在计算机应用系统中,描述客观事物的运动过程就是信息,而数据则是对信息的编码。在应用系统运行时,借助于数据的处理和加工,实现系统功能和信息化管理。在这一背景下,计算机的软件和硬件以及数据共同发挥作用,构成了完整的计算机系统信息空间。

(二)数字档案信息空间组织模式

系统运营的内外部环境及其结构就是数字档案信息空间的组织模式,另外它还包含了两者之间的关系。要构建数字的信息空间组织模式,就要和数字档案实现有机结合,同时实现和知识服务的有机结合。全面建设网络体系和应用服务体系。在此基础上,建设安全体系和数据管理系统。通过多方面的完善实现,有机整体的高效运转。一般情况下,数字档案信息空间主要包含了网络音乐的空间,知识服务的空间,还有数据管理的空间庞大子空间。

(三)基于数字档案信息空间的支持服务系统

1、数字化管理。对于数字信息存取来说,它的主要功能是数据库的建立工作,还有实现数据库和相关系统的连接,另外还要建立数字档案信息资源的管理系统,在科技水平发展的背景下,实现数字化管理,构建完整的信息收集和存储系统,完善数字档案的更新和管理体系。

2、知识服务。要提供知识服务的前提是进行数字管理。对于数字档案的处理来说,可以按照不同种类进行划分,在了解用户所需要信息种类时,通过有序的数字管理更好地为客户提供服务。

四、总结

文章通过研究数字档案中的知识,发现和数字档案中的知识服务有机结合,实现对数字档案的综合研究。不过,本次研究仅仅是表面上的探究,还有一些方面没有提及。举例来看,技术层次和档案管理人员上有所欠缺也会导致数字档案管理工作的知识服务和发展工作受到阻礙。不过,在技术水平快速发展的今天,对于数字化档案管理研究程度不断加深。加强对档案信息的研究可以探索其中的隐藏资源,促使资源为社会所用,提高利用率,推动社会发展。所以,要想达到高层次的数字化档案管理,就要加大研究力度,实现知识服务和知识发现能力的提高,建设新的发展模式。

参考文献

[1]冯惠玲主编:《档案学概论》.中国人民大学出版社,2000 版.

服务注册与发现 篇3

Web服务[1,2]的发展是极其迅速的,相关协议陆续成为公众所接受的标准协议。其中的UDDI[3](Universal Description Discovery and Integration)规范定义了一种发布和发现Web服务相关信息的标准方法,它解决了Web服务的查找和发布问题。但是,目前UDDI规范所提供的注册和查找接口有时也难以满足应用的需求。主要存在的问题有:

(1) 在一个工作流中,为了完成某项工作,需要连续用到多个服务,如果能将这些相关的服务一次查询得到,将会更加方便用户完成这项工作,而且UDDI服务注册中心中只存放了服务的基本信息, 并没有表示服务之间的关系,因此不能查询到相关的或者配套的服务。

(2) 当UDDI服务注册中心注册的服务数量很大时,基于关键字和分类的查找方法返回的结果过多[4,5,6],这样返回大量的信息不仅占用了过多的网络通信量,而且增加了用户选择服务的时间。

(3) 目前,UDDI是被动的服务目录,被动等待服务请求者查找服务,被动等待服务提供者注册、更新服务信息。这就导致了从UDDI中查找到服务信息的实际可用性较差。

这些问题都给UDDI服务注册中心的应用带来一定的困难,所以如何对UDDI的标准系统模型进行优化是本文研究的重点。

1 相关工作

针对目前UDDI注册中心在发布和查询功能上存在的不足,一种方法是利用DAML-S,通过在UDDI注册中心注册tModel指向所定义的语义等描述文件来标明发布服务的非功能特性和语义特征,但描述都是针对服务的一般属性,没有对服务的QoS(一个产品或者服务满足用户需求的能力)信息进行具体的实现。SHUPING RAN提出了一种基于QoS的查找新模型[7],在该模型中增加了一个QoS认证来校验服务提供者所发布的QoS信息,同时对UDDI的数据模型进行了扩展,在BusinessServices下增加了一个新的数据结构类型Quality Information来存放服务的QoS信息,但是该模型并没有对服务的其他信息进行扩展。

另外,目前对UDDI注册中心进行扩展的信息都需要服务发布者进行主动的注册,但服务的状态是动态变化的,这就需要对服务的当前状态进行监控。IBM提出的服务发布和发现协议ADS[8]利用UDDIcrawler从Internet中自动拉回服务信息广播,而不需要人工将服务提供信息注册到注册库中,即建立了主动的服务注册机制。但此Web服务的描述信息通常仅描述该服务自身的功能接口及特征,无法得知服务的状态信息。UDDIe[9]是英国Cardiff大学提出的针对UDDI的扩展,它主要提出了服务的租赁时间和属性包概念。这种方式只解决了服务的可用性问题,缺少对服务具体状态信息的获得。

本文提出一种动态的服务注册中心,对服务注册中心的结构和功能进行扩展,在不改变UDDI规范和数据模型的基础上,为服务注册中心增加了外部存储数据库模块来存放服务的QoS和相关服务等信息,并利用服务主动监测机制及时获得服务的最新QoS信息,从而扩展了服务信息,并提高UDDI数据库中服务信息的实时有效性。

2 系统框架

本系统在遵循UDDI标准规范和数据模型的基础上, 提出一个新的动态UDDI注册和查找框架,该系统分为客户端、UDDI服务注册中心、服务器3个部分。其中,客户端的用户进行服务选择并使用服务;UDDI服务注册中心增加了守护进程和过滤器2个模块,并且数据库在包含原有UDDI规范规定的服务基本信息情况下,增加了服务相关信息和服务QoS信息2个数据库;服务器中的服务容器增加了一个监听服务,一个系统中可以有多个服务器,UDDI服务注册中心需要监听所有服务器上已发布的服务。

如图1所示,本系统中Web服务的发布和查找过程如下:

(1) 首先定义2个概念:相关服务,即用户为了完成某一项工作需要在这个工作流中用到2个或多个服务,这些服务之间的关系比较紧密,使用其中一个服务可能会用到其他的服务。相似服务,即某几个服务的功能比较相似,反映在UDDI中就是服务的CategoryBag中的信息是一样的,也就是服务的分类标准一样,这样这些服务所完成的功能是相似的。然后在UDDI服务注册中心的服务相关信息数据库中建立相关服务和相似服务2个表,分别存放相关服务和相似服务信息。

(2) 对UDDI标准规定的服务发布接口进行扩展,增加一个相关服务属性,用户可以选择将与此服务关系比较紧密的相关服务信息写进这个属性,然后将整个服务一起发布,并将相关服务属性写进服务相关信息数据库的相关服务表中。

(3) 当服务发布完成后,查找服务基本信息数据库中所有已发布服务的CategoryBag,如果发现与此新发布服务的CategoryBag相同,则将这2个服务视为相似服务,并将相似服务信息写入服务相关信息数据库的相似服务表中。

(4) 为了能动态监控服务的QoS信息,在服务容器中建立一个监听服务,用来动态地获取服务容器中所有服务的QoS信息。另外,为UDDI服务注册中心建立一个守护进程,定时调用服务器的监听服务,从而获得服务器上所有服务的QoS信息,并动态更新到UDDI服务QoS信息数据库中。

(5) 对UDDI标准规定的服务查询接口进行扩展,在原有可以根据关键字和分类查询的基础上增加了相关服务和服务QoS的查询。这样一方面,用户可以获得与查询服务联系紧密的相关服务;另一方面可以通过用户对QoS信息的查询限制得到符合用户需求的服务,从而有效地解决返回服务结果过多的问题。

(6) 当查询服务返回服务基本信息的同时,还负责将用户所查询服务的相关服务和相似服务也返回给用户。如果用户在一个工作流中用到的多个服务可以在相关服务中查询到,就不用再去UDDI服务注册中心进行查询,这样可以减少用户服务查询的次数,进而减少网络的通信量。另外,当用户不知道有可以解决类似问题的更好服务时,相似服务可以更方便地提醒用户,为用户的查找和挑选提供更大的方便。

3 相关服务

如图2所示,相关服务数据库中包含ServiceRelation和ServiceLike 2个表,分别表示服务相关信息和服务相似信息,这些信息在发布服务时写入数据库。

在ServiceRelation表中,ServiceKey和RelatedServiceKey分别惟一标识了此次发布的服务及其相关服务,而Description对这两者的关系进行了描述。除此之外,还需要对UDDI服务注册中心的发布接口进行扩展,与通常的UDDI服务注册中心的发布一样, 首先是填写服务的基本信息,如:名字、描述、绑定信息、服务类别信息等;其次是发布的服务对象增加了ServiceRelation属性,服务提供者可以自主选择填写关系紧密的服务ServiceKey和表示2个服务关系的描述信息。把服务的基本信息注册到UDDI服务注册中心中, 生成一个UDDI服务注册中心的惟一标示ServiceKey,然后把该服务的ServiceKey和服务提供者填写的服务相关信息写入到ServiceRelation表中。

在ServiceLike表中,ServiceKey和LikeServiceKey分别惟一标识了此次发布的服务及其相似服务。当服务信息成功发布到UDDI服务注册中心中后,获取该服务的CategoryBag信息,并以此信息为条件,对UDDI服务注册中心的服务进行查找。如果找到,则说明发布的服务与此服务在类别上相似,并将这2个服务的Key写入到ServiceLike表中。

这里需要对查询接口进行扩展, 在查询的条件对象中增加了ServiceRelation和ServiceLike 2个boolean型变量,当用户对变量置true时,可从UDDI获得目标服务的相关服务和相似服务。扩展后的查找接口除了可以进行基于关键字和分类等查询外,还可以进行基于相关服务和基于相似服务以及它们各种组合的查询。

4 QoS的动态获取

UDDI服务注册中心的一个重要特点就是需保证其注册信息的实时有效性,即需要保证服务请求者在其上找到的服务信息是实际可用的。因此本系统提供了服务的主动监测机制,由UDDI服务注册中心向监听服务发出监听请求,监听服务的QoS属性,从而提高了注册中心服务信息的实时可用性。

如图3所示,本系统中UDDI服务注册中心的服务QoS信息数据库中QoS信息包含以下几个方面:

(1) 服务的状态。分为激活和非激活2种状态,表示服务当前是否可用。

(2) 服务费用。因为网络上大量的服务是收费服务,所以服务的价格也是用户关心的重点。

(3) 服务宿主机负载。表示服务所在的主机的负载量,因为服务的主机的性能直接影响服务的响应速度和可靠性,是服务能否正常有效使用的重要指标。本系统通过主机的CPU占用率和内存的使用情况来计算主机的负载。CPU占用率和内存使用越高,则主机负载越重,表示此服务的质量相对越差。

(4) 服务发布时间。表示服务提供者注册服务的具体时间。

(5) 服务使用次数。表示此服务已经被用户使用过的次数。在服务容器中设置一个全局HashMap变量,该变量存放了服务容器中可用服务及其使用的次数,键为服务名,值为该服务使用过次数。当服务的一个实例启动时,此变量中对应服务的计数值自增。服务的计数值越大,代表更多的用户愿意选择此服务,从另一个方面也说明此服务的效果和质量越好。

其中,因为服务提供者发布服务时,需要同时将发布时间写入UDDI服务注册中心的数据库中,所以服务发布时间可以从UDDI服务注册中心的数据库中直接获得。而其他的信息需要通过守护进程调用服务器的监听服务。监听服务主要从3个方面获取服务的QoS信息,一方面从服务软件本身提供的接口得到服务的费用信息;另一方面从服务所在的主机得到主机质量,最后从服务所在的服务容器得到服务的状态和服务被使用过的次数。

因为采用的是监听的方法,而服务的部分QoS信息是不断变化的,所以可以动态获得服务的QoS信息。另外,当用户向UDDI服务注册中心发出服务请求而返回大量结果时,为了方便用户进行服务选择,需要对服务查询接口做进一步的扩展。

(1) 在查询的条件对象中增加了QoS属性,在QoS属性对象中包括服务状态、服务费用、服务主机质量、服务发布时间、服务使用次数这5个属性。

(2) 服务状态0,1,2分别代表全部服务、激活服务、非激活服务。

(3) 服务费用对象包含2个变量,分别表示用户要求此次服务费用的上下限。

(4) 服务主机质量对象包含4个变量,分别表示用户要求服务所在主机CPU和内存使用率的上下限。

(5) 服务发布时间对象包含2个变量,分别表示用户需要服务的时间的上下限。

(6) 服务使用次数对象包含2个变量,分别表示用户需要得到服务被使用次数的上下限。

这样,对UDDI服务注册中心可以进行基于QoS信息的查询。通过QoS的筛选,可以返回给用户更加精简的结果,使用户可以更快地从中选择最佳的服务。

5 结果分析

5.1 系统特点比较

如表1所示,采用tModel存放服务的扩展系统一和基于QoS查找的扩展系统二[7]对本文所提出的系统及标准UDDI数据系统进行了比较。

从表1可以看出,扩展系统一的实现相对简单,但其增加的服务属性信息需要通过文件进行传输和解析,效率较低,另外只扩展了基于QoS的服务查询;扩展系统二虽然将服务的属性信息和标准的服务信息集中存放,效率高,但其需要对UDDI的基本数据系统进行修改,实现比较复杂,另外只扩展了相关服务信息的查询。本文所提出的系统在UDDI注册中心增加了额外的单独的数据库模块,查询效率较高。另外,对服务的相关服务信息和QoS信息都进行了扩展,还可以通过主动监听的方式动态地获得服务的QoS信息,提高了服务查询的有效性和全面性。

表1 系统特点比较

5.2 查询效率比较

本实验使用4台计算机,一台模拟UDDI服务注册中心,另一台模拟客户端用来向UDDI发送服务查询请求,最后两台模拟服务器。其中一台包含加法服务和减法服务,另一台包含乘法服务和除法服务。

在一个工作流中如果发现本次查询服务的相关服务或相似服务在下一步中可以用到,便不用到UDDI注册中心进行再次查找,从而减少了服务查询的次数,提高了服务查询的效率。该实验基于这种思想来说明使用相关服务查询对服务查询效率的影响。如图4所示,标准系统采用UDDI规范规定的数据结构,而优化系统采用本文提出的扩展的UDDI数据结构。因为不考虑服务的QoS问题,所以在系统中每个服务都有且只有一个。另外,分别将加法服务和减法服务、乘法服务和除法服务发布为相关服务。最后,随机不同的多项式计算分别包含N个不同的加减乘除运算,也就是说工作流需要使用N次服务。

可以看到,由于优化系统增加了相关服务模块,需要在查询服务时在相关服务数据库中进行查找,额外增加了少量运行时间。所以优化系统在服务个数少的情况下几乎不会用到相关服务,会使工作流的执行时间略微增加。但是随着服务个数的不断增加,使得找到相关服务的可能性增大,工作流执行时间差距越明显。可以看出,在执行更大的项目或者一个工作流中需要使用更多服务时,使用本文所提出的优化系统可以更加有效地减少整个工作的执行时间。由于运行服务所花费的时间基本相同,所以优化系统可以大量减少用户查询服务信息的时间,提高服务的查询效率。

6 结 语

UDDI服务注册中心为实现网络的服务提供了统一描述、发现和集成,是整个Web服务技术的重要组成部分。本文针对目前UDDI的不足,通过增加服务相关信息和服务QoS信息2个模块对UDDI标准系统结构进行了扩展,并可以动态监听服务的QoS信息,提高了服务查询的效率和服务信息的实时有效性。

摘要:为了提高UDDI服务注册中心的服务查询效率和有效性,在UDDI标准规定的数据结构基础上增加了服务相关信息和服务QoS信息2个模块,并对服务的查询和发布接口进行了扩展。服务的QoS信息通过UDDI主动监听服务多种属性的方式动态获得。最后将提出的优化系统与其他几种系统的特点进行了比较,并通过实验说明了该系统的服务查询效率更高。

关键词:UDDI,服务相关信息,服务QoS信息,主动监听

参考文献

[1]柴晓路,梁宇奇.Web Services技术、架构和应用[M].北京:电子工业出版社,2003.

[2]张玮.基于J2EE的Web Service的研究与构建[D].武汉:武汉理工大学,2005.

[3]UDDI.org.The UDDI Technical White Paper[EB/OL].ht-tp://www.uddi.org/whitepapers.html,2000.

[4]芮雄健,王忠民.UDDI的原理与实现[J].计算机工程与设计,2005,26(6):82-84.

[5]江建军,刘继光.UDDI分类机制的研究与应用[J].计算机工程与设计,2006,27(5):103-105.

[6]佟业新.基于UDDI扩展的服务聚集和发现[D].济南:山东大学,2006.

[7]RAN Shuping.A model for web services discovery with QoS[M].[S.l.]:ACM,2003.

[8]NAGY W,CURBERA F,WEERAWARANNA S.The ad-vertisement and discovery of services(ADS)protocol for Webservices[EB/OL].[2000-07-13].http://www-128.ibm.com/developerworks/library/ws-ads.html?dwzone=ws,2000.

服务注册与发现 篇4

随着Internet的迅猛发展, 各种业务网络之间 (如PSTN, Internet等) 的相互渗透和相互融合己经成为不可逆转之势。统一的IP核心网将是网络融合和下一代网络 (NGN Next Generation Network) 的必然选择。IP技术所显示出的巨大优越性, 不仅使以IP为基础的各种应用飞速发展, 也使传统的数据通信业务甚至语音、视频开始转向IP, 出现了Everything over IP的局面, IP电话 (又称IP Phone或VOIP) 业务就是其中一个典型的应用。

Vo IP的出现起始1995年初, 当时位于新泽西州的Vocal Tec Communications公司推出了Internet电话软件, 这一产品的开发促成了类似产品的问世, 如Net Speak公司的Web Phone、Vocal Tec的Internet Phone以及Intel公司的Internet Phone等, 这些进一步推动了PC到PC的Vo IP技术的进一步发展。1996年, IDT公司推出Net2Phone软件, 通过互联网直接拨通他人的电话, 成为最早的商用VOIP, 使VOIP得到了极大的发展。

随后各种协议和标准不断出现, 为VOIP的进一步发展奠定了坚实的基础。1997年5月, VOIP的H.323标准开始得到应用, 这成为VOIP发展的里程碑。近几年SIP (Session Initiation Protocol, 会话初始协议) 应用于VOIP, 更是进一步促进了VOIP的迅猛发展, 极大的冲击了H.323协议的主体地位。因为SIP较为灵活, 可扩展, 而且是开放的, 它可以简单、方便的实现VOIP, 备受全球关注;SIP也以其简单, 灵活的特点越来越受到青睐, 目前已成为网络和通信领域一大热点[1]。

2 SIP协议简介

SIP (Session Initiation Protocol) 是IETF提出的新一代多媒体通信框架信令协议, 是一个用于建立、更改和终止多媒体会话或呼叫的包括传输层、事务层和会话层 (事务用户层) 的协议。

SIP提供了一个开发框架, 利用这个框架, 可以开发大量的应用于第三代移动通信领域的全IP通信业务。这项技术通过一致的协议将Internet和移动电话连接起来, 使将来的移动终端和其他连接到Internet上的设备更直接地通过IP数据流进行通信。这意味着可以使用更智能的方式向移动电话用户提供更丰富的话音、短信息和电子邮件业务。在使用全IP技术的时代, 利用SIP技术可以实现大量的新应用。

SIP本身并不是一个水平集成的通信系统, SIP的设计是作为整个IETF多媒体数据和控制结构的一部分, 它和其他IETF的协议一起构建一个完整的多媒体业务提供系统。典型地, 这一架构中包含的协议有:RSVP、RTP、RTSP、MEGACO和SDP等。SIP协议应和这些协议配合, 向用户提供完整的服务。但SIP协议的功能和操作不依赖于上述任何协议。

3 SIP服务器组件

SIP协议虽然主要是为IP网络设计的, 但它并不关心承载网络, 也可以在ATM, 帧中继等承载网中工作, 而且它是应用层协议, 可以运行于TCP、UDP、SCTP等各种传输层协议之上。

SIP通信系统主要由两部分组成, 客户端和服务器端。而服务器端按逻辑功能区分, 它由4种功能实体组成:用户代理、代理服务器、注册服务器以及重定向服务器[2]。几种功能实体可以是一个物理实体的, 也可以分布在不同的物理实体中。SIP的各个服务器是纯软件实现的, 可以根据需要运行于各种工作站或专用设备中。它们的功能如图1所示:

3.1 SIP协议消息

SIP采用客户/服务器 (C/S) 模式, 协议消息分为两类:请求和响应。其中, 请求消息从客户机发往服务器, 响应消息则从服务器发往客户机。协议消息的目的是建立或终结会话, 该会话可以是Internet多媒体会议、Internet电话呼叫或多媒体信息流分配。

SIP是一个基于文本的协议, 它使用的是ISO10646字符集的UTF-8编码文本消息, 一个消息包含多个文本行;SIP语法与HTTP1.1 (RFC2068) 类似, 但不是对HTP1.1的扩展;在信令协议的传送上倾向于采用UDP协议传送 (HTTP1.1采用的是TCP) ;SIP消息包括:从UAC向UAS发送的请求消息和从UAS返回给UAC的响应消息两种[3]。

SIP请求消息主要定义了6种:邀请 (INVITE) 、证实 (ACK) 、选择 (OPTIONS) 、再见 (BYE) 、取消 (CANCEL) 和登记 (REGISTER) 。

SIP响应消息的起始行为状态行 (Status-Line) , 状态行由协议版本、状态码和状态原因短语组成, 各个部分之间用一个空格字符进行分隔。其中的“状态码”是用来指示请求执行的结果, 分为6类:

*1xx:临时响应, 表示响应已收到、正在处理请求等。

*2xx:成功响应, 表示请求已被成功接收, 完全理解并被接受;

*3xx:重定向响应, 表示需要采取进一步动作, 以完成该请求。

*4xx:客户端出错响应, 表示请求消息包含语法错误信息或服务器无法完成客户机请求;

*5xx:服务器出错响应, 表示服务器无法完成合法请求。

*6xx:全局故障响应, 表示任何服务器无法完成该请求。

3.2 SIP协议工作流程

SIP协议主要定义了注册、呼叫、重定向、能力查询四种工作过程[4]。

注册过程:注册服务为特定地区的位置服务创建绑定关系, 这个绑定关系是用来建立用户的逻辑地址和其当前联系地址之间的对应关系。

呼叫过程:通过三次握手来实现。客户端发送INVITE请求、服务器端成功响应后, 客户端发送ACK确认请求, 三次握手完成, 呼叫建立。

重定向过程:主叫用户代理发送INVITE请求, 服务器查找定位服务器, 发现该呼叫需要被重新定向, 就构造一个状态码为3xx的重定向响应消息, 将新的目标地址回送至主叫用户代理。

能力查询过程:在不打扰对方用户的情况下查询对方通信能力, 决定通信所采用的媒体和媒体参数。查询的内容包括:对方支持的请求类型、支持的内容类型、支持的扩展项、支持的编码等等。

理论上而言, SIP呼叫只有双方的用户代理参与, 不需要网络服务器的参与。之所以设置服务器, 是服务提供商运营的需要。运营商通过服务器能实现用户认证、呼叫管理和计费等功能, 并通过设定策略对用户呼叫进行控制, 还可以引入许多应用服务器, 提供丰富的智能业务。

4 SIP服务器的设计与实现

4.1 SIP注册服务器的设计与实现

建立SIP会话的基础在于完成用户的注册和定位。SIP协议中定义的注册 (Registrar) 功能是由注册服务器实现。一个注册服务器 (registrar) 就是一个UAS, 这个UAS用来响应REGISTER的请求, 并且维持一个绑定表, 这个绑定表用来提供给它所管理的区域中的proxy服务器和重定向服务器的。

注册服务器负责完成SIP终端的注册请求, 其通过监视某个端口, 接收REGISTER请求消息, 保存REGISTER请求消息中的用户地址等信息。通常, 一个注册服务器由一个后端数据库来保存REGISTER请求中的用户信息。通过注册, 用户以一个全局身份标志和一个物理位置之间建立了一种联系[4]。注册流程详见图3。

以下是注册服务器总体模块实现的部分代码:

4.2 SIP代理服务器的设计与实现

一个SIP的呼叫可以有多种方式, 可以有两个用户代理之间的直接呼叫, 也可以经过一个或者多个代理服务器的而完成一次呼叫, 如果一方不是SIP用户代理, 则要经过SIP网关来进行呼叫。

SIP代理服务器分两种:

1) 无状态代理服务器:仅仅是简单的转发功能, 通过请求信息来选择转发的目的地和路由。消息一旦转发立即丢弃。

2) 有状态代理服务器:记录到来的请求和发送的请求的相应信息, 特别是事务状态, 并以此为依据对以后的消息作出处理决定。

在实现过程中, 代理服务器分为Client端和Sever端两个模块。二者共享本地的IP地址、传输协议和SIP版本号。Client端负责处理下游传送的响应消息, 类似于UAC的角色, 如图4所示;Server端负责处理上游传送的请求消息, 类似于UAS的角色, 如图5所示。

5 结束语

本文研究并实现了SIP注册服务器和代理服务器这两个主要模块, 经过设计和调试, 服务器基本运行正常, 通过本服务器可以进行用户的域内注册、发起邀请和会话交互, 可以保证语音业务在本系统内正常实现。在测试过程中, 同时运行多台代理客户端多次测试, 测试结果证明实现方法有效, 可以保证通信两端的通信数据正常发送并接受, 系统运行稳定。

参考文献

[1]A.B.Roach, etal.“Session Initiation Protocol (SIP) -Specific Event Notification”[S].IETF RFC3265.June 2002.

[2]R.Sparks, et al.“The Session Initiation Protocol (SIP) Refer Method”[S].IETF RFC3515.April 2003.

[3]陈建亚余浩等。软交换与下一代网络[M]。北京邮电大学出版社, 2002。

[4]罗国庆等。软交换的工程实践[M]。人民邮电出版社, 2004。

服务注册与发现 篇5

一定地理范围内形成的面向行业及相关配套产业的中小企业集群,希望在更大的范围内共享资源和服务,提高集群企业的协同工作水平,快速响应市场变化,增强企业竞争力。应用服务提供商(Application Service Provider,ASP)模式是将各种应用软件或应用系统安装在数据中心(IDC)或服务器群上,通过网络将其功能或基于这些功能的服务,以有偿的方式提供给企业用户,并由ASP运营商负责管理、维护和更新这些功能和服务[1]。

产业集聚区域内,广大中小企业虽然有着相似的产品特征和业务特征,但是其对ASP平台的服务的需求也有差异,主要体现在两个方面[2]:(1)对系统功能的差异化需求,大多数中小性企业的业务规模和业务复杂度是不同的,各企业需要选择适合自身需求的服务;(2)对业务处理流程的个性化需求,由于企业组织结构、机构设置、经营方式等存在差异,业务处理逻辑不尽相同,因此需要业务处理流程的个性化。

从系统的角度来看,传统开发的ASP系统也存在局限性,问题在于系统的开发过程忽视了企业之间需求的差异和企业发展所带来的业务变更。ASP系统开发完成以后,系统的功能就“固化”了。当企业的管理方式、运作模式、业务操作流程等发生变化时,当前的系统就不能很好适应这些变化。

为了满足企业用户的个性化需求,提高ASP系统的适应性和响应速度。在ASP应用服务平台的构建过程中需要解决两个问题:(1)面对大量的应用服务,用户如何从中快速准确的找到满足自身需求的服务,实现对服务的匹配和自主选择;(2)用户如何将已有的基本服务按照企业流程组合成复杂的服务。

本文主要对服务的发现和匹配展开研究。目前对于服务匹配方法的研究主要分为以下两类:(1)采用基于UD-DI规范分类机制和关键词查询的匹配方法,如IMB、微软等公司的各类UDDI系统,语法级服务匹配方法实现较简单,但缺乏对服务的语义描述,查询的准确率不高;(2)采用本体论对服务进行描述,依赖逻辑推理的语义服务搜索方法[3,4]。本文结合上述两种匹配方法的优点,提出了ASP模式下应用服务匹配,在语义化描述应用服务的基础上,从服务的类型,接口参数角度出发,讨论了应用服务组合中服务的发现与匹配等关键问题。

2 ASP模式下应用服务组合实现框架

2.1 面向应用服务本体的构建

ASP服务平台为中小企业用户提供各种功能的应用服务,提供的应用服务通常包括以下几类:信息服务(如企业门户、供需信息、产品展示),协同服务(如协同设计、协同制造)和企业资源计划ERP等。在请教ASP服务领域专家,深入分析ASP应用服务关联的基础上,根据ASP服务功能分类特点,建立了面向ASP应用服务的本体模型,在本体库中以OWL-S(Web Ontology Language for Services)进行描述。图1为面向协同设计服务的树型本体模型的片段。

2.2 ASP应用服务组合框架

在应用服务本体描述的基础上,本文提出ASP应用服务组合框架,如图2所示。该框架分为客户层、应用逻辑层、服务存储层三大部分。服务存储层包括了ASP系统提供给用户的企业门户、网络会议、协作平台等各种功能的应用服务。这些应用服务是由应用服务提供商(ASP)提供发布注册的。服务提供商根据用户的要求开发出各种功能的组件,对组件的类型、接口参数等信息进行语义描述,标注成基本组件,发布到系统的注册中心,并将这些描述信息与应用服务领域中相关的概念建立对应关系,实现基本服务到领域本体的映射。

应用逻辑层作为系统的核心层,与用户进行交互,完成服务过程的定制和生成。企业用户按照自身的需求,首先进行功能配置选择,按系统要求输入服务的类型、接口参数等信息;然后提交请求信息,系统响应用户的请求任务,语义解析器对用户输入信息进行语义解析,生成用户需求语义表达式,使用特定的算法与数据存储层的基本服务进行语义匹配,查找到满足用户需求的服务。

3 ASP模式下应用服务语义化描述

为了描述服务匹配组合过程,下面给出应用服务的形式化定义。

(1)定义1应用服务(Application Service,AS)

一个应用服务可以表示为四元组AS=其中,SName为服务的名称;Description为服务功能简单描述;Category为服务所属的类型,即服务按功能划分后所属的类型,在这里将服务的名称、功能描述和服务类型统称服务的类别;Parameter=,其中I,O为输入输出参数的集合,Type为参数的数据类型,如数值型int,float等,字符型string等。

(2)定义2基本服务(Base Service,BS)

基本服务BS是指已经注册存在的服务,是应用服务的实例化服务,具有一定的功能行为,可以独立运行完成用户功能需求的服务,可以被发现、调用、执行组合成一个新的组合服务,但在服务调用过程中不可以再分解。

4 基于语义的ASP服务匹配策略

4.1 层次化匹配策略

基于应用服务的本体描述和语义化描述模型,本文提出一种层次化匹配策略。将服务匹配过程划分为类别匹配、接口参数匹配两个阶段,每个阶段关注特定的匹配要素。首先,通过SName、Description、Category进行类别的语义匹配,借助领域本体,将候选服务快速定位到特定服务分类,筛选掉和请求服务分类无关的服务;然后在类别相匹配的服务中,通过接口参数parameter的语义匹配来查找满足用户要求的服务。结合上文中服务发现过程的描述,图3给出了服务层次化匹配的详细执行流程。

层次化匹配策略将服务的匹配转化为逐步求精的过程,经类别匹配得到候选服务,在相匹配的服务中进一步进行接口参数匹配。此策略在保证查全率和查准率的前提下,能迅速缩小服务的匹配范围,从而显著提高服务匹配的效率和灵活性。

4.1.1 服务类别相似度

服务的类别包括服务名称SName,服务类型Category和为服务功能描述Desctription,在服务描述中服务类别往往是以字符串的形式表示的,可以考虑通过计算两个服务类别的概念相似度的大小,来判断两个服务的类别是否相匹配。服务匹配时,选择相似度最大的服务,作为相匹配服务类别返回给用户。用户请求服务Sreq和基本服务Sb类别概念相似度的大小,可以用如下方法计算[5]:

其中:d(Sreq,Sb)表示两个概念之间的距离,即Sreq,Sb在树型本体模型中相隔的路径的长度。

d(Sreq,Sb)=0表示在树型层次本体模型中,Sreq,Sb为相同的节点。

d(Sreq,Sb)>0表示在树型层次本体模型中,从Sreq到Sb有路径到达,路径长度为正数。

d(Sreq,Sb)<0表示在树型层次本体模型中,从Sreq到Sb有路径到达,但从Sreq到Sb有路径到达,路径长度为负数。

d(Sreq,Sb)=∞表示在树型层次本体模型中,从Sreq到Sb没有路径到达,且从Sb到Sreq也没有路径到达。

4.1.2 接口参数匹配度

服务的接口参数包括输入参数I、输出参数O和参数的数据类型Type。在服务描述中,如果接口参数是以字符形式表示的,可以由式(1)计算得到。对于以数值形式表示的接口参数,将其进行规范化处理,把其取值转化为区间形式,可以考虑通过计算两个区间是否相交,来计算两个服务的接口参数是否相匹配,这样就把接口参数的匹配就转化了区间是否相交的问题。采用下列方法来计算两个服务接口参数的匹配度,其中Ireq和Ib分别表示用户请求服务和基本服务的接口参数转化后的取值区间。

其中:p(I)表示属性集合中包含的元素个数。

4.2 服务匹配算法

结合服务类别和接口参数匹配度计算公式,在OWL-S语言的基础上,用Java语言实现的服务语义匹配过程,主要代码如下:

5 应用实例

课题组开发的面向某电子电器专业镇的ASP协同制造平台已经成功实施。该协同ASP系统集信息服务与产品创新制造过程协同为一体,平台主要提供五类服务:企业门户、协同制造服务、协同设计服务、可视化网络会议服务和产品数据管理服务。现以产品三维结构会审流程为例,说明上述各种定义和算法的应用。

三维产品结构会审分为四个阶段:(1)会议启动,地域分散的企业管理者、产品结构工程师、BOM工程师进入可视化网络会议系统,项目负责人提交选择三维产品的文档或模型;(2)在参与协同的人员间分配模型操作的控制权,控制权获得者对产品模型进行各种浏览与圈阅,修改操作;(3)会审主席进行总结,收回模型控制权,提交会审报告;(4)会审主席宣布散会,系统自动对协同过程的批注,修改进行记录存档。其流程如图4所示。

下面以会审步骤为例,说明本文提出的匹配算法。用户需求服务和提供商提供服务的各项参数如表1所示。

由于用户需求服务与服务提供商提供的服务服务的名称,类型及服务的功能描述一致,为简单起见concept_sim=1。根据3.1节的层次化匹配策略可知,接下来进行接口参数的匹配。

下面计算io_match的匹配程度,由表1可知,用户需求服务与应用商提供的服务的输入输出参数相匹配。

(1)由表1可知,model为文本描述,可以由式(1)计算concept_sim(model.Model)的计算。由本文定义的本体库可知,model‘三维产品Pro/E图形’到Model'三维产品图形(包括UG、Pro/E、Solidworks、Catia等),产品设计书'的路径为1,由算法1可知concept_sim(model.Model)=1/d(model.Model)+1=1/2。

(2)由表1可知,markup_model为文本描述,可以由式(1)计算,concept_sim(markup_model.,Markup_Model),由本文定义的本体库可知markup_model‘改后模型’到Markup_model‘改后产品模型,批注文件,JPG图片’的路径长度为2,concept_sim(model.Model)=1/d(model.Model)+1=1/3。

6 结论

本文围绕基于语义的服务发现匹配展开研究,通过构建ASP模式下应用服务本体,为应用服务匹配建立了语义支撑环境,从服务的类别和接口参数角度研究了匹配算法,并提出了层次化的匹配策略,有效地提高了服务查找匹配效率。对于如何实现用户与系统的交互和维护管理基本服务还需要进一步进行研究。

参考文献

[1]SELTSIKAS P,CURRIE W L.Evaluating The Application Service Provider(ASP)Business Model:The Challenge of In-tegration[A].//Proceedings of the35th Hawaii Interna-tional Conference on System Sciences[C].Los Alamitos,Cal.USA:IEEE Computer Society,2002:7801-7809.

[2]刘强,陈新度.面向产业聚集区的ASP应用系统开发模式[J].计算机工程,2007,33(23):233-236.

[3]Berardi D.Automatic Service Composition:Models,Tech-niques and Tools[D].Roma:University a di Rma“LaS-apienza”,2005.

[4]W3C.OWL.Web Ontology Language Overview[EB/OL].http://www.w3.org/TR/owl.

[5]彭晖,史忠植.基于本体概念相似度的语义Web服务匹配算法[J].计算机工程,2008,34(15):51-53.

[6]顾宁,刘家茂,柴晓路,等.Web Services原理与研发实践[M].北京:机械工业出版社,2007.

[7]戴建华,蔡铭.面向网络化制造的ASP系统关键技术研究[J].计算机集成制造系统,2005,11(2):48-52.

[8]曹健,张申生.基于目标驱动和过程重用的Web服务客户化定制[J].计算学报,2005,28(4):721-730.

[9]倪晚成,刘连臣.基于动态服务合成的应用型服务网格框架研究[J].计算机集成制造系统,2006,8(12):721-730.

服务注册与发现 篇6

对于模式匹配, 我们实际上主要进行的工作是建立基于WIN-DOWS服务器下的入侵模式库。代理搜集来的信息一部分来自主机日志与系统信息, 一部分来自网络, 所以我要分别对主机信息和网络信息进行分析, 来建立对应的入侵模式库。

对于来自系统日志与系统的信息, 因为目前针对WINDOWS操作系统的入侵规则还很少, 所以我们只能自己摸索着来建立。

最简单的入侵模式就是用户进行密码尝试, 进行Web登录。一般的电子商务Web服务器都会要求用户输入用户名和密码进行登录后才有权浏览相关的信息。如果一个入侵者知道了一名用户的登录用户名, 他就会猜测密码尝试进入系统, 或者一般用户会对电子商务服务器的管理员的密码进行猜测。Web服务器会记录所有用户的登录情况, 当用户在进行登录时密码错误5次以上 (次数可以设定) , 入侵检测系统就认为是有人在进行密码尝试, 将该用户的IP进行隔离, 强制用户过一段较长的时间后才以访问系统。要制定这种入侵模式, 只要能在Web服务器读取到用户的登录信息就要可以。在模式库中将用户的密码错误次数设为5即可。

另外针对目前我们能采集到的主机系统信息的日志编号, 安全日志, 应用程序日志, 系统日志 (这些信息可以在WINDOWS中的管理工具中的事件查看器中看到) , CPU、内存的占用量及占用时长, 系统时间等等, 要在实际环境中进行实验才能制定出一些入侵的模式。对于这些信息我们要综合起来考虑, 不能单纯的只用一两种出现的情况来判断入侵, 这样会带来很高的误报率。其中日志编号有一定的含义, 如512代表了WINDOWS成功启动, 513代表了WINDOWS成功关闭, 680代表了成功登录WINDOWS系统, 681代表了登录WIN-DOWS系统失败。在系统信息的模式匹配学习与制定过程中, 要将所能采集到的信息综合分析后才能进行。举例来说, 在电子商务的服务器上, 如果发现了以下信息:在非正常的时间内, 系统管理员突然登录系统 (安全日志编号680) , 且随之系统的CPU与内存被大量的长期占用, 则认为是有人攻破了系统管理员的账号密码, 进入系统进行非法操作。则此时应产生强烈的入侵响应, 如声音, 断路响应等, 来阻止入侵行为。根据以上的例子, 我们可以写出以下的模式:

另外一种基于主机信息的入侵模式的研究, 就要把要保护的电子商务服务器的主机信息与应用程序信息结合起来分析, 主要是主机系统信息与电子商务Web服务器的连接信息结合起来。我们可以从电子商务Web服务器上采集到当前连接服务器的用户状态, 如连接的用户数量, 用户名列表, 用户源IP与端口, 连接的时长等。正常的用户访问时, Web服务器中的进程列表是固定的, 系统的资源占用量也变化不大。当用户连接到Web服务器, 种植了木马程序并启动时或越权调用了系统的其他程序时, 系统的进程列表中就会出现不该出现的异常进程, 而且系统资源也会被大量占用。这就说明, 正常的用户在进行非法的活动, 可以判断为入侵了。根据这样的理论, 我们可以对Web服务器的进程和连接状态进行监视, 发现正常用户长时间连接服务器后, 服务器出现了不该出的异常进程, 而且系统资源过量占用, 则认为发生了入侵行为。此时, 要想将这个入侵行为切断, 还要判断异常进程是和哪一个连接的用户在通过网络进行信息交换, 这个工作可以由防火墙来完成。当发现是哪个用户时, 就切断他与Web服务器的连接, 阻止入侵行为的进一步发展。

对于来自网络的信息, 因为在IDS系统的研究和开发过程中我们借鉴和学习了著名的开源网络型入侵检测系统SNORT, 所以IDS系统中对于来自网络信息的模式匹配检测方法, 将主要应用SNORT中的字符串匹配的方式。

SNORT是一个开源的公共项目, 它允许任何人对源码进行研究和改进, 并且已经制定出了上千条的网络入侵的模式供人们研究和应用。但SNORT的这些模式是在LINUX系统下形成的, 而且是针对网络的IDS规则, 而我们要应用在WINDOWS系统下作为主机型IDS的规则, 所以就对规则进行一定的调整和简化。例如对一条恶意代码的入侵规则, SNORT中作了如下的表示:

SNORT的这条规则的含义如下:

ale rt产生报警;

tcp使用的协议是TCP协议;

$EXTERNAL_NETany->$HTTP_SERVERS$HTTP_PORTS任何从外部来的对于系统HTTP服务的连接;

m s g:"WEB-ATTACKS nt adm in addition atte m pt"是产生的报警信息;

flow:to_s e rve r, e s tablis he d指明用户已经与服务器建立连接;

conte nt:"ne t localgroup adm inis trators/add"因为信息流中包含了"netlocalgroupadministrators/add"产会产生报警, 即模式匹配的字符串;

s id:1357规则的ID号;

clas s type:w e b-application-attack攻击类型。

综合起来, 这条规则的意思就是, 如果用户通过TCP协议与服务器建立了连接, 并在传送的信息中发现了“net localgroup administrators/add”, 即认为用户是在进行w e b-application-attack的攻击, 想以此来获得服务器的管理员权限, 将会产生报警信息"WEB-AT-TACKS nt adm in addition atte m pt"。

我们在使用这条规则时, 进行了调整和简化, 以便使检测的速度能变得更快。这条规则我们的描述如下:

规则的编号将仍使用原有的编号。因为我们只分析主机上的网络信息, 所以只要发现网络信息中含有该敏感字符串, 就产生报警。

SNORT的规则库中已经近三千条规则, 我们只选择了其中的一小部分进行使用, 只改写了其中比较重要一些规则, 因为改写这些规则的工作量是十分大的。

另一个改写规则的例子是这样的。对于SYNFlood攻击, 这是一种分布式拒绝服务攻击 (DDo S) , SNORT的检测规则是:

即如果在网络tcp数据包中发现了其标志位为S, 12;且初始的序号为674711609的多个数据包, 源目的是多个并且混杂的 (攻击者自动生成的假的源IP地址) 就认为发生了DDo S攻击。

我们改写后的规则如下:

即如果发现有任何用TCP协议连接主机, 并且发送来的网络信息包中标志位为“S, 12”并且初始的序号为674711609。这样的数据包有多个, 则认为发生了SYNFlood攻击, 产生报警。

所有已经有的模式存放于入侵检测系统的数据库中, 供系统在进行检测时使用。而在入侵检测的程序中已有的模式将按照链表的形式读取和存放, 这种链表方式可以提高匹配时的运算速度, 系统中只要传递一个指针就可以在数据库中进行相应的比较判断。

模式匹配是作为入侵检测系统的一种主要检测方法, 将会是实时进行的。入侵检测系统还将用异常检测中的统计与数据挖掘, 进行事后性的分析与判断, 对未知型的攻击进行发现。

2 电子商务服务器中的异常发现

电子商务系统与IDS的运行初期, 异常检测只对用户访问服务器的行为进行记录, 记录达到一定数量后, 用记录值来描述出用户的一般访问模式。建立一个数据结构, 记录用户以下信息:用户名, 登录时间, 登录次数, 用户IP, 访问端口号, 访问持续时长, 访问期CPU占用平均值, 访问期内存占用平均值, 是否有异常IP报文出现, 是否有异常进程等等。先利用统计学方法, 在大量数据的基础上, 用上述记录值的一些范围值来描述出用户的行为轮廓。

当数据库中存贮了大量的用户记录后, 就可以应用数据挖掘算法来抽取和浓缩其中的信息, 形成用户行为的概貌, 并以此来作为异常检测的基础。

当用户再次访问时, 将本次产生的访问信息与数据库中的“用户概貌”产生对比, 当发现本次用户行为偏离了正常范围就触发报告, 通知管理员用户行为异常。

3 结语

在电子商务中, 安全性是一个至关重要的核心问题, 它要求网络能提供一种端到端的安全解决方案。在不断把人工智能中的方法应用到入侵检测中的同时, 也要不断的钻研自己的核心技术, 不断的攻关人工智能技术, 才能真正的在安全技术上有所进步。

摘要:随着电子商务的蓬勃发展, 国内越来越多企业开始涉足网络营销, 在网上开展公司的业务拓展, 加强电子商务网站自身的安全防护是非常重要的。因此, 当一个企业架设电子商务网站时, 应选择有效的安全措施。

关键词:入侵模式,断路响应,模式匹配

参考文献

[1]赵志伟, 王海华.入侵检测护航电子商务.北京:商场现代化, 2008.

[2]辛钢.电子商务网络安全与风险管理.中国传媒科技, 2011.

服务注册与发现 篇7

人类的健康问题历来受到社会的广泛关注。人的疾病大多都与环境、饮食、运动、情绪、生活习惯有关。研究表明, 许多过去认为与遗传有关的疾病, 本质上都是家族性的生活习惯造成的, 特别是与饮食习惯有关。如何找出个人或家族饮食习惯中存在的问题, 改变饮食习惯, 从而减少疾病的发生, 成了解决饮食健康的关键问题。但是, 由于饮食问题很烦琐, 不便于记录和整理, 一直没有好的解决办法。随着计算机信息技术的进步, 特别是移动互联网技术的快速发展, 使得这个问题在技术上已经变得不成问题。为此, 我们通过不断地学习与研究饮食健康问题, 特别是食物相生相克问题, 结合移动互联网技术, 设计出了有关的数据库结构和算法。并正在开发一个面向大众的移动式健康饮食服务系统。

初步实现的功能模块包括食物相生相克数据库、个人饮食档案、个人健康档案、个人过敏食物数据库知识更新与维护算法。技术方面, 服务器端采用的是集成了Apache +PHP + My SQL的wamp5工具。客户端采用的是集成了Eclipse, ADT plugin, Android SDK Tools, Android Platform-tools的Android SDK工具。

1食物相生相克数据库设计

食物数据词典中的数据是根据已经出版的多本权威书籍和有关公开出版物中的资料, 经过整理后形成符合数据库要求的形式, 并经过有关专家审阅, 然后再决定输入数据库的这个表中。该表中的数据也可以根据系统数据的积累, 利用大数据和数据挖掘算法, 找出规律, 并经过试验验证后加入数据库。当然数据也可能存在错误, 后续运行过程中一些数据可能也要进行修改。该表是为后边的有关表做基础数据支撑。

食物过量中毒表的数据与表1.1生成方法类似。为人们选择食用食物时提供查询数据支撑。

两种食物的相克, 一般是指在1小时内同时吃的食物。大多数食物间隔1小时以上食用是不会引起问题的。而且个别情况下食物相克也许还有一定的好处 (如蜂蜜与大葱同食可能引起中毒, 但如果不是特别严重时可以帮助杀死人体内的一些寄生虫) 。除少数几种组合, 人食用后容易产生严重后果外, 大部分可能只是引起身体上的不适, 或长时间食用会产生某种疾病, 甚至可能诱发癌症外, 偶尔食用应该问题不大。甚至一些组合对有些人群有影响, 对于另一些人群可能一点影响都没有[2]。这些很可能和生活的地区和个体差异有关系, 所以本系统后期根据个人饮食的历史数据生成的针对个体的过敏性食物数据统计就显得比较有用。该表的数据生成与表1.1方法类似。

三种食物同食相克的资料比较少, 但相信应该存在, 因为食物之所以相克是因为所含元素的相互作用造成的。既然化学反应方程式有三种及三种以上物品的反应方程式, 而食物中所含元素更加丰富, 只是我们日常饮食如果考虑三种食物相克是一件很复杂的事情。所以可以相信, 随着移动互联网和数据库技术、大数据技术的应用, 我们会不断找出三种, 甚至多种食物的相克搭配或相宜搭配。从而不断丰富三种食物相克表和三种食物相益表中的数据, 为人类饮食健康作出应有的贡献。

食物相生搭配表数据的形成也与表1.1方法类似。是向有关人群推荐食物、提供数据支持的基本表。

表数据的形成需要表1.5的支持。有关疾病有益食物不能代替医院治疗, 只能作为饮食辅助治疗。此表为患有某种疾病的人群选择食物的时候给出参考性建议。

此表为患有某种疾病的人群选择食物的时候给出的意见。

2个人饮食档案与健康数据库设计

个人饮食档案数据库:

食量以克或生活习惯中的自然计量为单位。该表数据是注册用户在饮食过程中, 利用手机自动输入, 并发送到远程数据服务器自动生成并保存。

该表数据根据个人过去历史情况先行写入一些数据。以后再根据表2.1某君个人饮食记录表、运用数据挖掘技术进行整理、维护、 更新。实际上同一个人, 由于其年龄阶段不同、生活地区的变更, 他的过敏食物也会不断地变化。当然, 有一些与遗传基因或基因变异有关的过敏食物会相对不变。

个人健康数据库:

该表数据根据历史记录先行写入一些, 后期根据身体状况利用手机客户端实时记录。有些疾病药物治疗欠佳。如表中的例子, 患者患病十年, 药物治疗始终不够理想。由于一段饮食食物种类的改变和适当的药膏贴附方式, 在经过一个时期的反复后, 慢慢痊愈。所以很多医生会说, 最好的医生是自己。特别是慢性病, 因为这些疾病大多与长期饮食偏食, 环境因素、情绪、工作压力等因素有关。而偏食习惯可以从表2.1某君个人饮食记录表中利用数据挖掘和聚类算法找出。药物治疗情况由接口软件询问该君后添加。

该表得出的结论可靠性上有待于进一步验证。如查阅网络和有关资料, 咨询专家。如果证实偏食和疾病之间有关联, 就要避免偏食该种食物。即使还无法马上证明偏食和某种疾病的强关联关系, 适当减少偏食食物, 保持进食多样性, 也许对于该君的健康有好处。

个人疾病与常用食物和生活习惯关联表数据是根据表2.1某君个人饮食记录表和表2.3某君个人健康记录表, 利用数据挖掘和大数据技术关联算法生成。其中不良习惯字段的数据, 是统计接口软件在生成该表时, 询问客户得出。

3个人过敏食物发现算法设计

通过大数据和数据挖掘技术找出食物的相生相克关系组合, 把结果自动充实修改到食物相生相克数据库。对于指导地区人群的健康饮食具有一定的社会价值。通过数据挖掘技术对于个人饮食的历史档案数据和饮食后的感觉体验进行关联性发现, 可以找出个人在不同年龄阶段和不同地区的过敏食物。把个人过敏食物写入个人过敏食物数据库, 可以让人们在选择食物的时候加以注意。这对于个人健康具有一定的现实意义。本文算法的重点集中在个人过敏食物的发现方面。

个人过敏食物发现算法的第一步工作, 从个人饮食档案中抽取某种过敏症状可能的过敏食物集合, 算法如下:

CREATE TABLE表3.1某人某种过敏症状可能的过敏食物集合表

AS (SELECT食物ID, 食量, 加工法, k

FROM表2.1个人饮食记录表

WHERE不舒服感=面部发麻) ;

其中的字段k是记录计数器, 序号从1到kmax, kmax是该种过敏反应总的记录数。

然后利用生成的表3.1, 再利用聚类和数据挖掘算法[4]:

不失一般性, 假设a1≠a2利用表3.1产生可能的过敏食物名称集合Fk={a1, a2, …}, 定义数组c[Lkmax+1] , c[1], c[2] 分别作为食物a1, a2的频度计数器, 依次类推, 假定有Lkmax个不同的食物。

1:计数器清零c[1]=0, c[2]=0, ……。

2:for k=1 to kmax

3:read表3.1:食物ID as sum’value;

4:if (ai ==sum’value) then c[i]= c[i]+1;

5:endfor

6:生成字符数组ch[Lkmax+1], 将Fk={a1, a2, …}的数据依次存入该数组。

7:对数组c[L kmax]按照从大到小排序, 排序过程同时交换对应变量ch[Lkmax]的值。

8:Result= c[1]∪c[2]∪c[3]∪c[4]∪c[5]∪c[6]

找出可能的症状为面部发麻的过敏食物排序集合Result。该集合食物列表, 按照可能性大小从高到低依次排列。选择表中的前5项, 然后咨询有关专家并经过自我验证, 写入数据库中的表2.2某君个人过敏食物表。

4结束语

什么叫暴饮暴食:一次吃喝把胃撑大;一种食物一次食用过量 (如一次吃多于5个白果) ;快速地喝下或吃下食物。

健康饮食的建议:经常保持食物多样性有利于人体健康。再好吃的东西也不能多吃, 少吃多餐, 吃喝最多7分饱。7天之内至少一天要保持适度饥饿, 就像步行锻炼中有时要适度快跑、可以使锻炼效果更好。

移动互联网技术再好, 也要我们人类懂得适度应用, 人类的智慧、现阶段计算机人工智能技术还无法超越。例如, 我们在饮食后发现了问题:过敏了或出现了其他问题;造成问题状况的原因如果在网络上或我们的数据库能够查到的时候也许能够找到解释。如果查不到原因, 也许是我们同时接触了其他的气体、液体、或其他环境因素造成。所以, 我们需要不断地改进设计, 才能使我们的技术和系统不断完善、逐步逼近完美的人工智能应用。

参考文献

[1]http://wenku.baidu.com/view/f5de549051e79b89680226b7.html?from=search.百度文库.

[2]http://food.39.net/nutrition/0811/22/718083.html.39健康网.

[3]http://jingyan.baidu.com/article/f25ef2543435ca482c1b8220.html.百度经验.

上一篇:专家判断法下一篇:农村土地流转