<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    sunfruit[請訪問http://www.fruitres.cn]

    --我相信JAVA能走得更遠 QQ:316228067

    #

    Oracle Spatial詳解

    Step1. 創建一張表,其中shape用來存放空間數據
    CREATE TABLE mylake (
    ??? feature_id NUMBER PRIMARY KEY,
    ??? name VARCHAR2(32),
    ??? shape MDSYS.SDO_GEOMETRY);

    Step2. 在user_sdo_geom_metadata 表中插入新記錄,用于描述空間字段
    INSERT INTO user_sdo_geom_metadata VALUES (
    ??? 'mylake',????//---表名
    ??? 'shape',????//---字段名
    ??? MDSYS.SDO_DIM_ARRAY(???
    ??????? MDSYS.SDO_DIM_ELEMENT('X', 0, 100, 0.05),????//---X維最小,最大值和容忍度。
    ??????? MDSYS.SDO_DIM_ELEMENT('Y', 0, 100, 0.05)????//---Y維最小,最大值和容忍度
    ??? ),
    ??? NULL????//---坐標系,缺省為笛卡爾坐標系
    );

    Step3. 創建空間索引
    CREATE INDEX mylake_idx ON mylake(shape)
    ??? INDEXTYPE IS MDSYS.SPATIAL_INDEX

    Step4. 插入空間數據
    Oracle Spatial用MDSYS.SDO_GEOMETRY來存儲空間數據,定義為:CREATE TYPE sdo_geometry AS OBJECT (
    ??? SDO_GTYPE NUMBER,
    ??? SDO_SRID NUMBER,
    ??? SDO_POINT SDO_POINT_TYPE,
    ??? SDO_ELEM_INFO MDSYS.SDO_ELEM_INFO_ARRAY,
    ??? SDO_ORDINATES MDSYS.SDO_ORDINATE_ARRAY);
    SDO_GTYPE:用四個數字定義了所有的形狀
    ??????????? 第一位:維數
    ??????????? 第二位:線性表示。用于3,4維數據,二維為0
    ??????????? 最后兩位:
    ValueGeometryDescription
    00UNKNOWN_GEOMETRYSpatial ignores this value
    01POINTA single point element
    02LINE or CURVEContains one line string element that may be linear, curved or both
    03POLYGONContains one polygon element with or without other polygon elements in it
    04COLLECTIONA heterogeneous collection of elements
    05MULTIPOINTContains one or more points
    06MULTILINE or MULTICURVEContains one or more line string elements
    07MULTIPOLYGONContains multiple polygon elements that maybe disjoint

    SDO_SRID:坐標系,NULL為笛卡爾坐標系。
    SDO_POINT:
    Oracle Spatial也可定義單個的點,SDO_POINT的定義:
    ??? CREATE TYPE sdo_point_type AS OBJECT (X NUMBER,Y NUMBER,Z NUMBER);
    ??? 如何是二維,Z為NULL。
    SDO_ELEM_INFO:
    每三個值描述一個元素。
    ????????????????第一個值:第一個頂點在SDO_ORDINATES_ARR開始位置
    ????????????????第二個值:元素類型
    ????????????????第三個值:頂點連接方式:1-通過直線連接,2-通過圓弧連接

    ??? 定義為
    ??? CREATE TYPE sdo_elem_info_array AS VARRAY (1048576) of NUMBER;
    SDO_ORDINATES:幾何圖形所有頂點列表。定義為
    ??? CREATE TYPE sdo_ordinate_array AS VARRAY (1048576) of NUMBER;

    FONT color=#003366>// 插入包含一個島嶼的湖泊
    INSERT INTO mylake VALUES(
    ??? 10,?
    ??? 'Lake Calhoun',?
    ??? MDSYS.SDO_GEOMETRY(
    ??????? 2003,
    ??????? NULL,
    ??????? NULL,
    ??????? MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1, 19,2003,1),
    ??????? MDSYS.SDO_ORDINATE_ARRAY(0,0, 10,0, 10,10, 0,10, 0,0, 4,4, 6,4, 6,6, 4,6, 4,4)
    ??? ));

    // 插入兩艘小船
    INSERT INTO mylake VALUES(
    ??? 11,?
    ??? 'The Windswept',?
    ??? MDSYS.SDO_GEOMETRY(
    ??????? 2003,
    ??????? NULL,
    ??????? NULL,
    ??????? MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),
    ??????? MDSYS.SDO_ORDINATE_ARRAY(2,2, 3,2, 3,2, 2,3, 2,2)
    ??? )
    );

    INSERT INTO mylake VALUES(
    ??? 12,?
    ??? 'Blue Crest',?
    ??? MDSYS.SDO_GEOMETRY(
    ??????? 2003,
    ??????? NULL,
    ??????? NULL,
    ??????? MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),
    ??????? MDSYS.SDO_ORDINATE_ARRAY(7,7, 8,7, 8,7, 7,8, 7,7)
    ??? )
    );

    Step4. 查詢
    Oracle Spatial查詢數據包括二個處理過程:
    1.只通過索引查詢候選項。通過函數SDO_FILTER實現:
    SDO_FILTER(geometry1 MDSYS.SDO_GEOMETRY,?geometry2 MDSYS.SDO_GEOMETRY, params VARCHAR2)
    geometry1:
    必須是被索引的幾何數據
    geometry2:不一定是表中的空間字段,也不要求被索引
    params:Filter類型
    ??????? querytype=WINDOW:geometry2不要求來自表
    ??????? querytype=JOIN:geometry2必須來自表

    SELECT name boat_name
    FROM mylake t
    WHERE feature_id = 12
    AND SDO_FILTER(t.shape, mdsys.sdo_geometry(2003,NULL,NULL,
    ??? mdsys.sdo_elem_info_array(1,1003,1),
    ??? mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2)),
    ??? 'querytype=WINDOW') = 'TRUE';


    2.再檢查每個候選項是否和條件精確匹配。通過函數SDO_RELATE實現:
    SDO_RELATE(geometry1 MDSYS.SDO_GEOMETRY, geometry2 MDSYS.SDO_GEOMETRY, params VARCHAR2)
    params:
    masktype類型

  • DISJOINT — the boundaries and interiors do not intersect
  • TOUCH — the boundaries intersect but the interiors do not intersect
  • OVERLAPBDYDISJOINT — the interior of one object intersects the boundary and interior of the other object, but the two boundaries do not intersect. This relationship occurs, for example, when a line originates outside a polygon and ends inside that polygon.
  • OVERLAPBDYINTERSECT — the boundaries and interiors of the two objects intersect
  • EQUAL — the two objects have the same boundary and interior
  • CONTAINS — the interior and boundary of one object is completely contained in the interior of the other object
  • COVERS — the interior of one object is completely contained in the interior of the other object and their boundaries intersect
  • INSIDE — the opposite of CONTAINS. A INSIDE B implies B CONTAINS A.
  • COVEREDBY — the opposite of COVERS. A COVEREDBY B implies B COVERS A.
  • ON — the interior and boundary of one object is on the boundary of the other object (and the second object covers the first object). This relationship occurs, for example, when a line is on the boundary of a polygon.
  • ANYINTERACT — the objects are non-disjoint.

    // 選擇在定義矩形內的所有小船
    SELECT name boat_name
    FROM mylake t
    WHERE feature_id = 12
    AND SDO_FILTER(t.shape, mdsys.sdo_geometry(2003,NULL,NULL,
    ??? mdsys.sdo_elem_info_array(1,1003,1),
    ??? mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2)),
    ??? 'querytype=WINDOW') = 'TRUE'
    AND SDO_RELATE(t.shape, mdsys.sdo_geometry(2003,NULL,NULL,
    ??? mdsys.sdo_elem_info_array(1,1003,1),
    ??? mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2)),
    ??? 'masktype=INSIDE querytype=WINDOW') = 'TRUE'

    // masktype可聯合使用
    SELECT feature_id id
    FROM mylake t
    WHERE feature_id = 12
    AND SDO_FILTER(t.shape, mdsys.sdo_geometry(2003,NULL,NULL,
    ??? mdsys.sdo_elem_info_array(1,1003,1),
    ??? mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2)),
    ??? 'querytype=WINDOW') = 'TRUE'
    AND SDO_RELATE(t.shape, mdsys.sdo_geometry(2003,NULL,NULL,
    ??? mdsys.sdo_elem_info_array(1,1003,1),
    ??? mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2)),
    ??? 'masktype=INSIDE+TOUCH querytype=WINDOW') = 'TRUE'

    Oracle Spatial 提供的其他查詢函數:
    QueryDescription
    SDO_NNNearest neighbor
    SDO_SDO_WITHIN_DISTANCEAll geometries with a certain distance
    FunctionsDescription
    SDO_GEOM.SDO_MBRThe minimum bounding rectangle for a geometry
    SDO_GEOM.SDO_DISTANCEThe distance between two geometries
    SDO_GEOM.SDO_INTERSECTIONProvides the intersection point of two geometries

  • posted @ 2006-07-19 15:21 sunfruit 閱讀(1499) | 評論 (1)編輯 收藏

    AGPS的特點

    ? --sunfruit

    ????? AGPS——Assisted GPS,用中文來說應該是網絡輔助GPS定位系統。通俗的說AGPS是在以往通過衛星接受定位信號的同時結合移動運營的GSM或者CDMA網絡機站的定位信息,就是一方面由具有AGPS的手機獲取來自衛星的定位信息,而同時也要靠該手機透過中國移動的GPRS網絡下載輔助的定位信息,兩者相結合來完成定位。與傳統GPS(Global Positioning System全球定位系統)首次定位要2、3分鐘相比AGPS的首次定位時間最快僅需幾秒鐘,同時AGPS也徹底解決了普通GPS設備在室內無法獲取定位信息的缺陷。

    posted @ 2006-06-30 13:49 sunfruit 閱讀(720) | 評論 (0)編輯 收藏

    [轉貼]JAVA截取當前屏幕生成圖片的代碼

    import java.awt.Dimension;
    import java.awt.Rectangle;
    import java.awt.Robot;
    import java.awt.Toolkit;
    import java.awt.image.BufferedImage;
    import java.io.File;

    import javax.imageio.ImageIO;

    /*******************************************************************
    ?* 該JavaBean可以直接在其他Java應用程序中調用,實現屏幕的"拍照"
    ?* This JavaBean is used to snapshot the GUI in a?
    ?* Java application! You can embeded
    ?* it in to your java application source code, and us
    ?* it to snapshot the right GUI of the application
    ?* @see javax.ImageIO
    ?* @author liluqun ([email]liluqun@263.net[/email])
    ?* @version 1.0
    ?*
    ?*****************************************************/

    public class GuiCamera
    {??
    ??? private String fileName; //文件的前綴
    ??? private String defaultName = "GuiCamera";
    ??? static int serialNum=0;
    ??? private String imageFormat; //圖像文件的格式
    ??? private String defaultImageFormat="png";
    ??? Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

    ??? /****************************************************************
    ???? * 默認的文件前綴為GuiCamera,文件格式為PNG格式
    ???? * The default construct will use the default?
    ???? * Image file surname "GuiCamera",?
    ???? * and default image format "png"
    ???? ****************************************************************/
    ??? public GuiCamera() {
    ????? fileName = defaultName;
    ????? imageFormat=defaultImageFormat;
    ????
    ??? }

    ??? /****************************************************************
    ???? * @param s the surname of the snapshot file
    ???? * @param format the format of the? image file,?
    ???? * it can be "jpg" or "png"
    ???? * 本構造支持JPG和PNG文件的存儲
    ???? ****************************************************************/
    ??? public GuiCamera(String s,String format) {
    ????
    ????? fileName = s;
    ????? imageFormat=format;
    ??? }
    ????
    ??? /****************************************************************
    ???? * 對屏幕進行拍照
    ???? * snapShot the Gui once
    ???? ****************************************************************/
    ??? public void snapShot() {
    ????
    ????? try {
    ????? //拷貝屏幕到一個BufferedImage對象screenshot
    ??????? BufferedImage screenshot = (new Robot()).createScreenCapture(new
    ??????????? Rectangle(0, 0, (int) d.getWidth(), (int) d.getHeight()));
    ??????? serialNum++;
    ??????? //根據文件前綴變量和文件格式變量,自動生成文件名
    ??????? String name=fileName+String.valueOf(serialNum)+"."+imageFormat;
    ??????? File f = new File(name);
    ??????? System.out.print("Save File "+name);
    ????? //將screenshot對象寫入圖像文件
    ??????? ImageIO.write(screenshot, imageFormat, f);
    ??????? System.out.print("..Finished!\n");
    ????? }
    ????? catch (Exception ex) {
    ??????? System.out.println(ex);
    ????? }
    ??? }

    ??? public static void main(String[] args)
    ??? {
    ??????? GuiCamera cam= new GuiCamera("d:\\Hello", "png");//

    ??????? cam.snapShot();
    ??? }
    }

    posted @ 2006-06-27 13:57 sunfruit 閱讀(1638) | 評論 (3)編輯 收藏

    JAVA調用返回結果集的存儲過程--Sql 2000

    ? --sunfruit

    建立存儲過程如下,注意這個存儲過程建立的時候,不需要像Oracle那樣建立返回的游標
    開始在Sql 2000按照Oracle那樣建立了返回的游標[Sql 2000 的幫助里面也是建立返回的游標的],但是調用總是不成功,后來使用了沒有返回游標的存儲過程,并且修改了調用存儲過程的方式就可以了:
    CREATE PROCEDURE PROC_WARE_INFO_STAT
    ?????????????? @XX_ID bigint

    AS
    ?? SELECT * FROM TableName where colname=XX_ID
    GO

    在調用的時候和Oracle有明顯的不同,如下:

    Connection connection=xxxxxx;
    CallableStatement callableStatement = connection.prepareCall("{call PROC_WARE_INFO_STAT(?) }");
    callableStatement.setInt(1,100);
    callableStatement.executeQuery();
    ResultSet rs = callableStatement.getResultSet();

    posted @ 2006-06-15 09:44 sunfruit 閱讀(2138) | 評論 (1)編輯 收藏

    JAVA調用返回結果集的存儲過程--Oracle

    ? --sunfruit

    建立存儲過程,存儲過程為:

    CREATE OR REPLACE PROCEDURE TESTC(p_CURSOR out TESTPACKAGE.Test_CURSOR) IS

    BEGIN

    ??? OPEN p_CURSOR FOR SELECT * FROM HYQ.TESTTB;

    END TESTC;

    可以看到,它是把游標(可以理解為一個指針),作為一個out 參數來返回值的。

    在java里調用時就用下面的代碼:

    package com.hyq.src;

    import java.sql.*;

    import java.io.OutputStream;

    import java.io.Writer;

    import java.sql.PreparedStatement;

    import java.sql.ResultSet;

    import oracle.jdbc.driver.*;

    public class TestProcedureTHREE {

    ? public TestProcedureTHREE() {

    ? }

    ? public static void main(String[] args ){

    ??? String driver = "oracle.jdbc.driver.OracleDriver";

    ??? String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:hyq";

    ??? Statement stmt = null;

    ??? ResultSet rs = null;

    ??? Connection conn = null;

    ??? try {

    ????? Class.forName(driver);

    ????? conn =? DriverManager.getConnection(strUrl, "hyq", "hyq");

    ????? CallableStatement proc = null;

    ????? proc = conn.prepareCall("{ call hyq.testc(?) }");

    ????? proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);

    ????? proc.execute();

    ????? rs = (ResultSet)proc.getObject(1);

    ????? while(rs.next())

    ????? {

    ????????? System.out.println("<tr><td>" + rs.getString(1) + "</td><td>"+rs.getString(2)+"</td></tr>");

    ????? }

    ??? }

    ??? catch (SQLException ex2) {

    ????? ex2.printStackTrace();

    ??? }

    ??? catch (Exception ex2) {

    ????? ex2.printStackTrace();

    ??? }

    ??? finally{

    ????? try {

    ??????? if(rs != null){

    ????????? rs.close();

    ????????? if(stmt!=null){

    ??????????? stmt.close();

    ????????? }

    ????????? if(conn!=null){

    ??????????? conn.close();

    ????????? }

    ??????? }

    ????? }

    ????? catch (SQLException ex1) {

    ????? }

    ??? }

    ? }

    }

    在這里要注意,在執行前一定要先把oracle的驅動包放到class路徑里,否則會報錯的。

    posted @ 2006-06-15 09:36 sunfruit 閱讀(731) | 評論 (0)編輯 收藏

    [轉發]ETOM——電信運營業務流程國際規范

    ???????????? 王衛鄉

    ??? 隨著信息時代的到來,我國各行各業都面臨著諸多機遇與挑戰,黨和政府適時地提出"以信息化帶動工業化,發揮后發優勢,實現社會生產力的跨越式發展"的偉大戰略決策。在近幾年的信息化建設中,一些企業在企業信息化建設方面的投入較大,但收效甚微。原因之一在于:缺乏統一的信息化框架、標準和規范。在我國電子商務、電子政務全面發展之際,此框架、標準和規范就顯得尤為重要,只有按照統一的框架、標準和規范,才可能避免重復建設、實現信息共享。

    ??? 目前人們都把電信企業當作是信息化建設的排頭兵,這隱含有四層意思:

    ??? (1)電信企業是國家信息基礎設施的主要建設者和運營者,擔負著基礎建設的重要使命;

    ??? (2)電信業自身的信息化建設能夠強化企業自身的管理規范,提高運營效率和綜合競爭能力;

    ??? (3)電信企業可以利用自身的信息化典范,為其他的企業提供信息化的解決方案,作為一種新的業務為客戶提供更好的服務;

    ???? (4)電信企業自身的信息化建設更具有推進社會信息化、政府信息化、企業信息化的示范作用。

    ??? 信息化建設需要規范的業務流程和管理流程做基礎,電信運營業務流程最新的國際規范eTOM3.0版對電信相關企業的信息化建設和企業運營至關重要。

    ??? 一、eTOM中"e"的含義

    ??? "eTOM"中的"e"常規指"增強"之意,但它卻包含了與業務流程框架有關的很多含義,如:企業流程(Enterprise processes)、電子商務激活(eBusiness enabled)、擴展的(Expanded)、每事(Everything)、每處(Everywhere)、每時(Every time)等。

    ??? 二、eTOM業務流程框架的目的

    eTOM業務流程框架作為電信運營業務流程的向導藍圖和業務及運營支撐系統(分別為BSS和OSS)發展和集成的始發點,有助于推動和發展NGOSS(Next Generation Operations Systems and Software,下一代運營系統和軟件)解決方案。對于服務提供商來說,當他們考慮內部流程重組需求、合作關系、聯盟以及與其它服務提供商總的工作協議時,eTOM提供了一個中性的參考點。對供應商來說,eTOM框架給出了軟件各組件的潛在邊界以及支撐產品所需的功能、輸入和輸出。

    ??? eTOM3.0版包含以下內容:

    ??? (1)eTOM業務流程框架的角色描述;

    ??? (2)服務提供商的電子商務環境和所需的更為復雜的業務關系環境關聯模型;

    ??? (3)服務提供商的企業流程和子流程在高級層面的業務流程框架和解釋的側重點是自上而下、以顧客為中心、端到端,TOM正逐步向eTOM演變,目前的eTOM業務流程框架對于服務提供商來說是整個企業的框架;

    ??? (4)所有流程的分解,從eTOM框架的最高層面的概念視圖到工作層面,有選擇地給出框架中很多較低層面的流程分解;

    ??? (5)流程流向和分解流程的選擇描述,包括流程目的或描述、業務規則、高級層面的信息等;

    ??? (6)如何運用流程框架。

    ??? eTOM的目的是通過對業務流程的實施來管理企業,幫助企業明確目標,確保有關服務交付和支持所有關鍵的企業支撐系統進行集成。eTOM關注的焦點是:服務提供商使用的業務流程、流程間的聯系、接口的識別,即如何利用客戶、服務、資源、供應商/合作伙伴以及其它多重流程使用的信息。

    ??? eTOM業務流程框架和相關的業務流程模型描述了流程及組成端對端的連接點,描述了運營、戰略、基礎設施與產品流程區域中開通、保障、計費等客戶運營流程流向。eTOM業務流程框架對信息和通信服務、技術管理有特殊意義,這種模型同樣適用其它類型的業務。

    ??? 服務提供商應用這種通用的流程框架,以確保與其它實體交易的高效和有效,確保第三方軟件的開發和應用不需太多的客戶化定制。在電子商務環境下,對流程的共同理解,此框架在管理信息和通信業務市場中十分關鍵。企業電子商務集成化已成為強大的流程集成最成功的范例。eTOM不僅是電子貿易或電子商務流程框架,它還支持傳統業務流程與電子商務的集成。

    ??? 三、eTOM是什么

    ??? eTOM,是enhanced Telecom Operations Map的英文首字母縮寫,英文全稱為enhanced Telecom Operations MapTM (eTOM)。The Business Process Framework For The Information and Communication Services Industry,中文意思為增強的電信運營圖(eTOM)信息和通信服務行業的業務流程框架。eTOM現在已經發展到3.0版,并已于2002年6月通過電信管理論壇(TM論壇)的批準,正式公開發布。eTOM大大增強了TOM的功能,是服務提供商運營流程實際依照的行業標準。

    ??? eTOM是一種業務流程模型或框架,它為服務提供商提供所要求的企業流程。但是,它不是服務提供商的業務模型。它不陳述以下策略:服務提供商的目標客戶、服務提供商所服務的市場、服務提供商前景、任務等,業務流程框架是業務模型策略的一部分,是為服務提供商提出計劃。

    ??? eTOM是基于TOM(Telecom Operation Map)發展而來的,eTOM把TOM擴展到整個企業架構,并陳述對電子商務的影響。雖然eTOM比TOM復雜得多,在某種意義上,eTOM更為直接明了,它消除了TOM中企業管理(公司型)流程、市場營銷流程、保留客戶流程、供應商和合作伙伴管理流程之間的隔膜等。

    ??? 很多服務提供商(包括了系統集成商、ASP和軟件供應商)指出,在eTOM未被確認前,他們已經在運用eTOM,因為eTOM較好地代表了他們的真實需要,他們在采購軟件、設備以及面對業務關系網絡與其它服務提供商的接口,都需要行業的標準框架。雖然,很多服務提供商已接受TOM,并把它作為流程框架核心或是作為保持相容性的標準,但大多數服務提供商承認需要進一步擴展TOM,以便反映電子商務集成化和全企業的框架。圖1為eTOM業務流程框架0級流程圖。

    ??? 圖1: eTOM業務流程框架——0級流程圖

    ??? 圖1顯示的是eTOM業務流程框架最高層面的概念視圖。該視圖把戰略和生命周期流程從運營流程中分離出來,形成兩大流程群組,同時把關鍵功能區域分成四個橫向層面。此外,圖1也顯示了企業內、外部的相互影響、相互作用的五大實體(客戶、供應商/合作伙伴、股東、雇員、其他利益相關者)。圖2為eTOM業務流程框架一級流程圖。

    ??? 圖2:eTOM業務流程框架—— 一級流程

    ??? 圖2給出了eTOM框架中從0級視圖看到的一級流程。該視圖稱為企業流程框架CEO(即:首席執行官)層面的視圖。然而,人們傾向于使用二級流程的一級視圖,因為在分析業務時需要這些細節。圖2給出了7個縱向流程群組。這些端對端的流程用以支持客戶和管理業務。eTOM關注的焦點是以客戶運營流程的開通、保障和計費(FAB)為核心。運營支持與就緒流程從FAB實施流程中分出來單列,以增強對FAB中實現支持和自動化的關注,即:對在線和對客戶實現即時支持。戰略與承諾及兩個生命周期管理縱向流程群組也分離出來,因為與運營流程群組不同,它們沒有直接支持客戶,與運營流程群組有著本質差別,并且工作在不同的業務周期。圖2中的橫向流程群組區分了功能運營流程和其它類型的業務功能流程,如:市場營銷對銷售、服務開發對服務配置等。左邊的功能流程(在戰略與承諾、基礎設施生命周期管理、產品生命周期管理縱向流程群組)保證支持和指導運營流程區域的縱向流程工作。

    ??? 四、TOM與eTOM的比較

    ??? 服務管理業務流程模型被稱之為TOM,是根據服務提供商的運營管理要求,圍繞流程、輸入、輸出和活動開發。它關注的焦點和范圍是運營和運營管理,它竭力為電信業服務,支持對服務提供商流程的理解,在業務、運營系統和軟件方面為服務提供商的問題提供解決方案。TOM仍然處于eTOM業務流程框架的核心。

    ??? TOM2.1版本是TM論壇成員現在認可的業務流程框架或模型。世界各地的服務提供商廣泛接受它作為運營業務流程框架,而很多供應商把它作為產品開發和銷售的基礎。基于以下兩點,把TOM的修改稱為eTOM。第一,成員們很久以來就想把TOM擴展為全企業業務流程框架;第二,利用電子商務和互聯網取得成功很關鍵。TOM并沒有充分地分析電子商務對商業環境、業務驅動力、電子商務流程集成化要求的影響,也沒有分析日漸復雜化的服務提供商的業務關系。圖3為電信運營圖業務流程模型。

    ??? 圖3為電信運營圖(TOM)業務流程模型

    ??? 如圖2和圖3所示,與TOM相比,eTOM做了以下改善:

    ?? (1)把范圍擴展到所有的企業流程;

    ?? (2)鑒于市場營銷在電子商務環境中所處的重要地位,明確標識市場營銷流程;

    ?? (3)明確標識企業管理流程,以便企業中的每個人都能夠確定其關鍵流程,從而使整個企業都接受流程框架;

    ?? (4)把開通、保障和計費(FAB)引入高級層面的框架視圖中,從而強調客戶優先流程是企業關注的焦點;

    ?? (5)定義運營支持與就緒縱向流程群組,此定義可適用于除企業管理以外的所有功能層面。為使電子商務集成和客戶自助管理成為現實,企業必須了解自己需要的流程,以保證客戶運營支持和客戶自助管理;

    ?? (6)明確SIP(Strategy, Infrastructure and Product)流程:戰略與承諾,基礎設施生命周期管理和產品生命周期管理,識別這三種企業流程群組,它們明顯區別于客戶運營流程;

    ?? (7)識別戰略和生命周期管理流程的不同周期時間,需要把這些流程從最需要自動化的客戶優先運營流程中分離出來,可以通過把戰略與承諾和兩個生命周期管理流程從日常的客戶運營流程中分離來實現。

    ?? (8)從關注客戶或是面向服務轉為面向客戶關系管理,強調客戶自助管理和控制,增加客戶對企業產生的價值,利用信息來為單個客戶個性化和客戶化,這可以為客戶運營功能層面增加更多的元素,更好地代表銷售流程,完成市場營銷在客戶關系管理范圍內的集成;

    (注意:eTOM對客戶關系管理進行了更廣泛的定義,比CRM某些定義的范圍要大。)

    ?? (9)明確了跨技術管理資源的要求(即:應用、計算和網絡),由"網絡和系統管理"功能流程向"資源管理與運營"集成。它把IT管理引入到該功能層面,與外向流程群組形成對照。

    ??? TOM是服務提供商運營管理事實上的行業標準,eTOM與TOM相比保留了TOM中以下優點:

    ??? (1)關注于業務流程;

    ??? (2)以客戶為中心的驅動手段;

    ? ??(3)自上而下的定位;

    ??? (4)通用直白的描述和手段;

    ??? (5)本身吸引,服務提供商能立即了解運營的工作方式;

    ??? (6)一直關注運營管理;

    ??? (7)在服務提供商、供應商和媒體之間廣泛使用;

    ??? (8)靈活地支持大多數SP的流程模型。

    ??? 這些優點促使TOM成為運營系統具有推動作用的架構,成為服務提供商的軟件解決方案,它仍然作為業務流程框架,并涉及更多的流程和學科。在電子商務環境下,實體間的聯系是流程中最重要的環節。eTOM會加強以客戶為中心的驅動途徑,因為目前和將來的環境能夠掌握客戶。電子商務使市場從面向供貨轉為面向需求,或者說由"推向客戶"變為"客戶拉動"。eTOM中保留自上而下的定位,不僅因為它是TOM的核心概念,而且它是良好的業務流程建模。

    ??? 五、eTOM的使用對象

    ??? eTOM提供了通用的服務提供商企業流程視圖,較容易轉換成單個提供商的內部手段。

    ??? eTOM的優點之一是能為服務提供商根據需要在不同層面廣為采用。eTOM也可作為翻譯,允許服務提供商參照行業框架繪制其明確流程。當流程樣本開發出來,服務提供商就能利用和調整樣本以適應自己的業務環境。

    ?? ?eTOM針對的是信息和通信行業廣大的專業人員,對于有經驗的通信專業人員來說,TOM和eTOM是直觀的、強大而通用的服務提供商企業流程。

    ??? eTOM針對服務提供商和網絡運營商的決策者,需要了解和輸入通用的業務流程框架,以較好的性價比實現企業自動化。對于從事業務和運營自動化的專家,它也是很重要的架構。

    ??? eTOM將繼續為服務提供商和供應商提供一個通用的框架進行討論,在復雜的行業中討論復雜的技術和復雜的業務需求。這些復雜性來自:從開發自己的業務和運營系統軟件,轉向更多的采購和系統集成的方式;服務提供商和網絡運營商之間新型的業務關系。

    ??? 建立新型的業務關系和不進行內部開發是對市場驅動力的回應。市場驅動力要求服務提供商和網絡運營商增加業務的范圍、縮短新業務投向市場的時間、提高服務速度以及降低系統和運營成本。

    ??? eTOM業務流程框架針對服務提供商和網絡運營商涉及業務流程重組、運營、采購和其他活動的人員,使他們能了解并推動集成化和自動化進程的通用業務流程框架,參與提供流程、輸入、優先級和要求的活動。

    ??? eTOM業務流程框架也針對業務和運營管理系統軟件的設計者、集成者以及設備供應商,通過了解管理流程和應用需求,為服務提供商和網絡運營商帶來利潤。

    ??? eTOM業務流程框架提供一個通用架構,支持大量的集成、合并活動,了解好通用流程和通用流程框架將為合并大大改善集成性能。eTOM適用于所有的電信服務提供商。不是所有供應商都要用到eTOM定義的所有流程。eTOM框架靈活,使服務提供商可以根據模塊基礎和恰當的具體層面需求來選擇所需的流程。

    posted @ 2006-04-19 14:11 sunfruit 閱讀(944) | 評論 (0)編輯 收藏

    [轉發]ETOM與中國電信業

    中國中信集團公司管理信息中心 王衛鄉博士

    ?

    近年來,我國電信業發展迅猛,電話普及率已達33.7%,電話用戶總數躍居世界第一。與世界發達國家的電信業相比,我國電信運營商在技術設備和網絡基礎設施等"硬件"方面的差距并不大,但是在業務流程、企業管理和勞動生產率等"軟件"方面仍存在較大差距。eTOM將為我國電信業與國際接軌、縮小"軟件"差距帶來機遇。

    ?

    eTOM的發展

    ?

    eTOM,英文全稱為enhanced Telecom Operations Map。(eTOM)———The Business Process Framework For The Informationand Communication Services Industry。

    ?

    中文意思為增強的電信運營圖(eTOM)———信息和通信服務行業的業務流程框架.eTOM源自TOM(TelecomOperationsMap)。TOM側重的是電信運營行業的服務管理業務流程模型,關注的焦點和范圍是運營和運營管理。世界各地的服務提供商廣泛接受它作為運營業務流程框架,而且很多供應商已把TOM作為產品開發和銷售的基礎。隨著企業在業務中使用因特網、集成電子商務機遇的需要,僅關注運營管理的TOM已顯出極大的局限性。TOM沒有充分地分析電子商務對商業環境、業務驅動力、電子商務流程集成化要求的影響,也沒有分析日漸復雜化的服務提供商的業務關系。因此,TM論壇的成員們很久以來就想把TOM擴展為全企業業務流程框架。eTOM中的e常規指"增強"之意,但它卻包含了與業務流程框架有關的很多觀念,如:企業流程(Enterpriseprocesses)、電子商務激活(eBusinessenabled)、擴展的(Expanded)、每事(Everything)、每處(Everywhere)、每時(Everytime)等。TOM仍然處于eTOM業務流程框架的核心。

    ?

    eTOM作為電信運營業務流程向導的藍圖,是NGOSS(NextGenerationOperationsSystemsandSoftware,即下一代運營系統和軟件)的重要概念和關鍵組成元素。NGOSS中的"OSS"雖與通常的"OSS"(OperationSupportSystem)在字面上相同,但是內涵已經發生了很大變化。NGOSS強調包含有文檔、模型和代碼等知識庫的創建,側重于業務流程和信息模型的定義、系統框架的定義、合作催化試點項目的實施等關鍵元素。

    ?

    eTOM是什么

    ?

    eTOM是一種業務流程模型或框架,它為服務提供商提供所要求的企業流程,但它不是業務模型。

    它不陳述以下策略問題:誰是服務提供商的目標客戶,服務提供商所服務的市場是怎樣的,以及服務提供商的愿景如何、任務是什么等等。

    ?

    eTOM較好地代表了電信運營業的真實世界,很多服務提供商(包括了系統集成商、ASP和軟件供應商)已經在運用eTOM,因為他們在采購軟件、設備,以及面對愈加復雜的業務關系網絡中與其它服務提供商的接口,都需要行業的標準框架。

    對于服務提供商來說,當他們考慮內部流程重組需求、合作關系、聯盟以及與其它提供商的總的工作協議時,eTOM提供了一個中立性的參考點。對供應商來說,eTOM框架給出了軟件各組件的潛在邊界,以及支撐產品所需的功能、輸入和輸出。

    ?

    為方便起見,筆者對TM論壇公布的eTOM的0級和1級流程視圖進行了組合。eTOM闡述了電信運營商及其所處的經營環境,給出了企業內、外部的相互影響、相互作用的五大實體:客戶、供應商/合作伙伴、股東、雇員、其他利益相關者。

    eTOM給出了三大流程群組:

    1)戰略、基礎設施和產品;

    2)運營;

    3)企業管理。

    這三大流程群組進一步分解為23個一級流程群組和87個二級流程以及若干三、四級流程;其中7個一級的縱向流程群組,是端對端的流程,用以支持客戶和管理業務;16個橫向流程群組區分了功能運營流程和其它類型的業務功能流程。eTOM的關注焦點是以客戶運營流程的開通、保障和計費(FAB)為核心,運營支持與就緒流程從FAB實施流程中分出來單列,以增強對FAB中實現支持和自動化的關注。

    ?

    eTOM對我國電信業的意義

    ?

    我國電信業經過前幾年的快速發展,網絡基礎設施和用戶數量都已達到相當大的規模。如何有效地管理和充分利用這些資源(網絡基礎設施、客戶資源、信息資源等)是各電信運營商都要面對的關鍵問題。eTOM的目的是通過業務流程的實施來管理企業,它涵括了戰略、經營和保障等企業的三大高層流程及其相互間的集成。服務提供商需要這種通用的流程框架,以確保有效和高效地與其它實體進行交易和交互,確保第三方軟件的開發和應用而不需太多的客戶化定制。在電子商務環境下,這種對流程的共同理解,在管理電信業務市場中愈來愈復雜的業務關系中極其重要。

    ?

    在經濟全球化、信息化時代,在電子商務環境下,業務流程已經逐漸取代資金和技術,成為支撐企業賺錢的最主要因素。在價值網中,企業是通過緊密相聯的業務流程,把技術、產品和服務,轉變為現金。可以說,業務流程已經成為企業核心競爭力的重要組成部分。在同等的人、財、物的投入條件下,不同的業務流程所產生的結果將是完全不同的。eTOM從企業整體和所處的社會經濟環境的角度和高度來認識和看待電信企業運營的業務流程框架,對我國電信業的穩步、快速發展將具有深遠的現實意義。

    ?

    在戰略流程方面,eTOM體現了對企業資源的全生命周期管理和一體化管理的理念。eTOM明確識別了SIP(Strategy,InfrastructureandProduct)流程群組:戰略與承諾,基礎設施生命周期管理和產品生命周期管理。戰略和生命周期管理流程具有不同的時間周期,需要把這些流程從最需要自動化的客戶優先運營流程中分離出來。

    ?

    在運營流程方面,eTOM體現了面向客戶關系管理、對客戶提供區別服務和營銷的理念。除了FAB外,eTOM還定義了運營支持與就緒縱向流程群組。為使電子商務集成和客戶自助管理成為現實,企業必須了解自己需要的流程,以保證直接的、愈來愈多的在線以及客戶運營支持和客戶自助管理。從關注客戶或是面向服務轉為面向客戶關系管理,強調客戶自助管理和控制,增加客戶對企業產生的價值,利用信息來為單個客戶個性化和客戶化。明確了跨技術管理資源的要求(即:應用、計算和網絡),由TOM的"網絡和系統管理"功能流程向eTOM的"資源管理與運營"集成。

    ?

    在保障流程方面,eTOM明確標識了企業管理流程,把企業管理流程和運營、戰略作為一個整體,以便企業中的每個人都能夠確定其關鍵流程,從而使整個企業都接受流程框架。

    ?

    eTOM提供了通用的服務提供商企業流程視圖,它很容易轉換成單個提供商的內部手段。eTOM能為服務提供商根據需要在不同層面廣為采用。eTOM的框架很靈活,專門的服務提供商可以根據模塊基礎和恰當的具體層面需求來選擇自己所需的流程。

    ?

    eTOM為服務提供商和供應商提供了一個通用的框架,便于在復雜的行業中討論復雜的技術和復雜的業務需求。eTOM從企業整體的角度和高度,全方位地提供了技術人員與管理人員之間溝通的橋梁、語言與規范。而現實情況中,技術人員與管理人員因為看問題的側重點不同,常常難以進行全面、深入、良好的溝通,難以從不同側面、不同層次對企業運營的流程達成共識。eTOM特別關注服務提供商使用的業務流程、流程間的聯系、接口的識別,如何利用客戶、服務、資源、供應商/合作伙伴以及其它多重流程使用的信息。在電子商務的環境下,從業務的各個方面來充分利用信息,實現自動化以提高生產率和收入以及改善與客戶的關系尤為重要。

    ?

    除了電信運營商,eTOM也適用于業務和運營管理系統軟件的設計者和集成者,以及設備制造商和供應商。他們通過了解管理流程和應用需求如何共同工作,為服務提供商和網絡運營商帶來利潤,而他們也將從中獲利。

    ?

    幾點建議

    ?

    經過近幾年的信息化建設,不少企業在企業信息化方面的投入很大,卻見效甚微。原因之一是:缺乏統一的業務流程框架、標準和規范。信息化需要規范的業務流程和管理流程作為基礎。在電子商務、電子政務全面出擊之際,框架、標準和規范就顯得尤其重要;只有按照統一的框架、標準和規范,才可能避免重復建設,實現信息共享。人們都把電信企業當作是信息化建設的排頭兵,這實際上隱含有四層意思:1)電信企業是國家信息基礎設施的主要建設者和運營者,擔負著基礎建設的重要使命;2)電信業自身的信息化建設能夠強化企業自身的管理規范,提高運營效率和綜合競爭能力;3)電信企業可以利用自身的信息化典范,為其他的企業和單位提供信息化的解決方案,為企業開拓新的信息化業務,作為一種新的業務來為客戶提供更好的服務;4)電信企業自身的信息化建設更具有推進社會信息化、政府信息化、企業信息化的示范和帶頭作用。因此,電信企業在信息化建設進程中應該率先垂范,成為"以信息化帶動工業化,發揮后發優勢,實現社會生產力的跨越式發展"的偉大戰略實踐的先行者。

    ?

    在電子商務環境下,業務流程的互動牽動著各企業之間的互動,各經濟實體之間的聯系是流程中最重要的環節。為此,筆者建議:電信運營商應從業務流程的梳理與再造著手,先梳理然后再造業務流程,理順業務流程各環節的關系,真正關注客戶能夠感受到的服務質量。

    ?

    內部流程的梳理與再造。這是指在企業內部圍繞業務流程來安排各項工作,其重點是大規模削減企業組織內部的成本,提高質量和生產率。以eTOM為指導,整體規劃,建立比較完善的XSS(XSupportSystems,如OSS,BSS,MSS等)。在軟件開發和業務關系方面,無論是服務提供商,還是網絡運營商,都要考慮:1)從開發自己的業務和運營系統軟件,轉向更多的采購和系統集成的方式;2)服務提供商和網絡運營商之間新型的業務關系。建立新型的業務關系和不進行內部開發是市場驅動力所致。市場驅動力要求服務提供商和網絡運營商增加業務的范圍、縮短新業務投向市場的時間、提高服務速度以及降低系統和運營成本。

    ?

    外部流程的梳理與再造。從改善企業內部的績效開始,在跨越企業組織界線的操作與處理過程中考慮更多的改良,為企業的運營方式帶來突破性的革新。也就是說:通過廣泛應用信息技術,重新規劃跨越組織界線的業務流程,以實現經營績效的突破性提升。這須要企業重新審視、梳理整個企業的經營模式,對業務流程和其中各個環節之間的相互關系進行審查,審查的對象不僅僅是企業與客戶的關系,還應包括企業與供應商、合作伙伴、員工和競爭對手之間的關系。各電信運營商之間既是競爭對手,同時又是合作伙伴,應該采取有效措施加快和確保電信網絡基礎設施之間的互聯互通。

    ?

    服務質量和服務等級協議。組織研究和實施"客戶QoS(QualityofService)/SLA(ServiceLevelAgreement)管理"。以前,電信運營商只關注網絡的QoS,而輕視客戶的QoS;今后,電信運營商更需要看重客戶能夠真正感受到的服務質量(QoS),而不僅僅是網絡的QoS。因為,客戶能夠真正感受到的服務質量,其內涵遠遠多于網絡QoS。這就需要監視、管理和報告在企業的服務描述、客戶合同或產品組合中有具體定義的和實際提供給客戶的服務質量的對比;同時,關注與企業的業績、某些專門服務的服務等級協議(SLA)相關的產品與服務,以及其他與服務相關的文檔,包括:網絡、資源性能和可用性等運營參數,還包含跨服務合同或規則參數的性能;如:訂單請求的準時完成率,修復承諾的時間,客戶聯系的實施等。如果不能滿足合同規定的SLA要求,就要采取向客戶報告、并對客戶進行計費調整等措施,以取得客戶的理解和諒解,讓客戶感到滿意。(人民郵電報)

    posted @ 2006-04-19 14:10 sunfruit 閱讀(485) | 評論 (0)編輯 收藏

    全文檢索技術概述

    --sunfruit

    ??????? 最近做了一個資料管理軟件用來管理日常資料,編寫好了基本功能以后總是感覺這個軟件缺少了什么,是的,是全文檢索,沒有全文檢索功能,這個管理軟件用到最后也一定對于查找資料相當困難,于是加緊趕工加上了作為基本功能的全文檢索。
    ??????? 有人了解檢索技術,而且也不是什么高深技術,我也不班門弄斧,就是把原理大概介紹一下,感興趣的朋友也可以自己嘗試編寫一下。
    ??????? 全文檢索技術其實就是用空間換時間--用硬盤空間換取檢索時間。
    ??????? 首先需要字索引,要想建立字索引就需要字庫,這個字庫其實就是每一個漢字,大概6000個漢字左右吧,再加上a-z,A-Z,0-9,基本上就可以作為字索引的字庫了,然后就是利用字庫生成字索引。
    ????????生成字索引的原來就是以字庫為基礎,為字庫里面的每一個字做索引,在每一個文章里面做匹配,把一個文章里面所有的匹配的位置記錄下來,舉個例子:比如字庫里面的"啊",如果現在要建立"啊"的索引,那么要遍歷所有要做索引的文章,把所有的"啊"的位置要記錄下來,當然要可以區分位置是哪個文章的,要不然混成一堆,就沒有意義了[因為最后檢索索引的最終目的是要定位出文章的ID],這樣就形成了字索引。依此類推,所有漢字的字索引,索引建立就完成了
    ??????? 檢索索引,這個是關鍵的關鍵,速度是否快,全看這里,當然索引建立的合理與否也能影響檢索速度,舉個例子:比如要查詢"業務"這個關鍵詞,
    ??????? 首先在字索引中查到"業": 在文件號11111 中的位置有11,40,99? 在文件號11112 中的位置有22,33,45
    ???????? 然后在字索引中查到"務": 在文件號11111 中的位置有12,66,100? 在文件號11112 中的位置有27,39,60

    ??????? 經過計算會得到命中的文件號為 11111 ,因為業務必須位置號碼要連續的出現才算命中

    ??????? 大概的思路就是這樣
    ?????? 當然檢索技術還會有詞索引技術,根據字索引可以進一步生成詞索引,并且有切詞技術。。。就不多說了
    ???????
    ??????? 那個資料管理軟件的DEMO下載地址 http://m.tkk7.com/sunfruit/archive/2006/04/01/38625.html
    ??????? DEMO的界面樣式如下
    ??????? 檢索界面
    ????????Shell00.jpg
    ??????? 主界面
    ????????Shell01.jpg

    ??????? 注意:使用全文檢索的時候,首先要生成索引[在工具菜單欄里面],并且不能重復生成同一個文章的索引,而只能重新生成,這個在生成的時候有選項,因為如果重復生成那么在字索引里面就會重復記錄,到時候檢索的時候就會檢索出來多個同樣的文章了

    posted @ 2006-04-05 00:20 sunfruit 閱讀(2547) | 評論 (2)編輯 收藏

    [原創]資料管理軟件

    --sunfruit

          整天和電腦打交道,信息資料隨著時間的推移也積累的越來越多,直到從資料里面找到所需的資料越來越難,于是就編寫了一個資料管理軟件,用于管理日常資料
          
          說明:
                數據庫:在數據的存儲方面為了方便,使用了Access
                JDK :使用的JDK版本是1.5

          相關說明:
                正本的保存:由于正文包含圖片和樣式,所以采取了將正文的文檔對象序列化到數據庫中的方式進行保存和讀取
                附件的保存:和正文的保存方式一樣
                
          由于涉及的功能比較多,所以只是實現了最基本的功能,其他的功能逐步添加和完善,軟件的界面樣式如下
          注:數據檢索功能已經完成[使用全文檢索技術實現]
          Shell01.jpg

          自從JDK1.5的推出,JAVA的界面風格比原來漂亮多了

          demo下載地址:http://www.fruitres.cn/useruploadfile/4/1473814960_demo.rar 
          演示地址:http://www.fruitres.cn/useruploadfile/4/1473814960_jnlp.jnlp

          使用過程中發現問題歡迎指正和交流
          

    posted @ 2006-04-01 17:05 sunfruit 閱讀(1635) | 評論 (19)編輯 收藏

    [技巧]在JAVASCRIPT里面實現延時功能

    --sunfruit

    我們有的時候需要在javascript里面實現延時功能,比如:當某一個按鈕按下提交內容以后就馬上把狀態改為失效,過2秒鐘以后再把狀態改為有效,才可以進行下一次提交

    這個過程就需要延時功能了,這里用到了javascript的setTimeout函數,這個函數的入口參數為2個,第一個參數是需要執行的內容,這個可以是一個URL,也可以是另一個javascript函數,第二個參數是延時的時間數單位是毫秒,下面舉個例子

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>無標題文檔</title>
    <script language="javascript">
    function r1()
    {
     setTimeout("r2()",2000);
     
    }
    function r2()
    {
        alert("OK");
    }
    </script>
    </head>
    <body>
     <input name="uu" type="button" id="uu" value="按鈕" onClick="r1();">
    <form name="form1" method="post" action="">
    </form>
    </body>
    </html>

    執行這個例子的效果是:按鈕按下去以后2秒鐘“OK”對話框彈出,呵呵用這個特性實現button的失效和有效就簡單多了

    這里有一個技巧,就是在頁面body的onload屬性里面加上setTimeout的執行方法,而且setTimeout方法的第一個參數為執行自身頁面,這樣的效果就是間隔一定時間刷新本頁,也許有人問了,html的自身屬性就提供定時刷新頁面功能,jsp頁面的head屬性里面也有類似的功能,干嘛這么麻煩使用setTimeout方法

    不知道大家注意了沒有,不管是使用html的自身提供定時刷新頁面功能還是jsp頁面head屬性里面類似的功能,都會有瀏覽器發出的“啪啪”的聲音,而使用setTimeout則沒有這樣的聲音,所以使用setTimeout方法還是很有用的

    posted @ 2006-03-14 13:44 sunfruit 閱讀(5348) | 評論 (0)編輯 收藏

    僅列出標題
    共11頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 
    主站蜘蛛池模板: 99在线观看免费视频| 亚洲一区免费观看| 91免费播放人人爽人人快乐| 香蕉视频免费在线播放| 亚洲中文字幕人成乱码 | 亚洲AV无码一区二区三区久久精品| 久久精品国产96精品亚洲| 国产午夜精品久久久久免费视| 久久久亚洲精华液精华液精华液| 亚洲六月丁香六月婷婷蜜芽 | 永久免费AV无码网站国产| 18亚洲男同志videos网站| 亚洲国产精品免费观看| 国产免费无码一区二区| 一边摸一边爽一边叫床免费视频| 亚洲gv白嫩小受在线观看| 久久乐国产精品亚洲综合| **真实毛片免费观看| 国产亚洲精aa在线看| 亚洲av午夜成人片精品电影| 国产成人免费高清激情视频| 亚洲国产精品免费在线观看| wwwxxx亚洲| 亚洲成?Ⅴ人在线观看无码| 免费网站看v片在线香蕉| 一个人晚上在线观看的免费视频| 337p日本欧洲亚洲大胆人人| 亚洲欧美国产国产综合一区| 亚洲国产熟亚洲女视频| 亚洲精品伊人久久久久| 亚洲伊人色一综合网| 亚洲免费在线视频观看| 久久精品亚洲AV久久久无码| 亚洲一区二区三区久久| 亚洲av专区无码观看精品天堂| 亚洲伊人久久大香线焦| 亚洲国产系列一区二区三区 | 国产免费变态视频网址网站 | 国产午夜精品理论片免费观看| a级在线免费观看| 男人都懂www深夜免费网站|